提供商骨干网桥接 (PBB) 和 EVPN 集成概述
以太网 VPN (EVPN) 为多点第 2 层 VPN 服务提供了一种解决方案,具有高级多宿主功能,使用 BGP 通过核心 MPLS 或 IP 网络分发 MAC 地址可达性信息。但是,使用 EVPN,每个虚拟路由和转发 (VRF) 实例承载着数千个 MAC 地址,因此需要频繁更新新学习的 MAC 路由和撤回的路由。这会增加提供商网络的开销。
提供商骨干网桥接 (PBB) 扩展了第 2 层以太网交换,以提供增强的可扩展性、服务质量 (QoS) 功能和运营商级可靠性。通过将 PBB 与 EVPN 集成,骨干 MAC (B-MAC) 地址分布在 EVPN 核心中,而不是将客户 MAC (C-MAC) 地址作为控制平面学习发送。这简化了跨核心的控制平面学习,并允许大量第 2 层服务(例如数据中心连接)以简单的方式在网络中传输。
以下章节介绍了 PBB-EVPN 集成的技术和实现概述:
PBB-EVPN集成技术概述
了解提供商骨干网桥接 (PBB)
提供商骨干网桥接 (PBB) 最初定义为 IEEE 802.1ah 标准,其运行方式与 IEEE 802.1ad 标准完全相同。但是,PBB 不会多路复用 VLAN,而是将客户帧的 MAC 层封装在 24 位实例服务标识符 (I-SID) 中,并将其与提供商域分隔开来。这保证了客户网络和提供商网络之间的完全透明度。
在客户 MAC (C-MAC) 和服务 MAC (S-MAC) 地址上作时,PBB 使用新的骨干 MAC (B-MAC) 地址。B-MAC 地址添加在PBB网络的边缘,由运营商VPN或运营商的运营商VPN管理。通过对客户路由实例(I 组件)服务组使用 I-SID,PBB 提高了以太网服务的可扩展性。
图 1 展示了一个 PBB 网络,描述了 PBB 网络元素和 MAC 地址空间。

PBB条款是:
PB—提供商网桥 (802.1ad)
PEB—提供商边缘网桥 (802.1ad)
BEB—骨干边缘网桥 (802.1ah)
BCB—骨干核心网桥 (802.1ah)
BEB 设备是 PBB 中的第一个直接兴趣点,形成接入网络和核心之间的边界。这引入了两个关键组件——PBB 中的 I 组件和 B 组件。
I-component
I 组件构成面向客户或接入的接口或路由实例。I 组件负责将客户以太网流量映射到相应的 I-SID。首先,客户以太网流量会映射到客户桥接域。然后,将每个客户网桥域映射到一个 I-SID。此服务映射可以是按端口、每个带有服务 VLAN (S-VLAN) 的端口,也可以是按具有 S-VLAN 和客户 VLAN (C-VLAN) 的端口进行映射。I-component 用于根据 C-MAC 地址学习和转发帧,并维护一个基于实例标签 (I-TAG) 的 C-MAC 到 B-MAC 映射表。
在 I 组件中有两个端口:
客户实例端口 (CIP)
这些端口是位于面向客户的界面上的客户服务实例。服务定义可以是按端口、使用 S-VLAN 的端口或按 S-VLAN 和 C-VLAN 的端口定义。
提供程序实例端口 (PIP)
该端口执行 PBB 封装,例如推送 I-TAG、源和目标 B-MAC 地址,以及 PBB 解封装(例如弹出 I-SID,学习源 B-MAC 到 C-MAC 的映射)在入口方向。
B-component
B 组件是面向主干的 PBB 核心实例。B 组件用于根据 B-MAC 地址学习和转发数据包。然后,B 组件负责将 I-SID 映射到相应的 B-VLAN(如果是 PBB 网络),或者为基于 MPLS 的网络推送和弹出服务 MPLS 标签。
在 B 组件中,有两个端口:
客户骨干端口 (CBP)
这些端口是骨干边缘端口,可以接收和传输来自多个客户的实例标记帧,并分配骨干 VLAN ID (B-VID) 并根据收到的 I-SID 转换 I-SID。
提供商骨干端口 (PBP)
这些端口提供与主干网内和连接到主干网的其他网桥的连接。这些是面向提供商的端口。这些端口支持 S-VLAN 组件。
图 2 说明了多溴联苯的关键成分。 图 3 显示了 PBB 数据包格式。


了解 EVPN
EVPN 是一种基于标准的新技术,可通过 IP 或 IP/MPLS 骨干网络在不同的第 2 层域之间提供虚拟多点桥接连接。与 IPVPN 和 VPLS 等其他 VPN 技术类似,EVPN 实例 (EVI) 配置在 PE 路由器上,以便在客户之间保持逻辑服务的分离。提供商边缘 (PE) 设备可以连接到客户边缘 (CE) 设备,这些设备可以是路由器、交换机,也可以是主机。然后,PE 设备将使用多协议 BGP (MP-BGP) 交换可访问性信息,并在它们之间转发封装的流量。由于架构的元素与其他 VPN 技术通用,因此可以无缝引入 EVPN 并集成到现有服务环境中。

