一、BFD
双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。【毫秒级】
二、BFD会话建立方式
BFD会话的建立有两种方式,静态建立BFD会话和动态建立BFD会话。静态和动态创建BFD会话的主要区别在于本地标识符和远端标识符的配置方式不同。BFD通过控制报文中的标识符区分不同的会话。
1、静态建立BFD会话
通过命令手工配置BFD会话参数,包括配置本地标识符和远端标识符,手工下发BFD会话建立
2、动态建立BFD会话
1)动态分配本地标识符
当应用程序触发动态创建BFD会话时,系统分配属于动态会话标识符区域的值作为BFD会话的本地标识符。然后向对端发送Remote Discriminator的值为0的BFD控制报文,进行会话协商
2)自学习远端标识符
当BFD会话的一端收到Remote Discriminator的值为0的BFD控制报文时,判断该报文是否与本地BFD会话匹配,如果匹配,则学习接收到的BFD报文中Local Discriminator的值,获取远端标识符
BFD控制报文是UDP报文,端口号3784,BFD提供异步检测模式,连续3个没有收到BFD控制报文,则认为BFD会话状态down.
BFD会话建立过程
三、 BFD配置实施
AR2和SW5及SW6配置OSPF并建立邻居关系,详细了解OSPF相关知识可以参考HCIP OSPF部分详细配置
R2正常和SW5和SW6建立OSPF邻居关系:
[R2]bfd //全局开启BFD
[R2-ospf-1]bfd all-interfaces enable //OP
PF进程中使能BFD特性构建动态BFD会话
[SW5]bfd
[SW5-ospf-1]bfd all-interfaces enable
[SW6-bfd]ospf 1
[SW6-ospf-1]bfd all-interfaces enable
我们R2查看 BFD会话和接口状态
我们在R2 G0/0/1接口进行抓包查看
我们在PC3进行路由跟踪和ping 2.2.2.2( R2的环回口)
路由跟踪走SW5到达R2
此时我们把SW5的G0/0/24接口down掉,此时SW5的VRRP状态变为备,BFD状态变为down,SW6成为主设备
此时我们PC进行查看ping丢了一个,PC路由跟踪下一跳从SW5变为SW6
SW5和SW2之间配置创建静态标识符自动协商BFD会话
[SW5]bfd 1 bind peer-ip 10.1.100.2 source-ip 10.1.100.5 auto //创建静态标识符自协商BFD会话
[R2]bfd 1 bind peer-ip 10.1.100.5 source-ip 10.1.100.2 auto
通过display bfd session all 可以查看到BFD会话
[SW5-Vlanif30]vrrp vrid 30 track bfd-session session-name 1 reduced 25//VRRP通过联动BFD会话状态来实现主备切换的功能
我们把SW5的VLAN100 down掉
[SW5-Vlanif100]shu
然后我们查看BDF down ,VRRP进行主备切换优先级从120减去25变为95
VRRP主备切换后PC可以正常与R2的环回口正常通信