专线BFD如何配置?
什么是BFD
BFD,双向转发检测(Bidirectional Forwarding Detection),是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。
BFD缺省配置
参数 |
缺省值 |
---|---|
全局BFD功能 |
未使能 |
发送间隔 |
1000毫秒 |
接收间隔 |
1000毫秒 |
本地检测倍数 |
3 |
等待恢复时间 |
0秒钟 |
会话延迟Up时间 |
0秒钟 |
BFD报文优先级 |
7 |
BFD与静态路由联动
与动态路由协议不同,静态路由自身没有检测机制,当网络发生故障的时候,需要管理员介入。BFD与静态路由联动特性可为静态路由绑定BFD会话,利用BFD会话来检测静态路由所在链路的状态。
BFD与静态路由联动可为每条静态路由绑定一个BFD会话,当这条静态路由上绑定的BFD会话检测到链路故障(由Up转为Down)后,BFD会将故障上报路由管理系统,由路由管理模块将这条路由设置为“非激活”状态(此条路由不可用,从IP路由表中删除)。当这条静态路由上绑定的BFD会话成功建立或者从故障状态恢复后(由Down转为Up),BFD会上报路由管理模块,由路由管理模块将这条路由设置为“激活”状态(此路由可用,加入IP路由表)。
BFD与BGP联动
BGP协议通过周期性的向对等体发送Keepalive报文来实现邻居检测机制,但这种机制检测到故障所需时间比较长,超过1秒钟。当数据达到吉比特速率级别时,将会导致大量的数据丢失。因此,BGP协议通过引入BFD与BGP联动功能,利用BFD的快速检测机制,迅速发现BGP对等体间链路的故障,并报告给BGP协议,从而实现BGP路由的快速收敛。表2显示了BGP协议是否绑定BFD时收敛速度的数据。
如图1所示,RouterA和RouterB分别属于AS100和AS200,两台路由器直接相连并建立EBGP连接。使用BFD检测RouterA和RouterB之间的BGP邻居关系,当RouterA和RouterB之间的链路发生故障时,BFD能够快速检测到故障并通告给BGP协议。
检查配置结果
BFD配置完成以后,可以通过以下命令查看已配置的BFD会话的情况。
- 使用display bfd interface [ interface-type interface-number ]命令查看使能BFD的接口信息。
- 使用display bfd session { all | static | discriminator discr-value | dynamic | peer-ip { default-ip | peer-ip [ vpn-instance vpn-instance-name ] } | static-auto } [ verbose ]命令查看BFD会话信息。
- 使用display bfd statistics命令查看BFD全局统计信息。
- 使用display bfd statistics session { all | static | dynamic | discriminator discr-value | peer-ip default-ip | peer-ip peer-ip [ vpn-instance vpn-name ] | static-auto }命令查看BFD会话统计信息。
BFD常见配置错误
- BFD会话无法Up
常见原因
本故障的常见原因主要包括:
- BFD会话检测的链路存在故障,导致BFD报文无法进行交互。
- BFD会话频繁震荡。
操作步骤
- 执行display current-configuration configuration bfd命令查看BFD会话两端的本地标识符和远端标识符是否匹配。
- 使用display current-configuration configuration bfd命令,查看BFD会话的min-tx-interval和min-rx-interval信息,检查BFD会话的检测时间是否大于链路的延迟时间。
检测时间 = 接收到的远端Detect Multi × max(本地的RMRI,接收到的DMTI),其中,Detect Multi(Detect time multiplier)是检测倍数,通过detect-multiplier命令配置;RMRI(Required Min Rx Interval)是本端能够支持的最短BFD报文接收间隔,通过min-rx-interval命令配置;DMTI(Desired Min Tx Interval)是本端想要采用的最短BFD报文的发送间隔,通过min-tx-interval命令配置。
链路的延迟时间是指链路的时延,可通过ping或者tracert的方式获取链路的时延。
如果BFD会话的检测时间小于链路的延迟时间,则在BFD会话视图下执行detect-multiplier命令、min-rx-interval命令和。
- BFD会话检测Down影响接口转发
常见原因
本故障常见的原因主要为配置了BFD会话与接口联动功能。
操作步骤
- 执行display interface interface-type interface-number命令查看BFD会话绑定的接口的状态。
- 如果Line protocol current state字段的值为UP,表明当前接口的状态受BFD会话的影响,BFD会话检测到链路故障后,会将此接口的状态置为BFD status down,则转到步骤2。
- 如果Line protocol current state字段的值为UP,但是接口不可转发,排除转发模块的故障。
- 执行display bfd session all命令,查看BFD会话的状态。
如果BFD会话的状态为Down,则转到步骤3。
- 执行display interface interface-type interface-number命令查看BFD会话绑定的接口的状态。
- 修改BFD检测参数不生效
常见原因
本类故障原因主要为修改BFD会话后,没有提交会话的配置信息。
请保存以下步骤的执行结果,以便在故障无法解决时快速收集和反馈信息。
操作步骤
执行display current-configuration configuration bfd-session查看BFD会话的配置信息,检查是否配置了commit命令。
如果配置了commit命令,表明修改BFD会话的检测参数后已经提交。
如果没有配置commit命令,表明修改BFD会话的检测参数后未提交,用户需要执行commit命令提交配置。