双向转发检测(BFD)在电力信息网第二汇聚点中的应用

2014-05-30 21:33刘少君邹昊东夏飞
中国电力教育 2014年9期

刘少君?邹昊东?夏飞

摘要:双向转发检测(Bidirectional Forwarding Detection,简称BFD)是一种快速检测IP网络链路和通道连接型的机制。国网江苏省电力公司在电力信息网第二汇聚点建设中采用了BFD,并取得了较好的效果。对BFD技术协议和典型应用进行了介绍,结合第二汇聚点的建设进行了分析。

关键词:BFD;NAT;第二汇聚点

作者简介:刘少君(1980-),男,江苏南京人,南京供电公司,工程师。(江苏 南京 210097)邹昊东(1987-),男,江苏射阳人,江苏省电力公司信息通信分公司。(江苏 南京 210024)

中图分类号:TM72 文献标识码:A 文章编号:1007-0079(2014)09-0250-02

随着国家电网公司集中式信息系统灾备中心建设的不断深入,越来越多的业务系统现在都集中部署在国家电网公司的三个灾备中心。为了支撑集中式数据(灾备)中心建设、增强信息网络容灾能力,国家电网公司开展了省级电力公司信息网络的第二汇聚点建设。

在主汇聚点和第二汇聚点路由选择方面,传统的动态/静态路由协议存在着一些不足:部分路由协议采购“HELLO”包机制进行故障检测,故障发现/修复时间超过1秒钟;防火墙在启用NAT功能时,动态路由在回报路径选择上存在不确定性;静态路由在探测网络故障上存在不足。为了保证主汇聚点和第二汇聚点的切换迅速准确,国网江苏省电力公司采用BFD加静态路由的方式,大大缩短了网络故障响应时间,提高了信息网络的可靠性。

一、BFD技术及工作原理

1.BFD的产生背景

传统的IP网络通过路由协议的收敛来避开网络的故障链路和节点,这种修复方式往往要耗费数秒的时间,当数据速率到吉比特时,修复时间长代表着大量数据的丢失,并且随着语音、视频等新网络业务的出现,现有的IP网络在快速收敛方面的不足显得越发明显。[1]

在没有硬件信号发送的情况下,以前的路由协议通常采用发送HELLO报文的侦测机制。HELLO报文的侦测时间一般都大于1秒,这个时间对于一些特殊的应用来说太长了,无法侦测和发现在短时间内发生的链路状态。

2.BFD的定义

故障检测的速度是决定网络路由重新收敛的一个重要环节。传统的“HELLO”机制的故障检测时间都在1s以上,在当前网络数据传输速率日益增大的情况下,会导致大量报文的丢失。BFD故障检测技术应运而生。BFD提供了一种通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为上层协议实现毫秒级的快速故障的检测。[2,3]

BFD(Bidirectional Forwarding Detection,双向转发检测)是一套全网统一的故障快速检测机制,用于快速检测、监控网络链路连通或者IP路由连通状况,保证邻居节点之间能够快速检测到故障,从而快速重新建立路由,恢复信息网络通信。

3.BFD的工作机制

BFD提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一地快速检测两台路由器间双向转发路径的故障。BFD在两台网络设备上建立会话,用来监测两台网络设备间的双向转发路径,为上层通信协议服务。BFD本身没有主动发现机制,而由被服务的上层协议通知其与对端建立会话,会话建立后如果在检测时间内没有收到對端的BFD控制报文则认为对端设备故障,通知被服务的上层协议,上层协议进行相应的处理。

4.BFD会话建立流程

BFD协议本身没有邻居发现的机制,而是靠被服务的上层协议通知其与哪个对端建立会话。[4,5]BFD会话建立模式包括主动和被动两种。主动模式设备主动向对端设备发送BFD控制报文。被动模式设备在收到对端的控制报文后才会做出相应的报文回应。因此,建立一条BFD会话连接的前提条件必须是至少有一端的设备是处于主动模式。以一端处于主动模式另一端处于被动模式来介绍BFD会话建立的过程。图1是会话建立的握手过程。

第一,主动端和被动端都处于DOWN状态,主动方收到上层协议通知后,向被动端发送BFD控制报文:DOWN。

第二,被动端收到主动端发来的DOWN控制报文后,本端状态从DOWN转换成INIT,然后向主动端返回报文:INIT。

第三,主动端收到被动端的INIT的报文后,本端状态从DOWN转为UP,然后向被动端发送报文:UP。

第四,被动端接收到对端报文UP后,将本端状态从INIT转为UP。

第五,主动端和被动端的状态都为UP,主动端和被动端两侧建立好BFD会话并开始进行链路状态的检测。

5.BFD定时器协商机制

在两端BFD会话建立前,BFD报文发送间隔不小于1000ms。BFD会话建立后,两端将会以协商好的时间间隔发送报文来检测网络链路。为达到最优的检测效果,两端控制报文的发送时间间隔及检测时间在会话建立后可随时协商修改。BFD控制报文发送时间间隔是本端Desired Min TX Interval与对端Required Min RX Interval两者的最大值,本端BFD检测时间等于对端BFD报文中的Detect Mult乘以协商好后的对端报文的发送时间间隔。主动端和被动端定时器参数协商交互流程如图2所示。

第一,N1发起定时器参数协商请求,修改报文发送间隔T为60ms,接收间隔R为20ms,检测乘数D为6。N1发送的协商报文中将P置位为1,报文中携带协商的定时器参数。

