简介
BFD(Bidirectional Forwarding Detection,双向转发检测)协议提供一种轻负载、快速检测两台邻接路由器之间转发路径连通状态的方法。协议邻居通过该方式可以快速检测到转发路径的连通故障,加快启用备份转发路径,提升现有网络性能。(公有协议)
BFD 提供的检测机制与所应用的接口介质类型、封装格式、以及关联的上层协议如 OSPF、BGP、RIP 等无关。BFD 在两台路由器之间建立会话,通过快速发送检测故障消息给正在运行的路由协议,以触发路由协议重新计算路由表,大大减少整个网络的收敛时间。BFD 本身没有发现邻居的能力,需要上层协议通知与哪个邻居建立会话。
DLDP和BFD的区别:
1、DLDP只能用于以太接口;BFD与接口无关,任意两个邻居建均可建立BFD关系;
2、DLDP利用ICMP报文探测;BFD使用协议自身探测报文;
3、DLDP是单向检测行为,可以单向使用;BFD是双向联动探测行为(有单臂回声),两端都要启用;
4、DLDP基于接口,即,探测失败后,逻辑上shutdown接口,和接口相关的路由均失效;BFD是基于邻居对,即,探测一对邻居间的联通性,只对和该BFD关联的路由条目进行处理,控制粒度相对更精细。
试验
静态+BFD(锐捷为例,思科同理)
1、配置需要联动的静态路由时,必须配置出接口和下一跳(此下一跳必须和对端BFD指定的源地址一致)
2、在配置BFD和静态路由联动时,BFD探测的出接口和下一跳需要与静态路由的出接口和下一跳对应(在模拟器配置时)
3、BFD的模式默认为单臂回声echo模式(当对端不支持BFD协议或是其它厂商设备时使用此模式)
关键命令:
GW(config)#ip route 0.0.0.0 0.0.0.0 g0/0 100.1.1.1
//要和BFD联动,静态路由必须是配置出接口和下一跳;下一跳和对端BFD指定的源地址必须一致
GW(config-if-GigabitEthernet 0/0)#bfd interval 500 min_rx 500 multiplier 3
//配置BFD时间参数,该命令同时启用了接口的BFD功能,因此必须配置;这里的 500/500/3 为推荐配置,间隔500ms发送一个探测报文,连续3个没收到回应宣告链路失败。
GW(config-if-GigabitEthernet 0/0)#bfd echo one-arm
//配置单臂回声
--------------------------------------------------------------------------------------------
静态+BFD华为
[GW]bfd
//全局开启BFD
[GW]bfd abc bind peer-ip 100.1.1.1 interface GigabitEthernet0/0/0 one-arm-echo [GW-bfd-session-abc]discriminator local 1 [GW-bfd-session-abc]min-echo-rx-interval 100 [GW-bfd-session-abc]commit
//①创建BFD会话名字为abc,对端检测的地址为100.1.1.1,出接口为0/0/0,模式为单臂回声。
//②设置BFD会话的本地标识符,双向BFD要指定对端的标识,单臂回声不用,但是这个是必要设置。
//③在创建单臂ECHO功能的BFD会话后,用户可以对单臂回声功能的BFD报文的最小接收间隔进行配
置。在使用min-echo-rx-interval命令之前,必须使用bfd one-arm-echo命令配置了单臂回声功能的
BFD会话。
//④提交上述配置。
ip route-static 0.0.0.0 0.0.0.0 100.1.1.1 track bfd-session abc
//绑定BFD会话abc,有点类似思科SLA私有协议。