其他分享
首页 > 其他分享> > BFD原理与配置

BFD原理与配置

作者:互联网

文章目录

BFD技术原理及其配置

BFD(Bidirectional Forwarding Detection,双向转发检测):全网统一的检测机制,用于快速检测、监控网络中链路或IP路由的转发连通情况。

BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。具有以下优点:

BFD背景

BFD原理

BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。BFD本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。

会话建立

在这里插入图片描述

  1. OSPF通过自己的Hello机制发现邻居并建立连接。
  2. OSPF在建立了新的邻居关系后,将邻居信息(包括目的地址和源地址等)通告给BFD。
  3. BFD根据收到的邻居信息建立会话。
  4. 会话建立以后,BFD开始检测链路故障,并做出快速反应。

BFD故障发生处理流程图

在这里插入图片描述

  1. 被检测链路出现故障。
  2. BFD快速检测到链路故障,BFD会话状态变为Down。
  3. BFD通知本地OSPF进程BFD邻居不可达。
  4. 本地OSPF进程中断OSPF邻居关系。

BFD会话建立方式

BFD会话的建立有两种方式,即静态建立BFD会话和动态建立BFD会话。

静态和动态创建BFD会话的主要区别在于本地标识符(Local Discriminator)和远端标识符(Remote Discriminator)的配置方式不同。BFD通过控制报文中的Local Discriminator和Remote Discriminator区分不同的会话。

BFD监测机制

BFD会话管理

BFD会话有四种状态:

会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变。BFD状态机的建立和拆除都采用三次握手机制,以确保两端系统都能知道状态的变化。

会话建立

在这里插入图片描述

  1. SwitchA和SwitchB各自启动BFD状态机,初始状态为Down,发送状态为Down的BFD报文。对于静态配置BFD会话,报文中的Remote Discriminator的值是用户指定的;对于动态创建BFD会话,Remote Discriminator的值是0。
  2. SwitchB收到状态为Down的BFD报文后,状态切换至Init,并发送状态为Init的BFD报文。
  3. SwitchB本地BFD状态为Init后,不再处理接收到的状态为Down的报文。
  4. SwitchA的BFD状态变化同SwitchB。
  5. SwitchB收到状态为Init的BFD报文后,本地状态切换至Up。
  6. SwitchA的BFD状态变化同SwitchB。

BFD抓包

Down状态

在这里插入图片描述

Init状态

在这里插入图片描述

Up状态

在这里插入图片描述

BFD应用场景

BFD检测IP链路

BFD检测IP链路支持单跳检测和多跳检测:

BFD单壁回声功能

通过BFD报文的环回操作检测转发链路的连通性。

在两台直接相连的设备中,其中一台设备支持BFD功能,另一台设备不支持BFD功能,只支持基本的网络层转发。为了能够快速的检测这两台设备之间的故障,可以在支持BFD功能的设备上创建单臂回声功能的BFD会话。支持BFD功能的设备主动发起回声请求功能,不支持BFD功能的设备接收到该报文后直接将其环回,从而实现转发链路的连通性检测功能。

在这里插入图片描述

BFD与接口状态联动

BFD与接口状态联动:使得BFD检测行为可以关联接口状态,提高了接口感应链路故障的灵敏度,减少了非直连链路故障导致的问题。

BFD检测到链路故障会立即上报Down消息到相应接口,使得接口进入一种特殊的Down状态:BFD Down状态。该状态等效于链路协议Down状态,在该状态下只有BFD的报文可以正常处理,从而使接口也可以快速感知链路故障。

在这里插入图片描述

BFD与静态路由联动

BFD for静态路由可为每条静态路由绑定一个BFD会话,在自身满足参与选路条件的前提下,静态路由最终是否能参与选路还受BFD会话检测状态影响。

BFD for静态路由有单跳检侧和多跳检测两种方式。

BFD与OSPF联动