EVPN 技术通过添加扩展的控制平面程序,在参与的数据中心边界路由器 (DCBR) 之间交换第 2 层(MAC 地址)和第 3 层(IP 地址)信息,为新一代数据中心互连 (DCI) 提供了机制。这些功能有助于解决一些 DCI 挑战,例如无缝的虚拟机移动性和最佳 IP 路由。虚拟机无缝移动性是指面对虚拟机移动性时第 2 层扩展和保持连接的挑战,而最佳 IP 路由是指为虚拟机的出站流量支持默认网关行为和避免虚拟机入站流量的三角路由的挑战。
数据中心运营商使用 EVPN 技术提供多租户、灵活且有弹性的服务,并可按需扩展。这种灵活性和弹性可能需要将不同物理数据中心之间的计算资源用于单个服务(第 2 层扩展)和虚拟机运动。
EVPN 支持全活动多宿主,CE 设备可以连接至两个或更多 PE 设备,以便使用设备之间的所有链路转发流量。这样一来,CE 设备就可以将流量负载均衡地转发至多个 PE 设备。更重要的是,它允许远程 PE 设备将流量负载均衡地转发至跨核心网络的多宿主 PE。数据中心之间的这种流量负载平衡称为混叠。EVPN 还具有防止全活动多宿主拓扑中出现广播、未知单播和组播 (BUM) 流量环路的机制。
我们不支持使用 PBB-EVPN 进行 IGMP 侦听、MLD 侦听或 PIM 侦听组播优化。
当接入链路或 PE 设备发生故障时,多宿主可为其提供冗余设备。在任何一种情况下,从 CE 设备流向 PE 设备的流量都将使用剩余的活动链路。对于其他流向的流量,远程 PE 设备可更新其转转发表,将流量发送至连接到多宿主以太网段的剩余活动 PE 设备。EVPN 提供快速融合机制,因此,此调整所需的时间与 PE 设备获知的 MAC 地址数量无关。
EVPN 的 MP-BGP 控制平面允许在线虚拟机从一个数据中心动态移动到另一个数据中心,也称为虚拟机移动。虚拟机移动至目标服务器/虚拟机管理程序后,将传输免费 ARP,更新目标数据中心 PE 设备的第 2 层转发表。然后,PE 设备会将 MAC 路由更新信息传输到所有远程 PE 设备,进而更新这些设备的转发表。EVPN 以这种方式跟踪虚拟机的移动,也称为 MAC 移动性。EVPN 还具有检测和阻止 MAC 漂移的机制。
EVPN 技术与第 3 层 MPLS VPN 类似,引入了在 MPLS 核心上使用 MP-BGP 路由 MAC 地址的概念。使用 EVPN 的部分重要优势包括:
-
具有双活动多宿主边缘设备的能力
-
提供跨双活动链路的负载平衡
-
提供 MAC 地址移动性
-
提供多租户
-
提供混叠
-
实现快速融合
PBB-EVPN 集成
以下章节介绍了 PBB 与 EVPN 的集成:
集成 PBB 和 EVPN 网络元素
在 PBB 网络中,大量的客户 MAC (C-MAC) 地址隐藏在数量极少的骨干 MAC (B-MAC) 地址后面,核心中的设备不必学习和处理所有单独的客户状态。I-SID 创建一个封装,用于部署大量服务。但是,与现代网络不同,现代网络的简单 MPLS 核心由 PE 和提供商设备组成,PBB 核心中的设备需要充当交换机,称为骨干核心网桥 (BCB),根据 B-MAC 地址执行转发决策。这会导致与现代 MPLS 网络不兼容的问题,在现代 MPLS 网络中,数据包使用 MPLS 标签和递归在边缘环路地址之间切换。
通过将 PBB 与 EVPN 集成,PBB 核心中的 BCB 元素被 MPLS 取代,同时保留了 BEB PBB 边缘设备的服务扩展属性。B 分量使用 EVPN BGP 信令发出信号,并利用 PE 和提供商设备封装在 MPLS 中。因此,与常规 PBB 相比,PBB 的庞大规模与传统基本 MPLS 核心网络的简单性相结合,并且显著减少了全网状态信息的数量。
图 5 展示了使用 PBB 和 EVPN 网络不同元素进行 PBB-EVPN 集成。

PBB-EVPN 控制平面初始化
在 PBB-EVPN 网络中,B-MAC 地址分布在 EVPN 核心上,C-MAC 地址在数据平面中学习并在 B-MAC 地址后面聚合。
图 6 展示了在跨两个数据中心使用四个 PE 设备和两个架顶式设备的 PBB-EVPN 示例网络中的控制平面处理情况。

