EVPN 多宿主指定转发器选择
指定转发器 (DF) 管理广播、未知单播和组播 (BUM) 流量,以防止环路并确保流量高效分配。
DF 选举概述
根据多宿主运维模式的不同,流向多宿主客户边缘 (CE) 设备的流量使用一个或所有多宿主提供商边缘 (PE) 设备到达客户站点。指定转发器 (DF) 选择程序可确保只有一个端点,即 DF 处理给定以太网分段的广播、未知单播和组播 (BUM) 流量,从而防止转发环路并优化网络性能。
DF 选择过程可动态响应各种网络事件,例如配置更改、BGP 会话转换或链路状态更改。这种适应性使网络能够在无需人工干预的情况下保持高效的流量转发。发生触发事件时,DF 选择机制会重新评估并可能重新分配 DF 角色,从而在整个网络中保持最佳流量处理。
DF 选举保持计时器可防止选举过程过早开始。这确保了网络在选举程序开始之前有时间稳定下来。计时器默认为 3 秒。但是,您可以使用 designated-forwarder-election-hold-time 语句对其进行修改,以满足网络的稳定性和性能需求。在连接到同一以太网段的所有 PE 路由器上,此计时器值必须相同。
默认 DF 选择过程(如 RFC 7432 中指定)使用 IP 地址和服务雕刻为每个 EVPN 实例 (EVI) 选择 DF。此选举过程是可恢复的,因此当当选的 DF 失败然后从失败中恢复时,它将抢占现有的 DF。
基于首选项的 DF 选择过程使用手动配置的首选项值、不抢占 (DP) 位和路由器 ID 或环回地址来选择 DF。从 Junos OS 24.2 版开始, 首选项 语句包含一个 non-revertive
选项,用于防止在发生故障后抢占现有 DF。如果旧 DF 在故障后恢复,此 non-revertive
选项可避免服务影响。默认行为是恢复的。
选择指定货运代理 (DF) 的好处
-
防止转发环路 — 通过选择单个多宿主以太网段来处理 BUM 流量,DF 选择可确保只有一个端点转发流量,从而显著降低转发环路的风险并增强网络稳定性。
-
动态适应网络变化 — DF 选择过程动态响应网络变化,如新接口配置或链路故障恢复,从而保持网络稳定性和运维效率。
-
确保高效故障切换 — 备份 DF (BDF) 的存在,在需要接管之前一直处于阻塞状态,可确保平稳的故障切换和持续的网络运维,同时将流量中断降至最低,从而提高整体网络弹性。
-
减少路由处理开销 — 利用 ES-Import 扩展社区进行路由过滤可确保连接到相同以太网段的 PE 仅导入相关路由,从而减少不必要的路由处理并保持高效的路由管理。
-
保持网络一致性 — 由链路故障后以太网自动发现路由的退出触发的批量退出机制可使远程 PE 上的过时 MAC 地址失效,确保网络状态保持一致,并防止 MAC 地址信息过时导致的问题。
-
高效分配流量 — DF 选择过程可在多个 PE 之间平衡负载,确保没有一个分段被流量淹没,从而优化网络性能和资源利用率。
DF 选举角色
指定货运代理 (DF) 选择流程包括选择转发角色,如下所示:
-
指定转发器 (DF) — 为客户站点的 MAC 地址通告 MAC 通告路由的 PE 路由器。此 PE 路由器是将 BUM 流量转发到多宿主 CE 设备的主要 PE 路由器,称为指定转发器 (DF) PE 路由器。
-
备份指定转发器 (BDF) — PE 路由器集中的每个路由器都会通告同一 ESI 的以太网自动发现路由,并在 DF 发生故障时用作备用路径,称为备份指定转发器 (BDF)。BDF 也称为非 DF 路由器。
DF 选择过程会选择一个本地 PE 路由器作为 BDF,然后将连接到客户站点的多宿主接口置于主动-备用模式的阻塞状态。接口将保持阻塞状态,直到 BDF 被选为以太网段的 DF。
-
非指定转发器(非 DF) — 未选择为 DF 的其他 PE 路由器。BDF 也被视为非 DF。
DF 选择触发器
通常,以下条件将触发 DF 选举过程:
-
当您使用非零 ESI 配置接口时,或者当 PE 路由器从与核心隔离(无 BGP 会话)状态转换为连接到核心(已建立 BGP 会话)状态时。这些条件也会触发保持计时器。默认情况下,PE 会将接口置于阻塞状态,直到路由器被选为 DF。
-
完成 DF 选择过程后,PE 路由器将接收新的以太网分段路由或检测到现有以太网分段路由的退出。这些都不会触发保持计时器。
-
当非 DF PE 路由器的接口从链路故障中恢复时。在这种情况下,PE 路由器不知道其他 PE 路由器施加的等待时间。因此,恢复的 PE 路由器不会触发保持计时器。
DF 选举程序 (RFC 7432)
服务雕刻是指在 ESI 和 EVI 的粒度下进行 DF 选择的默认过程。通过 服务雕刻,可以为每个以太网网段选择多个 DF(每个 EVI 一个),以便对给定以太网分段的多目标流量执行负载平衡。负载均衡过程均匀地在 PE 节点之间划分 EVI 空间,使得每个 PE 都是一组不相交的 EVI 的 DF。
服务雕刻程序如下:
当 PE 路由器发现连接的以太网分段的 ESI 时,它会使用关联的 ES-import 扩展社区属性为每个以太网分段播发自动发现路由。
PE 路由器会启动保持计时器(默认值为 3 秒),以便从连接到同一以太网段的其他 PE 节点接收自动发现路由。在连接到同一以太网段的所有 PE 路由器上,此计时器值必须相同。
您可以使用 designated-forwarder-election-hold-time 配置语句覆盖默认保持计时器。
当保持计时器到期时,每个 PE 路由器都会构建一个有序列表,其中包含连接到以太网段的所有 PE 节点(包括其自身)的 IP 地址(按数字递增顺序排列)。系统会为每个 PE 路由器分配一个序号,用于指示其在有序列表中的位置,从 0 开始表示具有数字最低 IP 地址的 PE。然后,通过将 VLAN ID 模数与 PE 数量进行有序匹配来确定给定 EVI 的 DF,从而为 DF 选择提供了一种确定且可预测的方法。例如,如果 VLAN ID 为 10 且存在三个 PE,则 DF 将是序号对应于 10 模 3 (10 mod 3 = 1) 的 PE。
被选为给定 EVI 的 DF 的 PE 路由器可取消阻止与该 EVI 关联的以太网标记的流量。DF PE 可解锁出口方向上流向以太网段的多目标流量。所有非 DF PE 路由器继续在出口方向上丢弃流向以太网段的多目标流量(对于关联的 EVI)。

