VXLAN报文格式
协议栈结构
VXLAN是MAC in UDP的网络虚拟化技术,所以其报文封装是在原始以太报文之前添加了一个UDP封装及VXLAN头封装,其目的UDP端口号是4789,源端口号是内层以太报文头通过哈希算法计算后的值。
IP报文头的源IP地址是VXLAN隧道本端VTEP的IP地址,目的IP地址是VXLAN隧道远端VTEP的IP地址。
+-------------------------------+
| Original Layer2 Frame |
+-------------------------------+
| VXLAN Header |
+-------------------------------+
| UDP Header (Dest Port = 4789) |
+-------------------------------+
| IP |
+-------------------------------+
| L2 |
+-------------------------------+
| L1 |
+-------------------------------+
报文格式
VXLAN Header报文格式
+0--------------7---------------15--------------23--------------31 -------------------------------
| Source Port | Dest Port = VXLAN Port | |
+---------------------------------------------------------------+ UDP Header
| UDP Length | UDP Checksum | |
+---------------------------------------------------------------+ -------------------------------
| VXLAN Flags | Reserved_1 | |
+---------------------------------------------------------------+ VXLAN Header
| VXLAN Network Identifier | Reserved_2 | |
+---------------------------------------------------------------+ \-------------------------------
VXLAN Header报文字段解释
| 字段 | 长度 | 含义 | |
|---|---|---|---|
| UDP Header |
Source Port | 16比特 | 源端口号是内层以太报文头通过哈希算法计算后的值。 |
| Dest Port | 16比特 | 目的UDP端口号是4789。 | |
| UDP Length | 16比特 | UDP数据包长度。 | |
| UDP Checksum | 16比特 | UDP数据包检验和。 | |
| VXLAN Header |
VXLAN Flags | 8比特 | 取值为00001000。 |
| Reserved_1 | 保留字段,必须设置为0 | ||
| VXLAN Network Identifier | 24比特 | VXLAN网络标识,用于区分VXLAN段。 | |
| Reserved_2 | 8比特 | 保留字段,必须设置为0。 |
参考标准
| 文档 | 描述 |
|---|---|
| Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks |