《重识云原生系列》专题索引:
VXLAN 本质上是一种重叠封装技术,它创建了一个覆盖在现有物理网络基础架构之上的虚拟网络。使用underlay IP网络,并在其上构建灵活的二层overlay逻辑网络。通过覆盖,任何第 2 层连接都可以跨越第 3 层网络。
使用覆盖网络有很多优点。
当然,影响底层性能或正常运行时间的物理问题将反映在覆盖层上。例如,如果没有足够的设备来提供足够的带宽,覆盖也会受到影响。
Overlay VxLAN如何避免受到underlay变化的影响?答案是:使用交换结构,称为 Spine-and-Leaf。
在允许底层更改的同时保证 VxLAN 覆盖的性能、可扩展性、可靠性和灵活性的最佳方法是充分利用交换结构拓扑。交换结构拓扑的最佳示例是 Spine-and-Leaf,它通常用作底层网络。Spine-and-Leaf 是一个独立的架构,它不是 VxLAN 独有的,但通常与 VxLAN 相关联。通常叶脊是 VxLAN 的底层,VxLAN 是覆盖。
Spine-and-Leaf 两层:
所有的叶子交换机都有一个链接到每个骨干交换机,枝叶和交换机之间的每条链路都通过 IGP 路由协议(例如 BGP 或 OSPF)通过 IP 地址进行路由。这种拓扑使每个目的地只有两跳的距离。Leaf-and-switch 也可以使用 ECMP(等价多路径)在主干交换机或链路发生故障时恢复或平衡流量负载。叶脊结构拓扑与 VxLAN 高度相关,因为随着覆盖网络的扩展,支持底层可以物理增长或减小大小,而不会影响覆盖的设计。在叶脊底层之上添加 VxLAN 可实现东西向流量模式的 IP 移动性、完全可扩展性和容错性。
随着您的网络扩展,您的设计不需要改变。您只需要向底层添加更多交换机、IP 地址和链接即可。
到目前为止,我们知道 VxLAN 将第 2 层子网延伸到第 3 层网络限制,它在像 Spine-and-Leaf 这样的交换结构之上构建了一个逻辑覆盖网络。
为了实现这一点,VxLAN 将第 2 层以太网帧封装在 VxLAN 数据包中,该数据包也封装在 IP UDP 标头中。下图显示了 VxLAN 数据包格式。
VXLAN 将以下字段添加到原始第 2 层帧:
2.3.2 VXLAN报文格式详述
VXLAN header(VXLAN头封装):
Outer UDP header(外层UDP头封装):
Outer IP header(外层IP头封装):
Outer Ethernet header(外层Ethernet头封装,Outer MAC Header):
VXLAN首部由8个字节组成,第1个字节为标志位,其中标志位I设为1表示是一个合法的VXLAN首部,其余标志则保留,在传输过程中必须置为0;第2-4字节为保留部分,第5-7字节为VXLAN标识符,用来表示唯一的一个逻辑网络;第8个字节同样为保留字段,暂未使用。
VXLAN传输过程中,将逻辑链路网络的数据帧添加VXLAN首部后,依次添加UDP首部,IP首部,以太网帧首部后,在物理网络中传输,数据帧的封装格式可以用下图来描述:
图:VXLAN数据封装过程
关于VLAN和VXLAN的理解_octopusflying的博客-CSDN博客_vlan vxlan