当前位置: 首页 > news >正文

BFD会话

一、BFD介绍

BFD(Bidirectional Forwarding Detection)会话,即为双向转发检测会话。通过不断给对方发包来进行监控,主要用于检测网络设备间的双向转发路径的连通性。

BFD其实就是一个双向的保活机制,可以和很多其他的协议进行联动,让那些没有保活机制的协议拥有保活机制,让那些本身就有保活机制的协议,拥有更快的保活机制(BFD可以做到毫秒级的保活)

二、BFD会话的建立

在BFD协议中,本地标识符远端标识符是用于唯一标识BFD会话的两个关键字段,确保会话的正确建立和维护。

  • Local Discriminator:本地标识符

  • Remote Discriminator:远端标识符

在BFD协议中,会话的建立分为静态会话动态会话两种模式,它们在标识符分配、配置方式及适用场景上有显著差异。

  • 静态会话:本地/远端标识符需要手工配置完成

  • 动态会话:有系统自动分配这两个标识符

BFD会话的状态主要分为:Down、Init、Up、AdminDown(由管理员手动关闭),其会话建立的过程如下:

1、A和B启动BFD配置,之后的初始状态为Down,发送的数据包中包含Down状态;

2、B收到状态为Down的BFD报文后,则进入到Init状态,之后发送的报文中包含Init状态;

3、A的变化和B相同;

4、B收到状态为Init的BFD报文后,则进入到Up状态,之后发送的数据包中包含Up状态;

5、A的变化和B相同。

不同状态接收到不同数据包的处理方法:

Down状态:

  • 收到Down状态的数据包:状态切换为Init

  • 收到Init状态的数据包:状态切换为Up

  • 收到Up状态的数据包:状态不发生变化

Iint状态:

  • 收到Down状态的数据包:状态不发生变化

  • 收到Init状态的数据包:状态切换为Up

  • 收到Up状态的数据包:状态切换为Up

Up状态:

  • 只有在用户手工关闭或者链路出现故障时,状态切换为Down,收到其余数据包时不发生变化。

三、BFD的配置

在BFD中,单挑检测多跳检测是两种典型的应用场景,分别针对不同网络范围内的链路或路径故障检测。这里配置配置单跳检测和多跳检测时,分别使用静态会话动态会话来做示例。

1、单挑检测(采用静态会话)

实验拓扑:

(1)基础配置

划分好对于的IP地址即可。

(2)激活BFD功能

R1上:
[r1]bfd
[r1-bfd]q

R2上:
[r2]bfd
[r2-bfd]q

(3)创建BFD会话

R1上:
[r1]bfd aa bind peer-ip default-ip interface g0/0/0

R2上:
[r2]bfd aa bind peer-ip default-ip interface g0/0/0

(4)配置BFD会话

R1上:
[r1-bfd-session-aa]discriminator local 1
[r1-bfd-session-aa]discriminator remote 2
[r1-bfd-session-aa]commit

R2上:
[r2-bfd-session-aa]discriminator local 2
[r2-bfd-session-aa]discriminator remote 1
[r2-bfd-session-aa]commit

(5)查看BFD会话状态

[r1]dis bfd session all

2、多跳检测(采用动态会话)

实验拓扑:

(1)基础配置

完成IP地址划分,并配置好对应静态路由,实现各设备互通。

(2)激活BFD功能

R1上:
[r1]bfd
[r1-bfd]q

R3上:
[r3]bfd
[r3-bfd]q

(3)创建BFD会话(动态会话)

R1上:
[r1]bfd aa bind peer-ip 23.0.0.2 source-ip 12.0.0.1 auto

R2上:
[r3]bfd aa bind peer-ip 12.0.0.1 source-ip 23.0.0.2 auto 

(4)查看BFD会话状态

[r1]dis bfd session all

四、BFD报文

抓包单挑检测场景的BFD进行分析:

五、BFD的回声模式

