前言
在当今信息技术飞速发展的时代,网络的可靠性和稳定性对于确保业务连续性变得愈发重要。随着用户对实时性和高可用性的需求不断增加,传统的网络故障检测机制已无法满足现代网络环境的要求。为了解决这一问题,双向转发检测(Bidirectional Forwarding Detection,BFD)应运而生。
BFD是一种高效、低开销的协议,专为快速检测网络中的故障而设计。其核心优势在于能够在毫秒级别内检测并响应链路和节点的故障,能够与多种网络协议(如OSPF、IS-IS、BGP等)协同工作,形成灵活而高效的故障检测机制。
一、BFD会话建立
BFD会话建立有两种方式:
静态建立BFD:需要手工配置BFD会话参数,本地和远端标识符。
动态建立BFD:本地标识符触发创建BFD会话的系统动态分配,远端标识符从收到对端BFD消息的Local Discriminator值学习而来的。
二、BFD会话状态
down,init,up,admin down(都采用三次握手)
三、BFD检测模式
异步模式:系统之间周期性发送BFD控制报文。
查询模式:系统之间按需发生BFD控制报文
四、BFD检测时间
这里默认本地发送间隔(TX)为1000 ms和对端接受间隔(RX)为1000 ms。
默认BFD检测倍数
在R1中红色框为配置参数,绿色框为实际参数。
Actual Tx Interval (ms): 100 = max [ 100(本地配置发送时间间隔) 50(对端接受时间间隔)]
Actual Rx Interval (ms): 200 = max [ 150(对端发送时间间隔) 200(本地配置接受时间间隔) ]
R2异步模式下实际检测时间 Detect Interval (ms) : 300 = 100(本地实际接受BFD时间间隔)* 3 (对端配置的BFD检测倍数)
查询模式实际检测时间 本地实际接受BFD时间间隔 * 本端配置的BFD检测倍数
五、静态路由与ospf联动BFD实验
基础配置
R1
#
sysname R1
#
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
#
R2
#
sysname R2
#
#
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.24.2 255.255.255.0
#
ospf 1 router-id 10.0.2.2
area 0.0.0.0
network 10.0.12.0 0.0.0.255
network 10.0.24.0 0.0.0.255
#
R3
#
sysname R3
#
#
interface GigabitEthernet0/0/0
ip address 10.0.34.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.13.3 255.255.255.0
#
ospf 1 router-id 10.0.3.3
bfd all-interfaces enable
area 0.0.0.0
network 10.0.13.0 0.0.0.255
network 10.0.34.0 0.0.0.255
R4
interface GigabitEthernet0/0/0
ip address 10.0.34.4 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.24.4 255.255.255.0
#
interface LoopBack0
ip address 10.0.4.4 255.255.255.255
#
ospf 1 router-id 10.0.4.4
area 0.0.0.0
network 10.0.4.4 0.0.0.0
network 10.0.24.0 0.0.0.255
network 10.0.34.0 0.0.0.255
#
配置静态路由与BFD联动
R1
#
bfd 12 bind peer-ip 10.0.12.2 source-ip 10.0.12.1
discriminator local 1
discriminator remote 2
commit
#
R2
#
bfd 21 bind peer-ip 10.0.12.1 source-ip 10.0.12.2
discriminator local 2
discriminator remote 1
commit
#
静态建立BFD并互指本端和对端标识符
在静态路由下调用BFD
ip route-static 10.0.4.0 255.255.255.0 10.0.12.2 track bfd-session 12
ip route-static 10.0.4.0 255.255.255.0 10.0.13.3 preference 70
在上面静态路由中到达R4路由器默认走R2,如果R2出现故障会自动跳转到R3进行数据转发
模拟路由故障对R4ping1万次,然后到R2上关闭连接R1接口,看看会发生什么。
中途出现了两次访问超时,后续很快又恢复正常访问到R4路由器。
配置ospf与BFD联动
R2
bfd
ospf 1 router-id 10.0.2.2
bfd all-interfaces enable
#
ip route-static 10.0.1.1 255.255.255.255 10.0.12.1
#
R3
bfd
ospf 1 router-id 10.0.3.3
bfd all-interfaces enable
#
ip route-static 10.0.1.1 255.255.255.255 10.0.13.1
#
R2
bfd
ospf 1 router-id 10.0.3.3
bfd all-interfaces enable
#
ip route-static 10.0.1.1 255.255.255.255 10.0.24.2
ip route-static 10.0.1.1 255.255.255.255 10.0.34.3 preference 70
#
在ospf中与BFD联动是动态模式。