[TOC] ### **总结** 1、vxlan使用UDP封装二层数据帧,注意是二层数据帧。换句话,到达vxlan设备的一定是二层数据帧。 2、创建vxlan设备时要指定一个三层物理网络设备(有IP)作为VTEP,一般来说就是主机的出口网卡(比如eth0、ens33),UDP封包时源IP就是这个VTEP的IP。 3、vxlan模块封装后,得到的是一个数据帧,直接从VTEP设备发送出去。而不是只封装UDP层然后再交给网络层路由。也就是说,vxlan封装后不再经过主机的网络协议(比如不再走主机的路由,不再走netfilter)。 ### **Flannel与Openstack的区别** 1、flannel中的vxlan设备(flannel.1)是有IP地址的,而不是直接桥接在cni0网桥上。这是因为,flannel.1有了IP地址后,主机可以向flannel.1发送数据包,这样主机就可以和容器通信。 2、openstack中的vxlan设备没有IP地址,直接桥接在网桥上。这样,主机就不能直接和vxlan设备进行通信。所以在openstack中,宿主机是不能够和它上面的虚机进行通信的。