在 图 1 中,路由器 PE1、PE2 和 PE3 执行 DF 选择以实现 A/A 多宿主。每个路由器都可以从 ESI1 上配置的一系列 VLAN 中成为特定 VLAN 的 DF,也可以成为其他 VLAN 的非 DF。每个 DF 在其服务的 ESI 和 VLAN 上转发 BUM 流量。非 DF PE 路由器会阻止这些特定以太网分段上的 BUM 流量。
基于偏好的 DF 选择
概述
基于 RFC 7432 的 DF 选择无法满足某些服务提供商的作要求。为解决此问题,Junos OS 17.3 版引入了基于首选项的 DF 选择功能,该功能允许根据在接口上设置的管理首选项值控制 DF 选择。
基于首选项的 DF 选择功能使网络运营商能够灵活地使用接口上配置的优先级值来管理 DF 角色。在主链路必须处理大部分流量的情况下,此策略可以优化吞吐量和资源分配。
从 Junos OS 24.2 版开始,我们提供更多配置选项来自定义基于首选项的 DF 选择过程:
-
首选项
non-revertive
可确保先前指定的 DF 在发生故障后重新联机时不会抢占当前 DF,从而提高网络稳定性。 -
通过优先级
least
、evpndesignated-forwarder-preference-highest
和 evpndesignated-forwarder-preference-least
语句,您可以选择选择选择过程是在 ESI 和 EVI 级别使用最高优先级值还是最低优先级值。
请参阅 功能浏览器 ,查看支持这些功能的产品的完整列表。
基于偏好的指定货运代理 (DF) 选择的好处
-
优化的流量 — 根据带宽等接口属性配置流量可确保最佳链路选择。这样可以更高效地分配流量,更好地利用网络资源。
-
增强的作控制 — 手动配置首选项值可让您更好地控制 DF 选择过程,并确保使用最合适的链路。
-
增强的网络稳定性 — 首选项
non-revertive
可防止返回的 DF 抢占当前 DF。这消除了不必要的中断,并确保了持续的服务稳定性。 -
精细负载平衡控制 - 您可以配置 DF 选择首选项。您还可以根据 ESI 和 EVI 级别的最高或最低优先级值选择 DF。这使您能够在多个链路之间有效地分配流量,从而提高网络性能。
-
维护灵活性 — 您可以调整优先级值以在维护活动期间切换 DF 角色,从而提高作灵活性并减少维护对服务连续性的影响。
基于偏好的 DF 选择程序
基于首选项的 DF 选择在选择 DF 时使用手动配置的接口优先级值。手动配置首选项值可增强对 DF 选择过程的控制。您可以在接口上设置特定首选项,以影响充当 DF 的节点。
基于偏好的 DF 选择按如下方式进行:
在 ESI 下配置 DF 选择类型优先级value。
多宿主 PE 设备使用 EVPN Type 4 路由中的 DF 选择扩展社区通告配置的首选优先级值和 DP 位。
PE 设备接收到 EVPN Type 4 路由后,按优先级值、DP 位和 IP 地址的顺序构建候选 DF 设备列表。
当 DF 计时器到期时,PE 设备选择 DF。
默认情况下,DF 选择基于最高优先级值。但是,您可以将基于首选项的 DF 选择过程配置为使用 preference
least
或 evpndesignated-forwarder-preference-least
语句基于最低首选项值选择 DF。注意:在相互竞争的多宿主 EVI 上, evpn
designated-forwarder-preference-highest
或designated-forwarder-preference-least
的 EVPN 配置应相同;否则,选举过程可能会选出两个 DF,这可能会导致流量丢失或流量环路。如果多个 DF 候选者具有相同的优先级值,则 PE 设备将根据 DP 位选择 DF。当这些 DF 候选者具有相同的 DP 位值时,该过程将根据最低 IP 地址选择 DF。
DF 选择算法不匹配
当本地配置的 DF 选择算法与远程 PE 设备的 DF 选择算法不匹配时,所有 PE 设备都应回退到 RFC 7432 中指定的默认 DF 选择。
DF 选择算法迁移
从传统的基于模的 DF 选择迁移到新的基于偏好的方法需要仔细规划。通常,这涉及一个维护时段,在该时段内,在非 DF PE 上具有相同 ESI 的接口将被关闭。然后,在 DF PE 上配置新的 DF 选择算法,然后再将其应用于其他多宿主 PE。这种结构化的方法可确保平稳过渡,并将服务影响降至最低。
使用以下步骤执行迁移:
关闭非 DF PE 设备上具有相同 ESI 的所有接口。
使用基于首选项的 DF 选择选项配置当前 DF PE。
在非 DF PE 设备上配置基于首选项的 DF 选择选项。
启动非 DF PE 设备上的所有接口。
重新配置接口并使接口重新联机后,验证 DF 选择过程是否按预期运行。监控网络,确保根据配置的首选项正确选择指定的转发器。此步骤对于确认新设置是否正确应用以及网络是否使用增强的 DF 选择机制平稳运行至关重要。
更改维护优先级
在维护活动期间更改偏好值的能力提高了作灵活性。您只需在选定设备上更改配置的首选项值,即可根据需要切换 DF 角色。
通过执行以下步骤之一来更改给定 ESI 的 DF:
在当前非 DF 设备上将首选项值更改为更高的值。
将当前 DF 设备上的首选项值更改为较低的值。
更改 ESI 的首选优先级值可能会导致在将更新的 BGP 路由传播中的延迟与新优先级值集成所需的短时间内造成一些流量丢失。
非恢复模式
从 Junos OS 24.2R1 版开始,您可以在 [编辑接口 name esi df-election-type 首选项] 层次结构下启用该non-revertive
选项,这有助于确保您的网络在链路故障和恢复期间保持稳定。针对每个 ESI 配置此选项时,它将提供精细控制,并确保每个分段都符合所需的作行为。
该 non-revertive
选项可确保在选择 DF 后,它不会被先前指定的 DF 抢占,在发生故障后重新联机。这种非恢复模式是维护稳定的网络环境和避免不必要的服务中断的关键。
请参阅 功能浏览器 ,查看支持此功能的产品的完整列表。
如果出现以下情况, non-revertive
基于首选项的 DF 选择选项不起作用:
-
在 [edit protocols evpn] 层次结构下配置
no-core-isolation
选项时,将发生以下任一事件:-
重新启动设备。
-
运行 restart routing 命令。
-
运行 clear bgp neighbor 命令。
-
-
您启用
set routing-options graceful-restart
了平稳重启 (GR) 功能,并且设备将进行平稳重启。
通过基于首选项的 DF 选择实现负载平衡
基于首选项的 DF 选择通过基于最高或最低首选项值选择 DF 来实现负载平衡。默认情况下,DF 是根据最高优先级值选择的。您可以在接口(ESI 级别)上配置 DF 选择类型优先级least
,以基于最低优先级值选择 DF。
[edit interfaces interface-name] esi { XX:XX:XX:XX:XX:XX:XX:XX:XX:XX; df-election-type { preference { value value; least; } } }
您还可以在 EVI 级别配置 EVPN designated-forwarder-preference-highest
designated-forwarder-preference-least
。
[edit routing-instances] instance-name { instance-type evpn; protocols { evpn { (designated-forwarder-preference-highest | designated-forwarder-preference-least); } } }
当两者都使用 EVI 级别配置时,EVI 级别配置将覆盖 ESI 级别配置,如下 表 1 所示。
您可以使用这些配置来管理不同方案中的负载平衡,如以下示例所示。
多个 EVI 下的单个 ESI
使用以下语句的各种组合,在多个 EVI 下为单个 ESI 配置负载平衡:
个案编号 |
|
|
|
EVI-1 的结果 |
EVI-2 结果 |
---|---|---|---|---|---|
1 |
不 |
不 |
不 |
最高 |
最高 |
2 |
不 |
是的 |
是(可选命令) |
最低 |
最高 |
3 |
是的 |
不 |
不 |
最低 |
最低 |
4 |
是的 |
不 |
是的 |
最低 |
最高 |
单个 EVI 下的多个 ESI
在单个 EVI 下为多个 ESI 配置负载平衡时,请使用 ESI 默认设置选择最高优先级,或在 ESI 上配置优先级least
以选择最低优先级。
请勿在 EVI 级别配置 EVPN designated-forwarder-preference-least
或 designated-forwarder-preference-highest
语句,因为它们将覆盖 ESI 级别的配置。
|
|
ES1-1 在 EVI-1 上的结果 |
EVI-1 上 ESI-2 的结果 |
---|---|---|---|
不 |
不 |
最高 |
最高 |
是的 |
不 |
最低 |
最高 |
DF 验证
以下 show 命令提供了对 DF 选择首选项和状态的详细见解,有助于进行有效的故障排除和监控:
这些命令显示有关 EVPN 实例的详细信息,包括 DF 选择优先级和当前 DF 状态。ESI info 命令提供了对当前 DF 和备份转发器及其首选项值和非恢复状态的洞察。
通过掌握这些命令,您可以有效地实施和管理 DF Election 功能,确保强大高效的网络环境。
虚拟交换机的 DF 选择
虚拟交换机允许在一个 EVPN 实例 (EVI) 中支持多个桥接域。它还可容纳中继端口和接入端口。您可以在端口上配置灵活的以太网服务,使单个端口上的不同 VLAN 成为不同 EVI 的一部分。
有关详细信息,请参阅以下内容:
虚拟交换机的 DF 选择取决于以下各项:
-
端口模式 — 子接口、中继接口和接入端口
-
EVI 模式 — 具有 EVPN 和 EVPN-EVI 的虚拟交换机
在虚拟交换机中,多个以太网标签可以与单个 EVI 相关联,其中 EVI 中数字最低的以太网标签值用于 DF 选择。
处理故障切换
在以下情况下,可能会发生故障切换:
-
DF PE 路由器将失去其 DF 角色。
-
DF PE 路由器上出现链路或端口故障。
失去 DF 角色后,PE 路由器会将 DF 上面向客户的接口置于阻塞状态。
链路或端口故障会触发 DF 选择过程,这会导致 BDF PE 路由器选择为 DF。届时,单播流量和流量的 BUM 流将受到如下影响:
单播流量
-
CE 到核心 — CE 设备继续在所有链路上泛洪流量。前一个 BDF PE 路由器将接口的 EVPN 多宿主状态从阻塞状态更改为转发状态,并通过此 PE 路由器学习转发流量。
-
核心到 CE — 发生故障的 DF PE 路由器撤回每个以太网分段的以太网自动发现路由和本地学习的 MAC 路由,从而导致远程 PE 路由器将流量重定向到 BDF。
BDF PE 路由器转换为 DF 角色可能需要一些时间,这会导致接口的 EVPN 多宿主状态继续处于阻塞状态,从而导致流量丢失。
BUM 流量
-
CE 到核心 — 所有流量都路由到 BDF。
-
核心到 CE — 远程 PE 路由器在核心中充斥 BUM 流量。