Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解静态路由的 BFD 以加快网络故障检测速度

双向转发检测 (BFD) 协议是一种简单的 hello 机制,用于检测网络故障。BFD 适用于各种网络环境和拓扑结构。一对路由设备交换 BFD 数据包。Hello 数据包将按指定的定期发送间隔发送。当路由设备在指定间隔后停止接收回复时,将检测到邻接方故障。BFD 故障检测计时器具有比静态路由故障检测机制更短的时间限制,因此检测速度更快。

BFD 故障检测计时器可以调整为更快或更慢。BFD 故障检测计时器值越低,故障检测的速度就越快,反之亦然。例如,如果邻接发生故障,计时器可以适应更高的值(即计时器检测到故障的速度会更慢)。或者,邻接方可以协商计时器比配置的值更高的值。当 BFD 会话翻动在 15 秒内发生三次以上时,计时器会适应更高的值。如果本地 BFD 实例是会话翻动的原因,则回退算法将接收 (Rx) 间隔增加 2。如果远程 BFD 实例是会话翻动的原因,则传输 (Tx) 间隔将增加 2。您可以使用 clear bfd adaptation 命令将 BFD 间隔计时器返回到其配置的值。命令 clear bfd adaptation 是无中断的,这意味着命令不会影响路由设备上的流量。

默认情况下,单跳静态路由支持 BFD。

注意:

在 MX 系列设备上,如果为静态路由配置了多个下一跃点,则静态路由上不支持多跳 BFD。当静态路由需要多跳 BFD 时,建议避免使用多个下一跃点。

要启用故障检测,请将该 bfd-liveness-detection 语句包含在静态路由配置中。

注意:

从 Junos OS 15.1X49-D70 版和 Junos OS 17.3R1 版开始, bfd-liveness-detection 命令包括说明字段。说明是对象下 bfd-liveness-detection 的属性,仅在 SRX 系列设备上受支持。此字段仅适用于静态路由。

在 Junos OS 9.1 及更高版本中,IPv6 静态路由支持 BFD 协议。静态路由支持全局单播和链路本地 IPv6 地址。组播或任播 IPv6 地址不支持 BFD 协议。对于 IPv6,BFD 协议仅支持静态路由,并且仅在 Junos OS 9.3 及更高版本中支持。eBGP 协议还支持用于 BFD 的 IPv6。

要为 IPv6 静态路由配置 BFD 协议,请在 bfd-liveness-detection 层次结构级别添加语句 [edit routing-options rib inet6.0 static route destination-prefix]

在 Junos OS 8.5 及更高版本中,您可以配置暂停间隔,以指定在发送状态更改通知之前,BFD 会话必须保持运行多久。

要指定暂侯间隔,请在 holddown-interval BFD 配置中包含语句。您可以配置 0 到 255,000 毫秒范围内的数字。默认值为 0。如果 BFD 会话在暂侯间隔期间停止并重新出现,计时器将重新启动。

注意:

如果单个 BFD 会话包含多个静态路由,则使用值最高的暂侯间隔。

要指定故障检测的最小传输和接收间隔,请在 BFD 配置中包含语句 minimum-interval

此值既表示本地路由设备传输 hello 数据包的最小间隔,也表示路由设备预期从已与之建立 BFD 会话的邻接方收到回复的最小间隔。您可以配置 1 到 255,000 毫秒范围内的数字。或者,您可以使用传输间隔最小间隔和语句分别配置最小 传输 间隔和 minimum-receive-interval 接收间隔,而不是使用此语句。

注意:

EX4600 交换机不支持小于 1 秒的最小间隔值。

注意:

BFD 是一种消耗系统资源的密集型协议。对于基于路由引擎的会话,为 BFD 指定小于 100 毫秒的最小间隔,为分布式 BFD 会话指定 10 毫秒的最小间隔,可能会导致 BFD 发生不所需的翻动。

