路由信息协议联动双向会话检测建立路由的方法及设备的制作方法

文档序号:7930030阅读:246来源:国知局
专利名称:路由信息协议联动双向会话检测建立路由的方法及设备的制作方法
技术领域
本发明涉及路由技术领域,具体涉及路由信息协议(RIP,Routing Information Protocol)联动双向转发检测(BFD,Bidirectional Forwarding Detection)建立路由的方法及设备。
背景技术
RIP是一种距离矢量路由协议,它最大的优点是配置简单,易于管理和操作,主要应用在规模较小的网络中。RIP产生较早,经过多年的应用,已经成为一种成熟的路由协议, 在因特网中有着广泛的应用,特别是在一些中小型网络中,比如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP。RIP基于用户数据报协议(UDP,User Datagram Protocol), RIP报文封装在UDP 报文中,配置RIP的路由器使用UDP端口号520发送和接收数据报文,通过报文来传播路由信息;RIP报文分为两类,分别为一、请求(Request)报文用来向邻居请求发送路由表项。二、响应报文Response报文或者是响应邻居的请求报文,或者是主动定时更新, 或者是触发更新。报文包含发送者路由表中所有或部分路由表项。RIP受四个定时器的控制,分别是更新(Update)、老化(Timeout)、抑制 (Suppress)禾口 Garbage-Collect 定时器,其中Update定时器,定义了发送路由更新的时间间隔。Timeout定时器,定义了路由老化时间。如果在老化时间内没有收到关于某条路由的更新报文,则该条路由在路由表中的度量值将会被设置为16。Suppress定时器,定义了 RIP路由处于抑制状态的时长。当一条路由的度量值变为16时,该路由将进入抑制状态。在被抑制状态,只有来自同一邻居且度量值小于16的路由更新才会被路由器接收,取代不可达路由。Garbage-Collect定时器,定义了一条路由从度量值变为16开始,直到它从路由表里被删除所经过的时间。在Gartage-ColIect时间内,RIP以16作为度量值向外发送这条路由的更新,如果Gartage-Collect超时,该路由仍没有得到更新,则该路由将从路由表中被彻底删除。RIP的运行过程如下01 路由器启动RIP后,便会向相邻的路由器发送请求报文(Request message); 相邻的RIP路由器收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文 (Response message)002 路由器收到响应报文后,更新本地路由表,同时向相邻路由器发送触发更新报文,通告路由更新信息;相邻路由器收到触发更新报文后,又向其各自的相邻路由器发送触发更新报文。在一连串的触发更新后,各路由器都能得到并保持最新的路由信息。RIP采用老化机制对超时的路由进行老化处理,以保证路由的实时性和有效性。
BFD是一套全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况,保证邻居之间能够快速检测到通信故障,从而快速建立起备用通道恢复通信,保证业务继续进行。BFD提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、多协议标签交换(MPLS,Multi-Protocol Label Switching)等统一地快速检测两台路由器间双向转发路径的故障。BFD机制在两台路由器上建立会话,用来监测两台路由器间的双向转发路径,为上层协议服务。BFD本身并没有发现机制,而是靠被服务的上层协议通知其与谁建立会话,会话建立后如果在检测时间内没有收到对端的BFD控制报文则认为发生故障,通知被服务的上层协议,上层协议进行相应的处理。BFD会话的工作方式有如下两种一、控制报文方式链路两端会话通过控制报文交互监测链路状态。二、Echo报文方式链路某一端通过发送Echo报文由另一端转发回来,实现对链路的双向监测。 BFD会话建立过程如下01 上层协议模块通过自己的Hello机制发现邻居并建立连接;02 上层协议模块在建立了新的邻居关系时,将邻居的参数及检测参数(包括目的地址和源地址等)都通告给BFD模块;03 =BFD模块根据收到的参数进行计算并建立邻居。图1给出了采用BFD机制处理网络故障的示意图,如图1所示,当网络出现故障时,具体处理过程为1、BFD模块检测到链路/网络故障;2、BFD模块拆除BFD邻居会话;3、 BFD模块通知本地上层协议模块BFD邻居不可达;4、本地上层协议模块中止上层协议邻居关系;5、如果网络中存在备用路径,路由器将选择备用路径。RIP依赖周期性发送路由更新请求作为检测机制,当在指定时间内没有收到路由更新时,认为此条路由不再生效,这种方式不能快速响应链路故障。RIP与BFD联动使用BFD 检测到链路故障时,RIP能快速撤销失效路由,减少对其他业务的影响。RIP与BFD联动的目的是为了加快RIP的收敛时间,不需要再等待RIP规定的180 秒老化定时器时间,但并不改变RIP本身的运行机制。RIP联动BFD提供了两种检测方式一、直连邻居采用echo报文单跳检测方式,在对端有路由发送时才能建立BFD会话。二、非直连邻居采用控制(control)报文双向检测方式,当两端互有路由发送,且使能BFD的接口与接收接口为同一接口时,邻居之间才能建立BFD会话。当检测RIP的会话两端在直连网段(即IP报文的一跳),适合采用BFD的echo单向检测方式,但是,经过多跳到达邻居时echo方式则会失效。当RIP与BFD联动时,对于直连邻居采用BFD的echo报文单跳检测方式,在对端有路由发送时才能建立BFD会话。这样,当一路由器A的RIP模块收到对端路由器B发来的RIP响应报文时,添加报文中携带的对端路由器B的路由,并触发BFD模块创建BFD会话, 当路由器A的BFD模块收到路由器B的BFD回应报文后,BFD会话从DOWN切换为UP状态。
如果路由器A的BFD模块在预设时长内收不到路由器B的BFD报文,则认为路由器 A、B间的链路发生故障,BFD会话从UP切换为DOWN状态,并通知RIP模块BFD会话DOWN, RIP模块删除路由器B发来的所有路由,同时删除BFD会话。但是,当路由器A、B之间的链路单通,如路由器A到路由器B的链路故障但路由器B到路由器A的链路正常时,路由器A的RIP模块仍能持续收到路由器B发来的携带更新的路由的RIP响应报文,这样便会触发路由器A的BFD模块建立与路由器B的BFD会话, 待BFD会话建立失败后,路由器A的BFD模块又会通知RIP模块删除路由,该过程会不停地重复,其表现为路由不停震荡。另外,如果只在BFD会话从UP迁移为Down的情况下才通知RIP模块删除路由,则当链路从开始时就一直为单通故障时,BFD会话状态就无法从DOWN迁移到UP状态,也就不会出现BFD会话从UP切换为DOWN状态的情况,但是,此时RIP模块仍会学习到对端路由器的路由,这样就会出现RIP模块始终无法删除路由的现象。可见,当RIP与BFD联动时,若链路单通,RIP模块仍然能够学习到路由,但是会出现路由不停震荡或者路由无法删除的情况,这样即使网络中存在备份链路,路由也无法切换到备份链路,路由无法收敛,只能通过人为干预控制,才能完成备份链路的路由切换。

