FAQ-第2期-BFD

FAQ-第2期-BFD

1、为什么要配置commit命令?

commit命令是配置提交标志,它的主要作用是确定配置是否正确且配置是否提交。在执行commit命令之前,所有配置/修改不会生效。

配置commit命令的主要原因是:

(1)BFD的配置项比较多,而有些配置项是必须配置的。必须将所有必要配置项都配置后才可以执行commit命令,会话才有可能配置成功。如果在配置错误或者配置不完全时输入commit命令,则配置不会生效,并给出错误信息。例如:“Error: The remote discriminator or the local discriminator is not configured.”。

(2)在配置正确但并不符合会话建立条件时,例如:有合适的主处理板或者路由不可达,在执行commit命令进行提交时,会话并不会建立。此时,系统会给出相应的提示信息,待满足会话建立的条件后,系统会自动创建会话。

以上是V5版本的设备在配置BFD时才需要单独配置commit命令,在V8版本时由于全局配置提交commit的存在已经不需要单独配置。当V5版本设备升级至V8版本时,需检查升级前BFD会话是否都commit提交了,因为在升级后所有的BFD会话都会被提交,可能会导致原来未被提交的会话被提交导致业务故障。

2、为什么配置的BFD会话的路由是单跳的,在会话详细信息里却显示多跳?

display bfd session all verbose命令显示的是BFD会话的状态,而不是路由的状态。这里的单跳和多跳是适应不同组网下的不同协议实现机制,即不同的BFD会话类型,而不是实际组网形式。

对于BFD来说,区分单跳和多跳的标志是是否绑定接口。RFC规定单跳需要与接口绑定,所以创建单跳BFD会话需要interface参数,创建多跳会话不需要。需要注意的是多跳机制可以应用在一跳的组网中。

<HUAWEI> display bfd session all verbose
--------------------------------------------------------------------------------

Session MIndex : 258        (Multi Hop) State : Up        Name : atoc
--------------------------------------------------------------------------------

  Local Discriminator     : 10                  Remote Discriminator   : 20
  Session Detect Mode     : Asynchronous Mode Without Echo Function
  BFD Bind Type           : Peer Ip Address
  Bind Peer Ip Address    : 10.2.1.2
  FSM Board Id            : 1                  TOS-EXP                : 7
  Min Tx Interval (ms)    : 1000               Min Rx Interval (ms)    : 1000
  Actual Tx Interval (ms) : 1000               Actual Rx Interval (ms) : 1000
  Local Detect Multi      : 3                  Detect Interval (ms)    : 3000
  WTR Interval (ms)       : --                 Process PST             : Disable
  Local Demand Mode       : Disable
  Last Local Diagnostic   : Administratively Down
  Bind Application        : No Application Bind
  Session TX TmrID        : --                  Session Detect TmrID   : --
  Session Init TmrID      : --                  Session WTR TmrID      : --

  PDT Index               : FSM-0|RCV-0|IF-0|TOKEN-0
--------------------------------------------------------------------------------

Total UP/DOWN Session Number : 1/0

3、BFD for Ifnet(又称为BFD for 接口,或者接口状态联动)是现网应用广泛的一个BFD特性。该特性的作用和典型场景是什么?

在组播BFD会话下配置process-interface-status命令,将使能接口状态联动。在组播BFD会话状态变化时,BFD会通过IFNET BFD的状态变化,在接口下使用display this interface命令显示protocol状态为UP(BFD Status Down)。同时IFNET上报Vlink到路由管理模块(RM)撤销该接口上的主机路由和网段路由。

应用场景:当两台设备之间存在传输设备时,或者传输设备发生了故障,则两端设备需要比较长的时间才能检测到,导致直连路由失效慢,网络终端时间长。在TE FRR中也经常使用。

4、关于process-interface-status的那些事

(1)接口管理模块(IFNET)为每个接口增加了一个BFD状态属性,(PIS process interface Status)并将该接口状态属性同BFD会话进行联动,从而系统可以根据接口的链路状态、协议状态和BFD状态决定接口的状态,并将结果通告给应用程序。

(2)只有当BFD会话已经进入UP状态后,才能配置BFD状态与接口状态联动。

(3)执行命令Process-interface-status,配置当前BFD会话与其绑定接口进行状态联动。

(4)缺省情况下,BFD会话不与绑定的接口进行状态联动,即BFD会话状态的变化不修改接口状态。

(5)PIS是基于控制平面的,置PIS后,接口down掉,并显示为bfd down,控制层面会参考接口PIS状态,并撤销相应的路由。

