一、BFD(双向转发检测)
1.1 解决了检测机制的不足
1.2 通用、标准化、与介质无关,与协议无关,为上层协议服务
1.3 全网统一的检测机制,用于快速检测
1.4 保证邻居之间能够快速检测到通信故障
二、BFD工作机制:
1.1 本身没有发现机制,靠上层协议通知
1.2 建立BFD会话,周期性发送BFD控制报文进行检测
1.3 检测到故障后,再通知上层协议
三、BFD状态机制:
3.1 Down :会话处于Down状态或刚刚创建
3.2 init : 已经能和对端系统通信,本端希望使会话进入Up状态
3.3 Up: 会话已经建立成功
3.4 AdminDown : 会话处于管理性Down状态
3.5 BFD状态机的建立和拆除都采用三次握手,以确保两端系统都能知道状态的变化
3.6 状态迁移规则:对端状态变化,检测定时器超时
四、BFD报文格式:使用组播地址:224.0.0.184
4.1 控制报文
1)单跳检测其UDP目的端口号为3784 三层链路绑定接口
2)多条检测其UDP目的端口号为4784 三层链路绑定IP
4.2 Echo报文
1)UDP的端口号都为3785
五、BFD运行模式:
5.1 会话建立前模式
1)主动模式--默认
2)被动模式
5.2 会话建立后模式:
1)异步模式--默认
2)查询模式
六、BFD 应用场景
6.1 检测IP链路
6.2 BFD单臂回声功能(Echo):一端支持BFD 一端不支持
6.3 与接口状态联动
6.4 与静态路由联动
6.5 与动态路由RIP、OSPF、IS-IS、BGP联动
6.6 与MPLS联动
6.7 与VRRP联动
6.8 与IPV6联动
6.9 与Smart Link 联动
七、BFD与接口联动案例
7.1 SW1 与SW2 配置BFD, 检测中间链路状态
7.2 SW1 配置
[SW1]bfd 1 bind peer-ip default-ip int e0/0/1
[SW1-bfd-session-1]discriminator local 10 #配置本地标识符
[SW1-bfd-session-1]discriminator remote 20 #配置远端标识符
[SW1-bfd-session-1]min-tx-interval 100 #配置最小发送间隔
[SW1-bfd-session-1]min-rx-interval 500 #配置最小接收间隔
[SW1-bfd-session-1]detect-multiplier 2 #配置本地检测倍数
[SW1-bfd-session-1]process-interface-status #配置与接口联动
[SW1-bfd-session-1]commit
7.3 SW2 配置
[SW2]bfd 1 bind peer-ip default-ip int e0/0/1
[SW2-bfd-session-1]discriminator local 20 #配置本地标识符
[SW2-bfd-session-1]discriminator remote 10 #配置远端标识符
[SW2-bfd-session-1]min-tx-interval 100 #配置最小发送间隔
[SW2-bfd-session-1]min-rx-interval 500 #配置最小接收间隔
[SW2-bfd-session-1]detect-multiplier 4 #配置本地检测倍数
[SW2-bfd-session-1]process-interface-status #配置与接口联动
[SW2-bfd-session-1]commit
7.4 BFD检测时间公式
SW1:
最小发送间隔:100ms
最小接收间隔:500ms
本地检测倍数:2
SW2
最小发送间隔:100ms
最小接收间隔:500ms
本地检测倍数:4
最终检测间隔:
SW1: 500*4=2000ms
SW2: 500*2=1000ms
本端检测间隔=对端检测倍数*max(对端发送间隔,本端接收间隔两者的最大值)
八、BFD与静态路由联动案例
8.1 基于静态路由的备份,默认走1000M链路,当1000M链路down掉,切换到100M链路
8.2 R1配置
[R1]ip route-s 192.168.1.0 24 100.101.10.2 #配置静态路由1
[R1]ip route-s 192.168.1.0 24 200.101.10.2 preference 90 #配置静态路由2
[R1]bfd R1 bind peer-ip 100.101.10.2
[R1-bfd-session-r1]discriminator local 10
[R1-bfd-session-r1]discriminator remote 20
[R1-bfd-session-r1]min-tx-interval 100
[R1-bfd-session-r1]min-rx-interval 100
[R1-bfd-session-r1]detect-multiplier 2
[R2-bfd-session-r1]commit
[R1]ip route-s 192.168.1.0 24 100.101.10.2 track bfd-session R1 #配置BFD与静态路由联动
8.3 R2配置
[R2]ip route-s 192.168.2.0 24 100.101.10.1 #配置静态路由1
[R2]ip route-s 192.168.2.0 24 200.101.10.1 preference 90 #配置静态路由2
[R2]bfd R2 bind peer-ip 100.101.10.1
[R2-bfd-session-r2]discriminator local 20
[R2-bfd-session-r2]discriminator remote 10
[R2-bfd-session-r2]min-tx-interval 100
[R2-bfd-session-r2]min-rx-interval 100
[R2-bfd-session-r2]detect-multiplier 2
[R2-bfd-session-r2]commit
[R2]ip route-s 192.168.2.0 24 100.101.10.1 track bfd-session R2 #配置BFD与静态路由联动
九、查看BFD
dis bfd session all
dis bfd session all verbose