美文网首页
【flannel】k8s flannel的udp模式和vxlan

【flannel】k8s flannel的udp模式和vxlan

作者: Bogon | 来源:发表于2023-06-16 09:23 被阅读0次

如果说flannel UDP模式是IP in UDP(IP数据包封装在UDP数据包中,也就是三层网络的基础上构建一个虚拟的三层网络),那么flannel vxlan模式就是MAC in UDP(链路层数据封装在UDP数据包中,也就是三层网络的基础上构建一个虚拟的二层网络)。

udp模式:

111ae3a8297851049ddae3cde88bb94.png image.png image.png

发送: 用户态 ---> 内核态 ---> 用户态 ---> 内核态 ---> 物理网卡--->外界网络

接收: 用户态 <--- 内核态 <--- 用户态 <--- 内核态 <--- 物理网卡<--外界网络

vxlan模式:

548e1e64561decb31bb2920c8fb5542.png image.png image.png image.png

发送:用户态 ---> 内核态 --->物理网卡--->外界网络

接收: 用户态 <---内核态 <---物理网卡<--外界网络

总结

Flannel UDP模式和VXLAN模式在内核态和用户态切换次数上存在一些差异,这会对性能产生影响。

在Flannel UDP模式中,容器的网络数据包经过内核进行封装和解封装,并通过UDP协议进行传输。这意味着每个数据包都需要经过内核态和用户态之间的切换,从而增加了内核态和用户态切换的次数,这些切换可能会引入一定的性能开销。

而在VXLAN模式中,数据包的封装和解封装是在内核中完成的,并且使用硬件加速技术(如硬件VTEP)来提高网络传输的效率。因此,相对于Flannel UDP模式,VXLAN模式通常具有更少的内核态和用户态切换次数,从而在性能上表现更好。

无论是Flannel UDP模式还是VXLAN模式,它们都使用UDP协议来封装和传输容器的网络数据包。
不同的是,VXLAN模式在封装和解封装时还会添加额外的VXLAN头部信息,以实现虚拟局域网的扩展。

相关文章

网友评论

      本文标题:【flannel】k8s flannel的udp模式和vxlan

      本文链接:https://www.haomeiwen.com/subject/ueqlydtx.html