关于华为的BFD

27 篇文章 9 订阅

双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况,具有以下优点:
1 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。这些故障包括接口、数据链路,甚至有可能是转发引擎本身
2 用单一的机制对任何介质、任何协议层进行实时检测

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

BFD 与 NQA 的区别
双向转发检测BFD Bidirectional Forwarding Detection 用于检查链路的故障,可与各协议进行联合使用,从而达到网络的快速收敛。
NQA 主要用于检查上层协议的服务是否可用,可与各种协议联动,当然它也可以通过与 ICMP 协议的联动,从而检测链路是否可用,这个方式比 BFD 慢!

目的
为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。在现有网络中,有些链路通常通过硬件检测信号,如 SDH 告警,检测链路故障,但并不是所有的介质都能够提供硬件检测。此时,应用就要依靠上层协议自身的 Hello 报文机制来进行故障检测。上层协议的检测时间都在 1 秒以上,这样的故障检测时间对某些应用来说是不能容忍的。同时,在一些小型三层网络中,如果没有部署路由协议,则无法使用路由协议的Hello 报文机制来检测故障。

BFD 检测机制
异步模式 BFD的主要操作模式为异步模式。在这种模式下,系统之间相互周期性地发送 BFD控制报文,如果某个系统连续几个报文都没有接收到,就认为此 BFD会话的状态是 Down

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

232004ctux85u5dg58tt21.png

BFD会话建立方式
BFD会话的建立有两种方式,即静态建立BFD会话和动态建立BFD会话。静态和动态创建BFD会话的主要区别在于本地标识符(Local Discriminator)和远端标识符(Remote Discriminator)的配置方式不同。BFD通过控制报文中的Local Discriminator和Remote Discriminator区分不同的会话
1 静态建立BFD会话(VRRP、静态路由)
静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求

2 动态建立BFD会话(OSPF、BGP、RIP、ISIS、PIM、MPLS LDP)

动态建立BFD会话时,系统对本地标识符和远端标识符的处理方式如下:

3 动态分配本地标识符

当应用程序触发动态创建BFD会话时,系统分配属于动态会话标识符区域的值作为BFD会话的本地标识符。然后向对端发送Remote Discriminator的值为0的BFD控制报文,进行会话协商

4 自学习远端标识符
当BFD会话的一端收到Remote Discriminator的值为0的BFD控制报文时,判断该报文是否与本地BFD会话匹配,如果匹配,则学习接收到的BFD报文中LocalDiscriminator的值,获取远端标识符

动态建立BFD 会话
动态建立
BFD 会话时,系统对本地标识符和远端标识符的处理方式如下:
◆ 动态分配本地标识符
当应用程序触发动态创建BFD 会话时,系统分配属于动态会话标识符区域的值作为BFD 会话的本地标识符。然后向对端发送 Remote Discriminator 的值为 0的 BFD 控制报文,进行会话协商。
◆ 自学习远端标识符

当BFD 会话的一端收到 Remote Discriminator 的值为 0的 BFD 控制报文时,判断该报文是否与本地 BFD 会话匹配,如果匹配,则学习接收到的 BFD 报文中 Local Discriminator 的值,获取远端标识符。
配置思路:
1)启用 BFD
2)建立 BFD会话的名称及源目 IP即可,不用创建标识符;

联动功能
联动功能由检测模块、Track和应用模块三部分组成。监测模块负责对链路状态、网络性能等进行监测,并将探测结果通知给 Track模块 。 Track模块收到监测模块的探测结果后,及时改变 Track项的状态,并通知应用模块。应用模块根据 Track项的状态,进行相应的处理,从而实现联动。

1 BFD与静态路由的联动
先创建BFD会话,然后在写静态路由时与创建的 BFD会话名称绑定即可,如果会话出现问题,静态路由则不再加 IP路由表。

2 BFD与 IGP ospf、 rip、 isis)的联动
直接在IGP进程下启用 BFD会话即可,邻居出现问题立马收敛。

3 BFD与 BGP的联动
在BGP进程下制定 peer建立 BFD会话,邻居出现问题立马收敛。

4 BFD与 VRRP的联动
先创建BFD会话,然后在创建 VRRP时与创建的 BFD会话名称绑定即可,如果会话出现问题,则会更改优先级。

5 BFD单臂回声功能;

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优质网络系统领域创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值