【华为数据通信】BFD是什么?

news2024/11/20 11:40:11

一、概述

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

  • 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。
  • 用单一的机制对任何介质、任何协议层进行实时检测。

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

二、BFD工作原理

报文结构

BFD检测是通过维护在两个系统之间建立的BFD会话来实现的,系统通过发送BFD报文建立会话。
BFD控制报文根据场景不同封装不同,报文结构由强制部分和可选的认证字段组成。

Ver:BFD协议版本号,目前为1。
Diag:诊断字,标明本地BFD系统最近一次会话状态发生变化的原因。
P:参数发生改变时,发送方在BFD报文中置该标志,接收方必须立即响应该报文。
F:响应P标志置位的回应报文中必须将F标志置位。
C:转发/控制分离标志,一旦置位,控制平面的变化不影响BFD检测。
A:认证标识,置1代表会话需要进行验证。
D:查询请求,置位代表发送方期望采用查询模式对链路进行监测。
M:为BFD将来支持点对多点扩展而设的预留位。
Length:报文长度,单位为字节。

会话建立

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

会话状态

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

想要华为数通配套实验拓扑和配置笔记的朋友们点赞+关注,评论区留下邮箱发给你!

检测模式

BFD的检测机制:两个系统建立BFD会话,并沿它们之间的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。BFD的检测模式有异步模式和查询模式两种。

检测时间

BFD会话检测时长由TX(Desired Min TX Interval),RX(Required Min RX Interval),DM(Detect Multi)三个参数决定。BFD报文的实际发送时间间隔,实际接受时间间隔由BFD会话协商决定。
    本地BFD报文实际发送时间间隔=MAX { 本地配置的发送时间间隔,对端配置的接收时间间隔 }
    本地BFD报文实际接收时间间隔=MAX { 对端配置的发送时间间隔,本地配置的接收时间间隔 }
    本地BFD报文实际检测时间:

  •                 异步模式:本地BFD报文实际检测时间=本地BFD报文实际接收时间间隔×对端配置的BFD检测倍数
  •                 查询模式:本地BFD报文实际检测时间 = 本地BFD报文实际接收时间间隔×本端配置的BFD检测倍数

BFD Echo功能

BFD Echo功能也称为BFD回声功能,是由本地发送BFD Echo报文,远端系统将报文环回的一种检测机制。
在两台直接相连的设备中,其中一台设备支持BFD功能(R1);另一台设备不支持BFD功能(R2),只支持基本的网络层转发。为了能够快速的检测这两台设备之间的故障,可以在支持BFD功能的设备上创建单臂回声功能的BFD会话。支持BFD功能的设备主动发起回声请求功能,不支持BFD功能的设备接收到该报文后直接将其环回,从而实现转发链路的连通性检测功能。

三、BFD应用场景

静态路由与BFD联动

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

OSPF与BFD联动

OSPF在未绑定BFD的情况下,链路故障检测时间由协议Hello机制决定,通常是秒级。通过绑定BFD,可以实现毫秒级故障检测。
BFD与OSPF联动就是将BFD和OSPF协议关联起来, BFD将链路故障的快速检测结果告知OSPF协议。

BFD会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。

四、BFD基本配置

创建BFD会话绑定信息,并进入BFD会话视图。

[Huawei] bfd session-name bind peer-ip ip-address [ vpn-instance vpn-name ] interface interface-type interface-number [ source-ip ip-address ]

创建使用组播地址作为对端地址的BFD会话,并进入BFD会话视图。

[Huawei] bfd session-name bind peer-ip default-ip interface interface-type interface-number [ source-ip ip-address ]

创建BFD for IPv6的绑定信息,并进入BFD会话视图。

[Huawei] bfd session-name bind peer-ipv6 ip-address [ vpn-instance vpn-name ] interface interface-type interface-number [ source-ipv6 ip-address ]

创建静态标识符自协商BFD会话

[Huawei] bfd session-name bind peer-ip ip-address [ vpn-instance vpn-name ] interface interface-type interface-number [ source-ip ip-address ] auto

创建单臂Echo功能的BFD会话

[Huawei] bfd session-name bind peer-ip ip-address [ vpn-instance vpn-name ] interface interface-type interface-number [ source-ip ip-address ] one-arm-echo

配置BFD会话的本地标识符

[Huawei-bfd-session-test] discriminator local discr-value

配置BFD会话的远端标识符

[Huawei-bfd-session-test] discriminator remote discr-value

想要华为数通配套实验拓扑和配置笔记的朋友们点赞+关注,评论区留下邮箱发给你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1195829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s系列-kuboard 该操作平台的使用操作

文章目录 一、相关平台,以及账号和密码镜像打包服务器仓库地址K8s平台数据库mysql 二、平台概述1.集群导入2.集群管理3.名称空间4.访问控制授权5.集群用户操作审计 三、kuboard平台操作手册一、部署服务操作1.名称空间部署2.工作负载部署 一、相关平台,以…

【中国知名企业高管团队】系列64:燕京啤酒

昨天,华研荟介绍了中国可能是最大的啤酒企业:青岛啤酒。接下来介绍总部位于北京的另一家啤酒企业——燕京啤酒。 当我想寻找官方的信息时发现坏了——燕京啤酒的官方PC网站竟然无法打开!倒是设立了一系列的微信公众号,看第一个官…

