EVPN 双宿主上的备份活跃性检测
默认情况下,EVPN 网络中的主干和分叶设备会实施核心隔离功能。当设备丢失所有 EVPN BGP 对等会话时,将触发核心隔离功能。使用 LACP,核心隔离功能可关闭所有 L2 ESI LAG 接口。
在某些情况下,核心隔离功能会产生有利的结果。在其他情况下,核心隔离功能会产生不希望的结果,您可以通过禁用它来防止这种结果。但是,在双宿主架构中,禁用一个或两个对等方上的核心隔离功能可能会导致其他问题。您可以通过配置节点活跃度检测以及默认的核心隔离功能来解决这些问题。
请参阅 功能浏览器 ,了解支持 EVPN 双宿主对等方备份活跃度检测 功能的完整列表。
EVPN 核心隔离配置
图 1 显示了一个 EVPN-VXLAN 拓扑,其中包含两个主干设备,默认配置为核心隔离。作为叶设备的交换机通过 ESI-LAG 接口在主动/主动模式下与主干设备进行多宿主。
如果主干 0 和主干 1 之间的链路中断,则上次建立的 BGP 对等会话也会中断。默认核心隔离功能会触发 LACP,将主干 0 和 1 上面向叶的接口设置为备用模式。这会导致进出两个叶设备的数据流量被丢弃,从而导致数据中心内的流量停止,这是不希望的后果。
图 2 显示了配置了两个主干设备的 no-core-isolation EVPN-VXLAN 拓扑。作为叶设备的交换机通过 ESI-LAG 接口在主动/主动模式下与主干设备进行多宿主。
禁用核心隔离功能可能会导致以下问题:
-
在两个主干设备上配置后
no-core-isolation,即使 BGP 关闭,到叶设备的链路也将保持开启状态。但是 L3 流量可能会失败,因为 ARP/ND 解析将失败。当主干 0 生成 ARP/ND 请求时,ARP/ND 回复可能会对主干 1 进行负载均衡。但是,由于 BGP 已关闭,控制平面将无法同步,从而导致 ARP 解析失败。
-
如果仅在主干 0 上配置,则
no-core-isolation当 BGP 关闭时,只有主干 1 会关闭其面向叶的接口。但是,如果主干 0 中断,主干 1 仍会关闭其面向叶的接口,从而阻止进出两个叶设备的数据流量。
图 3 显示了一个 EVPN-VXLAN 拓扑,其中有两个配置了(备份活跃性检测)的主干设备node-detection。作为叶设备的交换机通过 ESI-LAG 接口在主动/主动模式下与主干设备进行多宿主。
节点活动检测使用 EVPN 对等方之间配置的 BFD,其中一端配置为根据 BFD 和 BGP 状态执行作。此作可确保流量转发继续通过网络。BFD 活跃会话可以通过标准接口运行,也可以通过 EVPN BGP 对等体设备之间的管理接口运行。即使主干之间的链路处于关闭状态,也需要检测节点活跃性。因此,节点活跃度检测应在单独的网络上运行。
Junos OS 演化版平台不支持通过管理端口进行 BFD。
备份活体检测的好处
-
在核心隔离事件期间,可以在双宿主环境中的一台设备上保持面向叶的链路保持正常运行。
-
即使主干设备上出现 BGP 故障,也能确保内部流量继续传输。
行为
节点活跃度特征的行为如下。当 BGP 会话开启时,两个对等方都会保持其面向叶的 ESI-LAG 接口开启。当 BGP 会话处于关闭状态,但 BFD 会话处于运行状态时。配置了 的 action 主干会关闭其面向叶的 ESI-LAG 接口。未配置的 action 主干将保持其 ESI-LAG 朝向叶设备。当跟踪节点活跃度的 BGP 会话和 BFD 会话关闭时,表示其中一台主干设备已关闭。然后,配置了 的 action 主干将保持其叶面向 ESI-LAG 接口(如果处于活动状态)。当 BFD 会话恢复时,已 action 配置的主干将再次关闭其面向叶叶的 ESI-LAG 接口。
表 1 总结了不同场景下每个主干设备的状态。配置的作将是 或 laser-off trigger-node-isolation。作为 laser-off 动作,面向 ESI-LAG 的叶片将在核心隔离时接收激光关闭信号。如果配置的作为, trigger-node-isolation L2进程会将面向叶叶的ESI-LAG链路置于链路关闭状态。
| BGP 状态 |
节点活跃度 BFD 状态 |
在主干上,已 |
在主干上,未 |
注释 |
|---|---|---|---|---|
| 上>下 |
下载 |
ESI-LAG 保持开启 |
ESI-LAG 保持开启 |
例如,在主干 0 上,BGP 和活动均已关闭,这意味着主干 1 不可用。无论作配置如何,都保持 ESI LAG UP |
| 上>下 |
向上 |
降低 ESI-LAG |
ESI-LAG 保持开启 |
BGP 状态已关闭。但 BFD 已经启动了。这表明了一种分裂的情景。只需启动一个 ESI LAG。因此,请关闭配置了作的设备上的 ESI LAG。 |
| 向下->向上 |
下载 |
如果 ESI LAG 已关闭,则将其启动。 |
ESI-LAG 保持开启 |
BGP 状态优先 |
| 向下->向上 |
向上 |
如果 ESI LAG 已关闭,则将其启动。 |
ESI-LAG 保持开启 |
BGP 状态优先 |
限制
-
由于 Junos OS 演化版的限制会阻止通过管理端口发送协议数据包,因此 Junos OS 演化版平台不支持通过管理端口进行 BFD。
-
EVPN 节点活跃性检测不支持多跳 BFD。通过直接连接的接口配置节点活跃度检测。
-
配置
no-core-isolation覆盖node-detection配置。
配置 EVPN 备份活跃度检测
配置以下元素以启用 EVPN 对等方的备份活动性检测功能:
1. 在两个 EVPN 对等方上配置节点检测,其中仅在一个对等方上配置了 。action
-
已配置的 Peer 1
action[edit] set protocols evpn node-detection next-hop interface; set protocols evpn node-detection action (laser-off | trigger-node-isolation); set protocols evpn node-detection bfd-liveness-detection minimum-interval interval; set protocols evpn node-detection bfd-liveness-detection multiplier number; set protocols evpn node-detection bfd-liveness-detection neighbor ip address;
-
未配置的
actionPeer 2 -
[edit] set protocols evpn node-detection next-hop interface; set protocols evpn node-detection bfd-liveness-detection minimum-interval interval; set protocols evpn node-detection bfd-liveness-detection multiplier number; set protocols evpn node-detection bfd-liveness-detection neighbor ip address;
2. 如果使用该 laser-off 语句,则必须为 ESI LAG 的成员配置 asychronous-notification 。
[edit] set interfaces interface gigether-options asynchronous-notification;
3. 如果使用该 trigger-node-isolation 语句,则必须使用链路关闭作配置 网络隔离 ,以便在核心隔离时关闭必要的接口。
[edit] set protocols network-isolation group name detection hold-time up milliseconds; set protocols network-isolation group name detection service-tracking core-isolation; set protocols network-isolation group name service-tracking-action (link-down | lacp-oos);
验证状态
您可以使用 show bfd session 命令查看对等设备的 BFD。
> show bfd session
Detect Transmit
Address State Interface Time Interval Multiplier
1.0.0.2 Up ge-0/0/3.0 0.300 0.100 3
1 sessions, 1 clients
Cumulative transmit rate 10.0 pps, cumulative receive rate 10.0 pps
当该 action 集为 laser-off时,您可以检查系统日志消息中的状态信息。
> show log messages | match isolat Sep 6 17:48:55 Core1 18956[EVPN_CORE_ISOLATED]: Sep 6 17:48:55 Core1 18956[EVPN_vmm _ISOLATED]: Sep 6 17:48:59 Core1 18956[EVPN_CORE_ISOLATED]: Sep 6 17:48:59 Core1 18956[EVPN_CORE_ISOLATED]: Sep 6 17:49:55 Core1 18956[EVPN_CORE_ISOLATION_CLEARED]: Sep 6 17:50:05 Core1 18956[EVPN_CORE_ISOLATION_CLEARED]: Sep 6 17:50:05 Core1 18956[EVPN_CORE_ISOLATION_CLEARED]: