Virtual eXtensible LAN

很久以前立下的flag,还债。

背景

基于云和大规模DC场景提出,通过基于UDP建立tunnel的方式实现大二层下的mac寻址。

是二层VPN的基础设施技术。

原理

网络结构

VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)

VNI(VXLAN Network Identifier,VXLAN 网络标识符)

包结构

VXLAN Header

增加VXLAN头(8字节),其中包含24比特的VNI字段,用来定义VXLAN网络中不同的租户。此外,还包含VXLAN Flags(8比特,取值为00001000)和两个保留字段(分别为24比特和8比特)。

UDP Header

VXLAN头和原始以太帧一起作为UDP的数据。UDP头中,目的端口号(VXLAN Port)固定为4789,源端口号(UDP Src. Port)是原始以太帧通过哈希算法计算后的值。

Outer IP Header

封装外层IP头。其中,源IP地址(Outer Src. IP)为源VM所属VTEP的IP地址,目的IP地址(Outer Dst. IP)为目的VM所属VTEP的IP地址。

Outer MAC Header

封装外层以太头。其中,源MAC地址(Src. MAC Addr.)为源VM所属VTEP的MAC地址,目的MAC地址(Dst. MAC Addr.)为到达目的VTEP的路径上下一跳设备的MAC地址

基于vxlan的arp

我理解所有基于overlay的思路实现二层相关功能和技术的关键,就是解决arp问题,或者说二层寻址问题。

arp请求报文发送过程

arp响应报文发送过程

配置思路

添加逻辑接口

在逻辑接口下配置隧道参数

将逻辑接口与物理接口匹配

参考资料

最好的vxlan介绍