一种基于BFD检测的IP快速重路由解决方案

时间:2022-10-26 12:41:06

一种基于BFD检测的IP快速重路由解决方案

摘要:IP网络从设计上而言并不能够保证报文的可靠传输和收敛性。但由于IP网络具有的灵活性和扩展性,现代运营商建网的时候IP网络使用越来越广泛。运营商级IP承载网要求网络在出现故障时快速收敛,具有电信级可靠性。文章提出一种基于BFD(Bi-directional Forwarding Detection)检测的IP快速重路由技术(Fast Reroute),能够提供IP网络很好的保护,满足电信级要求。

关键词:BFD检测;IP快速重路由技术;IP网络;故障检测;路由计算

中图分类号:TP393文献标识码:A文章编号:1009-2374(2009)10-0074-02

IP网络的设计原则是逐包尽力转发的不可靠网络,但由于IP网络所具有的灵活性和可扩展性,它逐步取代传统的电路域网络,成为目前运营商网络建设的主流,IP承载网和城域网应用越来越广泛。这些网络需要电信级可靠性,在发生故障以后收敛时间小于50ms。而且一些新业务如视频等对时延要求更严格。

为此业界对各种路由协议进行优化,例如各种定时器退避算法和Fast Flood等,但是收敛速度还是只能达到秒级。考察IP路由的重新下发主要有如下几个环节:(1)检测网络链路故障所需要的时间;(2)路由信息在整个网络中重新扩散的时间;(3)根据新的路由信息表计算转发表现的时间;(4)路由下发到转发硬件所花费的时间。

其中故障检测和路由计算耗费的时间占主要部分。因此需要重点解决故障检测和路由转发表的重新建立,本文介绍了针对这两个问题的解决方法。

一、快速故障检测

IP网络的承载网一般是以太网,它不像POS那样有硬件检测机制,需要借助上层协议的Hello机制,例如IS-IS和OSPF的Fast Hello检测时间都只能达到秒级,而且不通用。双向转发检测(BFD,Bi-directional Forwarding Detection)是一种通用高速Hello机制,能够为网络各层提高一种通用的检测机制,而且适合多种转发路径。

BFD没有自己的邻居发现机制,要靠被服务的上层应用通知它有关邻居信息。在获取邻居信息以后,两台BFD设备上建立会话并周期快速发送BFD报文。如果在检测时间内没有收到BFD报文,则认为双向转发路径出现故障,通知上层应用进行处理。BFD的主要协议报文是控制报文。BFD的工作流程主要是会话的建立和定时间隔的协商。会话建立采用三路握手方式来进行,见图1。

1.开始时Router A和Router B接到上层应用通知以后处于Down状态,并发送状态为 Down的BFD控制报文。

2.路由器收到对端发送的BFD Down报文以后,本地会话的状态迁移到Init,并发送状态为Init的BFD控制报文。

3.当路由器收到对端的BFD Init报文以后状态切换到Up,并发送状态为Up的BFD控制报文。

当两端的状态都切换到Up以后,BFD会话就建立起来了。会话建立的同时,也会协商BFD控制报文的发送时间间隔和检测时间间隔。在BFD会话的有效期间,这些时间间隔可以进行重新协商。BFD会话两端的时间间隔协商是独立的,两边可以不同。BFD会话建立以后,双方以协商的间隔发送BFD控制报文。当一方收到对端的BFD控制报文以后重置本地检测定时器,保持会话的Up。如果检测时间内没有收到则将会话状态迁移到Down并通知上层业务模块。

BFD使用要和上层路由协议关联起来,一般是和IGP或EGP协议,也可以是RSVP。为了提高BFD检测的精度,多核系统中一般用专门的CPU运行BFD会话。

二、快速重路由

IP快速重路由(IP Fast Reroute, IP Frr)的原理主要是为每条路由提前计算一条备份路由,当路由器检测到链路故障时不是立即进行路由信息的扩散而是先切换到备份路由进行转发,直到整个网络恢复正常。

