一、简介
为了减小设备故障对业务的影响、提高网络的可用性,设备需要能够尽快检测到与相邻设备间的通信故障,以便能够及时采取措施,从而保证业务继续进行。
现有的故障检测方法主要包括以下几种:
硬件检测:例如通过SDH(Synchronous Digital Hierarchy,同步数字体系)告警检测链路故障。硬件检测的优点是可以很快发现故障,但并不是所有介质都能提供硬件检测。
慢Hello机制:通常采用路由协议中的Hello报文机制。这种机制检测到故障所需时间为秒级。对于高速数据传输,例如吉比特速率级,超过1秒的检测时间将导致大量数据丢失;对于时延敏感的业务,例如语音业务,超过1秒的延迟也是不能接受的。并且,这种机制依赖于路由协议。
其他检测机制:不同的协议有时会提供专用的检测机制,但在系统间互联互通时,这样的专用检测机制通常难以部署。
BFD(Bidirectional Forwarding Detection,双向转发检测)就是为了解决上述检测机制的不足而产生的,它是一套全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况,保证邻居之间能够快速检测到通信故障,从而快速建立起备用通道恢复通信。
二、工作机制
BFD提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一地快速检测两台路由器间双向转发路径的故障。
BFD在两台路由器或路由交换机上建立会话,用来监测两台路由器间的双向转发路径,为上层协议服务。BFD本身并没有发现机制,而是靠被服务的上层协议通知其该与谁建立会话,会话建立后如果在检测时间内没有收到对端的BFD控制报文则认为发生故障,通知被服务的上层协议,上层协议进行相应的处理。
1、工作流程
图1 BFD会话建立流程图(以OSPF为例)
BFD会话建立过程:
(1) 上层协议通过自己的Hello机制发现邻居并建立连接;
(2) 上层协议在建立了新的邻居关系时,将邻居的参数及检测参数都(包括目的地址和源地址等)通告给BFD;
(3) BFD根据收到的参数进行计算并建立邻居。
当网络出现故障时:
(1) BFD检测到链路/网络故障;
(2) 拆除BFD邻居会话;
(3) BFD通知本地上层协议进程BFD邻居不可达;
(4) 本地上层协议中止上层协议邻居关系;
(5) 如果网络中存在备用路径,路由器将选择备用路径。
三、检测方式
单跳检测:BFD单跳检测是指对两个直连系统进行IP连通性检测,这里所说的“单跳”是IP的一跳。
多跳检测:BFD可以检测两个系统间的任意路径,这些路径可能跨越很多跳,也可能在某些部分发生重叠。
双向检测:BFD通过在双向链路两端同时发送检测报文,检测两个方向上的链路状态,实现毫秒级的链路故障检测。(BFD检测LSP是一种特殊情况,只需在一个方向发送BFD控制报文,对端通过其他路径报告链路状况。)
四、BFD会话工作方式
控制报文方式:链路两端会话通过控制报文交互监测链路状态。
Echo报文方式:链路某一端通过发送Echo报文由另一端转发回来,实现对链路的双向监测。
五、运行模式
BFD会话建立前模式:主动模式和被动模式。
主动模式:在建立对话前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文;
被动模式:在建立对话前不会主动发送BFD控制报文,直到收到对端发送来的控制报文;
在会话初始化过程中,通信双方至少要有一个运行在主动模式才能成功建立起会话。
BFD会话建立后模式:异步模式和查询模式。
异步模式:以异步模式运行的路由器周期性地发送BFD控制报文,如果在检测时间内没有收到BFD控制报文则将会话down。
查询模式:假定每个系统都有一个独立的方法,确认自己连接到其他系统。这样,只要有一个BFD会话建立,系统停止发送BFD控制报文,除非某个系统需要显式地验证连接性。
六、BFD支持的应用
OSPF与BFD联动
OSPFv3与BFD联动
IS-IS与BFD联动
IPv6 IS-IS与BFD联动
RIP与BFD联动
静态路由与BFD联动
BGP与BFD联动
IPv6 BGP与BFD联动
MPLS与BFD联动
Track与BFD联动
IP快速重路由
七、OSPF与BFD联动配置举例
某公司通过一台二层交换机作为中继将两个相距较远的部门连接。Device A、Device B、Device C上运行OSPF,建立OSPF邻居关系,保证网络层相互可达。
已知Device A和Device C都支持BFD功能,要求使用OSPF与BFD联动技术,采用BFD控制报文方式实现当Device A或Device C与二层交换机之间的链路出现故障(如链路down)时,BFD能够快速感知并通告OSPF协议。
现要求通过在Device A和Device C上配置OSPF与BFD联动功能,实现:
监测通过L2 Switch通信的链路;
当链路出现故障时设备能够快速感知并通告OSPF协议,快速切换到Device B链路进行通信。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Device A |
Vlan-int10 |
10.1.0.101/24 |
Device B |
Vlan-int20 |
192.168.0.102/24 |
|
Vlan-int20 |
192.168.0.101/24 |
|
Vlan-int30 |
13.1.1.101/24 |
|
Vlan-int100 |
120.1.1.1/24 |
|
|
|
Device C |
Vlan-int10 |
10.1.0.102/24 |
|
|
|
|
Vlan-int30 |
13.1.1.102/24 |
|
|
|
|
Vlan-int100 |
121.1.1.1/24 |
原文:https://www.cnblogs.com/aqicheng/p/13037992.html