BFD可以用来检测两个IP之间的实时连通性,可以与其他协议进行联动,例如OSPF、BGP、静态路由等协议,网络设备可以根据BFD的状态实时快速调整路由。
普通的BFD要在需要检测该段链路两端的设备都配置BFD,但是有些时候我们只能操作链路一端的设备,不方便对另一端的设备进行操作,此时我们就可以配置单臂BFD,单臂BFD只需要在任意一端的设备进行配置,无需操作另一端的设备。
例如一下组网,需要检测这两台设备的之间链路的连通性,如果只有交换机LSW1的登陆权限,无法登陆LSW2,普通的BFD需要再两台设备都配置,因此不能配置普通的BFD,这种情况下就可以在交换机LSW1上配置单臂BFD。
配置:
1、开启BFD
[LSW1]bfd
[LSW1-bfd]
2、配置单臂BFD
[LSW1]bfd 1 bind peer-ip 1.1.1.2 interface Vlanif1 source-ip 1.1.1.1 one-arm-echo
[LSW1-bfd-session-1]
3、配置本地标识符
[LSW1-bfd-session-1]discriminator local 1
[LSW1-bfd-session-1]commit //提交配置,不然不生效
配置好后BFD回话就UP了
下面来说一下单臂BFD的原理
单臂BFD通过发送源目IP都是自己的BFD数据包给对端设备,这里有同学有疑问了,源目IP都是自己的数据包怎么能发送到对端设备呢,其实设备在封装数据包时,二层的目的mac地址是peer IP地址的mac,所以该数据包能够通过二层发送到对端设备,对端设备接收到数据包,发现mac地址是自己,则接收数据包,数据包源目IP调换,发现从接口收到数据还需要从相同接口转发该数据,此时设备发送一个ICMP重定向报文给对端设备。
一下是数据抓包
目的mac地址是LSW2 vlanif1接口的mac地址