提供商骨干网桥接 (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组件用于基于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 说明了 PBB 的关键成分。 图 3 展示了 PBB 数据包的格式。
了解 EVPN
EVPN 是一种基于标准的新技术,可通过 IP 或 IP/MPLS 骨干网络在不同的第 2 层域之间提供虚拟多点桥接连接。与其他 VPN 技术(如 IPVPN 和 VPLS)类似,PE 路由器上配置 EVPN 实例 (EVI),以便在客户之间保持逻辑服务的分离。提供商边缘 (PE) 设备连接到客户边缘 (客户边缘) 设备,这些设备可以是路由器、交换机,也可以是主机。然后,PE 设备使用多协议 BGP (MP-BGP) 交换可访问性信息,并在它们之间转发封装的流量。由于架构的元素与其他 VPN 技术通用,因此可以无缝引入 EVPN 并将其集成到现有服务环境中。
EVPN 技术通过添加扩展控制平面过程在参与的数据中心边界路由器 (DCBR) 之间交换第 2 层(MAC 地址)和第 3 层(IP 地址)信息,为新一代数据中心互连 (DCI) 提供了机制。这些功能有助于解决部分 DCI 挑战,如无缝虚拟机移动性和最佳 IP 路由。无缝虚拟机移动性是指面对虚拟机移动性时,第 2 层扩展和保持连接的挑战移动性,最佳 IP 路由是指支持虚拟机出站流量的默认网关行为和虚拟机入站流量的三角路由避免的挑战。
数据中心运营商使用 EVPN 技术提供可按需扩展的灵活且富有弹性的多租户服务。为了实现这种灵活性和弹性,可能需要在不同的物理数据中心之间使用计算资源来实现单个服务(第 2 层扩展)和虚拟机移动。
EVPN 支持全活动多宿主,允许客户边缘设备连接到两个或更多 PE 设备,以便使用设备之间的所有链路转发流量。这使客户边缘设备能够将流量负载均衡地转发至多个 PE 设备。更重要的是,它允许远程 PE 设备将流量负载均衡地转发至跨核心网络的多宿主 PE。这种数据中心之间流量的负载平衡称为混叠。EVPN 还具有防止全活动多宿主拓扑中广播、未知单播和组播 (BUM) 流量环路的机制。
我们不支持使用 PBB-EVPN 进行 IGMP 侦听、MLD 侦听或 PIM 侦听组播优化。
当接入链路或 PE 设备发生故障时,多宿主可提供冗余。在任何一种情况下,从 客户边缘 设备流向 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 可创建支持部署大量服务的封装。但是,与具有由 PE 和提供商设备组成的简单 MPLS 核心的现代网络不同,PBB 核心中的设备需要充当交换机(称为骨干核心网桥 (BCB),根据 B-MAC 地址执行转发决策。这会导致与现代 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 将被推送到数据包上。
-
C-MAC 到 B-MAC 的目标地址查找在 I-SID 表中完成。如果存在 MAC 地址,则使用 EVPN MAC 路由路由数据包;否则,将使用组播路由。
-
此路由为数据包提供服务标签,其中包含 PBB 和原始帧。
数据中心站点 2 的控制平面处理如下:
-
在处置 PE 设备上,接收的数据包带有一个服务标签,指示它是 PBB 帧。
-
C-MAC 到 B-MAC 的源地址分配在 I-SID 表中获知。
-
C-MAC 的源地址在客户网桥域 (C-BD) MAC 表中获知。
发现 PBB-EVPN 中的 EVPN 路由
在 PE 设备上实施具有 Dot1ah 功能的 PBB。对于 PBB-EVPN,PE 设备实现实例和主干网桥功能。仅 B-MAC 地址分布在控制平面中,C-MAC 地址在数据平面中学习。在不同的 PE 设备上发现以下 EVPN 路由:
VPN 自动发现
在不同的 PE 设备上配置 EVPN 实例 (EVI) 时,将首先自动发现 VPN 以发现 EVPN 端点。每个配置了 EVI 的 PE 设备都会发送包含组播路由。
包容性组播路由字段如下:
-
RD—每个 EVI 的每个广告 PE 设备的唯一路由识别符值。RD 的重要性对于 PE 设备是本地的。
-
TAG ID- 等同于 I-SID 值的服务 ID。支持服务时,一个 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 导入路由目标(传递路由目标扩展社区)也随以太网分段路由一起携带。ES-import 扩展社区使连接到同一多宿主站点的所有 PE 设备能够导入以太网分段路由。此路由的导入由配置了 ESI 的 PE 设备完成。所有其他 PE 设备将放弃此以太网段路由。
图 8 提供了有关以太网分段路由进行多宿主以太网分段自动发现过程的详细信息。
在此图中,设备 PE1 和 PE2 连接到 ESI 值为 ESI1、B-MAC 地址为 B-MAC1 的多宿主分段。对于 A/A 多宿主分段,此 B-MAC 应为设备 PE1 和 PE2 上的 MAC。同样,设备 PE3 和 PE4 对于具有 B-MAC2 的 B-MAC 地址为 B-MAC2,是主动/主动多宿主。设备 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 分别列出了适用于第 2 层网络的 PBB-EVPN 和纯 EVPN 在不同路由类型和路由属性方面的差异。
|
路由 |
用法 |
适用性 |
|---|---|---|
|
以太网自动发现路由 |
|
仅限 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 配置,以太网段、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 地址,目标 IP 地址 = 服务器 B 的 IP 地址。 ARP 的数据包类型为 0x0806。第 2 层帧被发送至 Devie CE1。
-
设备 CE1 在此帧上执行第 2 层交换操作。由于这是第 2 层广播帧,因此会根据此服务的桥接域配置和广播行为对帧进行分类。数据包将转发到桥接域的所有成员,接收数据包的成员除外。此帧上可能会执行 VLAN 转换,例如推送、弹出或转换。此帧将发送至设备 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 地址构建的 per-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 标签)。设备 PE1、PE3 和 PE4 将形成并通过 MPLS 云形成并发送 MPLS 数据包。
-
设备 PE4 将帧作为 MPLS 数据包接收。网桥域识别是通过在 mpls.0 路由表中执行 MPLS 标签 L1 查找来完成的。MPLS 查找指向桥接域下一跃点的表下一跃点。识别桥接域后,数据包将被识别为广播数据包。将执行 BUM 复合泛洪下一跃点,此下一跃点指向 CBP。
-
出口接口已识别。其中一个出口接口是配置了 I-SID 的 PIP 接口,并且应用基于 I-SID 的过滤(MAC 过滤)来过滤帧。源 C-MAC 到 B-MAC 地址是为 I-SID MAC 映射表学习的。此表用于为单播流量构建目标 B-MAC 地址。外部 I-SID 报头从客户第 2 层帧中弹出。根据 PIP 接口的 I-SID 分类查找客户端桥接域 (C-BD)。
-
将学习源 C-MAC 地址。目标 C-MAC 查找已完成。这是一个广播帧,根据 BUM 处理(泛洪下一跃点),该帧将转发到 C-BD 的所有成员,接收此帧的成员接口除外。
-
设备 CE2 接收此帧。服务分类基于帧 VLAN 完成。根据分类,找到桥接域转发服务并完成MAC学习。由于帧是广播帧,因此由泛洪下一跃点处理。
-
服务器 B 接收 ARP 请求数据包,并向服务器 A 发送 ARP 回复。
在 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。
-
接收帧后,客户边缘设备对传入帧进行分类。根据接口族,可以识别与接口关联的网桥域。源 MAC 地址学习在网桥域上进行。接下来,完成网桥域目标 MAC (MACA) 查找,查找将提供第 2 层出口接口。在客户边缘设备将帧发送到出口接口之前,将应用出口接口的输出功能。
-
第 2 层封装帧由设备 PE4 接收。第 2 层服务分类用于识别与此帧关联的客户网桥域 (C-BD)。源 MAC 地址 (MAC11) 学习在 CIP 接口上的 C-BD 环境中完成。
-
C-BD 环境中的目标 MAC 查找指向 PIP 接口。此时,将执行 PIP 接口出口功能列表。根据功能列表,外部 I-SID 报头将被推送到原始以太网帧上。
-
源 MAC — 设备 PE4 的 B-MAC
-
目标 MAC — 设备 PE2 的 B-MAC(I-SID C-MAC 到 B-MAC 表中的查找结果)
-
I-SID — I-SID 的配置值
-
第 2 层以太网典型值—0x88E7
-
-
目标 MAC 地址(设备 PE2 的 B-MAC)查找在 B-BD 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 接口以进行进一步处理。C-MAC 地址(M11 到 B-MAC-PE2)到 B-MAC 的映射在 I-SID 表中获知。外部 I-SID 报头弹出。
-
内部源 MAC 地址是在 C-BD 环境中的 PIP 接口上获知的。完成内部目标 MAC 地址查找,生成出口 CIP 接口。
-
客户边缘设备接收第 2 层帧,完成第 2 层转发。
-
服务器 A 接收来自服务器 B 的单播 ARP 回复数据包。
在 PBB-EVPN 中处理路径转发
在 PBB-EVPN 网络中,帧可以来自客户边缘(客户边缘)端(网桥接口)或支持 MPLS 的接口(面向核心的接口)。
从客户边缘接收的数据包的数据包流如下:
-
如果帧是从 客户边缘接口接收的,则该接口属于网桥家族,并且 MAC 地址查找和学习在客户网桥域 (C-BD) 环境中完成。查找的结果是单播 MAC 路由或泛洪 MAC 路由。
-
下一次查找将在 I-SID MAC 表中完成,以确定与目标 C-MAC 关联的目标 B-MAC。
-
I-SID 标头将前置到数据包中。
-
由于 PIP 接口属于网桥家族,因此下一次查找将在 B-BD 中完成。
-
B-BD 查找指向单播 MAC 路由或泛洪 MAC 路由,此路由指向 EVPN 间接组播下一跃点或单播间接下一跃点。
从核心端接收的数据包的数据包流如下:
-
如果帧是从面向核心的接口接收的,则该接口属于 MPLS 家族,并且 MPLS 标签查找将在 mpls.0 路由表下一跃点中完成。此查找的结果是路由实例上下文。
-
下一次查找是根据从数据包到 BBD 查找的 I-SID 完成的。
-
如果找到 BBD,则应用基于 I-SID 的过滤规则,其中 I-SID 配置的 MAC 应与数据包源 B-MAC 匹配,则丢弃帧。
-
I-SID MAC 表将针对与目标 C-MAC 关联的目标 B-MAC 进行更新,以构建 C-MAC 到 B-MAC 的关联。
-
I-SID 报头将被移除,并根据 PIP 接口找到 C-BD。
-
由于 PIP 接口属于网桥家族,因此下一次查找将在 C-BD 中完成。
-
C-BD 查找指向单播 MAC 路由或泛洪 MAC 路由,此路由指向客户边缘接口或泛洪路由。
处理 PBB-EVPN 中的 MAC 移动性
图 12 展示了从转发和控制平面点开始的 PBB-EVPN MAC 移动性。
从转发和控制平面点的 MAC 移动性按如下方式处理:
-
设备 PE1 学习本地端口上的 C-MAC 地址 M1,并根据目标 C-MAC 到远程 B-MAC 映射跨核心转发。此映射可以静态配置,要么通过数据平面学习。如果在 I-SID 映射表中找不到目标 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 传播到 客户边缘 设备可能有用的另一种方案是多宿主网络,其中 客户边缘 设备和 PE 设备之间没有直接链路。
处理 QoS 和防火墙监管器对 PBB-EVPN 的支持
表 3 提供了有关 PBB-EVPN 集成上下文中支持的 QoS 和防火墙功能的详细信息。
|
功能 |
描述 |
往返时间 (RTT) 支持 |
客户边缘接口支持 |
在核心接口上支持 |
|---|---|---|---|---|
|
分类 |
固定分类为一个光纤通道 |
是 |
是 |
是 |
|
内部输出 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 故障场景。这些故障方案可以是以下类型:
分段故障
分段或面向客户边缘的链路故障在激活/活动和主动/备用多宿主冗余模式下进行处理。
图 13 显示了设备 CE1 上基于流的负载平衡的分段故障处理方法。
PBB-EVPN 中的分段故障处理方法如下:
-
由于光纤切断或接口出现故障,设备 CE1 和 PE1 之间的以太网链路出现故障。设备 PE1 检测到故障分段。
-
设备 PE1 撤回为故障分段 (B-M1) 播发的 B-MAC 地址。
-
面向 CE1 的链路断开。如果链路故障发生在单活动冗余模式或无冗余情况下,则还会完成 C-MAC 刷新。
C-MAC 地址刷新以两种方式发生:
-
如果设备 PE2 将共享 B-MAC 地址用于多个 I-SID,则会通过递增 counter 的值来使用 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 选择。
节点故障
从客户边缘故障处理的角度来看,节点或 PE 设备故障场景类似于分段故障,但与核心端故障处理不同。在核心端故障处理的情况下,EVPN 根据 BGP 会话超时来清除受影响 PE 设备上的 EVPN 会话状态。
图 14 展示了用于节点故障处理的节点故障场景。
-
设备 PE1 发生故障,客户边缘切换到设备 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 端故障类似,只是在客户边缘设备或以太网段的处理方式有所不同。
图 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 负载平衡的情况量负载平衡是根据始发客户边缘链路聚合组 (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 之间存在一对一映射。以太网标记 ID 必须设置为 BGP 路由播发中的 I-SID。MPLS 标签分配是基于 EVI 或 EVI/I-SID 的,以便 PBB 可以在入口 PE 设备上终止,并在出口 PE 设备上重新创建。
VPLS 与 PBB-EVPN 集成用例场景
在此用例场景中,VPLS 是一个使用逻辑隧道接口与 PBB-EVPN 集成的云。逻辑隧道接口将终止到客户桥域 (C-BD)。从 VPLS 云学习 MAC 地址是在 C-BD 的环境中进行的。C 网桥域将映射到骨干网桥域并前往 EVPN 云。
PBB-EVPN 冗余用例场景
单个活动冗余用例场景
在此用例场景中,一个客户边缘设备多宿主到多个 PE 设备。此方案的以太网分段是通过在 PE 设备上的多个物理接口或聚合以太网接口上配置相同的 ESI ID 以及操作模式来定义的。在此操作模式下,对于 BUM 流量,只允许一台 PE 设备(即 DF)将流量转发进出此以太网段。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 流量。相反,BUM 流量通过过滤目标 B-MAC 进行过滤,其中配置的 B-MAC 与接收的数据包 B-MAC 相同;因此,该数据包来自同一网段。
混叠方法与 EVPN 相同,但通过将 ESI 字段设置为 MAX-ESI 来播发 B-MAC 路由。当远程 PE 设备收到具有 MAX-ESI 值的 B-MAC 路由时,远程 PE 设备将在设备 PE1 和 PE2 之间进行负载平衡。
主动/主动冗余用例场景
在 PBB-EVPN 主动-主动多宿主网络中,所有多宿主 PE 设备都需要安装相同的 MAC。为此,BGP 用于在同一 ESI 的多宿主 PE 设备之间同步源 C-MAC 地址(在客户边缘)或远程 C-MAC 地址(来自核心)。
要启用 MAC 同步:
-
对于源 C-MAC 地址同步:
-
在 客户边缘 设备上配置按数据包负载均衡。
-
确保每个源 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 层以太网0x88E7类型的数据包。
-
仅当入口 PE 设备上已知且配置了 I-SID 时,才会处理从核心收到的数据包;否则,帧将被丢弃。
-
Junos OS 不支持以下 PBB-EVPN 集成功能:
-
完全支持 EVPN NSR
-
集成路由和桥接 (IRB) 接口
-
用于 PBB-EVPN 信令的 IPv6 IP 地址(但是,我们支持通过 PBB-EVPN 网络的 IPv4 或 IPv6 客户端流量)
-
逻辑系统