Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MPLS 的双向转发检测 (BFD)

为 MPLS 配置双向转发检测(CLI 过程)

您可以在 EX8200 独立交换机和 EX8200 虚拟机箱上配置双向转发检测 (BFD) 协议,以检测 MPLS 标签交换机路径 (LSP) 中的故障。BFD 协议是一种简单的 hello 机制,可检测网络中的故障。Hello 数据包以指定的定期间隔发送。当路由设备在指定间隔后停止接收邻接方的回复时,将检测到邻接方故障。BFD 可与各种网络环境和拓扑配合使用。BFD 的故障检测定时器比静态路由故障检测机制的时间限制更短,从而提供更快的检测速度。这些时间器也具有自适应性。例如,如果邻接失败,计时器可以适应更高的值,或者邻接方可以协商比配置的值更高的值。

本主题介绍将提供商边缘 (PE) 交换机和提供商交换机配置为支持基于 LDP 的 LSP 和基于 RSVP 的 LSP。

本主题包括:

在提供商边缘和提供商交换机上为基于 LDP 的 LSP 配置 BFD

您可以为基于 LDP 的 LSP 或与特定转发同等类 (FEC) 关联的基于 RSVP 的 LSP 启用 BFD。或者,您可以配置操作管理和维护 (OAM) 入口策略,以在一系列 FEC 地址上启用 BFD。

为基于 LDP 的 LSP 配置 BFD 之前,必须为 MPLS 网络配置基本组件:

要在 PE 和提供商交换机上配置 BFD:

  1. 定义 OAM 策略:
  2. 指定要启用 OAM 的 FEC:
  3. 指定 BFD 配置的最低传输和接收间隔:
    注:

    如果配置语 minimum-interval 句,则无需配置 minimum-receive-interval 语句或 minimum-transmit-interval 语句。

  4. 指定检测时间乘数。由此值倍增的协商传输间隔为异步模式下接收系统提供检测时间:
  5. 指定最小传输间隔(或最小接收间隔)。
  6. 指定检测检测时间调整的阈值:
  7. 在基于 LDP 的 LSP 上发生 BFD 会话故障事件时配置路由和下一跳跃操作:
    注:

    当 BFD 会话中断时,您可以配置 Junos OS 以使 LSP 路径辞职或简单地禁用 LSP 路径。当主 LSP 路径不可用时,您可以配置备用 LSP 路径来处理流量。交换机可以自动从 BFD 检测到的 LSP 故障中恢复过来。默认情况下,如果 BFD 会话发生故障,则事件只需记录。

  8. 在添加路由或下一跳跃之前,指定 BFD 会话必须建立多长时间。指定 0 秒的时间会导致在 BFD 会话恢复后立即添加路由或下一跳跃。
  9. 为基于 LDP 的 LSP 启用 FEC 追踪并指定发送探测的源地址。然后,指定等待间隔,然后发送探查数据包。
  10. 在几秒钟内指定 LSP ping 间隔的持续时间:
  11. 指定要对 OAM 策略采取的操作:
  12. 在 MPLS 层次结构级别上应用 BFD 配置以继承配置组中的语句:

在提供商边缘和提供商交换机上为基于 RSVP 的 LSP 配置 BFD

在入口交换机上为基于 RSVP 的 LSP 配置 BFD 时,它将在主路径上以及该 LSP 的所有备用辅助路径上启用。您可以为交换机上的所有 LSP 或特定 LSP 启用 BFD。如果您为特定 LSP 配置 BFD,则该 LSP 上将覆盖全球为 BFD 配置的任何值。BFD 会话仅源自入口交换机,并在出口交换机终止。

为基于 RSVP 的 LSP 配置 BFD 之前,必须为 MPLS 网络配置基本组件:

要在 PE 和提供商交换机上配置 BFD:

  1. 指定 BFD 配置的最低传输和接收间隔:
    注:

    如果配置语 minimum-interval 句,则无需配置 minimum-receive-interval 语句或 minimum-transmit-interval 语句。

  2. 指定检测时间乘数。由此值倍增的协商传输间隔为异步模式下接收系统提供检测时间:
  3. 指定最小传输间隔(或最小接收间隔):
  4. 在基于 RSVP 的 LSP 上发生 BFD 会话故障事件时配置路由和下一跳跃操作:
    注:

    当 BFD 会话中断时,您可以配置 Junos OS 以使 LSP 路径辞职或简单地禁用 LSP 路径。当主 LSP 路径不可用时,您可以配置备用 LSP 路径来处理流量。交换机可以自动从 BFD 检测到的 LSP 故障中恢复过来。默认情况下,如果 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

