BFD协议简介

1. 背景

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

为了保护关键应用,网络中会设计有一定的冗余备份链路,网络发生故障时就要求网络设备能够快速检测出故障并将流量切换至备份链路以加快网络收敛速度。

目前有些链路具备硬件检测机制来快速故障检测,但某些链路(如以太网链路)不具备这样的检测功能。这种情况下就需要上层协议自身的机制来进行故障检测。但大部分协议如OSPF,BGP等检测链路故障的速度都很慢,最快也需要1s的时间,而且这些功能只针对本协议有效,无法为其他的协议或者应用提供快速检测机制。这对于某些实时性较高的上层应用如音频,视频等是不能接受的。

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

2. 工作原理

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

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

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

3. BFD报文结构

3.1BFD控制报文

BFD控制报文包括两部分:强制部分和可选认证部分。

强制部分的报文格式是固定的,如下图所示:

可选认证部分根据认证的类型的不同而异,如下图所示:

BFD控制协议各字段代表的意义如下:

3.2BFD Echo报文

BFD Echo报文提供了一种不依赖于BFD控制报文的故障检测方法。本端发送本端接收,远端不对报文进行处理,而只是将此此报文在反向通道上返回。因此BFD协议并没有对BFD Echo报文的格式进行定义,唯一的要求是发送方能够通过报文内容区分会话。

BFD Echo报文采用UDP封装,目的端口号为3785,目的IP地址为发送接口的地址,源IP地址由配置产生(配置的源IP地址要避免产生ICMP重定向)。

4. BFD会话建立过程

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

#define BSM_AdminDown 0
#define BSM_Down 1
#define BSM_Init 2
#define BSM_Up 3

<< · Back Index ·>>

发表回复

相关推荐

来大神。这个女的叫什么名字??

如题!!百度图片不是这个人。

· 14秒前

稀缺到沒機會上車!深圳粵海街道後海村舊改規劃曝光

關於深圳粵海街道來聊聊深圳後海村吧,這個名字你可能沒怎麼聽說過,但其實在粵海街道,這塊土地可是上市公司的樂園,面積雖...

· 57秒前

建行大山白免年费了,确定不来一张?

建行大山白权益优秀,今年权益升级有3晚优惠酒店,自带1晚+消费达标送2晚,其余还有运动权益、接送机、代驾等优秀权益。

· 5分钟前

2023年大屏幕手機推薦,尺寸6.8寸以上手機推薦

如今都2023年瞭,不會還有人喜歡小屏幕手機吧。反正我不喜歡,除瞭辦公實用手機外,其餘時間我都是用手機娛樂的,畢竟人不能...

· 7分钟前

湖南省自然资源厅直属事业单位2023年公开招聘公告

湖南省第一测绘院、湖南省国土资源规划院系湖南省自然资源厅直属事业单位。

· 9分钟前