从 VXLAN 到 MPLS IP VPN:VNI 不是 MPLS 标签
两种封装都带有标签,因此团队试图把 VNI 映射到 MPLS 标签。请改用路由式交接或受支持的网关。
两种技术都在报文前面放一个标识符,因此结论看起来显而易见:把 VNI 映射成 MPLS 标签,让两个网络合二为一。这种映射并不作为受支持的操作存在,因为两种标识符含义不同,而且由不同的控制面产生。VNI 标识叠加网络内部的 VXLAN 网段;MPLS 标签标识沿标签交换路径的转发处理。把两个域连起来是路由决策,不是数字的翻译。
误解:两者都用标签,所以可以互映射
表面上的相似是真的,也是误导。VXLAN 在报文头中携带 24 位 VNI,MPLS 携带标签栈,于是看起来好像可以在边界设备上把一个值改写成另一个值。
真正打破这个想法的是围绕该值的一切。VNI 由 EVPN 控制面和底层隧道端点解析。标签由 MPLS 转发面沿路径分配。两侧都没有把对方标识符当作自己标识符的既定流程。
每一侧实际转发的对象
在 fabric 侧,边界设备终结 VXLAN 隧道,把 VNI 映射到租户 VRF,并按普通 IP 路由报文。在提供商侧,PE 把客户路由接入 VRF,压入 MPLS 标签栈,再经 IP VPN 转发。
这种交接就是RFC 4364中广为人知的模型:客户侧边缘与提供商侧边缘交换 IP 路由,每个域拥有自己的封装。报文到达 PE 时 VNI 已经不存在,这正是该模型可行的原因。
为什么控制面不会合并
EVPN Type 5 携带带叠加下一跳的 IP 前缀路由,而 VPN-IPv4 通告属于另一个地址族。两侧看起来相同的路由目标并不能把一个地址族翻译成另一个,也不能跨越边界解析下一跳。
集成网关只有在平台实现了所需封装以及路由族之间的互通时,才能同时承担这两项工作。这项能力必须针对确切的硬件和版本进行验证,不能从产品系列名称推断。
还有两个假设在这个边界上不成立。MPLS IP VPN 提供的是路由可达性,不是以太网段,因此延伸广播需要受支持的第 2 层服务。而且两种封装都消耗字节,所以有效 MTU 小于任一底层所暗示的值。
选择路由式交接或集成网关
当租户需要 IP 可达性、且提供商已提供面向 CE 的服务时,选择路由式交接。它让归属清晰:fabric 拥有 VXLAN 和 EVPN,提供商拥有 MPLS 和 VPN,边界拥有 VRF 到接口的映射。请与提供商一起规划接入规模、地址分配和故障切换,而不是假定单条链路就够。
只有当您运营的平台同时支持两种角色、并且您能测试互通时,才选择集成网关。设备数量的节省是真实的,但一台设备成为两个控制面必须达成一致的唯一位置,这一运维风险同样真实。
每个租户应记录什么
为每个租户保留记录,包含接入、已接受与导出的前缀、下一跳解析方式,以及边界或提供商链路故障后的预期行为。还要记录两侧封装边界的 MTU 预算和回程路径,因为单向能通本身证明不了什么。
这份记录正是连接两个管理域的方式,而不必假装它们的路由与封装假设相同。日后若有人问 VNI 能否直接变成标签,文档会以设计作答,而不是争论。