Flannel容器网络方案
Flannel共有三个容器网络方案:Flannel UDP、Flannel VXLAN旧和Flannel VXLAN新。
Flannel UDP方案
Flannel UDP数据面如下:

同节点容器通信
容器A访问容器B,数据面流程如下:
- 容器A和容器B在相同网络,直接发送
- 容器A向容器B发送ARP请求,br0交换机flood该ARP请求
- 容器B接收到ARP请求,并响应
- br0交换机flood该ARP响应
- 容器A接收到ARP响应,封装二层报文并发出
- br0交换机直接转发报文到容器B
- 容器B接收到报文
跨节点容器通信
容器A访问容器D,数据面流程如下:
- 容器A和容器D在不同网络,通过网关转发
- 容器A发送ARP请求给网关(10.10.1.1)
- 节点1内核响应ARP请求,并发送到br0口
- br0交换机转发ARP响应给容器A
- 容器A收到ARP请求,封装二层报文(目的MAC为网关的MAC),并发出报文
- 报文通过veth设备到达br0,并通过br0接口上送至节点内核
- Host1内核根据报文目的IP地址,判断需要路由转发,查找路由表并匹配,通过tunX设备直接送达
- Host1内核发送ARP请求给容器D,并发送到tunX设备上
- flanneld创建了tunX设备的socket,flanned收到ARP请求报文<

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

被折叠的 条评论
为什么被折叠?



