一种路由切换过程中建立bfd会话的方法和装置的制作方法

文档序号:7744177阅读:182来源:国知局
专利名称:一种路由切换过程中建立bfd会话的方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种路由切换过程中建立BFD会话的方法和装置。
背景技术
为了提升现有网络性能,协议邻居之间必须能够快速检测到通信故障,从而更快地建立起备用路径从而恢复通信。现有的故障检测方法主要包括以下几种其一、通过硬件检测信号快速检测到链路硬件上的故障,但很多网络设备并不能提供硬件检测信号或者不具有硬件检测功能,无法得到普遍应用。其二、采用路由协议中的Hello报文机制,但该机制检测到故障的时间较长,往往超过1秒钟,当数据达到吉比特速率级时,将会导致大量的数据丢失。其三、采用双向转发检测(BFD)机制。在上述三种检测方式中,BFD机制因其提供了一种通用的、标准化的、介质无关且协议无关的故障检测机制,从而得到了最为广泛的应用。BFD在两台网络设备上建立会话, 用来检测两台网络设备之间的双向转发路径,为上层协议服务。BFD本身没有邻居发现机制,而是靠上层协议通知其与邻居建立会话,如果在检测时间内没有收到对端回复的BFD 报文,则认为与邻居之间的路径发生故障,通知上层协议进行相应的处理。在现有的BFD机制与重路由机制相结合时,申请人发现在优选路由恢复使用后, 往往会导致BFD检测路径无法随着流量进行切换,造成系统可靠性较低的缺陷。具体可以如图1所示,从路由器A到路由器C存在两条冗余路由,路径A-B-C对应的优选路由,路径 A-D-C对应的备份路由。在优选路由对应的路径正常时,业务流量按照优选路由转发,路由模块在建立路由器A到C之间的路径A-B-C时,通知BFD模块在路径A-B-C上进行BFD检测。如果A-B-C路径出现故障,BFD模块检测出该故障后,删除BFD会话信息,并通知路由模块删除优选路由,并启用备用路由转发业务。当路由模块实现路径切换后,由于路由器A和 C之间已经没有BFD会话,因此,路由模块会通知BFD模块按照现有路由信息在路径A-D-C 上建立BFD会话,进行BFD检测。如果优选路由对应的路径恢复正常,路由模块确定优选路由的优先级高于备份路由,则备份路由将被删除,路由模块启用优选路由,即对应路径A-B-C,进行业务流量的转发。而由于在备份路由上建立的BFD会话并没有检测出故障,BFD模块不会主动删除基于备份路由的BFD会话信息,这就会造成业务流量与BFD检测在不同的路径上。如果当前业务流量的转发路径即优选路由对应的路径,发生故障,BFD模块是无法检测到的,只能依靠路由协议自身的检测机制进行故障发现和切换,从而带来较长时间的业务中断,降低了系统的可靠性。另外,如果此时备份路径出现故障,BFD模块检测到故障后,删除BFD会话信息, 通知路由模块出现故障。路由模块会删除现有的路由信息,而此时的路由信息是主路由,删除路由信息后,需要重新进行路由的计算,从而造成业务流量达到秒级的中断,也降低了系统的可靠性。

