在如今的网络世界,如果你还不知道VXLAN那么你就真的是out了。。。不管是各个厂商,还是各个论坛,都会或多或少的有一些VXLAN的文章,谈主也赶个时髦整理一些以前学习过的VXLAN知识。Ok,第一篇开始~

一、什么是VXLAN

传统的802.1Q VLAN 标识符只有12 Bits,12 Bits表示最大可以有4096个唯一的二层网络分段。VXLAN扩展至了24 Bits,24 Bits表示最大可以有1600万个唯一的二层网络分段。

在虚拟化大量应用的今天,如果仍然使用802.1Q VLAN,那么VM 移动会被限制在本VLAN。使用VXLAN 封装,原始数据帧会被封装成MAC in UDP,这样,就允许二层网络连接跨越三层路由网络。

同时,保证VM迁移前后的IP地址、MAC地址不变。PS:本篇还讲不到,敬请期待后续~

二、VXLAN 帧格式
VXLAN篇之初识_第1张图片
从上图可知,

1、除原始数据帧外,外层头部需要消耗额外Bytes(上图几个header相加即可)。PS:如果有需要,我们就需要修改交换机接口MTU以适应VXLAN数据包,看具体业务包大小。

2、UDP 源端口:VTEP设备动态分配的。通过内层头部的L2/L3/L4信息做Hash计算得出。

3、UDP目的端口:固定的使用4789。

4、Outer IP:IP首部的源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址。

5、Outer MAC:以太帧首部的源MAC地址为源端VTEP的MAC地址,目的MAC地址为到达目的端VTEP的下一跳设备的MAC地址。

来,看一个真实的VXLAN封装的Ping包:
查看更多内容