根据您的网络环境,以下附加建议可能适用:

  • 对于具有大量 BFD 会话的大规模网络部署,请为基于路由引擎的会话指定最小间隔 300 毫秒,为分布式 BFD 会话指定 100 毫秒的间隔。

  • 对于具有大量 BFD 会话的超大规模网络部署,请联系瞻博网络客户支持,了解更多信息。

  • 如果配置 了不间断活动 路由 (NSR) 的路由引擎切换事件期间要保持开启的 BFD 会话,请为基于路由引擎的会话指定最低 2500 毫秒的间隔。对于配置了 NSR 的分布式 BFD 会话,建议的最小间隔不变,并且仅取决于您的网络部署。

要指定故障检测的最小接收间隔,请将该 minimum-receive-interval 语句包含在 BFD 配置中。此值表示路由设备预期接收来自已与之建立 BFD 会话的邻接方回复的最小间隔。您可以配置 1 到 255,000 毫秒范围内的数字。或者,您可以在层次结构级别使用 minimum-interval 语句 [edit routing-options static route destination-prefix bfd-liveness-detection] 配置最小接收间隔,而不必使用此语句。

要指定邻接方未收到的用于声明始发接口的 hello 数据包数,请将该 multiplier 语句包含在 BFD 配置中。默认值为 3。您可以配置一个 1 到 255 范围内的数字。

要指定用于检测检测时间适应的阈值,请在 BFD 配置中包含语句 threshold

当 BFD 会话检测时间适应等于或高于阈值的值时,将发送一个陷阱和一条系统日志消息。检测时间基于最小间隔或最小接收间隔值的乘数。阈值必须高于这些配置值之一的乘数。例如,如果最小接收间隔为 300 毫秒,倍数为 3,则总检测时间为 900 毫秒。因此,检测时间阈值的值必须高于 900。

要指定故障检测的最小传输间隔,请将该 transmit-interval minimum-interval 语句包含在 BFD 配置中。

此值表示本地路由设备将 hello 数据包传输至与之建立 BFD 会话的邻接方,在此最小间隔之后。您可以配置 1 到 255,000 毫秒范围内的值。或者,您可以在层级使用 minimum-interval 语句 [edit routing-options static route destination-prefix bfd-liveness-detection] 配置最小传输间隔,而不必使用此语句。

要指定调整传输间隔的阈值,请将语句 transmit-interval threshold 包含在 BFD 配置中。

阈值必须大于传输间隔。当 BFD 会话传输时间适应大于阈值的值时,将发送一个陷阱和一条系统日志消息。检测时间基于 最小间隔 值或 minimum-receive-interval 层次结构级别语句 [edit routing-options static route destination-prefix bfd-liveness-detection] 的值乘数。阈值必须高于这些配置值之一的乘数。

要指定 BFD 版本,请将语句 version 包含在 BFD 配置中。默认设置是自动检测到版本。

要为 BFD 会话的下一跃点包含 IP 地址,请将该 neighbor 语句包含在 BFD 配置中。

注意:

如果指定的下一跃点为接口名称,则必须配置 neighbor 语句。如果将某个 IP 地址指定为下一跃点,则该地址将用作 BFD 会话的邻接方地址。

在 Junos OS 9.0 及更高版本中,您可以配置 BFD 会话以不适应不断变化的网络条件。要禁用 BFD 适配,请将语句 no-adaptation 包含在 BFD 配置中。

注意:

建议不要禁用 BFD 适配,除非在您的网络中 最好不要 进行 BFD 适配。

注意:

如果仅在静态路由的一端配置 BFD,则路由将从路由表中移除。当在静态路由的两端配置 BFD 时,BFD 会建立一个会话。

静态路由中的 ISO 地址族不支持 BFD。BFD 支持 IS-IS。

如果与 BFD 同时配置 平滑路由引擎切换 (GRES),GRES 不会在故障转移期间保留 BFD 状态信息。

版本历史记录表
释放
描述
15.1X49-D70
从 Junos OS 15.1X49-D70 版和 Junos OS 17.3R1 版开始, bfd-liveness-detection 命令包括说明字段。说明是对象下 bfd-liveness-detection 的属性,仅在 SRX 系列设备上受支持。此字段仅适用于静态路由。