解封装后 VxLAN 24 位如何传播回 Vlan 12 位?

网络工程 局域网 第 2 层 vxlan 直流电
2022-02-25 19:00:14

问题与数据中心互连有关。

我想问一下24位VxLAN在Data Center Inter Connect中是如何传播的。我熟悉 VTEP 中的封装概述。在 VLan 12 位封装成 24 位 VxLan 并将 24 位 VxLan 解封装回 12 位 VLan 的点处进一步细化查询。

场景:具有 vlan 20 的主机想要从 DC-1 与 DC-2 中同一 vlan 20 中的服务器通信。在两个站点的 VTEP 上使用的 VxLAN 是 5020。

UDP-IP Header 中的 Vlan id 20 和 VxLan id 5020 是否都用于整体通信?

1个回答

简短的回答是,VNI 在结构中具有全局意义,而 802.1q VLAN 标记对给定 VTEP 或该 VTEP 上的端口具有局部意义。

所以 - 使用您的 VNI 5020 示例。在一个简单的情况下,我们可以想象两个 VTEP,每个在本地将 VLAN 20 映射到 VNI 5020。分配给 VLAN 20 的任一 VTEP 上的任何端口(或具有接收标记为 20 的帧的中继)将在本地交换帧或将其封装在 VNI 5020 中并将其发送到另一个 VTEP 以将帧解封装到本地 VLAN 20 广播域中。

现在让我们考虑一个稍微有趣的案例。在 VTEP A 上,我们仍然将 VLAN 20 映射到 VNI 5020。但是,在 VTEP B 上,我们将 VNI 5020 映射到 VLAN 502。此时,在 VLAN 502 上命中 VTEP B 的任何内容都将在本地交换或封装在 VNI 5020 中以发送回到 VTEP A - 进而将帧解封装到其本地 VLAN 20。最终效果是 A 上 VLAN 20 中的设备与 B 上 VLAN 502 上的主机位于同一广播域中。

现在在每个端口的重要性上更进一步。在 VTEP 端口 eth1/1 上,接收到的带有 VLAN 标记 20 的任何帧都将映射到 VNI 5020,而在端口 eth1/2 上,标记 20 对应于 VNI 5920。在 VTEP BI 上,映射 eth1/9 标记 200 和 eth1/ 22 标记 308 到 VNI 5020。两个 VTEP 上的所有三个端口将再次位于同一个广播域中。

所以 - 你的问题的答案再次是全球与本地的意义。在某些实现中,我可能仅限于 VTEP 范围的标记到 VNI 的映射,因此仅支持 4000 个子网。关键是我不必在每个交换机上使用相同的 4000。我可以使用 30,000 个 VNI,并根据需要选择性地映射到 VLAN ID。或者,如果我支持每个端口的重要性,我理论上可以映射 4000 个唯一 VNI 乘以盒子上的端口数。

Q-in-Q 也可以映射到这个编号空间,但这是一个单独的主题和用例。我的建议是,该领域的真正问题与用于传达哪些地址和 VNI 在哪里、L3 信息等的控制平面有关。这也往往会推动一些关于每个端口与每个端口的细节。 VTEP,尤其适用于 MLAG 和类似的操作(更不用说下游生成树问题等)。