(6)PIS的使用仅限于针对绑定出接口、且使用缺省组播地址进行检测的单跳BFD会话。

(7)BFD会话也可以绑定子接口,此时如果BFD down,只会置down子接口的BFD状态,主接口不受影响。

(8)如果在主接口的BFD session下配置process-interface-status sub-if,其状态改变会影响IFNET中主接口和子接口的状态。

(9)应用场景:主要检测Eth-trunk、IP-trunk成员端口时,直连设备过传输或交换机时。

Eth-trunk、IP-trunk:将若干条物理链路捆绑在一起所形成的逻辑链路称之为链路聚合组(LAG)或者Trunk。如果这些被捆绑链路都是以太网链路,该聚合组被称为以太网链路聚合组,简写为Eth-Trunk,该聚合组接口称之为Eth-Trunk接口;如果这些被捆绑链路都是POS链路,该聚合组被称为POS链路聚合组,简写为IP-Trunk。该聚合组接口称之为IP-Trunk接口。

5、什么是BFD for PST?

PST即端口状态表,表示接口的状态。接口有Up和Down两种状态,用来指导转发。BFD for PST在FRR(快速重路由)中使用广泛。在绑定接口的BFD会话中配置process-pst命令,系统会将该BFD会话与接口的PST表联动。在BFD会话检测到故障变为Down后,该接口的PST表对应比特位置Down。从而立即引起FRR切换。

BFD for PST是在接口板上直接通告修改PST表,而不用上报主控板,省去了板间通信的时间,因此故障通告时间短。

6、BFD for PIS 和PST的区别

主要区别:PIS联动的端口协议状态,BFD down会导致物理端口协议down,状态为UP(BFD Status Down);PST联动的端口状态表,不影响端口的物理和协议状态,所以对于不通过PST来感知BFD检测故障的应用,不需要配置process-pst命令。

process-interface-status使用指南:

(1)只能对采用缺省组播IP地址检测的单跳BFD会话配置process-interface-status命令,支持BFD会话绑定主接口或子接口。

(2)VE接口不支持与组播BFD会话进行接口状态联动。

(3)如果有多个BFD会话绑定到同一个接口,只能在一个会话中使能process-interface-status。即只能有一个会话的状态改变绑定接口的BFD状态。

(4)配置BFD状态与接口状态联动后,当BFD会话检测到故障进入Down状态时,相应的接口状态变为BFD_Down。

(5)配置process-interface-status命令后,在commit时BFD会话不会立即将BFD状态上报给接口(在commit时BFD会话可能还没有建立或者还没有协商UP),以免把错误的状态信息上报给接口,导致接口状态错误。在commit之后,如果BFD的状态发生变化,就会通告接口。以保证BFD的状态与接口状态联动。

(6)当配置文件中存在process-interface-status命令时,在整机重启后,考虑到接口的初始状态一定是Down的,所以配置了process-interface-status命令的BFD会上报一个Down状态给接口。

(7)使用接口状态联动必须保证两台CX设备之间的BFD配置是正确和对称的。如果发现本端接口的BFD状态是Down的,需要检查一下对端BFD配置是否正确,是否被shutdown。

(8)如果组网中有需要BFD立即同步状态给接口,可以在保证两端CX设备配置正确的情况下,shutdown和undo shutdown BFD会话。BFD在shutdown的时候不会通知BFD状态给接口,在undo shutdown后会启动一个检测定时器,如果在定时器超时之前能够协商UP,则上报UP给接口,否则认为链路有故障,因而在定时器超时后上报检测Down给接口。这样可以实现BFD与接口状态的实时同步。

(9)当shutdown BFD会话时,BFD的会话状态不会上报给接口。

process-pst使用指南:

(1)process-pst命令只能在绑定了接口的BFD会话视图下配置,即,只能配置在BFD单跳检测的情况下。

(2)对于某些需要通过PST来感知BFD检测故障的应用,比如部署基于BFD检测的IP FRR和LDP FRR时,必须配置process-pst命令。

(3)VE接口不支持组播BFD会话修改端口状态表。

(4)对于不通过PST来感知BFD检测故障的应用,不需要配置process-pst命令。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xumeng32@126.com

文章标题:FAQ-第2期-BFD

文章字数:2.3k

本文作者:F_numen

发布时间:2020-02-12, 14:57:17

最后更新:2020-02-12, 17:18:12

原始链接:https://netheroone.cn/archives/66a2411d.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
/*baidu统计*/