BFD与OSPF联动就是将BFD和OSPF协议关联起来,通过BFD对链路故障的快速感应进而通知OSPF协议,从而加快OSPF协议对于网络拓扑变化的响应

是否绑定BFD链路故障检测机制收敛速度
未绑定BFDOSPF HELLO keepalive定时器超时秒级
绑定BFDBFD会话Down毫秒级

在这里插入图片描述

BFD与BGP联动

BGP协议通过周期性的向对等体发送Keepalive报文来实现邻居检测机制,但这种机制检测到故障所需时间比较长,超过1秒钟。当数据达到吉比特速率级别时,将会导致大量的数据丢失。

是否绑定BFD链路故障检测机制收敛速度
未绑定BFDkeepalive报文机制秒级
绑定BFDBFD会话Down毫秒级

在这里插入图片描述

BFD与MPLS LSP联动

BFD会话协商有静态配置BFD和动态创建BFD两种方式,其中,动态创建BFD方式只支持动态LSP,静态配置BFD方式则支持静态和动态LSP。

BFD检测LSP的连通性,即Ingress和Egress之间相互周期性地发送BFD报文。如果任何一端在检测时间内没有收到对端发来的BFD报文,就认为LSP状态为Down,并向LSPM上报LSP Down消息。

在这里插入图片描述

BFD与MPLS TE联动

BFD支持的MPLS TE类型有:

其中,BFD与TE Tunnel联动与BFD与CR-LSP联动的区别是故障通告的对象不同。BFD与TE Tunnel联动是向VPN等应用通告故障,触发业务流在不同隧道接口上的切换;BFD与CR-LSP联动是向TE隧道通告故障,触发业务流在同一TE隧道内的不同CR-LSP上的切换。

通过和LSP绑定,在Ingress和Egress之间建立BFD会话。BFD报文从源端开始经过LSP到达宿端,宿端再对该BFD报文进行回应,通过此方式在源端可以快速检测出LSP所经过链路的故障状态。当检测出链路故障以后,BFD将此信息上报给承载在该LSP上面的应用模块,应用再将流量切换到备份路径上。
在这里插入图片描述

BFD与VRRP联动

当Master出现故障时,VRRP依靠Backup设置的超时时间来判断是否应该抢占,切换速度在1秒以上。将BFD应用于Backup对Master的检测,可以实现对Master故障的快速检测,缩短用户流量中断时间。BFD对Backup和Master之间的实际地址通信情况进行检测,如果通信不正常,Backup就认为Master已经不可用,升级成Master。VRRP通过监视BFD会话状态实现主备快速切换,切换时间控制在50毫秒以内。

在这里插入图片描述

BFD配置

配置BFD单跳检测二层链路示例

在这里插入图片描述

AR1配置

#
 sysname R1
#
bfd

#
interface GigabitEthernet0/0/0
 ip address 10.1.1.1 255.255.255.0 
#
bfd r1 bind peer-ip default-ip interface GigabitEthernet0/0/0
 discriminator local 1
 discriminator remote 2
 commit
#

SW1配置

#
sysname SW1
#
vlan batch 10
#
bfd
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk pvid vlan 10
 port trunk allow-pass vlan 10
#
bfd sw1 bind peer-ip default-ip interface GigabitEthernet0/0/1
 discriminator local 1
 discriminator remote 2
 commit
#

查看BFD会话
在这里插入图片描述

在这里插入图片描述

配置VLANIF接口BFD单跳检测示例

在这里插入图片描述

配置BFD多跳检测示例

在这里插入图片描述

配置BFD检测VLAN下Eth-Trunk成员链路示例

在这里插入图片描述

配置BFD与接口状态联动示例

在这里插入图片描述

配置单臂回声功能示例

在这里插入图片描述

配置详见 BFD各种配置

标签:BFD,检测,报文,配置,会话,LSP,链路,原理
来源: https://blog.csdn.net/qq_43710889/article/details/113667184