发明内容
有鉴于此,本发明提供了一种路由切换过程中建立BFD会话的方法和装置,以便于解决优选路由恢复使用后,业务流量转发与BFD检测所在路径不一致的问题,提高系统的可靠性。—种路由切换过程中建立双向转发检测BFD会话的方法,该方法包括A、路由模块在将优选路由替换现有路由后,将优选路由的信息通知给BFD模块, 其中,所述优选路由的优先级高于现有路由的优先级;B、所述BFD模块获取到所述优选路由的信息后,判断当前是否已经存在与所述优选路由的目的IP地址匹配的BFD会话信息,如果是,执行步骤C ;C、所述BFD模块按照所述优选路由的信息更新与所述优选路由的目的IP地址匹配的BFD会话信息。一种路由切换过程中建立BFD会话的装置,该装置包括路由模块和BFD模块;所述路由模块,用于在将优选路由替换现有路由后,将优选路由的信息通知给所述BFD模块,其中,所述优选路由的优先级高于现有路由的优先级;所述BFD模块,用于获取到所述优选路由的信息后,判断当前是否已经存在与所述优选路由的目的IP地址匹配的BFD会话信息,如果是,按照所述优选路由的信息更新与所述优选路由的目的IP地址匹配的BFD会话信息。由以上技术方案可以看出,本发明中路由模块在将优选路由替换现有路由后,采用反向通知的方式将优选路由的信息通知给BFD模块,使得BFD模块能够及时利用该优选路由信息对BFD会话信息进行更新,BFD会话所在的路径能够及时跟随路由进行切换,保证 BFD会话所在的路径与业务流量的转发路径一致,使得BFD模块能够及时检测到业务流量转发路径的故障,并进行及时切换,缩短业务中断的时间,提高了系统的可靠性;同时也能够避免因BFD会话所在路径与业务流量的转发路径不一致,造成BFD检测到故障后错误的删除无故障的路由信息,从而提高了系统的可靠性。