数据中心站点 1 的控制平面处理如下:
将进行 C-MAC 地址查找并学习 C-MAC 地址。
B-MAC 源地址和 I-SID 被推送到数据包上。
在 I-SID 表中完成 C-MAC 到 B-MAC 的目标地址查找。如果存在 MAC 地址,则使用 EVPN MAC 路由路由数据包;否则,将使用组播路由。
此路由为数据包提供服务标签,该数据包具有 PBB 和原始帧。
数据中心站点 2 的控制平面处理如下:
在处置 PE 设备上,接收的数据包带有单个服务标签,表明它是 PBB 帧。
在 I-SID 表中学习 C-MAC 到 B-MAC 的源地址分配。
在客户网桥域 (C-BD) MAC 表中学习 C-MAC 的源地址。
在 PBB-EVPN 中发现 EVPN 路由
具有 Dot1ah 功能的 PBB 在 PE 设备中实现。在采用 PBB-EVPN 的情况下,PE 设备实现了实例和骨干网桥功能。控制平面中仅分布 B-MAC 地址,在数据平面中学习 C-MAC 地址。在不同的 PE 设备上会发现以下 EVPN 路由:
VPN 自动发现
在不同的 PE 设备上配置 EVPN 实例 (EVI) 时,首先会自动发现 VPN,以便发现 EVPN 端点。每个配置了 EVI 的 PE 设备都会发送包含组播路由。
包容性组播路由字段如下:
RD—每个 EVI 的每个广告 PE 设备的唯一路由识别符值。RD 的重要性是 PE 设备本地的。
TAG ID- 服务 ID 等同于 I-SID 值。当服务受支持时,系统会将一个 I-SID 分配给 EVI 下的一个桥接域。对于 I-SID 捆绑服务,TAG ID 设置为 0,其中多个 I-SID 映射到一个桥接域。
Originating IP addr—环路 IP 地址。
P-Multicast Service Interface (PMSI) Attributes- 传输 BUM 流量所需的属性。有两种类型的隧道:点对多点 LSP 和入口复制。在入口复制的情况下,BUM 流量的组播标签是向下游分配的。对于点对多点 LSP,PMSI 属性包括点对多点 LSP 标识符。如果组播树在多个 EVI 之间共享或聚合,PE 设备将使用上游分配的标签与 EVI 进行关联或绑定。
RT Extended Community—与 EVI 关联的路由目标。此属性在 EVPN 中具有全局意义。
在 图 7 中,每个 PE 设备都会将包含组播路由发送到每个 BGP 邻接方。设备 PE1 向设备 PE2、PE3 和 PE4 发送包含组播路由,以进行 VPN 自动发现。图中还说明了 BUM 流量的处理。在启动序列期间,设备 PE1、PE2、PE3 和 PE4 发送包含组播标签的包含组播路由。

以太网分段发现
以太网分段路由在 EVPN NLRI 中使用值 4 的路由类型进行编码。此 NLRI 用于发现多宿主以太网段和 DF 选择。
ES-import 路由目标是一个传递路由目标扩展社区,也随以太网分段路由一起携带。ES-import 扩展社区支持连接到同一多宿主站点的所有 PE 设备导入以太网分段路由。此路由的导入由配置了 ESI 的 PE 设备完成。所有其他 PE 设备都会丢弃此以太网分段路由。
图 8 详细介绍了用于多宿主以太网分段自动发现的以太网分段路由过程。

在此图中,设备 PE1 和 PE2 连接到 ESI 值为 ESI1、B-MAC 地址为 B-MAC1 的多宿主网段。如果是主动-主动多宿主分段,则此 B-MAC 应为设备 PE1 和 PE2 上的 B-MAC。同样,设备 PE3 和 PE4 对于 B-MAC 地址为 B-MAC2 的 ESI2 是主动/主动多宿主。设备 PE1 和 PE2 发送 ESI1 的以太网分段路由,设备 PE3 和 PE4 接收该路由,但由于设备未针对 ESI1 配置,因此会忽略该路由。只有设备 PE1 和 PE2 位于一个冗余组中,并且在此组中执行 DF 选择。同样,设备 PE3 和 PE4 位于另一个冗余组中,设备 PE3 或 PE4 被选为 DF。
以太网 MAC 路由发现
以太网 MAC 通告路由用于分发 PE 节点的 B-MAC 地址。MAC 通告路由使用以下字段进行编码:
MAC 地址字段包含 B-MAC 地址。
以太网标记字段设置为 0。
以太网分段标识符字段必须设置为 0(对于具有每 I-SID 负载平衡的单宿主分段或多宿主分段)或 MAX-ESI(对于具有按流负载平衡的多宿主分段)。
标签与来自不同 PE 设备的流量的单播转发相关联。
RT(路由目标)与其 EVI 关联的扩展社区。
图 9 显示了 PBB-EVPN 中的 MAC 路由通告。

PBB-EVPN 和 EVPN 之间的区别
表 1 和 表 2 分别列出了 PBB-EVPN 和纯 EVPN 在不同路由类型和路由属性下对 2 层网络的差异。
路线 |
用法 |
适用性 |
---|---|---|
以太网自动发现路由 |
|
仅限 EVPN |
MAC 通告路由 |
|
EVPN PBB-EVPN系列 |
包容性组播路由 |
组播通道端点发现 |
EVPN PBB-EVPN系列 |
以太网分段路由 |
|
EVPN PBB-EVPN系列 |
属性 |
用法 |
适用性 |
---|---|---|
ESI MPLS 标签扩展社区 |
|
以太网自动发现路由 |
ES-import 扩展社区 |
限制以太网分段路由的导入范围。 |
以太网分段路由 |
MAC 移动性扩展社区 |
|
MAC 通告路由 |
默认网关扩展社区 |
指示网关的 MAC 或 IP 绑定。 |
MAC 通告路由 |
PBB-EVPN 数据包演练
根据网络中不同 PE 设备上的 PBB 和 EVPN 配置,以太网段、B-MAC 地址可达性和组播路由已在 EVPN 云中的不同 PE 设备上编程。PBB-EVPN 的数据包演练包括处理以量类型:
在 PBB-EVPN 中处理 BUM 流量
图 10 显示了 PBB-EVPN 控制平面和 BUM 流量处理。

