适用于 MPLS 的双向转发检测 (BFD)
为 MPLS 配置双向转发检测(CLI 过程)
您可以在 EX8200 独立交换机和 EX8200 虚拟机箱上配置双向转发检测 (BFD) 协议,以检测 MPLS 标签交换机路径 (LSP) 中的故障。BFD 协议是一种检测网络中故障的简单你好机制。Hello 数据包按指定的定期间隔发送。当路由设备在指定间隔后停止接收来自邻接方的回复时,将检测到邻接方故障。BFD 适用于各种网络环境和拓扑结构。BFD 的故障检测计时器比静态路由的故障检测机制的故障检测定时器具有更短的时间限制,因此检测速度更快。这些计时器也是自适应的。例如,如果邻接失败,计时器可以适应更高的值,或者邻居可以协商比配置的值更高的值。
本主题介绍如何配置提供商边缘 (PE) 交换机和提供商交换机以支持基于 LDP 的 LSP 和基于 RSVP 的 LSP。
本主题包括:
在提供商边缘和提供商交换机上为基于 LDP 的 LSP 配置 BFD
您可以为与特定转发等效类 (FEC) 关联的基于 LDP 的 LSP 或基于 RSVP 的 LSP 启用 BFD。或者,您可以配置操作管理和维护 (OAM) 入口策略,以在一系列 FEC 地址上启用 BFD。
在为基于 LDP 的 LSP 配置 BFD 之前,必须为 MPLS 网络配置基本组件:
配置两个 PE 交换机。请参阅 使用 IP-over-MPLS 在提供商边缘交换机上配置 MPLS。
配置一个或多个提供商交换机。请参阅 在 EX8200 和 EX4500 提供商交换机上配置 MPLS。
要在 PE 和提供商交换机上配置 BFD,请执行以下操作:
在提供商边缘和提供商交换机上为基于 RSVP 的 LSP 配置 BFD
在入换机上为基于 RSVP 的 LSP 配置 BFD 时,将在主路径和该 LSP 的所有备用辅助路径上启用该 BFD。您可以为交换机上的所有 LSP 或特定 LSP 启用 BFD。如果为特定 LSP 配置 BFD,则会在该 LSP 上覆盖全局为 BFD 配置的任何值。BFD 会话仅源自入换机,终止于出换机。
在为基于 RSVP 的 LSP 配置 BFD 之前,必须为 MPLS 网络配置基本组件:
配置两个 PE 交换机。请参阅 使用 IP-over-MPLS 在提供商边缘交换机上配置 MPLS。
配置一个或多个提供商交换机。请参阅 在 EX8200 和 EX4500 提供商交换机上配置 MPLS。
要在 PE 和提供商交换机上配置 BFD,请执行以下操作:
BFD 触发的本地修复,实现快速收敛
了解 BFD 触发的本地保护
链路或节点故障后网络融合所需的时间可能因多种因素而异,包括网络规模、使用的协议和网络设计。然而,虽然每个特定的收敛事件是不同的,但收敛过程基本上是一致的。检测到故障,在网络中报告(泛洪)故障,为流量找到备用路径,并更新转发平面以在新路径上传递流量。
本概述讨论双向转发检测 (BFD) 触发的本地修复如何有助于缩短恢复时间,从而在 MPLS 网络中实现快速融合。
BFD 触发的本地修复的目的
在 Junos OS 中,针对 RSVP 信号标签交换路径 (LSP) 故障的常规 MPLS 流量保护由几种互补机制提供。这些保护机制包括本地保护(快速重新路由、链路保护和节点链路保护)和路径保护(主路径和辅助路径)。本地保护与路径保护相结合可以为 LSP 提供最小的数据包丢失,并控制 LSP 在发生故障后重新路由的方式。传统上,这两种类型的保护都依赖于在物理级别快速检测连接故障。但是,对于没有快速物理级别检测的传输介质,Junos OS 支持 BFD 和 MPLS ping 以实现快速故障检测。
通过路由器之间的链路,当路由出现故障时,路由协议进程会重新计算下一个最佳路径。启用 MPLS 快速重新路由 (FRR) 后,ifl 消息将泛洪到所有灵活 PIC 集中器 (FPC)。边缘 FPC 可启用旁路 MPLS LSP 隧道。最后,修复所有路由并通过旁路 MPLS LSP 隧道发送。修复所有路由所需的时间与路由数成正比。
当交换机位于两个链路之间时,此修复方案变得更加困难。请参阅 图 1。
当远程端的链路断开时,在内部网关协议 (IGP) 关闭之前,不会在本地端检测到故障。等待路由协议进程重新计算下一个最佳路径需要太多时间。
启用 BFD 触发的本地修复后,数据包转发引擎首先使用旁路 MPLS LSP 隧道(预配置并安装)完成修复,然后通知路由协议进程重新计算新路由。这样,当主 MPLS LSP 隧道出现故障时,FPC 可以通过旁路 MPLS LSP 隧道间歇性地立即将流量转移到 FPC。
以这种方式使用本地修复可以实现小于 50 毫秒的更快恢复时间。
配置 BFD 触发的本地修复
BFD 触发的本地修复不可配置,但属于默认配置。
BFD 触发的本地修复可在旧版 Junos OS 功能 MPLS-FRR、BFD for IGP 和无环路备用 (LFA) 中工作。
禁用 BFD 触发的本地修复
默认情况下,为所有路由接口启用 BFD 触发的本地修复。如果需要,您可以在 [edit routing-options] 层次结构级别禁用 BFD 触发的本地修复。
要显式禁用 BFD 触发的本地修复,请执行以下操作:
no-bfd-triggered-local-repair
在 [编辑路由选项] 层次结构级别包含语句:user@host# set no-bfd-triggered-local-repair
(可选)在使用命令提交
show routing-options
配置设置之前,请先验证配置设置。user@host# run show routing-options
通过发出 show routing-options 命令确认您的配置。
user@host# show routing-options ... no-bfd-triggered-local-repair; }
禁用此功能时,还必须通过包含 graceful-restart IGP 的语句来重新启动路由。例如,对于 OSPF,这是通过在层次结构级别包含graceful-restart[edit protocols ospf]
语句来实现的。
为 MPLS IPv4 LSP 配置 BFD
您可以在 MPLS IPv4 LSP 上配置双向转发检测 (BFD) 协议,如互联网草案draft-ietf-bfd-mpls-02.txt MPLS LSP 的 BFD 中所述。BFD 用作 LSP 的定期操作、管理和维护 (OAM) 功能,用于检测 LSP 数据平面故障。您可以为使用 LDP 或 RSVP 作为信令协议的 LSP 配置 BFD。
适用于 MPLS IPv4 LSP 的 BFD 基于路由引擎,不进行分布式。因此,支持的最小 BFD 计时器间隔为每个 LSP 会话 (100 毫秒 * 3),对于扩展的 LSP 会话,支持的最小 BFD 计时器间隔为 (300 毫秒 * 3)。在使用 BFD 时增加 LSP 会话数时,还必须增加(扩展)间隔计时器以支持网络。
对于支持不间断活动路由 (NSR) 的路由引擎切换实例,支持的最小 BFD 计时器间隔为 (2.5 秒 * 3)。
您还可以使用 LSP ping
命令检测 LSP 数据平面故障。但是,BFD 有几个好处:与 LSP ping
命令相比,它需要更少的计算机处理,并且可以快速检测大量 LSP 中的故障(必须为每个 LSP 单独发出 LSP ping
命令)。另一方面,BFD 不能用于针对出口 LSR 上的数据平面验证控制平面,当 LSP ping
回显请求与转发等效类 (FEC) 相关联时,这是可能的。
BFD 故障检测计时器是自适应的,可以调整为或多或少的主动性。例如,如果邻接失败,计时器可以适应更高的值,或者邻居可以为计时器协商比配置的值更高的值。当 BFD 会话抖动在 15 秒内出现三次以上时,计时器会适应更高的值。如果本地 BFD 实例是会话抖动的原因,则退避算法会将接收 (Rx) 间隔增加 2。如果远程 BFD 实例是会话抖动的原因,则传输 (Tx) 间隔增加 2。您可以使用命令将 clear bfd adaptation
BFD 间隔计时器返回到其配置的值。该 clear bfd adaptation
命令是无中断的,这意味着该命令不会影响路由设备上的流量。
从 Junos OS 版本 13.2R4、13.3R2 和 14.1 开始,您可以分别设置 LSP ping 消息之间的时间间隔和 LSP ping 响应的数量,在此时间间隔之后,双向转发检测 (BFD) 会话将被关闭。为此,请在层次结构级别配置lsp-ping-interval
[edit protocols mpls oam]
语句和lsp-ping-multiplier
语句。
有关 LDP 信号 LSP 的配置说明,请参阅 为 LDP LSP 配置 BFD。有关 RSVP 信号 LSP 的配置说明,请参阅以下部分。
为 RSVP 信号 LSP 配置 BFD
面向回复的 BFD 支持单播 IPv4 LSP。在入口路由器上为 RSVP LSP 配置 BFD 时,将在主路径和该 LSP 的所有备用辅助路径上启用该 BFD。来自 MPLS BFD 会话出口端的传出 BFD 数据包的源 IP 地址基于传出接口 IP 地址。您可以为路由器上的所有 LSP 或特定 LSP 启用 BFD。如果为特定 LSP 配置 BFD,则会覆盖全局为 BFD 配置的任何值。BFD 会话仅源自入口路由器,终止于出口路由器。
每当路径的 BFD 会话失败时,都会记录错误。以下示例显示了 RSVP LSP 日志消息的 BFD 可能显示方式:
RPD_MPLS_PATH_BFD_UP: MPLS BFD session for path path1 up on LSP R0_to_R3 RPD_MPLS_PATH_BFD_DOWN: MPLS BFD session for path path1 down on LSP R0_to_R3
您可以为路由器上的所有 RSVP LSP、特定 LSP 或特定 LSP 的主路径配置 BFD。要为 RSVP LSP 配置 BFD,请包含 oam
和 bfd-liveness-detection
语句。
oam { bfd-liveness-detection { failure-action { make-before-break teardown-timeout seconds; teardown; } failure-action teardown; minimum-interval milliseconds; minimum-receive-interval milliseconds; minimum-transmit-interval milliseconds; multiplier detection-time-multiplier; } lsp-ping-interval time-interval; lsp-ping-multiplier multiplier; }
您可以在以下层次结构级别配置此语句:
[edit protocols mpls]
[edit protocols mpls label-switched-path lsp-name]
[edit protocols mpls label-switched-path lsp-name primary path-name]
该 bfd-liveness-detection
语句包括以下选项:
minimum-interval
— 指定最小传输和接收间隔。minimum-receive-interval
— 指定最小接收间隔。范围为 1 到 255,000 毫秒。minimum-transmit-interval
— 指定最小传输间隔。范围为 1 到 255,000 毫秒。lsp-ping-multiplier
- 指定检测时间乘数。范围为 1 到 255。注:为避免触发误报,请配置比快速重新路由时间更长的 BFD 故障检测时间。
您还可以配置该 lsp-ping-interval
选项以调整 LSP ping 之间的时间间隔。RSVP 信号 LSP 的 LSP ping 命令是 ping mpls rsvp
。有关该 ping mpls rsvp
命令的详细信息,请参阅 CLI 资源管理器。
为 RSVP LSP 上的 BFD 会话配置故障操作
当 RSVP LSP 的 BFD 会话中断时,LSP 将被拆除并重新发出信号。流量可以切换到备用 LSP,也可以简单地拆除 LSP 路径。将记录执行的任何操作。
当 RSVP LSP 路径的 BFD 会话中断时,您可以将 Junos OS 配置为重新发送 LSP 路径信号或仅禁用 LSP 路径。可以将备用 LSP 路径配置为在主 LSP 路径不可用时处理流量。路由器可以从 BFD 检测到的 LSP 故障中自动恢复。默认情况下,如果 BFD 会话失败,则仅记录该事件。
要使 Junos OS 能够在发生 BFD 事件时拆除 RSVP LSP 路径,请添加以下 failure-action
语句:
failure-action { make-before-break teardown-timeout seconds; teardown; }
有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。
您可以配置 teardown
或 make-before-break
选项:
teardown
— 导致 LSP 路径被关闭并立即重新发出信号。make-before-break
— 使 Junos OS 在拆除旧 LSP 路径之前尝试发出新的 LSP 路径信号。您还可以将选项配置为teardown-timeout
在指定的时间段后自动拆除 LSP,如果尝试在间隔内teardown-timeout
重新发出 LSP 信号失败。如果为间隔指定teardown-timeout
值 0,LSP 将立即关闭并重新发出信号(与配置teardown
选项时的行为相同)。
要为所有 RSVP LSP 配置失败操作,请在层次结构级别包含 failure-action
语句 [edit protocols mpls oam bfd-liveness-detection]
。要为特定 RSVP LSP 配置失败操作,请在层次结构级别包含 failure-action
语句 [edit protocols mpls label-switched-path lsp-name oam bfd-liveness-detection]
。
要为特定主路径配置失败操作,请在层次结构级别包含failure-action
[edit protocols mpls label-switched path lsp-name primary path-name oam bfd-liveness-detection]
该语句。要为特定的辅助 LSP 路径配置失败操作,请在层次结构级别包含 failure-action
该语句 [edit protocols mpls label-switched-path lsp-name secondary path-name oam bfd-liveness-detection]
。
变更历史表
是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。