• 你知道BFD是什么吗?一文详解BFD协议原理及使用场景


    随着网络应用的广泛部署,网络发生故障极大可能导致业务异常。为了减小链路、设备故障对业务的影响,提高网络的可靠性,网络设备需要尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务正常进行。

    BFD(Bidirectional Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状态。

    在无法通过硬件信号检测故障的系统中,应用通常采用上层协议本身的Hello报文机制检测网络故障。

    常用路由协议的Hello报文机制检测时间较长,检测时间超过1秒钟。当应用在网络中传输的数据超过GB/s时,秒级的检测时间将会导致应用传输的数据大量丢失。

    在三层网络中,静态路由本身没有故障检查机制。

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

    对相邻转发引擎之间的通道提供轻负荷、快速故障检测。

    用单一的机制对任何介质、任何协议层进行实时检测。

    BFD是一个简单的“Hello”协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发生了故障。

    BFD检测是通过维护在两个系统之间建立的BFD会话来实现的,系统通过发送BFD报文建立会话。

    BFD控制报文根据场景不同封装不同,报文结构由强制部分和可选的认证字段组成。

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

    BFD使用场景

    静态路由自身没有检测机制,如果静态路由存在冗余路径,通过静态路由与BFD联动,当主用路径故障时,实现静态路由的快速切换 。

    静态路由与BFD联动应用广泛,如下图中R1是园区网的出口路由器,R1通过两条链路分别连接ISP1和ISP2,正常情况下默认路由经过的链路为指向ISP1的链路,当通往ISP1的链路出现故障的时候,BFD会话能够快速感知,并通知路由器将流量切换到指向ISP2的链路。

    OSPF在未绑定BFD的情况下,链路故障检测时间由协议Hello机制决定,通常是秒级。通过绑定BFD,可以实现毫秒级故障检测。

    BFD与OSPF联动就是将BFD和OSPF协议关联起来, BFD将链路故障的快速检测结果告知OSPF协议。

  • 相关阅读:
    Python 基础问题
    云原生周刊:CNCF 宣布 Cilium 毕业 | 2023.10.16
    mysql创建数据库时的常见约束
    BeeWare官方教程中文版
    《安富莱嵌入式周报》第280期:支持在线仿真编程的网页版电子开发,CAN总线防攻击实现,BigFAT 规范打破了 FAT 每个文件 4GB 的限制
    hermite、三次样条插值算法 调用matlab函数、代码实现
    Java版CRM客户管理系统源码 CRM小程序源码
    中睿天下受邀参加2023北京数字交通大会暨博览会并发表主题演讲
    hyperledger fabric2.4测试网络添加组织数量
    IDEA中如何配置多个版本的JDK
  • 原文地址:https://blog.csdn.net/zhynet000001/article/details/125501721