PBB-EVPN 对 EVPN 云上的 BUM 流量的处理如下:
服务器 A 启动后,服务器 A 会尝试向服务器 B 发送流量。服务器 A 在服务器 B 的 ARP 表中没有 ARP 绑定,因此服务器 A 会构建 ARP 广播请求并发送。ARP 数据包的内容为 VLAN 10、S-MAC=M2(服务器 A 接口 MAC)、目标 MAC=ff.ff.ff.ff.ff.ff、源 IP 地址=服务器 A 或虚拟机 IP 地址、目标 IP 地址=服务器 B 的 IP 地址0x0806。第 2 层帧被发送到 Devie CE1。
设备 CE1 在此帧上执行第 2 层交换作。由于这是第 2 层广播帧,因此该帧被分类为接口,并基于此服务和广播行为的桥接域配置。数据包将被转发到网桥域的所有成员,但接收数据包的网桥域成员除外。在此帧上可能执行了 VLAN 转换,例如 push、pop 或 translate。此帧被发送到设备 PE2。此帧可能是无标记的、单标记的或 Q-in-Q。
设备 PE2 接收到此帧后,首先会通过分类引擎将帧分类为服务。根据分类结果接口(即客户实例端口 [CIP]),识别服务。系统将学习源 MAC 地址(如果 MAC 表中不存在该地址)。这种分类导致 C-BD。由于此帧是广播帧,因此会将其发送至此桥接域的所有成员接口。此桥接域的成员接口之一是提供程序实例端口 (PIP) 接口。现在,数据包将基于为此 PIP 接口配置的 I-SID 形成。PIP 出口接口上数据包的外部报头基于以下信息形成:
I-SID - 在此 PIP 接口上配置的 I-SID 值。
源 MAC 地址 — 为此帧配置或自动生成的 B MAC 地址。
目标 MAC 地址 — 基于基于源 C-MAC 到 B-MAC 地址学习和目标 C-MAC 到 B-MAC 地址构建的每个 I-SID 映射表。对于 BUM 流量,网桥目标地址 (B-DA) 的默认值为骨干服务实例组地址。当帧的 B-DA 是骨干服务实例组地址时,正常行为是将帧传送到骨干服务实例映射到的骨干 VLAN (B-VLAN) 内可访问的所有客户骨干端口 (CBP)。出口 CBP 基于 I-SID 进行过滤,确保不属于骨干服务实例的 CBP 传输帧。
第 2 层以太网类型 — 0x88E7。
有效负载 - 客户帧。
I-SID 形成的数据包被发送到 CBP,用于识别与 I-SID 关联的骨干网桥域 (B-BD)。
在 B-BD 中进行查找以将数据包发送到正确的目的地。由于此帧是广播帧,而目标 B-MAC 是组播地址(00-1E-83-<ISID 值>),因此需要将数据包作为 EVPN 的入口复制(即 VPLS 边缘泛洪下一跳)进行处理。下一跃点推送服务标签(每个对等方 ID 和网桥 VLAN ID 与 B-VLAN 关联的组播 MPLS 标签)。MPLS 数据包将形成并通过 MPLS 云为设备 PE1、PE3 和 PE4 发送。
设备 PE4 将帧作为 MPLS 数据包接收。桥接域识别是通过在 mpls.0 路由表中执行 MPLS 标签 L1 查找来完成的。MPLS 查找指向桥接域下一跃点的表下一跃点。识别桥接域后,数据包将被识别为广播数据包。执行 BUM 复合泛滥下一跃点,此下一跃点指向 CBP。
出口接口已识别。其中一个出口接口是 PIP 接口,其中配置了 I-SID,并使用基于 I-SID 的过滤(MAC 过滤)对帧进行过滤。将学习 I-SID MAC 映射表的源 C-MAC 到 B-MAC 地址。此表用于为单播流量构建目标 B-MAC 地址。外部 I-SID 标头将从客户第 2 层帧中弹出。客户桥接域 (C-BD) 是根据 PIP 接口的 I-SID 分类找到的。
学习源 C-MAC 地址。目标 C-MAC 查找已完成。这是一个广播帧,根据 BUM 处理(下一跳泛滥),该帧被转发到 C-BD 的所有成员,但接收此帧的成员接口除外。
设备 CE2 接收此帧。基于帧 VLAN 进行服务分类。根据分类,找到桥接域转发服务并完成 MAC 学习。由于该帧是广播帧,因此由下一跃点泛滥处理。
服务器 B 接收 ARP 请求数据包,并将 ARP 回复发送给服务器 A。
处理 PBB-EVPN 中的单播流量
图 11 以来自服务器 B 的 ARP 回复的形式展示了 PBB-EVPN 控制平面和单播流量处理。