cmake_install.cmake这个文件有什么用

2023年11月11日,周六上午 目录 简介 举例说明 简介 cmake_install.cmake是由 CMake 自动生成的一个脚本文件,用于在安装过程中执行各种安装操作。 请注意,cmake_install.cmake件是自动生成的,无需手动编辑或修改它。如果需要自…

postman 参数化使用csv导入外部数据

一、参数化脚本入参 postman中变量用{{变量名}}表示变量 二、创建外部数据文件 csv文件逗号分割多个变量和对应值注意编码格式必须为utf-8 三、run collection导入数据文件 四、设置运行参数run 浏览数据 可调试设置迭代次数:防止批量出错,可先设定…

响应式理工实验外语学校学院网站模板源码

模板信息: 模板编号:11862 模板编码:UTF8 模板颜色:蓝色 模板分类:学校、教育、培训、科研 适合行业:学校类企业 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统&#xff0c…

KCC@广州与 TiDB 社区联手—广州开源盛宴

10月21日,KCC广州与 TiDB 社区联手,在海珠区保利中悦广场 29 楼召开了一次难忘的开源盛宴。这不仅仅是 KCC广州的又一次线下见面,更代表着与 TiDB 社区及广州技术社区的首次深度合作。 活动的策划与组织由 KCC广州负责人 - 惠世冀、PingCAP 的…

spring boot configuration annotation processor notconfigured解决方法

spring boot configuration annotation processor notconfigured解决方法 一、问题描述二、解决方法 一、问题描述 我在使用ConfigurationProperties注解的时候idea出现提示信息spring boot configuration annotation processor notconfigured,但是却不影响程序的运…

Clickhouse学习笔记(4)—— Clickhouse SQL

insert insert操作和mysql一致 标准语法:insert into [table_name] values(…),(….)从表到表的插入:insert into [table_name] select a,b,c from [table_name_2] update 和 delete ClickHouse 提供了 Delete 和 Update 的能力,这类操作…

CodeWhisperer 史上最强大的 AI 编程助手!!

最近用了一个叫 CodeWhisperer 的插件,这个软件对于来说开发人员,插件有好多实用的功能,能有效减少我们的重复性工作,让编码更高效,代码质量也提升了很多。 CodeWhisperer 简介 CodeWhisperer 是亚⻢逊出品的一款基于…

GZ038 物联网应用开发赛题第3套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第3套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评…

C++---类的优化构造

首先,先介绍以下拷贝构造和构造的区别。 拷贝构造Date(Date& d)初始化:用一个实例对象去初始化一个未初始化的对象, 例:如果d1未被实例化,则Date d1 d2; 也会被编译器认为拷贝构造&#…

Springboot+vue的企业资产管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的企业资产管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的企业资产管理系统,采用M(model&a…

Shopee店铺支付方式有哪些? Shopee自养号测评提高产品曝光率的有效方法

Shopee作为一家领先的电子商务平台,如何优化你的Shopee店铺商品再结合自养号测评,并提高曝光率和销售能力,其中支付是至关重要一环之一。 虾皮为卖家提供了多种收款方式,包括在线支付、虚拟账户余额和线下支付。市场适应性也是卖…

2023最新版本 从零基础入门C++与QT(学习笔记) -2- 命名空间的使用

🎏在不同的命名空间变量名可相同 创建(如下方代码块) 🎄分析一下构成 🎈-1- namespace 关键字命名空间 🎈-2- wm9 空间名称 🎈-3-括号里边正常定义变量即可 namespace wm9 {int a 99;char b A;float c 9.99;char…

概念解析 | 认知战:21世纪的新战争形式

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:认知战 概念解析 | 认知战:21世纪的新战争形式 背景介绍 随着科技的飞速发展,信息技术深深渗透到各个领域,信息已经成为一种重要的战略资源。传统的战争形式主要依靠武力进攻,…

短视频矩阵seo系统源码搭建----技术定制化开发

一、需要遵循一下技术开发步骤: 1. 确定需求和功能:明确系统的主要目标和需要实现的功能,包括关键词研究、短视频制作、外链建设、数据分析、账号设置优化等方面。 2. 设计系统架构:根据需求和功能确定系统的架构,包…

【CCF-C解刊】4区逆袭到1区TOP,这本期刊实力强劲,34天录用,7天见刊!

计算机类 • 好刊解读 今天小编带来Elsevier旗下计算机领域好刊的解读,这本期刊从4区逆袭成为中科院1区(TOP),如此实力强劲的期刊,究竟如何? 如有相关领域作者有意向投稿,可作为重点关注&…

C++进阶-STL stack容器的简单认识

STL stack容器的简单认识 stack基本概念stack常用接口构造函数赋值操作数据存取大小操作 stack基本概念 stack是一种 先进后出 (First In Last out, FILO)的数据结构,它只有一个出口 栈只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈中进…

Error: “+“ and “-“ must be surrounded by whitespace in calculations.

加减之前一定要空格 改之前: 改之后: 然后就完美解决啦

2023美团外卖商超药店月销量

数据包含:外卖商超、药店商品月销量、含商品skuid、规格spuid等内容 资源下载 ​​​​​​​https://download.csdn.net/download/WANJIAWEN1002/88444367?spm1001.2014.3001.5503