图1为一个主备路径组网示意图;图2为本发明提供的主要方法流程图;图3为本发明实施例提供的详细方法流程图;图4为本发明提供的装置结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的主要方法可以如图2所示,主要包括以下步骤步骤201 路由模块在将优选路由替换现有路由后,将优选路由的信息通知给BFD 模块,其中,优选路由的优先级高于现有路由的优先级。步骤202 =BFD模块获取到优选路由的信息后,判断当前是否已经存在与该优选路由的目的IP地址匹配的BFD会话信息,如果存在,执行步骤203。
步骤203 =BFD模块按照该优选路由更新已经存在的所述BFD会话信息。下面结合具体实施例对本发明提供的方法进行详细描述。仍以图1所示架构为例,在路由器A上配置路由模块和BFD模块相关联。图3为在图1所示的路由器A上实现路径切换的完整流程图,如图3所示,该流程包括以下步骤步骤301 路由器A上的路由模块学习到针对目的地为路由器C的路由后,将学习到的优选路由下发到路由表中,并向BFD模块下发针对目的地为路由器C的检测任务。在路由器A上,路由模块针对目的地为路由器C学习到两条路径对应的路由,即路径A-B-C对应的优选路由和路径A-D-C对应的备份路由。由于优选路由的优先级较高,路由模块选择该优选路由下发到路由表作为业务流量转发使用的路由。同时,路由模块会向与其关联的BFD模块下发检测任务,可以将路由器C的IP地址作为检测任务的目的IP地址下发给BFD模块,BFD模块开始将路由器C作为目的地建立 BFD会话。步骤302 =BFD模块根据路由表中的路由在BFD会话表中建立BFD会话表项。在路由器A中,各路径上的BFD会话信息都作为BFD表项存储并维护在BFD会话表中,BFD模块按照BFD会话表项中的信息进行BFD检测。BFD会话表项中包含BFD会话的目的IP地址和下一跳信息等。由于当前路由表中的路由为优选路由,因此,BFD模块建立的BFD会话表项中可以包含路由器C的IP地址以及下一跳B。这样,BFD模块开始在路径A-B-C上进行BFD检测。 步骤303 当BFD模块检测到路径A_B_C发生故障,则删除当前针对路由器C的BFD 会话表项,并通知路由模块当前路由不可达。步骤304:路由模块接收到BFD模块的通知后,删除路由表中的优选路由,将对应路径A-D-C的备份路由添加到路由表中。步骤305 =BFD模块根据路由表中的路由在BFD会话表中建立BFD会话表项。由于针对目的地路由器C的BFD会话表项已经删除,在BFD模块中的检测任务会周期性的触发BFD会话的建立,在完成路由切换后,BFD模块会根据路由表中的路由信息, 重新建立针对目的地路由器C的BFD会话表项,此时建立的BFD会话表项中包含路由器C 的IP地址以及下一跳D。路由器A针对路由器C的BFD检测基于该BFD会话表项进行。以上步骤301-305为现有技术中的实现流程,以下步骤开始为本发明提供的方法。
步骤306 当路径A-B-C恢复正常后,路由器A的路由模块发现针对目的地路由器 C的新的路由,即路径A-B-C对应的路由,该路由的优先级高于当前路由的优先级,是优选路由。步骤307 路由模块将路由表中针对目的地路由器C的路由删除,并添加优选路由。此时业务流量所在的路径切换为路径A-B-C。步骤308 路由模块将优选路由的信息通知给与该路由模块关联的BFD模块。本发明中,在路由模块完成优选路由的切换后,增加了对BFD模块的反向通知机制。即原来只有BFD模块检测出故障后,将BFD会话信息删除,并通知路由模块进行切换, 路由模块并不会向BFD通知路由切换。而在本发明中,路由模块在完成向优选路由的切换后,增加了向BFD模块通告优选路由的信息的机制。路由模块向BFD模块通知的优选路由的信息可以包括目的IP地址和下一跳信息等。步骤309 =BFD模块根据优选路由的目的IP地址查询BFD会话表,确定是否已经存在与该目的IP地址匹配的BFD会话表项,如果是,执行步骤310 ;否则,执行步骤311。在进行匹配时,将优选路由信息中的目的IP地址与BFD会话表中各BFD表项包含的目的IP地址进行匹配,如果存在一致的IP地址,则匹配;否则,不匹配。步骤310 =BFD模块按照该优选路由更新已经存在的所述BFD会话表项,结束流程。如果在BFD会话表中已经存在与优选路由的目的IP地址匹配的BFD会话表项,说明针对该目的IP地址的某一条路径上已经存在BFD会话。在本实施例中,由于在路径A-D-C 上已经存在了 BFD会话,因此,优选路由的目的IP地址,即路由器C的IP地址能够与该BFD 会话对应的BFD会话表项匹配。为了使得BFD会话所在的路径与当前的路径(优选路径)一致,需要对已经存在的目的IP地址为路由器C的BFD会话表项进行更改,即BFD模块按照优选路由更新匹配的 BFD会话表项。具体可以为利用优选路由中的下一跳信息更新匹配的BFD会话表项中的下一跳信息。在该实施例中,目的IP地址为路由器C的BFD会话表项中,下一跳是D,在本步骤中,将优选路由的下一跳B更新该BFD会话表项中的下一跳D。需要说明的是,由于删除BFD会话表项时,BFD模块会通知路由模块删除当前的路由,即会删除优选路由,从而导致业务中断,因此,在本步骤中,并不是删除已经存在的与目的IP地址匹配的BFD会话表项,而是采用更新下一跳信息的方式。在包含路由器C的IP地址的BFD会话表项进行更新后,BFD会话表项中下一跳更新为路由器B,使得BFD检测路径切换为A-B-C,从而与业务流量所在的路径保持一致。步骤311 =BFD模块根据接收到的优选路由的信息建立BFD会话表项。如果在路由切换时,BFD模块因备份路由故障等原因删除了 BFD会话表项,则BFD 模块在接收到路由模块下发的优选路由的信息后,可能出现不存在匹配的BFD会话表项的情况,此时,BFD模块可以直接利用接收到的优选路由的信息建立BFD会话表项。即将优选路由的目的IP地址和下一跳是B的信息添加到新建立的BFD会话表项中。至此完成切换至优选路由的过程,之后重新转至步骤303开始执行。以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的装置进行描述。如图4所示,该装置可以包括路由模块400和BFD模块410。路由模块400,用于在将优选路由替换现有路由后,将优选路由的信息通知给BFD 模块410,其中,优选路由的优先级高于现有路由的优先级。BFD模块410,用于获取到优选路由的信息后,判断当前是否已经存在与优选路由的目的IP地址匹配的BFD会话信息,如果是,按照优选路由的信息更新与优选路由的目的 IP地址匹配的BFD会话信息。其中,上述BFD模块410可以具体包括信息接收子单元411、匹配判断子单元412 和会话处理子单元413。信息接收子单元411,用于接收路由模块400通知的优选路由的信息。匹配判断子单元412,用于判断当前是否已经存在与优选路由的目的IP地址匹配的BFD会话信息。会话处理子单元413,用于在匹配判断子单元412的判断结果为是时,按照优选路由的信息更新与优选路由的目的IP地址匹配的BFD会话信息;在匹配判断子单元412的判断结果为否时,根据优选路由的信息建立BFD会话信息。其中,上述会话处理子单元413具体利用优选路由对应的下一跳信息更新与优选路由的目的IP地址匹配的BFD会话信息中的下一跳信息。具体地,BFD会话信息可以为BFD表中包含目的IP地址和下一跳信息的BFD表项。 相应地,匹配判断子单元412具体判断BFD表中是否已经存在包含优选路由的目的IP地址的BFD表项,来判断当前是否已经存在与优选路由的目的IP地址匹配的BFD会话信息。更进一步地,BFD模块410还可以包括检测处理子单元414和信息上报子单元 415。检测处理子单元414,用于检测优选路由对应的路径是否故障。该检测处理子单元414是根据会话处理子单元413建立的BFD会话信息进行BFD 检测的。会话处理子单元413,还用于在检测处理子单元414检测到优选路由对应的路径故障后,删除与优选路由的目的IP地址匹配的BFD会话信息,根据路由表中的备份路由建立BFD会话信息。信息上报子单元415,用于在检测处理子单元414检测到优选路由对应的路径故障后,通知路由模块当前路由不可达。相应地,路由模块400,还可以用于接收到当前路由不可达的通知后,删除路由表中的优选路由,将备份路由添加到路由表中。由以上描述可以看出,本发明中路由模块在将优选路由替换现有路由后,采用反向通知的方式将优选路由的信息通知给BFD模块,使得BFD模块能够及时利用该优选路由信息对BFD会话信息进行更新,BFD会话所在的路径能够及时跟随路由进行切换,保证BFD 会话所在的路径与业务流量的转发路径一致,使得BFD模块能够及时检测到业务流量转发路径的故障,并进行及时切换,缩短业务中断的时间,提高了系统的可靠性;同时也能够避免因BFD会话所在路径与业务流量的转发路径不一致,造成BFD检测到故障后错误的删除无故障的路由信息,从而提高了系统的可靠性。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种路由切换过程中建立双向转发检测BFD会话的方法,其特征在于,该方法包括A、路由模块在将优选路由替换现有路由后,将优选路由的信息通知给BFD模块,其中, 所述优选路由的优先级高于现有路由的优先级;B、所述BFD模块获取到所述优选路由的信息后,判断当前是否已经存在与所述优选路由的目的IP地址匹配的BFD会话信息,如果是,执行步骤C ;C、所述BFD模块按照所述优选路由的信息更新与所述优选路由的目的IP地址匹配的 BFD会话信息。
2.根据权利要求1所述的方法,其特征在于,如果所述步骤B的判断结果为否,则所述 BFD模块根据所述优选路由的信息建立BFD会话信息。
3.根据权利要求1所述的方法,其特征在于,所述步骤C具体为所述BFD模块利用所述优选路由对应的下一跳信息更新与所述优选路由的目的IP地址匹配的BFD会话信息中的下一跳信息。
4.根据权利要求1、2或3所述的方法,其特征在于,所述BFD会话信息为BFD表中包含目的IP地址和下一跳信息的BFD表项;所述判断当前是否已经存在与所述优选路由的目的IP地址匹配的BFD会话信息为判断BFD表中是否已经存在包含所述优选路由的目的IP地址的BFD表项。
5.根据权利要求1、2或3所述的方法,其特征在于,在所述步骤A之前或所述步骤C之后,该方法还包括当所述BFD模块检测到所述优选路由对应的路径故障后,删除与所述优选路由的目的IP地址匹配的BFD会话信息,并通知所述路由模块当前路由不可达;所述路由模块接收到当前路由不可达的通知后,删除路由表中的所述优选路由,将备份路由添加到路由表中;所述BFD模块根据路由表中的备份路由建立BFD会话信息。
6.一种路由切换过程中建立BFD会话的装置,其特征在于,该装置包括路由模块和 BFD模块;所述路由模块,用于在将优选路由替换现有路由后,将优选路由的信息通知给所述BFD 模块,其中,所述优选路由的优先级高于现有路由的优先级;所述BFD模块,用于获取到所述优选路由的信息后,判断当前是否已经存在与所述优选路由的目的IP地址匹配的BFD会话信息,如果是,按照所述优选路由的信息更新与所述优选路由的目的IP地址匹配的BFD会话信息。
7.根据权利要求6所述的装置,其特征在于,所述BFD模块具体包括信息接收子单元、匹配判断子单元和会话处理子单元;所述信息接收子单元,用于接收所述路由模块通知的优选路由的信息;所述匹配判断子单元,用于判断当前是否已经存在与所述优选路由的目的IP地址匹配的BFD会话信息;所述会话处理子单元,用于在所述匹配判断子单元的判断结果为是时,按照所述优选路由的信息更新与所述优选路由的目的IP地址匹配的BFD会话信息;在所述匹配判断子单元的判断结果为否时,根据所述优选路由的信息建立BFD会话信息。
8.根据权利要求7所述的装置,其特征在于,所述会话处理子单元具体利用所述优选路由对应的下一跳信息更新与所述优选路由的目的IP地址匹配的BFD会话信息中的下一跳/[目息°
9.根据权利要求7所述的装置,其特征在于,所述BFD会话信息为BFD表中包含目的 IP地址和下一跳信息的BFD表项;所述匹配判断子单元具体判断BFD表中是否已经存在包含所述优选路由的目的IP地址的BFD表项,来判断当前是否已经存在与所述优选路由的目的IP地址匹配的BFD会话信肩、ο
10.根据权利要求7、8或9所述的装置,其特征在于,所述BFD模块还包括检测处理子单元和信息上报子单元;所述检测处理子单元,用于检测所述优选路由对应的路径是否故障; 所述会话处理子单元,还用于在所述检测处理子单元检测到所述优选路由对应的路径故障后,删除与所述优选路由的目的IP地址匹配的BFD会话信息,根据路由表中的备份路由建立BFD会话信息;所述信息上报子单元,用于在所述检测处理子单元检测到所述优选路由对应的路径故障后,通知所述路由模块当前路由不可达;所述路由模块,还用于接收到当前路由不可达的通知后,删除路由表中的所述优选路由,将备份路由添加到路由表中。
全文摘要
本发明提供了一种路由切换过程中建立双向转发检测(BFD)会话的方法和装置。路由模块在将优选路由替换现有路由后,将优选路由的信息通知给BFD模块,其中,优选路由的优先级高于现有路由的优先级;BFD模块获取到该优选路由的信息后,判断当前是否已经存在与该优选路由的目的IP地址匹配的BFD会话信息,如果是,按照优选路由的信息更新与该优选路由的目的IP地址匹配的BFD会话信息。本发明能够解决优选路由恢复使用后,业务流量转发与BFD检测所在路径不一致的问题,提高系统的可靠性。
文档编号H04L12/56GK102195861SQ20101012947
公开日2011年9月21日 申请日期2010年3月19日 优先权日2010年3月19日
发明者李蔚 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1