对于单播流量,假定数据和控制平面 MAC 学习都已经发生。
服务器 B 生成 ARP 回复。ARP 数据包的内容为 VLAN 10、S-MAC=MAC11(服务器 B 接口 MAC)、目标 MAC=MACA、源 IP 地址=服务器 B 或虚拟机 IP 地址、目标 IP 地址=服务器 A 的 IP 地址。此帧转发至架顶式 B。
CE 设备接收到帧后,会对传入帧进行分类。根据接口族,识别与接口关联的桥接域。源 MAC 地址学习在桥接域上进行。接下来,完成桥接域目标 MAC (MACA) 查找,查找提供第 2 层出口接口。在 CE 设备将帧发送到出口接口之前,应用出口接口的输出功能。
设备 PE4 接收第 2 层封装帧。进行第 2 层服务分类是为了识别与此帧关联的客户网桥域 (C-BD)。源 MAC 地址 (MAC11) 学习是在 CIP 接口上的 C-BD 上下文中完成的。
C-BD 上下文中的目标 MAC 查找指向 PIP 接口。此时,PIP 接口出口功能列表被执行。根据功能列表,外部 I-SID 报头被推送到原始以太网帧上。
源 MAC—设备 PE4 的 B-MAC
目标 MAC — DEVICE PE2 的 B-MAC(在 I-SID C-MAC-to-B-MAC 表中的查找结果)
I-SID - I-SID 的配置值
第 2 层以太类型 — 0x88E7
在 B-BD MAC 地址表中查找目标 MAC 地址(设备 PE2 的 B-MAC)。此查找将生成单播下一跃点(即 EVPN 下一跃点)。下一跃点包含单播 MPLS 服务标签。此标签通过多协议 BGP (MP-BGP) 控制平面进行分布。下游对等方分配此 MPLS 服务标签。此标签的分配可以按 EVI 进行;每个 EVI 和 VLAN;每个 EVI、VLAN 和连接电路;或按 MAC 地址。根据下一跳中的信息,形成 MPLS 数据包,并在 MPLS 网络上转发。
设备 PE2 接收帧。它被标识为 MPLS 数据包。MPLS 标签查找是在 mpls.0 路由表中完成的。此查找将生成下一跃点表。此查找将生成 B-BD 表。应用 B-MAC 规则(即源 B-MAC 为目标 B-MAC)和 I-SID 过滤(CBP 配置的 ISID=数据包 ISID)规则。根据收到的帧 I-SID,识别 CBP 并弹出 B-VLAN。
帧头将传递到 PIP 接口进行进一步处理。在 I-SID 表中学习 C-MAC 地址(M11 到 B-MAC-PE2)到 B-MAC 的映射。弹出外部 I-SID 标头。
在 C-BD 上下文中的 PIP 接口上学习内部源 MAC 地址。完成内部目标 MAC 地址查找,生成出口 CIP 接口。
CE 设备接收第 2 层帧,完成第 2 层转发。
服务器 A 接收来自服务器 B 的单播 ARP 回复数据包。
处理 PBB-EVPN 中的路径转发
在 PBB-EVPN 网络中,帧可以来自客户边缘 (CE) 侧(桥接接口),也可以来自支持 MPLS 的接口(面向核心的接口)。
从 CE 端接收的数据包数据包流如下:
如果帧是从 CE 接口接收的,则该接口属于网桥家族,并且 MAC 地址查找和学习将在客户网桥域 (C-BD) 上下文中完成。查找的结果是单播 MAC 路由或泛洪 MAC 路由。
在 I-SID MAC 表中进行下一次查找,以确定与目标 C-MAC 关联的目标 B-MAC。
I-SID 标头将前置到数据包中。
下一次查找是在 B-BD 中完成的,因为 PIP 接口属于网桥家族。
B-BD 查找指向单播 MAC 路由或泛洪 MAC 路由,此路由指向 EVPN 间接组播下一跃点或单播间接下一跃点。
从核心侧接收的数据包数据包流如下:
如果从面向核心的接口接收帧,则该接口属于 MPLS 家族,并且 MPLS 标签查找将在 mpls.0 路由表下一跃点中完成。此查找的结果是路由实例上下文。
根据从数据包到 BBD 查找的 I-SID 进行下一次查找。
如果找到 BBD,则应用基于 I-SID 的过滤规则,其中 I-SID 配置的 MAC 应与数据包源 B-MAC 匹配,然后丢弃帧。
更新了与目标 C-MAC 关联的目标 B-MAC 的 I-SID MAC 表,用于构建 C-MAC 到 B-MAC 关联。
删除 I-SID 报头,并基于 PIP 接口找到 C-BD。
下一次查找是在 C-BD 中完成的,因为 PIP 接口属于网桥家族。
C-BD 查找指向单播 MAC 路由或泛洪 MAC 路由,此路由指向 CE 接口或泛洪路由。
处理 PBB-EVPN 中的 MAC 移动性
图 12 从转发和控制平面的角度展示了 PBB-EVPN MAC 的移动性。

