网络笔记_BFD双向转发检测

 

目录

技术背景

BFD

BFD工作机制

BFD状态机制

BFD会话工作方式

BFD报文格式

BFD运行模式

会话建立前模式

会话建立后模式

BFD应用场景

BFD检测IP链路

BFD单臂回声功能

BFD与其他协议联动

BFD与接口状态联动

BFD与静态路由联动

BFD与OSPF联动

BFD与BGP联动

BFD与VRRP联动

配置


技术背景

故障检测需求及主要方法
为了减小设备故障对业务的影响、提高网络的可用性,设备需要能够尽快检测到与相邻设备间的通信故障,以便能 够及时采取措施,从而保证业务继续进行。
 
检测方式
备注
硬件检测
例如通过SDH(Synchronous Digital Hierarchy,同步数字体系)告警检测链路故障
优点是可以很快发现故障,但并 不是所有介质都能提供硬件检测
慢Hello机制
通常处采用路由协议中的Hello报文机制
这种机制检测到故障所需时间为 秒级。对于高速数据传输,例如吉比特速率级,超过1秒的检测时间将导致大量数据丢失;对于时延敏感的业务,例如语音业务,超过1秒的延迟也是不能接受的
其他检测机制
不同的协议有时会提供专用的检测机制,但在系统间互联互通时,这样的专用检测机制通常难以部署
 

BFD

Bidirectional Forwarding Detection , 双向转发检测
  • 解决了上述监测机制的不足
  • 通用、标准化、介质无关、协议无关,为上层协议服务
  • 全网统一的检测机制,用于快速检测、监控网络中链路或路由的转发连通状况
  • 保证邻居之间能够快速检测到通信故障,从而快速建立起备用通道恢复通信
 
 

BFD工作机制

  • 本身没有发现机制,靠上层协议通知
  • 建立BFD会话,周期性 发送BFD控制报文进行检测
  • 检测到故障后,再通知上层协议
 
下图解释(以OSPF协议为例):
  • 上层协议通过自己的Hello机制发现邻居并建立连接;
  • 上层协议在建立了新的邻居关系时,将邻居的参数及检测参数(包括目的地址和原地址等)都通告给BFD;
  • BFD根据收到的参数进行计算并建立邻居
 
当链路出现故障时:
  • 链路出现故障
  • BFD检测到链路出现故障
  • BFD通知上层协议(OSPF)链路出现故障
  • OSPF将出现故障的邻居Down掉
  • 切换到备用链路(如果有的话)
 
 
 

BFD状态机制

 
状态
备注
Down
绘画处于Down状态或刚刚创建
Init
  • 已经能够与对端系统通信
  • 本端希望使会话进入UP状态
UP
会话已经建立成功
AdminDown
会话处于管理型Down状态
BFD状态机的建立和拆除都采用三次握手,以确保两端系统都能知道状态的变化
状态迁移规则:对端状态变化、检测定时器超时
 
 
 

BFD会话工作方式

 
控制报文方式
链路两端会话通过控制报文交互检测链路状态
Echo报文方式
链路某一端通过发送Echo报文由另一端转发回来,实现对链路的双向监测
 
 

BFD报文格式

使用组播地址 224.0.0.184,封装在UDP后 
 
控制报文
  • 单跳检测其UDP目的端口号为3784
  • 多跳检测其UDP目的端口号为4784
Echo报文
UDP目的端口号为3785
 
 
 
 

BFD运行模式

会话建立前模式

 
主动模式
主动发送BFD控制报文,不管是否收到对端发来的BFD控制报文
被动模式
不会主动发送BFD控制报文,直到收到对端发来的BFD控制报文
备注:至少要有一个运行在主动模式才能成功建立起会话

会话建立后模式

 
异步模式
周期性地发送BFD控制报文,如果在检测时间内没有收到BFD控制报文则将会话Down
查询模式
一旦BFD会话建立,不再周期性发送BFD控制报文,而是通过其他机制检测连通性,减少大量BFD会话带来的开销
 

