4. BGP MPLS-Based EVPN Overview (BGP MPLS 基础 EVPN 概述)
4. BGP MPLS-Based EVPN Overview (BGP MPLS 基础 EVPN 概述)
本节提供 EVPN 的概述。一个 EVPN 实例由连接到 Provider Edge 设备 (PEs) 的 Customer Edge 设备 (CEs) 组成, PEs 构成 MPLS 基础设施的边缘。CE 可以是主机, 路由器或交换机。PEs 在 CEs 之间提供虚拟的第 2 层桥接连接。提供商网络中可能存在多个 EVPN 实例。
PEs 可以通过 MPLS Label Switched Path (LSP) 基础设施连接, 该基础设施提供 MPLS 技术的优势, 例如快速重路由, 弹性等。PEs 也可以通过 IP 基础设施连接, 在这种情况下可以在 PEs 之间使用 IP/GRE (Generic Routing Encapsulation) 隧道或其他 IP 隧道。本文档中的详细过程仅针对 MPLS LSPs 作为隧道技术进行规定。然而, 这些过程被设计为可扩展到 IP 隧道作为 Packet Switched Network (PSN) 隧道技术。
在 EVPN 中, PEs 之间的 MAC 学习不是在数据平面中进行 (就像 VPLS [RFC4761] [RFC4762] 中的传统桥接那样), 而是在控制平面中进行。控制平面学习提供了对 MAC 学习过程的更大控制, 例如限制谁学习什么, 以及应用策略的能力。此外, 选择用于通告 MAC 可达性信息的控制平面是多协议 (multi-protocol, MP) BGP (类似于 IP VPNs [RFC4364])。这提供了灵活性以及保留交互代理组 (主机, 服务器, 虚拟机) 彼此"虚拟化"或隔离的能力。在 EVPN 中, PEs 使用 Multiprotocol BGP (MP-BGP) 在控制平面中将从连接到它们的 CEs 学习的 MAC 地址连同 MPLS 标签一起通告给该 EVPN 实例中的其他 PEs。控制平面学习能够实现到多宿主连接到多个 PEs 的 CEs 和从这些 CEs 发出的流量的负载均衡。这是对通过同一对 PEs 之间的多个 LSPs 在 MPLS 核心网络上进行负载均衡的补充。换句话说, 它允许 CEs 连接到多个活动连接点。它还改善了在某些网络故障事件中的收敛时间。
然而, PEs 和 CEs 之间的学习是通过最适合 CE 的方法完成的: 数据平面学习, IEEE 802.1x, Link Layer Discovery Protocol (LLDP), IEEE 802.1aq, Address Resolution Protocol (ARP), 管理平面或其他协议。
至于 PE 上的第 2 层转发表是用控制平面已知的所有 MAC 目标地址填充, 还是 PE 实现基于缓存的方案, 这是本地决策。例如, MAC 转发表可能仅填充经过特定 PE 的活动流的 MAC 目标。
EVPN 的策略属性与 IP-VPN 的策略属性非常相似。EVPN 实例需要一个每个 MAC-VRF 唯一的 Route Distinguisher (RD) 和一个或多个全局唯一的 Route Targets (RTs)。CE 在 PE 上的以太网接口上连接到 MAC-VRF, 该接口可以配置为一个或多个 Ethernet tags, 例如 VLAN IDs。某些部署场景保证 VLAN IDs 在 EVPN 实例之间的唯一性: 给定 EVPN 实例的所有连接点使用相同的 VLAN ID, 并且没有其他 EVPN 实例使用此 VLAN ID。本文档将这种情况称为 "Unique VLAN EVPN", 并描述了简化的过程以对其进行优化。