从转发和控制平面点开始的 MAC 移动性按如下方式处理:
设备 PE1 学习本地端口上的 C-MAC 地址 M1,并根据目的地 C-MAC 到远程 B-MAC 的映射跨核心进行转发。这种映射可以是静态配置的,要么是通过数据平面学习的。如果在 I-SID 映射表中找不到 destination-C-MAC 到远程 B-MAC 的映射,则使用 I-SID 派生远程 B-MAC。
设备 PE3 通过 B-MAC 地址 B-M1 从数据平面学习 C-MAC 地址 M1。
客户 M1 从设备 CE1 移至设备 CE2 后面。
当客户 M1 希望与设备 CE1 后面的客户通信时,将发送 VID: 100、源 MAC: M1 和目标 MAC: ff.ff.ff.ff.ff.ff 的广播流量。设备 PE3 学习 C-BD MAC 表中的 MAC M1,并更新 I-SID 映射表中的 M1 位置。
设备 PE1 接收数据包,并在 I-SID 映射表中学习和更新 M1,因为可通过远程 MAC 访问的是 B-M2。
处理 PBB-EVPN 的端到端 OAM
您可以通过在 PIP 接口上或通过 EVPN 服务在向内或向外的维护端点 (MEP) 上运行连接故障管理 (CFM) 来运行提供商级作、管理和维护 (OAM)。
目前,指定转发 (DF) 选择是基于 DF 选择算法决定的,是 PE 设备的本地决定。这在端到端服务处理场景中非常有用,在端到端服务处理场景中,DF 选择的决定也可以在作员同意的情况下完成,反之亦然。在另一种情况下,影响每个服务的 DF 角色或将 DF 传播到 CE 设备可能会很有用,那就是对于多宿主网络,其中 CE 和 PE 设备之间没有直接链路。
处理 PBB-EVPN 的 QoS 和防火墙监管器支持
表 3 详细介绍了 PBB-EVPN 集成环境中支持的 QoS 和防火墙功能。
特征 |
描述 |
支持往返时间 (RTT) |
CE 接口支持 |
核心接口支持 |
---|---|---|---|---|
分类 |
固定分类为一个 FC |
是的 |
是的 |
是的 |
内部输出 VLAN 的行为聚合 (BA) 和多域分类器 (MF) 分类 802.1p 位 |
是的 |
是的 |
是的 |
|
基于丢弃合格指标 (DEI) 和优先级代码点 (PCP) 字段的 BA 和 MF 分类 |
不 |
非必填项 |
不 |
|
基于 MPLS 实验 (EXP) 字段的 BA 和 MF 分类 |
不 |
不 |
是的 |
|
CoS 标志 |
802.1p 转 I-SID PCP 和 DEI 字段: 客户 VLAN 802.1p |
不 |
默认情况下,802.1p 映射到 PCP 和 DEI 字段 |
是的 |
802.1p 至 MPLS EXP 字段: 客户 VLAN 802.1p |
不 |
不 |
是的 |
|
MPLS EXP 字段到 I-SID、PCP 和 DEI 字段 |
不 |
默认行为 |
不 |
|
EXP 字段到 802.1p |
不 |
是的 |
不 |
|
QoS 整形 |
入口设备上的分层调度和整形 |
不 |
是的 |
是的 |
出口设备上的分层调度和整形 |
不 |
是的 |
是的 |
|
防火墙过滤器 |
过滤 BUM 流量 |
仅未知流量 |
仅广播和组播流量 |
仅广播和组播流量 |
基于 I-SID 的防火墙过滤器 |
不 |
不 |
不 |
|
客户 基于 VLAN 的过滤器 |
不 |
是的 |
是的 |
|
监管器(2 速率 3 色) |
入口方向 |
不 |
是的 |
是的 |
出口方向 |
不 |
是的 |
是的 |
PBB-EVPN 集成实施概述
以下章节提供了用于 DCI 的 PBB-EVPN 集成的用例场景。
PBB-EVPN 故障场景
在提供端到端解决方案时,应注意不同的 PBB-EVPN 故障场景。这些故障方案可以属于以下类型:
分段故障
分段或面向 CE 的链路故障将在激活/主动和主动/备用多宿主冗余模式下处理。
图 13 显示了设备 CE1 上基于流的负载平衡对分段故障的处理。

PBB-EVPN 中的分段故障按如下方式处理:
设备 CE1 和 PE1 之间的以太网链路因光纤切断或接口中断而失败。设备 PE1 检测到故障分段。
设备 PE1 撤回为故障网段 (B-M1) 播发的 B-MAC 地址。
面向 CE1 的链路断开如果链路故障发生在单活动冗余模式或无冗余情况下,则也会进行 C-MAC 刷新。
C-MAC 地址刷新以两种方式进行:
如果设备 PE2 对多个 I-SID 使用共享 B-MAC 地址,则它会通过递增计数器的值,使用 MAC 移动性扩展社区属性重新播发 B-MAC 地址,从而通知远程 PE 设备。这会导致远程 PE 设备刷新与设备 PE1 的 B-MAC 地址关联的所有 C-MAC 地址。
如果设备 PE2 使用专用 B-MAC 地址,则会撤回与故障分段关联的 B-MAC 地址,并将其发送给设备 PE2、PE3 和 PE4。
从设备 PE1 接收到 B-MAC 撤销后,设备 PE3 会从其转转发表中删除 B-MAC1 的 PE1 可达性。B-MAC1 通过设备 PE2 的可访问性仍然存在。
在设备 PE2 上为以太网分段 ESI 的所有 I-SID 重新运行 DF 选择。
节点故障
从CE端故障处理的角度来看,节点或PE设备的故障场景类似于分段故障,但与核心端故障处理不同。在进行核心端故障处理的情况下,EVPN 依靠 BGP 会话超时来清除受影响 PE 设备上的 EVPN 会话状态。
图 14 说明了节点故障处理的节点故障方案。

设备 PE1 发生故障,CE 端切换到设备 PE2 是通过接口关闭事件完成的。
设备 PE2、PE3 和 PE4 或 BGP 路由反射器可检测设备 PE1 的 BGP 会话超时。
一旦发生 BGP 会话超时,设备 PE3 和 PE4 就会将设备 PE1 标记为无法访问或删除,从而从转转发表中删除设备 PE1。在单活动冗余模式的情况下,必须刷新或更新 C-MAC 到 B-MAC 映射表的 I-SID 表。在主动/主动冗余模式的情况下,不需要刷新 I-SID 表,因为对于给定的 EVI,设备 PE1 和 PE2 会使用相同的 B-MAC 地址。
在设备 PE2 上,BGP 超时后,将重新运行 DF 选择算法,并且设备 PE2 将成为受影响以太网段上所有 I-SID 的 DF。
核心故障
EVPN 网络中核心端隔离的处理与 PE 端故障类似,只是在 CE 设备或以太网段的处理上存在一些差异。
图 15 提供了有关处理内核隔离的详细信息。