发明内容
本发明提供RIP联动BFD建立路由的方法及设备,以避免链路单通时的RIP路由无法删除和路由震荡的现象。本发明的技术方案是这样实现的一种路由信息协议RIP联动双向会话检测BFD建立路由的方法,该方法包括第一设备接收第二设备发来的第一个RIP响应报文,将第二设备添加为RIP邻居, 并与第二设备建立BFD会话,若会话建立成功,则向第二设备请求第二设备的路由,将第二设备的路由添加到路由表中;第一设备接收第二设备后续发来的RIP响应报文,以该报文中的路由更新路由表中第二设备的路由;第一设备发现与第二设备之间的BFD会话Down,将第二设备从RIP邻居中删除,同时将第二设备的路由从路由表中删除。所述与第二设备建立BFD会话之后进一步包括当BFD会话建立失败时,将第二设备从RIP邻居中删除。所述设备为路由器或交换机。一种设备,包括RIP模块接收第二设备发来的第一个RIP响应报文,将第二设备添加为RIP邻居,并将第二设备标识携带在BFD会话建立指示中发送给BFD模块;接收BFD模块发来的会话建立结果,若该结果指示建立成功,则向第二设备发送RIP全路由表请求,将第二设备返回的路由添加到路由表中;接收第二设备后续发来的RIP响应报文,以该报文中的路由更新路由表中第二设备的路由;当接收到BFD模块发来的携带第二设备标识的BFD会话Down 指示时,将第二设备从RIP邻居中删除,同时将第二设备的路由从路由表中删除;BFD模块接收所述BFD会话建立指示,与第二设备建立BFD会话,将会话建立结果发送给RIP模块;当发现与第二设备间的BFD会话Down时,向RIP模块发送携带第二设备标识的BFD会话Down指示。所述RIP模块进一步用于,当BFD模块发来的会话建立结果指示建立失败时,将第二设备从RIP邻居中删除。所述设备为路由器或交换机。与现有技术相比,本发明避免了链路单通时RIP路由无法删除和路由震荡现象的发生。


