一、什么是BFD
BFD即双向转发检测,是一种实现网络可靠性的机制,可被用于快速检测网络中的链路状况、IP可达性。其可以与多种协议或机制进行联动,如与静态路由、OSPF、IS-IS、 BGP、VRRP、PIM及MPLS LSP等进行联动。
二、静态路由与BFD进行联动
1、拓扑如下
2、需求如下
R2能够访问10.9.9.0/24,在网络正常时,R2将到达10.9.9.0/24的数据包转发给R1。当R1发生故障时,或者R1与R2之间的某段链路发生故障时,R2自动将数据包转发路径进行切换,将到达该网段的数据包转发给R3,通过R3转发出去。由于静态路由无法感知网络拓扑的变化并作出动态响应。
3、配置如下(接口已配IP)
激活bfd功能
创建一个BFD会话,会话名称为ad(该名称可自定义),对端IP地址为10.1.12.2
注: 在R1的BFD会话中,discriminator local 需与R2的discriminator remote相同,discriminator remote需与R2的discriminator local相同。BFD的会话名称只具有本地意义,双方无需相同。
将下一跳为R1的静态路由与R2的BFD会话ba进行联动
配置浮动静态路由,下一跳为R3
4、完成上述配置后,R1与R2便会进行BFD报文的交互。可在R2查看BFD状态
5、故障模拟
此时将R1连接SW的接口关闭,模拟R1发生故障的情况,R2将会弹出日志记录。再次从R2查看R1与R2的BFD交互情况时,BFD的状态将会切换为Down。由于静态路由ip route-static 10.9.9.0 24 10.1.12.1 track bfd-session ba与该BFD会话进行了联动,因此一旦会话状态为Down,该条静态路由将立即失效。如此一来,浮动路由将出现在路由表中,可使用display ip routing-table 命令查看路由状态。