PBB-EVPN 中的核心隔离处理方式如下:
设备 PE1 断开与核心的连接。
设备 PE2、PE3 和 PE4 或 BGP 路由反射器可检测设备 PE1 的 BGP 会话超时。
设备 PE1 向设备 CE1 发送 LACP OUT_OF_SYNC报文,以将端口从捆绑包中取出。
设备 PE2 或 BGP 路由反射器检测设备 PE1 的 BGP 会话超时。
设备 PE2 会重新运行 DF 选择,并被选为分段上所有 I-SID 的 DF。
PBB-EVPN I-SID 用例场景
I-SID 基础服务
对于 I-SID 基本服务,桥接域与 EVI 之间存在一对一映射关系。在这种情况下,无需在 MAC 通告路由中携带 I-SID,因为桥接域 ID 可以从与此路由关联的路由目标 (RT) 派生。MPLS 标签分配基于每个 EVI 进行。
图 16 概述了 I-SID 基本用例场景。

在 I-SID 负载平衡的情况下,从始发 CE 链路聚合组 (LAG) 配置按服务进行流量负载平衡,B-MAC 地址有两种模式:
共享源 B-MAC
在此模型中,以太网分段中的所有 I-SID 共享一个源 B-MAC 地址。从 B-MAC 因服务故障而退出的角度来看,此模型存在局限性。远程 PE 设备需要刷新所有 I-SID 的 B-MAC 到 C-MAC 的映射。这就产生了融合问题,因为所有 I-SID 都进行了 MAC 刷新。
每个 I-SID 的唯一源 B-MAC
每个多宿主以太网分段分配唯一的单播 B-MAC 地址(每个 I-SID 一个)。DF 过滤适用于核心到分段和分段到核心方向的单播和组播流量。
I-SID 感知服务
如果采用 I-SID 感知服务,则可将多个 I-SID 映射到同一 EVI。但是桥接域和 I-SID 之间存在一对一映射关系。必须在 BGP 路由播发中将以太网标记 ID 设置为 I-SID。MPLS 标签分配基于每个 EVI 或每个 EVI/I-SID 进行,因此 PBB 可以在入口 PE 设备终止,并在出口 PE 设备上重新创建。
VPLS 与 PBB-EVPN 集成用例场景
在此用例场景中,VPLS 是一种通过使用逻辑隧道接口与 PBB-EVPN 集成的云。逻辑隧道接口将终止到客户网桥域 (C-BD) 中。从 VPLS 云中学习 MAC 地址是在 C-BD 的环境中进行的。C 桥域映射到骨干网桥域并连接到 EVPN 云。
Junos OS 17.2R1 版不支持在 EVI 下与 PBB-EVPN 互连的 PBB-VPLS。
PBB-EVPN 冗余用例场景
单一活动冗余用例场景
在此用例场景中,CE 设备多宿主到多个 PE 设备。此情景的以太网分段是通过在 PE 设备上的多个物理接口或聚合以太网接口上配置相同的 ESI ID 以及作模式来定义的。在这种运维模式下,仅允许一个 PE 设备(即 DF)将流量转发到此以太网段或从此以太网段转发流量,以获取 BUM 流量。DF 选择基于 EVI 中的每个 ESI 并考虑最低配置的 I-SID。这也取决于分段多宿主到的 PE 设备的数量。服务雕刻是通过将不同的 I-SID 放入不同的 EVI 中来实现的。DF 选择类似于基于 VLAN 的 EVPN 中的 DF 选择。默认 3 秒计时器用于接收来自其他 PE 节点的以太网分段路由,此计时器可以使用与 EVPN 中使用的相同命令(语 designated-forwarder-election hold-time
句)进行配置。
如果是 PBB-EVPN,则不使用以太网自动发现路由。此模式在 B-MAC 通告路由中指定。在单宿主或多宿主设置中,使用单活动模式时,必须在 B-MAC 路由通告中将 ESI 字段设置为 0。如果在 MAC 通告路由中使用 ESI 0,则执行基于 I-SID 的负载平衡。I-SID 值可以用作单个主、活动/备用方案或活动/活动方案。但是,它不能在混合作模式下使用。
图 17 提供了主动/备用多宿主以及 DF 选择的用例场景。

