在大规模网络部署情况下,1秒可以造成大范围的网络故障了,因此需要更加精确的网络联通检测机制。
BFD是一直简单的状态检测机制,通过互相发送BFD报文以及回复进行链路间状态确认。BFD状态有:Down、Init、Up、AdminDown,BFD可以设置本地发送与接收报文间隔以及检测超时倍数,通过调整3个参数控制报文发送间隔。BFD还支持单臂回声功能,与不支持BFD功能的设备间进行检测。通过BFD状态检测功能与路由协议等进行联动可以实现毫秒级切换。
一、BFD应用概述
BFD可以实现的功能:
-
BFD检测IP链路
-
BFD单臂回声功能
-
BFD与接口状态联动
-
BFD与静态路由联动
-
BFD与OSPF联动
-
BFD与IS-IS联动
-
BFD与BGP联动
-
BFD与MPLS LSP联动
-
BFD与MPLS TE联动
-
BFD与VRRP联动
-
BFD与PIM联动
配置步骤:
-
使能全局BFD功能
-
建立BFD会话(指定对端地址、出接口、源ip、自协商标识符等)
-
配置BFD检测时间、检测间隔、认证、描述信息(可选)
-
commit提交
二、BFD单跳检测
BFD可以基于二层接口或者三层接口进行检测链路状态。
2.1 基于二层接口的BFD检测
其实我一开始也有疑惑如果是二层接口up/down就直接变化了,那BFD检测是什么意义呢?因为如果只是单纯的接口变化不能关联到相关的上层应用,如路由切换,VRRP切换等,如果有了BFD则会有一个标志开关,BFD状态up标识链路正常,BFD状态down标识链路状态关闭需要进行路由切换操作。
由于二层接口没有IP地址,因为在BFD检测中需要通过模拟生成一个源IP地址发送到组播IP地址中进行BFD状态检测,缺省组播IP地址为:224.0.0.184 。
配置:
# SW1
# 首先全局使能BFD功能,进入BFD视图
bfd
# 退出BFD视图
quit
# 创建BFD会话,1为会话标识名称,指定对端ip为缺省ip,绑定连接的接口,可选配置源ip
bfd 1 bind peer-ip default-ip interface GigabitEthernet0/0/1
discriminator local 1 # 指定本地标识符
discriminator remote 2 # 指定对端标识符,必须双方标识符匹配才能建立BFD会话
commit # 必须通过commit提交配置才会生效
# SW2
# 首先全局使能BFD功能,进入BFD视图
bfd
# 退出BFD视图
quit
# 创建BFD会话,2为会话标识名称,指定对端ip为缺省ip,绑定连接的接口,可选配置源ip
bfd 2 bind peer-ip default-ip interface GigabitEthernet0/0/1
discriminator local 2 # 指定本地标识符,和SW2相反
discriminator remote 1 # 指定对端标识符,必须双方标识符匹配才能建立BFD会话
commit # 必须通过commit提交配置才会生效