【k8s】k8s flannel vxlan模式原理

2023-06-18  本文已影响0人  Bogon

VXLAN (Virtual Extensible LAN)是一种网络虚拟化技术,它使用一种隧道协议,将二层以太网帧封装在四层UDP报文中,通过三层网络传输,组成一个虚拟大二层网络。

flannel会操作三个表: 路由表,arp表和二层转发表fdb。

flanneld中维护了这两部分信息:

Flannel 最主要的两个组件便是 flanneld 跟 flannel.1:

Flannel的VXLAN模式通过静态配置路由表,ARP表和FDB表的信息,结合VXLAN虚拟网卡 flannel.1 ,实现了一个所有Pod同属一个大二层网络的VXLAN网络模型。

FDB表(Forwarding database)用于保存二层设备中MAC地址和接口的关联关系,就像交换机中的MAC地址表一样。在二层设备转发二层以太网帧时,根据FDB表项来找到对应的接口。例如cni0网桥上连接了很多veth pair网卡,当网桥要将以太网帧转发给Pod时,FDB表根据Pod网卡的MAC地址查询FDB表,就能找到其对应的veth网卡,从而实现联通。

flannel本身只是用了vxlan的一部分功能,而且用法跟传统的网络,云计算等方面的用法也不太一样,并且只有一个vni,本质上只是为了用vxlan的内核封包解包作用,没有二层方面的交换学习,都是flannel自动配置的。

Flannel的VXLAN原理
https://www.kancloud.cn/pshizhsysu/network/2202538

image.png defa411fcedddee2682dddc1affbbef.png image.png image.png image.png image.png ce3c93f760e34062e5fcb989915b08b.png image.png image.png

Flannel的两种模式解析(VXLAN、host-gw)
https://www.cnblogs.com/cheyunhua/p/15241291.html

Linux 上实现 vxlan 网络
https://cizixs.com/2017/09/28/linux-vxlan/

VXLAN报文封装格式
http://zh-cjh.com/luyoujiaohuan/1016.html

Flannel Vxlan封包原理剖析
https://izsk.me/2022/03/25/Kubernetes-Flannel-Vxlan/

flannel使用的vxlan和calico使用的IPIP对比
https://www.cnblogs.com/janeysj/p/14291537.html

剖析容器网络 Flannel VXLAN 模式工作原理
https://xie.infoq.cn/article/cc4d7525be875292ad3aa298d

kubernetes Flannel网络剖析
https://plantegg.github.io/2022/01/19/kubernetes_Flannel%E7%BD%91%E7%BB%9C%E5%89%96%E6%9E%90/

tcpdump抓包拆解flannel vxlan模式下的容器跨主机通信流程
https://www.modb.pro/db/149337

什么是VXLAN?
https://support.huawei.com/enterprise/zh/doc/EDOC1100087027#ZH-CN_TOPIC_0254803582

上一篇 下一篇

猜你喜欢

热点阅读