主动/备用冗余用例场景
在主动/主动冗余用例场景中,使用 DF 选择来处理 BUM 流量。对于 PBB-EVPN,EVPN 的水平分割不用于过滤 BUM 流量。相反,通过过滤目标 B-MAC 来过滤 BUM 流量,其中配置的 B-MAC 与接收的数据包 B-MAC 相同;因此,该数据包来自同一网段。
混叠方法与 EVPN 相同,但通过将 ESI 字段设置为 MAX-ESI 来通告 B-MAC 路由。当远程 PE 设备收到 MAX-ESI 值为 B-MAC 路由时,远程 PE 设备会在设备 PE1 和 PE2 之间进行负载平衡。
主动/主动冗余用例场景
在 PBB-EVPN 主动-主动多宿主网络中,所有多宿主 PE 设备都需要安装相同的 MAC。为此,BGP 用于跨多宿主 PE 设备同步源 C-MAC 地址(在 CE 侧)或远程 C-MAC 地址(从核心)以用于同一 ESI。
要启用 MAC 同步:
对于源 C-MAC 地址同步:
在 CE 设备上配置按数据包负载均衡。
确保每个源 C-MAC 的流量最小,以便每个源 C-MAC 至少将两个链路都指向多宿主 PE 设备一次。这可以确保两个多宿主 PE 设备都学习每个源 C-MAC。
对于远程 C-MAC 地址同步:
确保每个远程 C-MAC 的流量最小,以便每个远程 C-MAC 在遍历核心时至少将两个链路(混叠)带到多宿主 PE 设备一次。这可以确保两个多宿主 PE 设备都学习每个远程 C-MAC。
PBB-EVPN 集成配置概述
PBB-EVPN 配置使用以下型号完成:
I-SID 与桥接域之间的一对一映射
在此配置模型中,尽管桥接域与 I-SID 之间存在一对一映射,但不同服务之间存在共享 EVPN 实例 (EVI)。
I-SID 与桥接域之间的多对一映射
在此配置模型中,虚拟交换机配置用于允许将多个 I-SID 映射到一个桥接域。此模型只允许在给定的 EVI 中设置一个桥接域,所有其他桥接域均映射到其他第 2 层服务。
Sample PBB-EVPN Port Configuration:
提供商骨干端口 (PBP) 配置:
routing-instances { evpnA { instance-type virtual-switch; route-distinguisher 192.0.2.1; vrf-target target:65221:111; protocols { evpn { label-allocation per-instance; extended-isid-list [10000 10401 20000-20001] } } } }
客户骨干端口 (CBP) 配置:
interfaces { cbp { flexible-valn-tagging; unit 0 { family bridge { interface-mode trunk; isid-list [10000 10401 20000-20001] [all]; } } } }
提供程序实例端口 (PIP) 配置:
interfaces { pip { flexible-valn-tagging; unit 0 { family bridge { interface-mode trunk; isid-list [20000 20001]; } } unit 1 { family bridge { interface-mode trunk; isid-list [10000 10401]; } } } }
客户实例端口 (CIP) 配置:
interfaces { ge-4/0/0 { flexible-valn-tagging; esi 1 primary; unit 0 { family bridge { interface-mode trunk; vlan-id-list [1-399 500 800]; } } ge-7/0/0/ { flexible-vlan-tagging; unit 0 { family bridge { interface-mode trunk; vlan-id-list [1-401]; } } } ge-8/0/0/ { flexible-vlan-tagging; unit 0 { family bridge { interface-mode trunk; vlan-id-list [500-501]; } } } }
Sample PBB-EVPN Routing Instance Configuration:
提供商路由实例配置:
routing-instances { EVPN A { instance-type virtual-switch; route-distinguisher 192.0.2.1; vrf-target target:65221:111; protocols { pbb-evpn { label-allocation per-instance; extended-isid-list [10000 10401 20000] [all]; } evpn { label-allocation per-instance; extended-vlan-list 1000; } } interface cbp.0; bridge-domains { B-BD1 { isid-list 10000; } B-BD2 { isid-list 10401; } B-BD3 { isid-list 20000; } B-BD4 { isid-list 1000; } } pbb-options { vlan-id 1000 isid-list [20001]; default-bvlan 22; } } }
客户路由实例配置:
routing-instances { PBN-1 { instance-type virtual-switch; interface ge-4/0/0.0; interface pip.0; bridge-domains { customer-BDs { vlan-id-list [1-399 500 800]; } } pbb-options { peer-instance EVPN A; source-bmac <mac-address>; service-groups { pbb-1-isid { source-bmac <mac-address>; isid { isid-1 { isid 20000 vlan-id-list [1-399 500] [all]; source-bmac <mac-address>; map-dest-bmac-to-dest-cmac <b-mac> <c-mac>; } isid-2 { isid 20001 vlan-id-list [800] [all]; } } } } } } PBN-2 { instance-type virtual-switch; interface ge-7/0/0.0; interface pip.1; bridge-domains { customer-BDs { vlan-id-list [1-401]; } } pbb-options { peer-instance EVPN A; default-isid <i-sid>; service-groups { pbb-2-isid-1 { isid { isid-1 { isid 10000 vlan-id-list [1-400]; } } } } pbb-2-isid-2 { isid { isid-1 { isid 10401 vlan-id-list [401]; } } } } } }
PBB-EVPN 上支持和不支持的功能
Junos OS 通过 PBB-EVPN 支持以下功能:
平滑路由引擎切换 (GRES)、统一不中断服务的软件升级 (ISSU) 和不间断软件升级 (NSSU)。
为配置了 EVPN 系列的 BGP 对等方提供不间断活动路由 (NSR)。
PBB-EVPN 上的 NSR 复制并重新创建骨干 MAC (B-MAC) 路由、包容性组播路由和以太网分段标识符 (ESI) 路由。
在 64 位平台上支持功能。
IEEE 为 I-SID 帧分配了标准以太类型作为0x88E7。除此之外,还可以使用 802.1x。
支持以下安全注意事项:
仅当入口核心 PE 设备上启用了 PBB 时,才会处理发往第 2 层以太类型 AS 0x88E7 的数据包。
仅当入口 PE 设备上已知且配置了 I-SID 时,才会处理从核心收到的数据包;否则,帧将被丢弃。
Junos OS 不支持以下 PBB-EVPN 集成功能:
全面支持 EVPN NSR
集成路由和桥接 (IRB) 接口
-
用于 PBB-EVPN 信令的 IPv6 IP 地址(但是,我们支持通过 PBB-EVPN 网络的 IPv4 或 IPv6 客户端流量)
逻辑系统