前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图说网络技术——BFD,讲的太棒了!

图说网络技术——BFD,讲的太棒了!

原创
作者头像
网络技术联盟站
修改2021-04-23 17:53:20
6.7K0
修改2021-04-23 17:53:20
举报
文章被收录于专栏:网络技术联盟站

接着昨天的文章,今天给大家带来的是图说BFD。

BFD,英文全称Bidirectional Forwarding Detection,中文意思是双向转发检测,这是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。

为了保护关键应用,网络中会设计有一定的冗余备份链路,网络发生故障时就要求网络设备能够快速检测出故障并将流量切换至备份链路以加快网络收敛速度。目前有些链路具备硬件检测机制来快速故障检测,但某些链路(如以太网链路)不具备这样的检测功能。这种情况下就需要上层协议自身的机制来进行故障检测。但大部分协议如OSPF,BGP等检测链路故障的速度都很慢,最快也需要1s的时间,而且这些功能只针对本协议有效,无法为其他的协议或者应用提供快速检测机制。这对于某些实时性较高的上层应用如音频,视频等是不能接受的。

BFD就是在这种背景下产生的,它提供了一个通用的标准化的介质无关和协议无关的检测机制。

BFD思维导图
BFD思维导图

BFD思维导图

本文将围绕以下内容进行展开:

  • 原理
  • 会话建立方式
  • 检测机制
  • 会话管理(4种状态)
  • 应用场景

Part1目录:

1一、原理

1.1 BFD会话建立流程

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

BFD协议本身没有邻居发现机制,BFD邻居的创建依赖于上层的应用。根据BFD会话建立过程可以将其分为动态BFD和静态BFD。

  • 上层协议通过自己的Hello机制发现邻居并建立连接;
  • 上层协议在建立了新的邻居关系时,将邻居的参数及检测参数都(包括目的地址和源地址等)通告给BFD;
  • BFD根据收到的参数进行计算并建立邻居。

1.2 BFD故障处理流程

  • 链路故障时
  • bfd检测到故障,将bfd会话变为down
  • bfd通知上层应用链路失效
  • 上层应用做相应的措施

2二、会话建立方式

  • 动态BFD:是通过上层应用(例如OSPF)的邻居发现机制,有上层应用将邻居信息发送到BFD模块,BFD则根据接收到的邻居信息创建会话并建立自己的邻居。
  • 静态BFD:是通过静态配置手动添加对端的邻居信息来创建会话,静态BFD配置完后,会定时发送BFD控制报文。只有对端接口也开启BFD的情况下并对本端的BFD报文做出正确应答后,双方建立邻居信息。

区别:

在于本地标识符合远端标识符的配置方式不同。

  • 静态bfd会话,手工下发bfd会话建立请求。
  • 动态bfd会话,本地标识动态分配本地标识符通过bfd控制报文协商而来。

3三、检测机制

一共有两种检测模式:

  • 异步模式:BFD的主要模式。通过相互周期性地发BFD控制报文,判断会话状态,当连续多个报文没有收到,就认为BFD会话状态Down了。
  • 查询模式:当一个系统中存在大量BFD会话时,为防止周期性发送BFD控制报文影响到系统的正常运行,可以采用查询模式。不再周期性发送BFD控制报文,是通过与BFD无关的机制检测连通性(比如路由协议的Hello机制、硬件检测机制等),减少BFD会话的开销。

通过BFD会话,周期性发送BFD控制报文,在指定时间内没有收到BFD控制报文,则认为路径上发生故障。

4四、会话管理(4种状态)

BFD共有4种类型的控制报文维持BFD状态,分别为:BSM_AdminDownBSM_DownBSM_InitBSM_Up

  • 互发down报文,收到对方的down后,迁移到init状态
  • 互发init报文,收到对方的init报文后就迁移到UP

5五、应用场景

BFD检测IP链路

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part1目录:
    • 1一、原理
      • 1.1 BFD会话建立流程
      • 1.2 BFD故障处理流程
    • 2二、会话建立方式
      • 区别:
    • 3三、检测机制
      • 4四、会话管理(4种状态)
        • 5五、应用场景
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档