6. EVPN with Multiple Data-Plane Encapsulations
6. EVPN with Multiple Data-Plane Encapsulations (具有多个数据平面封装的 EVPN)
根据 [RFC5512], 使用 BGP 封装扩展团体允许给定 EVI 中的每个 NVE 知道该 EVI 中每个其他 NVE 支持的每种封装。也就是说, 给定 EVI 中的每个 NVE 可以支持多种数据平面封装。入口 NVE 只有在出口 NVE 通告的封装集与入口 NVE 支持的封装集形成非空交集时才能向出口 NVE 发送帧; 入口 NVE 可自行决定从该交集中选择哪种封装。(如第 5.1.3 节所述, 如果 BGP 封装扩展团体不存在, 则假定默认 MPLS 封装或本地配置的封装。)
当 PE 通告多种支持的封装时, 它必须 (MUST) 通告使用相同 EVPN 程序的封装, 包括与第 8.3.1 节中描述的水平分割过滤相关的程序。例如, VXLAN 和 NVGRE (或 MPLS 和 MPLS over GRE) 封装使用相同的 EVPN 程序; 因此, PE 可以通告这两种封装, 并且可以同时支持它们中的任何一种或两种。但是, PE 绝对不能 (MUST NOT) 同时通告 VXLAN 和 MPLS 封装, 因为 (a) EVPN 路由的 MPLS 字段设置为 MPLS 标签或 VNI, 但不能同时是两者, 以及 (b) 某些 EVPN 程序 (如水平分割过滤) 对于 VXLAN/NVGRE 和 MPLS 封装是不同的。
使用共享组播树发送广播或组播帧的入口节点可以 (MAY) 为每种不同的封装类型维护不同的树。
确保给定 EVI 中的所有 NVE 至少支持一种公共封装是给定 EVI 运营商的责任。如果违反此条件, 可能导致服务中断或故障。使用 BGP 封装扩展团体提供了一种检测何时违反此条件的方法, 但要采取的操作由运营商自行决定, 不在本文档范围内。