【容器网络】Flannel容器网络方案

本文详细介绍了Flannel的三种容器网络方案:UDP、VXLAN旧版和VXLAN新版。内容包括同节点与跨节点通信流程,以及各个方案的特点与总结。Flannel UDP方案网络性能差,但易于扩展;VXLAN旧版方案首包延迟高,而新版方案优化了路由和FDB表项,减少了节点依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flannel容器网络方案

Flannel共有三个容器网络方案:Flannel UDP、Flannel VXLAN旧和Flannel VXLAN新。

Flannel UDP方案

Flannel UDP数据面如下:
在这里插入图片描述

同节点容器通信

容器A访问容器B,数据面流程如下:

  1. 容器A和容器B在相同网络,直接发送
  2. 容器A向容器B发送ARP请求,br0交换机flood该ARP请求
  3. 容器B接收到ARP请求,并响应
  4. br0交换机flood该ARP响应
  5. 容器A接收到ARP响应,封装二层报文并发出
  6. br0交换机直接转发报文到容器B
  7. 容器B接收到报文

跨节点容器通信

容器A访问容器D,数据面流程如下:

  1. 容器A和容器D在不同网络,通过网关转发
  2. 容器A发送ARP请求给网关(10.10.1.1)
  3. 节点1内核响应ARP请求,并发送到br0口
  4. br0交换机转发ARP响应给容器A
  5. 容器A收到ARP请求,封装二层报文(目的MAC为网关的MAC),并发出报文
  6. 报文通过veth设备到达br0,并通过br0接口上送至节点内核
  7. Host1内核根据报文目的IP地址,判断需要路由转发,查找路由表并匹配,通过tunX设备直接送达
  8. Host1内核发送ARP请求给容器D,并发送到tunX设备上
  9. flanneld创建了tunX设备的socket,flanned收到ARP请求报文
  10. flanneld响应ARP请求,并通过tunX socket发送ARP响应,该响应报文会被tunX设备接收并进入协议栈
  11. Host1内核收到ARP响应后,修改报文二层头,并发送给tunXX设备
  12. flanneld收到该报文,并根据拓扑信息,把该报文封装在UDP中,flanneld发送UDP报文给Host2
  13. Host2接收到UDP报文,经过协议栈上送给flanneld进程
  14. flanneld解封外层报文ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值