第二,N2收到对端P置位的报文,对比自身报文发送参数,发送F置位的回应报文并携带本端可以接受的时间参数:发送间隔T为30ms,接收间隔R为50ms,检测参数D为4。

第三,N1接收到F置位的报文,根据其所携带的信息,保证满足其最低要求来确定自身的参数。

第四,根据定时器协商机制,两端的发送时间间隔和检测时间的协商结果是:N1发送间隔T为60ms,接收间隔R为30ms,N2发送间隔T为30ms,接收间隔R为60ms,检测乘数D不参与协商。N1检测时间=N2发送间隔T30ms*N2检测乘数D4=120ms,N2检测时间=N1发送间隔T60ms*N1检测乘数D6=360ms。

6.BFD故障检测

BFD会话建立及定时器协商好后,会话两端将根据协商好的时间间隔互发BFD报文。如果本端在检测时间内没有收到对端的BFD报文,BFD机制将认为会话两端的网络链路中断,将本端的会话状态由UP转为DOWN,同时通知上层协议进行故障处理。

二、BFD在第二汇聚点中的部署

1.电力信息网结构

本文介绍的电力信息网是省级电力公司主汇聚点和第二汇聚点的典型结构。主汇聚点一般位于省会城市,第二汇聚点一般位于省内的其他城市。主汇聚点和第二汇聚点各有一台CE路由器,CE路由器横向互联;主汇聚点和第二汇聚点另各有一台防火墙与接入路由器,接入路由器通过防火墙与CE路由器互联;主汇聚点和第二汇聚点的接入路由器通过省内信息网与地市公司互联。

通常情况下,CE路由器和接入路由器之间可以运行动态路由协议,此时防火墙采用透明模式。但如果省公司采用的不是国家电网公司统一分配的IP地址,需要在防火墙上进行地址转换(NAT)时,接入路由器、防火墙和CE路由器之间选择怎样的路由协议需要仔细考虑(见图3)。

2.路由协议的选择

(1)动态路由协议。主汇聚点和第二汇聚点的CE路由器、防火墙和接入路由器可采用动态路由协议。采用动态路由协议可以及时感知主汇聚点和第二汇聚点的设备与链路故障,并进行自动切换,但经过测试存在以下不足:

1)如果防火墙使用路由模式且参与OSPF协议的运行,因为广域网路由条目较多,这将增大防火墙的运行压力。虽然现有的防火墙都支持OSPF协议,但实践证明现有防火墙在运行多路由条目的动态路由协议时,会出现不稳定的情况。另外,使用HA模式的防火墙运行OSPF,对于主备防火墙之间同步也存在风险,容易出现异常情况,导致网络出现波动。一旦产生影响,将影响整个网省公司与国家电网公司的互连。

2)如果防火墙采用透明模式,也就是说CE路由器和接入路由器建立OSPF邻居,但是防火墙需要启用NAT功能。从理论上来说,也是可行的。但是逻辑拓扑结构复杂,需要考虑OSPF报文穿越防火墙的问题,另外还涉及到主备防火墙的切换问题。不利于故障出现时,快速隔离故障、恢复业务。

由此可见,在需要进行IP地址转换的条件下,主汇聚点和第二汇聚点之间运行动态路由协议并不是最佳方案。

(2)静态路由协议。主汇聚点和第二汇聚点的CE路由器、防火墙和接入路由器也可以采用静态路由协议,但是静态路由协议在发现故障方面存在先天缺陷。例如主汇聚点的CE路由器出現故障时,主汇聚点的接入路由器因为与防火墙之间的链路和端口是正常的,静态路由仍然正常工作,数据包会继续流向防火墙,此时防火墙已与CE路由器中断,从而导致网络故障。

(3)静态路由的BFD检测。使用BFD+静态路由的组网模式既可以弥补静态路由缺少故障探测的弱点,又可以使得网络快速收敛。此时,静态路由作为上层应用,BFD作为底层探测协议,一旦探测对端失败,那么通知上层协议静态路由来DOWN掉配置的路由,进而完成切换。例如主汇聚点的CE路由器出现故障时,BFD探测到主汇聚点接入路由器无法到达CE路由器,BFD主动通知静态路由协议将原先静态路由置为失效状态,此时数据流量通过第二汇聚点到达国家电网公司,从而达到故障自动发现、业务快速恢复的目的。同时,在主汇聚点和第二汇聚点使用静态路由协议,只需要将江苏公司的地址发布给国家电网公司即可,路由条目简单明了,在出现故障时也能迅速隔离故障、恢复业务。

三、结束语

BFD作为一种常用的网络检测技术应用的场景很多,在电力信息网第二汇聚点的建设中使用BFD技术能够很好地保证主汇聚点和第二汇聚点的顺利切换,从而确保国家电网公司与下属网省公司的级联贯通。

参考文献:

[1]宋哲.IP快速重路由技术的研究[D].成都:电子科技大学,2010.

[2]陈利兵.BFD技术在IP承载网中的应用[J].现代电信科技,

2008,1(1):61-64.

[3]徐俊,秦艺力,唐淼,等.通信IP网BFD应用的研究[J].电子设计工程,2012,20(3):39-43.

[4]Katz D,Ward D.Bidirectional Forwarding Detection[M].IETF RFC5880,2010.

[5]Katz D,Ward D.Generic Application of Bidirectional Forwarding Detection[M].IETF RFC5882,2010.

(责任编辑:孙晴)