图 1: 采用 BFD 触发本地维修的拓扑结构采用 BFD 触发本地维修的拓扑结构

当一个链路在远程端中断时,在本地端不会检测到故障,直到内部网关协议 (IGP) 中断。等待路由协议进程重新扩展下一个最佳路径需要太多的时间。

启用 BFD 触发的本地维修后,数据包转发引擎将首先完成修复,使用绕过 MPLS LSP 隧道(预配置和安装),然后通知路由协议进程重新扩展新路由。通过此操作,当主 MPLS LSP 隧道中断时,FPC 可以断断续续地通过旁路 MPLS LSP 隧道将流量转移至 FPC。

通过这种方式使用本地维修可缩短不到 50 毫秒的修复时间。

配置 BFD 触发的本地维修

BFD 触发的本地维修不可配置,但属于默认配置。

BFD 触发的本地维修工作在传统 Junos OS 中运行,具有 MPLS-FRR、用于 IGP 的 BFD 和无环路备选 (FLA)。

禁用 BFD 触发的本地维修

默认情况下,所有路由接口都启用了 BFD 触发的本地维修。如果需要,可以在 [edit routing-options] 层次结构级别禁用 BFD 触发的本地维修。

要明确禁用 BFD 触发的本地维修:

  1. no-bfd-triggered-local-repair在 [edit routing-options] 层次结构级别中包括语句:

  2. (可选)使用 命令提交配置设置之前, show routing-options 请先验证它们。

发出 命令以 show routing-options 确认您的配置。

注:

禁用此功能时,还必须包括 IGP 语 graceful-restart 句来重新启动路由。例如,对于 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 基于路由引擎,并非分布式。因此,每个 LSP 会话支持的最小 BFD 计时器间隔为 (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) 间隔增加两倍。如果远程 BFD 实例是会话翻动的原因,则传输 (Tx) 间隔增加两倍。您可以使用 命令 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

RSVP 的 BFD 支持单播 IPv4 LSP。为入口路由器上的 RSVP LSP 配置 BFD 时,它将在主路径上以及该 LSP 的所有备用辅助路径上启用。MPLS BFD 会话出口侧传出 BFD 数据包的源 IP 地址基于传出接口 IP 地址。您可以为路由器上的所有 LSP 或特定 LSP 启用 BFD。如果为特定 LSP 配置 BFD,则将覆盖全球为 BFD 配置的任何值。BFD 会话仅源自入口路由器,并在出口路由器上终止。

每当路径的 BFD 会话出现故障时,就会记录错误。以下示例显示 RSVP LSP 日志消息的 BFD 可能如何显示:

您可以为路由器上的所有 RSVP LSP、特定 LSP 或特定 LSP 的主路径配置 BFD。要为 RSVP LSP 配置 BFD,请包括 oambfd-liveness-detection 语句。

您可以在以下层次结构级别配置此语句:

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 Explorer

在 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 以下语句:

有关可包含此语句的层次结构级别的列表,请参阅此语句的语句摘要部分。

您可以配置 teardown 以下或 make-before-break 选项:

  • teardown— 导致 LSP 路径被取下并立即辞职。

  • make-before-break— 使 Junos OS 尝试发出新 LSP 路径信号,然后再撕下旧 LSP 路径。如果 LSP 辞职尝试在间隔内失败,您还可以配置 teardown-timeout 在指定的时间段后自动撕毁 LSP 的 teardown-timeout 选项。如果为 teardown-timeout 间隔指定值 0,LSP 将立即被取下并辞职(行为与配置 teardown 选项时相同)。

要为所有 RSVP LSP 配置故障操作,请在层次结构级别中[edit protocols mpls oam bfd-liveness-detection]包含failure-action语句。要为特定 RSVP LSP 配置故障操作,请在层次结构级别中[edit protocols mpls label-switched-path lsp-name oam bfd-liveness-detection]包含failure-action语句。

要为特定主路径配置故障操作,请将语 failure-action 句包含在 [edit protocols mpls label-switched path lsp-name primary path-name oam bfd-liveness-detection] 层次结构级别。要为特定的次要 LSP 路径配置故障操作,请在层次结构级别中[edit protocols mpls label-switched-path lsp-name secondary path-name oam bfd-liveness-detection]包含failure-action语句。

发布历史记录表
版本
说明
13.2R4
从 Junos OS 版本 13.2R4、13.3R2 和 14.1 开始,您可以分别设置 LSP ping 消息与 LSP ping 响应数之间的时间间隔,然后关闭双向转发检测 (BFD) 会话。