AI赋能,重塑校园服务新范式,锐捷AI校园百事通应用发布会
预约直播
产品
< 返回主菜单
产品中心
产品

交换机

交换机所有产品
< 返回产品
交换机主页
交换机

无线

无线所有产品
< 返回产品
无线主页
无线

云桌面

云桌面产品方案中心
< 返回产品
云桌面主页
云桌面

安全

安全所有产品
< 返回产品
安全主页
安全

【交换机】配置BFD的场景和功能原理是什么?

发布时间:2013-11-17
点击量:22084

应用场景:
BFD协议本身不会起到特别的有实际意义的功能作用,他需要与其他协议配合才能发挥较大的用途,比如与静态路由,OSPF路由,VRRP协议,策略路由等联动,利用BFD的链路检测功能,感知到网络中的感兴趣链路或者是中间节点设备出现故障时候,引起BFD邻居down,从而通知对应的联动功能,比如静态路由,OSPF路由,VRRP协议,策略路由等进行路由策略,或者主备关系的切换,依赖于BFD的报文机制,可以实现故障时的ms级切换。

BFD所具备的ms级的链路感知与切换的特性,使他特别适用于一些对丢包,延迟比较敏感的环境,比如金融行业的省市县级的双出口MSTP线路组网的环境,当某条运营商的链路或者是互联设备故障的时候能马上切换到另外一条备份链路,同时还需要通知上层OSPF协议做重新收敛,这个时间如果是普通的OSPF协议从邻居down到路由重新收敛至少需要40s-50s,而这个时间对于金融的生产业务来说是无法忍受的,但是如果与BFD联动,将缩短到1s。所以BFD功能在一些对网络可靠性,稳定性,容错性要求比较高的行业会容易用到,比如金融,医疗,运营商行业中。

功能原理

BFD:(Bidirectional Forwarding Detection,双向转发检测)协议提供一种轻负载、快速检测两台邻接路由器/交换机之间转发路径连通状态的方法,它是一个简单的“Hello”协议,在很多方面,它与那些著名的路由协议的邻居检测部分相似。一对系统在它们之间的所建立会话的通道上周期性的发送检测报文,如果某个系统在足够长的时间内没有收到对端的检测报文,则认为在这条到相邻系统的双向通道的某个部分发生了故障协议邻居通过该方式可以快速检测到转发路径的连通故障,加快启用备份转发路径,提升现有网络性能。
BFD 提供的检测机制与所应用的接口介质类型、封装格式、以及关联的上层协议如 OSPF、BGP、RIP 等无关。BFD 在两台路由器之间建立会话,通过快速发送检测故障消息给正在运行的路由协议,以触发路由协议重新计算路由表,大大减少整个网络的收敛时间。BFD 本身没有发现邻居的能力,需要上层协议通知与哪个邻居建立会话。
   
BFD报文格式
BFD发送的检测报文是UDP报文,定义两种类型的报文
建立BFD会话时缺省采用版本1,如果收到对端系统发送的是版本0的报文,将自动切换到版本0。可以通过show bfd neighbors命令查看采用的版本。
1)控制报文
其格式如下:


 
Vers:BFD协议版本号,目前为1
Diag:诊断字,标明本地BFD系统最近一次会话状态发生变化的原因
Sta:BFD本地状态
P:参数发生改变时,发送方在BFD报文中置该标志,接收方必须立即响应该报文
F:响应P标志置位的回应报文中必须将F标志置位
C:转发/控制分离标志,一旦置位,控制平面的变化不影响BFD检测,如:控制平面为ISIS,当ISIS重启/GR时,BFD可以继续监测链路状态
A:认证标识,置位代表会话需要进行验证
D:查询请求,置位代表发送方期望采用查询模式对链路进行监测
R:预留位
Detect Mult:检测超时倍数,用于检测方计算检测超时时间
Length:报文长度
My Discreaminator:BFD会话连接本地标识符
Your Discreaminator:BFD会话连接远端标识符
Desired Min Tx Interval:本地支持的最小BFD报文发送间隔
Required Min RX Interval:本地支持的最小BFD接收间隔
Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔(如果本地不支持Echo功能,则设置0)
Auth Type:认证类型,目前协议提供有
 Simple Password
 Keyed MD5
 Meticulous Keyed MD5
 Keyed SHA1
 Meticulous Keyed SHA1
 Auth Length:认证数据长度
Authentication Data:认证数据区
其中认证部分为可选部分,可以在报文中选择使用,其中认证方式可以有:Simple Password、Keyed MD5、Meticulous Keyed MD5、Keyed SHA1、Meticulous Keyed SHA1。协议定义了控制报文所使用的UDP目的端口号为3784。
2)回声报文(ECHO)
BFD协议并未定义回声报文的格式,但是对于回声报文,其格式只是与本地相关,远端只需把此报文在反向通道上返回,回声报文的源目的IP相同。


会话建立
BFD在检测前,需要在通道两端建立对等会话,会话建立以后以协商后的速率各自向对端发送BFD的控制报文来实现故障检测。其会话检测的路径可以是标记交换路径,也可以是其它类型的隧道或是可交换以太网。
1)会话初始化过程
对于BFD会话建立过程中的初始化阶段,两端是主动角色还是被动角色是由应用来决定的,但是至少有一端为主动角色。
2)会话建立过程
会话建立过程是一个三次握手的过程,经过此过程后两端的会话变为Up状态,在此过程中同时协商好相应的参数,以后的状态变化就是根据缺陷的检测结果来进行,并做相应的处理。其状态机迁移如下:


 
以BFD会话连接建立过程为例,简要介绍状态机迁移过程:


 
A、B两站启动BFD,各自初始状态为“down”,发送BFD报文携带状态为“down”
B站收到状态为“down”的BFD报文,本地状态切换至“init”,发送BFD报文携带状态为“init”
B站本地BFD状态为“init”后,再接收到状态为“down”的报文不做处理
A站BFD状态变化过程同上
B站收到状态为“init”的BFD报文,本地状态切换至“up”
A站BFD状态变化过程同上
A、B两站在发生“down => init”变化后,会启动一个超时定时器,该定时器的作用是防止本地状态阻塞在“init”(有可能AB连接此时断连,会话不能正常建立),如果在规定的时间内仍未收到状态为“init/up”的BFD报文,则状态自动切换回“down”
本地状态UP标志会话建立成功

DLDP和BFD的区别:
1、DLDP只能用于以太接口;BFD与接口无关,任意两个邻居建均可建立BFD关系;
2、DLDP利用ICMP报文探测;BFD使用协议自身探测报文;
3、DLDP是单向检测行为,可以单向使用;BFD是双向联动探测行为,两端都要启用;
4、DLDP基于接口,即探测失败后,逻辑上shutdown该接口(SVI,no switchport,三层AP口),和接口相关的路由均失效;BFD是基于邻居对,即探测一对邻居间的联通性,只对和该BFD关联的路由条目进行处理,控制粒度相对更精细。

 

相关产品

返回顶部

收起
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式
是否找到您想要的内容?
您遇到了什么问题?
找不到想要的信息
筛选功能不好用
加载速度太慢
页面体验差
提交
您是否找到了与产品相关的文档
筛选功能是否帮助您更快找到所需的文档?
有帮助
一般
没有帮助
没用过
请问您遇到了什么问题?
需要填写的内容太多
有些信息不懂怎么填
页面有问题/错误
其他
确定
这些客户案例是否对您有帮助?
非常有帮助
比较有帮助
没有帮助
请您对这个客户案例进行评价
兴趣度
相关性
可信度
确定
感谢您的反馈!
感谢您的反馈!