BFD路由双向转发检测

BFD(Bidirectional Forwarding Detection):双向转发检查

作用:毫秒级故障检查,通常结合三层协议(如静态路由、VRRP、OSPF、BGP等)实现链路故障快速检查

前面我们学习了通过双静态路由来实现链路的冗余备份,网络拓扑如下:

需求:用1.1.1.1去ping  2.2.2.2,然后断开R1与R2之间的主链路,看数据包是否还能正常发包过去,保障链路之间冗余性

 R1上配置命令:

<R1>system-view 
[R1]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 10.10.10.1 24

[R1-GigabitEthernet0/0/0]inter gig0/0/1
[R1-GigabitEthernet0/0/1]ip address 20.20.20.1 24
[R1-GigabitEthernet0/0/1]quit 

[R1]interface LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 24
[R1-LoopBack0]quit

[R1]ip route-static 2.2.2.0 24 10.10.10.2        #设为主链路,静态路由默认优先级为60
[R1]ip route-static 2.2.2.0 24 20.20.20.2 preference 80        #设为备份链路

R2配置:

<R2>system-view 
[R2]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.10.10.2 24
[R2-GigabitEthernet0/0/0]inter gig0/0/1
[R2-GigabitEthernet0/0/1]ip address 20.20.20.2 24
[R2-GigabitEthernet0/0/1]quit 

[R2]interface LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 24
[R2-LoopBack0]quit 

[R2]ip route-static 1.1.1.0 24 10.10.10.1
[R2]ip route-static 1.1.1.0 24 20.20.20.1 preference 80

通过配置以上命令,用1.1.1.1 ping 2.2.2.2时,当断开主链路后,可以自动切换到备份链路来实现链路冗余

虽然通过上面的网络拓扑可以实现双链路的冗余备份,如果在R1与R2之间新增一台交换机的话,当链路出现故障后,路由器就无法及时的检测链路故障,网络拓扑如下:

当R2与交换机之间的链路发生故障后,R1无法检测出链路已经断了,R1的GE0/0/0口还是处于UP状态,所以通往2.2.2.0段的主链路静态路由还存在,所有数据还是会通过R1     GE0/0/0口发出,到交换机上后数据中断无法发出,如下:

此时如果部署了BFD双向转发检查就可以快速的发现链路故障了,快速切换至备份线路上,下面一起来部署BFD检测吧~~~

R1上配置命令:

[R1]bfd        #使能BFD
[R1-bfd]quit        #退出
[R1]bfd 1 bind peer-ip 10.10.10.2 source-ip 10.10.10.1        #创建组BFD 1,peer-ip为远端路由IP,sourc-ip为源ip,只需在主链路上做
[R1-bfd-session-1]discriminator local 1        #创建本地标识 1
[R1-bfd-session-1]discriminator remote 2        #创建远端标识 2
[R1-bfd-session-1]commit        #确认操作
[R1-bfd-session-1]quit        #退出

[R1]ip route-static 2.2.2.0 24 10.10.10.2 track bfd-session 1        #静态路由上调用BFD 1

R2上做相同配置:

[R2]bfd        #使能BFD
[R2-bfd]quit         #退出
[R2]bfd 1 bind peer-ip 10.10.10.1 source-ip 10.10.10.2        #创建组BFD1,远端IP为10.10.10.1,源IP为10.10.10.2
[R2-bfd-session-1]discriminator local 2        #创建本地标识2,因为在R1上远端标识为2,所以这里必须为2
[R2-bfd-session-1]discriminator remote 1        #创建远端标识1,前面在R1上的本地为1,所以这里必须为1
[R2-bfd-session-1]commit         #确认操作

[R2]ip route-static 1.1.1.0 24 10.10.10.1 track bfd-session 1        #静态路由上调用BFD1

配置BFD后我们再来测试下链路现象,如图:

查看BFD状态命令:display bfd session all verbose

原文地址:https://www.cnblogs.com/xiykj/p/14868141.html