天天看点

利用BFD协议提高SD-WAN网络的故障收敛时间

BFD简介

为了减小设备故障对业务的影响、提高网络的可用性,设备需要能够尽快检测到与相邻设备间的通信故障,以便能够及时采取措施,从而保证业务继续进行。

现有的故障检测方法主要包括以下几种:

1.硬件检测:例如通过SDH(Synchronous Digital Hierarchy,同步数字体系)告警检测链路故障。硬件检测的优点是可以很快发现故障,但并不是所有介质都能提供硬件检测。

2.慢Hello机制:通常采用路由协议中的Hello报文机制。这种机制检测到故障所需时间为秒级。对于高速数据传输,例如吉比特速率级,超过1秒的检测时间将导致大量数据丢失;对于时延敏感的业务,例如语音业务,超过1秒的延迟也是不能接受的。并且,这种机制依赖于路由协议。

3. 其他检测机制:不同的协议有时会提供专用的检测机制,但在系统间互联互通时,这样的专用检测机制通常难以部署。

BFD(Bidirectional Forwarding Detection,双向转发检测)就是为了解决上述检测机制的不足而产生的,它是一套全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况,保证邻居之间能够快速检测到通信故障,从而快速建立起备用通道恢复通信。

工作机制

BFD提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一地快速检测两台路由器间双向转发路径的故障。

BFD在两台路由器或路由交换机上建立会话,用来监测两台路由器间的双向转发路径,为上层协议服务。BFD本身并没有发现机制,而是靠被服务的上层协议通知其该与谁建立会话,会话建立后如果在检测时间内没有收到对端的BFD控制报文则认为发生故障,通知被服务的上层协议,上层协议进行相应的处理。

实验拓扑:

利用BFD协议提高SD-WAN网络的故障收敛时间

Fortigate 配置:

利用BFD协议提高SD-WAN网络的故障收敛时间

3秒keepalive,9秒未接收到心跳报文,才会重新建立路由表,切换到另一条线路

利用BFD协议提高SD-WAN网络的故障收敛时间

未开启BFD检测的配置,3秒发送一个心跳报文,故障恢复时间大概9秒

利用BFD协议提高SD-WAN网络的故障收敛时间
利用BFD协议提高SD-WAN网络的故障收敛时间

开启bfd双向链路检测:

利用BFD协议提高SD-WAN网络的故障收敛时间
利用BFD协议提高SD-WAN网络的故障收敛时间

故障恢复时间ms级别,瞬间切换,感知不到故障现象

继续阅读