图1为现有的采用BFD机制处理网络故障的示意图;图2为本发明实施例提供的RIP联动BFD建立路由的方法流程图;图3为本发明实施例提供的采用RIP联动BFD建立路由的设备的组成示意图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图2为本发明实施例提供的RIP联动BFD建立路由的方法流程图,如图2所示,其具体步骤如下步骤200 在路由器上设置RIP模块和BFD模块。步骤201 对于任一路由器A,路由器A的RIP模块接收到对端路由器B发来的第一个RIP响应报文。路由器A的RIP模块可通过如下方式判断该RIP响应报文是否是路由器B发来的第一个RIP响应报文路由器A的RIP模块在自身维护的RIP邻居列表中,查找路由器B标识,若未查找到,则确定该RIP响应报文是路由器B发来的第一个RIP响应报文;否则,确定该RIP响应报文不是路由器B发来的第一个RIP响应报文。步骤202 路由器A的RIP模块将路由器B标识添加到自身维护的RIP邻居列表中,但是,不添加报文携带的路由器B的RIP路由。步骤203 路由器A的RIP模块触发自身的BFD模块建立与路由器B间的BFD会话。步骤204 路由器A的BFD模块与路由器B建立BFD会话,判断是否建立成功,若是,执行步骤206 ;否则,执行步骤205。步骤205 路由器A的BFD模块向路由器A的RIP模块发送BFD会话建立失败指示,路由器A的RIP模块将路由器B标识从RIP邻居列表中删除,本流程结束。步骤206 路由器A的BFD模块向路由器A的RIP模块发送链路双通指示,路由器 A的RIP模块向路由器B发送RIP全路由表请求报文,路由器B的RIP模块接收到该报文, 向路由器A返回携带自身RIP全路由表的RIP响应报文,路由器A的RIP模块接收并添加路由器B的RIP全路由表。步骤207 路由器A的RIP模块接收到路由器B发来的后续RIP响应报文,根据报文中携带的路由更新自身的路由器B的路由。
步骤208 路由器A的BFD模块发现与路由器B的BFD会话DOWN,则向路由器A的 RIP模块发送会话DOWN通知,路由器A的RIP模块将路由器B标识从自身的RIP邻居列表中删除,同时删除自身的路由器B的路由。从图2所示实施例可以看出由于路由器A只在收到路由器B的第一个RIP响应报文时,才建立RIP邻居并触发建立BFD会话,且在BFD会话建立成功后才向路由器B请求路由,并添加路由器B的路由,而在收到路由器B的后续RIP响应报文时,只进行路由更新而不进行BFD会话建立的动作,当BFD会话Down时,删除路由器B的路由,这样,当路由器 A与路由器B间的链路单通时,即使路由器A接收到路由器B的RIP响应报文,路由器A也不会重复建立路由,避免了路由无法删除和路由震荡现象的发生。图2所示实施例同样适用于交换机。图3为本发明实施例提供的采用RIP联动BFD建立路由的设备的组成示意图,如图3所示,其主要包括RIP模块31和BFD模块32,其中 RIP模块31 接收第二设备发来的第一个RIP响应报文,将第二设备添加为RIP邻居,并将第二设备标识携带在BFD会话建立指示中发送给BFD模块32 ;接收BFD模块32返回的会话建立结果,若该结果指示建立成功,则向第二设备发送RIP全路由表请求,将第二设备返回的路由添加到路由表中;接收第二设备后续发来的RIP响应报文,以该报文中的路由更新路由表中第二设备的路由;当接收到BFD模块32发来的携带第二设备标识的BFD 会话Down指示时,将第二设备从RIP邻居中删除,同时将第二设备的路由从路由表中删除。RIP模块31进一步用于,当BFD模块32返回的会话建立结果指示建立失败时,将第二设备从RIP邻居中删除。BFD模块32 接收RIP模块31发来的携带第二设备标识的BFD会话建立指示,与第二设备建立BFD会话,将会话建立结果返回给RIP模块31 ;当发现与第二设备间的BFD会话Down时,向RIP模块31发送携带第二设备标识的BFD会话Down指示。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种路由信息协议RIP联动双向会话检测BFD建立路由的方法,其特征在于,该方法包括第一设备接收第二设备发来的第一个RIP响应报文,将第二设备添加为RIP邻居,并与第二设备建立BFD会话,若会话建立成功,则向第二设备请求第二设备的路由,将第二设备的路由添加到路由表中;第一设备接收第二设备后续发来的RIP响应报文,以该报文中的路由更新路由表中第二设备的路由;第一设备发现与第二设备之间的BFD会话Down,将第二设备从RIP邻居中删除,同时将第二设备的路由从路由表中删除。
2.根据权利要求1所述的方法,其特征在于,所述与第二设备建立BFD会话之后进一步包括当BFD会话建立失败时,将第二设备从RIP邻居中删除。
3.根据权利要求1或2所述的方法,其特征在于,所述设备为路由器或交换机。
4.一种设备,其特征在于,包括RIP模块接收第二设备发来的第一个RIP响应报文,将第二设备添加为RIP邻居,并将第二设备标识携带在BFD会话建立指示中发送给BFD模块;接收BFD模块发来的会话建立结果,若该结果指示建立成功,则向第二设备发送RIP全路由表请求,将第二设备返回的路由添加到路由表中;接收第二设备后续发来的RIP响应报文,以该报文中的路由更新路由表中第二设备的路由;当接收到BFD模块发来的携带第二设备标识的BFD会话Down指示时,将第二设备从RIP邻居中删除,同时将第二设备的路由从路由表中删除;BFD模块接收所述BFD会话建立指示,与第二设备建立BFD会话,将会话建立结果发送给RIP模块;当发现与第二设备间的BFD会话Down时,向RIP模块发送携带第二设备标识的BFD会话Down指示。
5.根据权利要求4所述的设备,其特征在于,所述RIP模块进一步用于,当BFD模块发来的会话建立结果指示建立失败时,将第二设备从RIP邻居中删除。
6.根据权利要求4或5所述的设备,其特征在于,所述设备为路由器或交换机。
全文摘要
本发明公开了路由信息协议联动双向会话检测建立路由的方法及设备。方法包括第一设备接收第二设备发来的第一个RIP响应报文,将第二设备添加为RIP邻居,并与第二设备建立BFD会话,若会话建立成功,则向第二设备请求第二设备的路由,将第二设备的路由添加到路由表中;第一设备接收第二设备后续发来的RIP响应报文,以该报文中的路由更新路由表中第二设备的路由;第一设备发现与第二设备之间的BFD会话Down,将第二设备从RIP邻居中删除,同时将第二设备的路由从路由表中删除。本发明避免了链路单通时,RIP路由无法删除或震荡的现象的发生。
文档编号H04L12/56GK102355416SQ20111030006
公开日2012年2月15日 申请日期2011年9月30日 优先权日2011年9月30日
发明者刘畅, 常露, 张锋, 徐婧, 潘凝 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1