一、概念: 双向转发检测BFD(Bidirectional Forwarding Detection),用于快速检测、监控网络链路或者IP路由转发连通状况。 当故障的时候能够快速通知上层协议。bfd需要和上层协议联动,比如和bgp、静态路由协议。因为bgp的检测间隔很长,当链路断了,bgp需要很长时间才能检测到,用户体验很不好,通过联动bfd,可以在毫秒级别发现故障。静态路由目前不具备联路检测能力,如果联路断了,路由不知道还会发包,所以会导致不通。但是静态路由增加了检测,当出现故障的时候,路由器会自动删除该路由,如果配置了主备路由器,会切换到备用路由。 二、检测模式 · Asynchronous Mode Without Echo Function:不带回声功能的异步模式。 · Asynchronous Mode With Echo Function:带回声功能能的异步模式。 · Asynchronous One-arm-echo Mode:单臂回声模式。
异步模式:BFD的主要操作模式称为异步模式。在这种模式下,系统之间相互周期性地发送BFD控制报文,如果某个系统连续几个报文都没有接收到,就认为此BFD会话的状态是Down。
【BFD Echo功能】 BFD Echo即回声功能,是由本地发送BFD Echo报文,远端系统将报文环回的一种检测机制。本节将分为被动Echo和单臂Echo功能分别进行介绍,因为这两种Echo功能虽然检测机制一样,但是适用的场景不同。 - 被动echo功能:被动Echo功能只适用于单跳IP链路的场景,并且必须与异步模式配合使用,BFD会话在异步Echo模式下,一边以异步模式进行慢检测,一边以Echo模式进行快检测。假设,DeviceA的BFD能力较强,DeviceB的BFD能力较弱(例如DeviceA支持的BFD报文最小接收时间间隔为3ms,DeviceB支持的最小接收时间间隔为100ms),异步模式下BFD只能采用较弱端的检测时间间隔。而使能了Echo功能后,DeviceA可以通过Echo报文实现链路快速检测;当BFD Echo功能失效时,两端仍然可以通过异步报文检测链路,只是此时的检测能力只能达到能力较弱一端的水平。
- 单臂echo功能(华为私有)
单臂Echo功能也只适用于单跳IP链路的场景,但是一般用于两台直接相连的设备中,其中一台设备支持BFD功能,另一台设备不支持BFD功能的情况下。通过在支持BFD功能的设备上创建单臂Echo功能的BFD会话,不支持BFD功能的设备接收到该BFD报文后,直接将该报文环回,从而达到快速检测链路的目的。单臂Echo不需要双方协商Echo能力,一端配置BFD检测,另一端无需有BFD能力,使能单臂Echo的设备发送特殊的BFD报文(IP头中的源和目的IP都是本端设备的IP地址,BFD净荷中的MD和YD相同),对端收到后直接环回到本端,以此判断链路是否正常,对低端设备就有很强的适应能力。 三、相关配置 1)异步模式无回声:(本端或者对端的标识符不配置的话,可通过动态协商) 通过静态路由接入业务的BFD配置命令如下: PE侧配置 ip route-static bfd GigabitEthernet1/0/0.2956 192.168.1.153 local-address 192.168.1.154 min-tx-interval 300 min-rx-interval 300 ip route-static vpn-instance **** 172.110.1.0 255.255.255.252 GigabitEthernet1/0/0.2956 192.168.1.153 bfd enable CE侧配置 ip route-static bfd 10GE1/0/1.2956 192.168.1.154 local-address 192.168.1.153 min-tx-interval 300 min-rx-interval 300 ip route-static 0.0.0.0 0.0.0.0 10GE1/0/1.2956 192.168.1.154 bfd enable
2)华为的配置里,bfd echo模式有两种:被动回声--有关键字 echo passive;单臂模式--有关键字one-arm-echo bfd 123 bind peer-ip 12.1.1.2 source-ip 12.1.1.1 one-arm-echo //创建bfd单臂回声会话 discriminator local 123 //本地会话号(类似于本地AS号)可以一样也可以不一样 discriminator remote 123 //对端会话号(类似于对端AS号)可以一样也可以不一样,单臂模式中可以不用配置 min-tx-interval 100 // 报文发送时间间隔 min-rx-interval 100 // 报文接收时间间隔,单臂模式中可以不用配置 wtr 1 //主路由链路up后等待1min后再恢复,防止抖动,默认是0 commit //提交生效
【配置查询】 查询BFD的状态: Display bfd session all 查看静态路由配置: display current-configuration | include ip rou 查看子接口配置: display cur interface GigabitEthernet 1/0/0.2957
|