上面的配置为BFD的异步模式,也就是默认的模式,基于两台设备的双向检测。

回声模式中,发送的不再是普通的BFD报文,而是BFD ECHO报文。目标IP地址时自己本地的IP地址,目标MAC地址是对端的MAC地址(只能用于单跳检测的环境)。

  • 被动回声:在两台设备启动异步模式的基础上,将发送的报文替换成为ECHO报文。

  • 单臂回声:仅一台设备激活BFD,另一台设备不激活。

六、BFD和其它协议的联动

1、BFD和静态路由

静态路由无法感知路径故障,默认依赖接口状态(物理层Down)触发撤销,但某些场景会导致流量黑洞。还可以通过BFD检测主路径状态,故障时立即切换到备用静态路由。

其主要配置命令:

# 将该路由绑定到BFD会话中
[r1]ip route-static 0.0.0.0 0 12.0.0.2 track bfd-session aa

2、BFD和OSPF

OSPF默认依赖Hello报文检测邻居(Dead Timer通常为40秒),BFD可将故障检测时间缩短至毫秒级。

其主要配置命令:

# 对OSPF中的所有接口开启BFD会话,在建立邻居过程中自动完成BFD会话的建立
[r1-ospf-1]bfd all-interfaces enable

3、BFD和VRRP

默认VRRP依赖Advertisement报文(默认3秒),BFD可实现主备快速切换(毫秒级)。还可以通过BFD检测上行链路状态,确保主设备仅在链路完好时接管流量。

其主要配置命令:

# 将VRRP绑定到BFD会话中
[SW1-GigabitEthernet0/0/1]vrrp vrid 1 track bfd-session aa

http://www.xdnf.cn/news/147403.html

相关文章:

  • 【蓝桥杯】P12165 [蓝桥杯 2025 省 C/Java A] 最短距离
  • 【2025 最新前沿 MCP 教程 01】模型上下文协议:AI 领域的 USB-C
  • 数据库证书可以选OCP认证吗?
  • Redis的主从模式和哨兵模式
  • 文档驱动:“提纲挈领”视角下的项目管理中枢构建
  • 《深入理解计算机系统》阅读笔记之第四章 处理器体系结构
  • 乐视系列玩机------乐视系列机型mtk芯片 乐视x620 x600 x501 pro3 双摄x650等改写参数 步骤解析
  • 20242817-李臻-课下测试:网络编程高级I/O(AI)
  • AWX配置持久化 Playbook 目录
  • 【Linux】什么是完全限定域名
  • 基于ssm的音乐播放平台管理系统(源码+数据库)
  • ✨ Apifox:这玩意儿是接口界的“瑞士军刀”吧![特殊字符][特殊字符]
  • AI超级智能体项目教程(二)---后端项目初始化(设计knif4j接口文档的使用)
  • 操作指南:vLLM 部署开源大语言模型(LLM)
  • 居然智家启动“2025北居奥森健跑活动“以运动诠释企业健康共生理念
  • MySQL 表结构及日志文件详解
  • 美颜SDK动态贴纸实战教程:从选型、开发到上线的完整流程
  • Kafka与Spark-Streaming:大数据处理的黄金搭档
  • PPO 强化学习机械臂 IK 训练过程可视化利器 Tensorboard
  • netcore8.0项目发布到centos,利用nginx反向代理(宝塔面板篇)
  • C++初阶----模板初阶
  • C语言编程--17.有效的括号
  • 氢气泄漏应急预案应包括哪些内容?
  • 【资料推荐】LVDS Owner’s Manual
  • contenthash 持久化缓存
  • MODBUS转ProfiNet边缘计算网关驱动霍尼韦尔HPT温湿度仪表的动态控制闭环方案
  • Shell、Bash 执行方式及./ 执行对比详解
  • 网络通信的字节序
  • Postman-win64-7.2.2 安装教程(Windows 64位详细步骤)
  • API性能瓶颈分析与优化方法