图2 IP Frr的工作原理

在上面的组网,正常情况下从B到E的路由经过路由器D,当B到D之间的链路发生故障是,选择备份链路C进行转发。IP Frr原理简单,都是在现有路由协议上进行修改,其难点主要是:

1.如何保证全网无环情况下计算有效备份路径。

2.如何解决各路由器之间转发表项不一致造成的局部“微环”。

IP Frr的方案较多,目前广泛使用的是无环替代网络(Loop Free Alternate,LFA)。其基本思想是借助SPF(Shortest Path Forwarding)为每一种下一跳计算一个全网无环备份下一跳。下发正式下一跳的时候携带备份下一跳到抓发表(FIB)。备份下一跳选择需要满足:

Cost(备份下一跳,目的)《 cost(备份下一跳,源)+ cost(源,目的)

以OSPF的SPF为例:

图 3OSPF的备份路径计算

从源A到目的D正常下一跳通过SPF计算,而备选节点C到源A和目的D的开销需要在A上用C作为根计算得到。具体SPF的计算方法没有新的东西,此处不再重复。LPA算法有三个概念要关注:

1.共享风险链路组(Share Risk Link Group,SRLG):当网络中多条链路都会由于同一个故障导致不可用,那么这多条链路就是一个SRLG。如图2中,从源A到目的D的链路都经过B。B出现故障都有影响,因此源A到D的全部链路就是一个SRLG。

2.链路保护(Link Protection):从源到目的的主用下一跳所在的链路出现故障时,如果使用替换下一跳可以保证到目的流量正常转发,那么这个替换下一跳就可以提供链路保护。

3.节点保护(Node Protection):当网络设备上从源到目的的主用下一跳所对应的节点发生故障时,如果用替换下一跳可以保证正常转发,那么替换下一跳就能够提供节点保护。

与IP Frr一同使用的还有一种路由表的组织优化技术。实际网络中EGP的路由表往往很大,有几十万条,需要通过迭代到IGP中来找到真实出接口和下一跳(即组织FIB表)。如果IGP变化,重新迭代EGP路由要很多时间。从实际组网而言,EGP路由往往从数目不多的EGP Peer中学到,即迭代钱下一跳数目有限。因此如果记录下非直连下一跳和迭代后真实下一跳对应关系并保留下来就可以实现快速切换。

三、IP Frr的配置举例

图4 应用组网

上面的组网中实现从接口1到接口2的链路保护,以OSPF为例,假设通过B的链路1为主用链路,通过C的链路2为备份链路。以Router A为例:(1)先配置OSPF功能;(2)配置BFD功能;(3)在OSPF上用自动Frr,也可以配置规则使能Frr。此外要使A到B的链路cost最低。

B和C需要配置OSPF和BFD即可,C和D只要配置OSPF即可。

IP Frr虽然能够在很多程度上进行网络的保护,但是它增加了网络的复杂性,使得网络的性价比有降低。但是不失为一种有效的网络实施方案。

参考文献

[1]D.Katz,D.Ward Generic Application of BFD.draft-ietf-bfd-generric-03.txt[S].2007,(3).

[2]D.Katz,D.Ward.Bidirectional Forwarding Detection. dfaft-ietf-bfd-base-06.txt[S].2007,(3).

[3]M.Shand.S.BryantIP.Fast.Reroute.Framework.draft-ietf-rtgwr-ipfrr-framework-08.txt[S].2008,(11).

[4]Tian.A.Fast.Reroute.Usin.g.Alternative.Shortest.Paths.draft-

tian-frr-alt-shortest-path-01[S].2008,(4).

作者简介:龚铁柱(1974-),男,安徽巢湖人,杭州华三通信有限公司软件项目经理,研究方向:IP单播、组播路由和转发。

上一篇:钢筋混凝土楼板裂缝分析及其预防措施 下一篇:公路投标工地调查方法