网络虚拟化
VXLAN 是一种标准叠加协议,可将逻辑虚拟网络与底层的物理网络分离。您可以部署简单且可扩展的第 3 层 Clos 架构,同时在该第 3 层网络上扩展第 2 层网段。
VXLAN 使用类似于 VLAN 的封装技术,将基于 MAC 的第 2 层以太网帧封装在第 3 层 UDP 数据包中。每个虚拟网络都是一个 VXLAN 逻辑第 2 层网段。VXLAN 可扩展到 1600 万个网段 - VXLAN 标头中的 24 位 VXLAN 网络标识符 (VNI ID) - 用于多租户。
给定虚拟网络上的主机通过叠加协议连接在一起,该协议在多租户网络的边缘(通常是虚拟机监控程序 vSwitch 或机架顶部)启动和终止隧道。这些边缘点是 VXLAN 隧道端点 (VTEP)。
Cumulus Linux 可以在硬件中启动和停止 VTEP,并支持线速 VXLAN。VXLAN 在封装过程中跨 IP 结构提供高效的哈希方案;源 UDP 端口是唯一的,哈希基于原始帧中第 2 层到第 4 层的信息。UDP 目标端口是标准端口 4789。
Cumulus Linux 不支持通过第 3 层子接口(例如,swp3.111)或 SVI 进行 VXLAN 封装,因为即使您仅将子接口用于底层流量,并且它不执行 VXLAN 封装,通过交换机的流量也会丢弃。仅将 VXLAN 上行链路配置为没有任何子接口的第 3 层接口(例如,swp3)。VXLAN 隧道端点不能共享公共子网;VXLAN 源和目标之间必须至少有一个第 3 层跃点。
注意事项
直通模式和存储转发交换
在配备 NVIDIA Spectrum ASIC 的交换机上,Cumulus Linux 支持 VXLAN 的直通模式,但不支持存储转发交换。
虚拟网络接口的 MTU 大小
虚拟网络接口的最大传输单元 (MTU) 大小应比交换机上物理接口的 MTU 小 50 字节。有关设置 MTU 的更多信息,请阅读第 1 层和交换机端口属性。
第 3 层和第 2 层 VNI ID 必须不同
第 3 层 VNI 和第 2 层 VNI 必须具有不同的 ID。如果 VNI ID 相同,Cumulus Linux 不会创建第 2 层 VNI。
将第 2 层 VNI 更改为第 3 层
要将第 2 层 VNI 更改为第 3 层 VNI,请确保遵循以下顺序
- 删除桥 VLAN 到 VNI 映射。
- 从 VRF 中删除当前的第 3 层 VNI。
- 将 VNI 配置为第 3 层 VNI。
cumulus@switch:~$ nv unset bridge domain br_default vlan 10 vni 10
cumulus@switch:~$ nv unset vrf RED evpn vni 4001
cumulus@switch:~$ nv set vrf RED evpn vni 10
cumulus@switch:~$ nv config apply