BFD应用场景

  • 检测IP链路(如非直连链路)
  • BFD单臂回声功能(即echo,如有一端不支持,可配置单臂回声)
  • 与接口状态联动
  • 与静态路由联动
  • 与RIP联动
  • 与OSPF联动
  • 与IS-IS联动
  • 与BGP联动
  • 与MPLS联动
  • 与IPv6联动
  • 与Smart Link联动
  • 与VRRP联动
 
 
 
 

BFD检测IP链路

在IP链路上建立BFD会话,利用BFD检测机制快速检测故障。BFD检测IP链路支持单跳检测和多跳检测
 
单跳检测
检测直连系统进行IP连通性,"单跳"就是IP的一跳
绑定接口
多跳检测
检测两个系统间的任意路径,可能跨越很多跳,也可能在发生重叠
绑定IP,而不是绑定接口
 
 
 

BFD单臂回声功能

对于有一端不支持BFD的环境,通过BFD报文的环回操作检测转发链路的连通性。
备注:单臂回声功能只适用于单跳BFD会话中
 
 

BFD与其他协议联动

BFD与接口状态联动

关联接口状态,提高了接口感应链路故障的灵敏度,减少了 非直连链路故障导致的问题
 
 
 

BFD与静态路由联动

与动态路由协议不同, 静态路由本身没有检测机制,所以当网络发生故障的时候,需要管理员介入。BFD为静态路由绑定会话,检测链路故障(由UP转为Down)后,BFD会将故障上报路由管理系统,由路由管理模块将这条路由设置为“非激活”状态(此条路由不可用,从IP路由表中删除)。
 
 

BFD与OSPF联动

将BFD和OSPF关联起来,通过BFD对链路故障的快速感应进而通知OSPF协议,从而加快OSPF协议对于网络拓扑变化的感应
 
是否绑定BFD
链路故障检测机制
收敛速度
未绑定BFD
OSPF HELLO Keepalive定时器超时
秒级
绑定BFD
BFD会话Down
毫秒级
 
 
 

BFD与BGP联动

BGP协议通过周期性的想对等体(邻居)发送Keepalive报文来实现邻居检测机制,但这种机制检测到故障所需时间比较长,超过1秒钟。当数据达到吉比特速率级别时,将会导致大量的数据丢失。利用BFD的快速检测机制,迅速发现BGP对等体间链路的故障,并报告给BGP协议,从而实现BGP路由的快速收敛
是否绑定BFD
链路故障检测机制
收敛速度
未绑定BFD
Keepalive报文机制
秒级
绑定BFD
BFD会话Down
毫秒级
 
 

BFD与VRRP联动

将BFD应用于Backup对Master的检测,VRRP通过监视BFD会话状态实现主备快速切换,切换实践控制在50ms以内
 
 

配置

命令

备注

bfd

开启BFD功能,默认关闭

bfd 1 bind peer-ip default-ip int g0/0/0

创建二层端口检测(单跳)

bfd 1 bind peer-ip 12.0.0.2 [int vlanif 1]

创建三层接口检测(多跳)

    discriminator local / remote 10 /20

配置本地标识符和远端标识符

    commit

提交BFD会话配置

    min-tx-interval 100

    min-rx-interval 100

配置BFD报文发送和接收间隔

默认为1000ms

detect-multiplier 3

配置本地检测倍数,默认为3

检测实践公式

本端检测间隔(接收)=对端检测倍数 * max (对端发送间隔,本端接收间隔)

display bfd session all verbose

验证BFD会话状态

process-interface-status

配置与接口状态联动

vrrp vrid 1 track bfd-session 10

配置与VRRP联动,后面的“10”表示本地标识符

bfd all0interfaces enable

配置与OSPF联动

peer X.X.X.X bfd enable

配置与BFD联动

ip route-static X.X.X.X X.X.X.X track bfd-session 1

配置与静态路由联动

 
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xxaafwqrtjmuio12850

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值