一种优化路由的方法及装置的制作方法

文档序号:7669618阅读:160来源:国知局
专利名称:一种优化路由的方法及装置的制作方法
技术领域
本发明涉及通讯领域,尤其涉及一种优化路由的方法及装置。
技术背景在整个IP互联网络中,常常存在多种路由协议,为了保证报文的正常 转发,存在路由在不同的路由协议之间重分配的需求。如果一个链路上同时 运行着两种路由协议,并且某个路由协议需要引入另外一个路由协议的路 由,则可能存在非最佳路由的情况,即所谓的报文绕道问题,这加重了网络 协议边界路由器的负担。例如在图1中,A与C之间通过RIP (Routing information Protocol, 路由信息协议)协议连接,而A与B之间通过OSPF( Open Shortest Path First, 开放最短路径优先)协议连接。A通过RIP协议学习到网络N的路由,并 将该路由通过OSPF协议通告给B。由于B并没有运行RIP协议,并不知道 C的存在,故它计算出的下一跳为A。所有到达N的报文都必须通过A绕 道转发,增加了 A的负担。常用的路由协议都通过增加一个转发地址的字段来指定明确下一跳,从 而避免报文绕道的问题。在以太网中,这样做是没有问题的,但在NBMA (非广播多路访问网络)网络或者帧中继网络中,如果B和C之间没有配 置PVC (Permanent Virtual Circuit,永久虚拟电路),在B上则可能会出现 路由器C不可达的问题,即转发地址不可达问题。例如在图2中,A通告路由N给B时,将转发地址填写为C, B在计 算路由时,如果发现转发地址非O,则使用该转发地址作为下一跳,但标准 协议中没有要求检查该转发地址的有效性,有可能B, C之间没有配置PVC, 导致转发地址不可达的问题出现。为了解决转发地址不可达问题,现在通用的做法是有两种1. 在所有NBMA或者帧中继网络中,都不允许填写转发地址,这样做 虽然规避了转发地址不可达问题,但还是没有解决绕道转发的问题。2. 由管理员指定是否允许填写转发地址,稍微增加了一些灵活性。管 理员可以根据BC之间是否可达来决定A是否填写转发地址。但这种方法还 是有缺点即该方法仍然无法从根本上同时解决转发地址不可达和转发绕道 这两个问题。例如图3中,BC不可达,但DC可达。如果要求A填写转发地址,则B无法到达网络N。如果禁止A填写转发地址,则又会出现从D到N的报文必须绕道A, 增加了 A的负担。现有的技术方案无法解决这样的两难问题。发明内容本发明要解决的技术问题是提供一种优化路由的方法,解决现有报文转 发绕道和转发地址不可达的问题。为了解决上述技术问题,本发明提供了一种优化路由的方法,包含如下 步骤(a) 在进行协议间路由重分配时,在协议报文中填写转发地址;(b) 在计算路由前,检测协议报文中转发地址是否有效;(c) 计算路由,如果转发地址有效,使用该转发地址作为下一跳,如 果转发地址无效,不使用该转发地址计算路由。进一步地,所述方法应用于以太网或非广^番多路访问网络NBMA或帧 中继网络。进一步地,所述步骤(c)中,计算路由时,如果转发地址无效,对于 路由信息协议RIP,将通告该转发地址给本设备的路由设备作为下一跳;对 于开放最短路径优先OSPF,将创建该转发地址的路由设备作为下一跳。进一步地,所述步骤(b)中,检查转发地址有效性通过如下一种或多种方式实现,使用Ping指令,或通过地址转换协议ARP,或4企查配置信息。进一步地,所述步骤(b)中,如果转发地址有效性待定,将所述转发 地址对应的路由加入一待定路由表,等待获得转发地址有效性检测结果后重 新计算路由,执行步骤(c)。进一步地,所述重新计算路由还包括如下步骤获得所述转发地址有效 性检测结果后,从所述待定路由表中删除该转发地址对应的路由;如果检测 结果为转发地址无效,将通告该转发地址的路由设备或创建该转发地址的路 由设备作为下一跳。进一步地,所述步骤(b)中,如果转发地址有效性待定,则将该转发 地址作为下一跳,相应的^各由加入^各由表,i殳置待定标志位,指示该^各由不 可用,获得所述转发地址有效性检测结果后,如果检测结果为转发地址有效, 则删除相应路由的所述待定标志位。进一步地,设置一有效地址列表,表中记录了有效地址和该地址有效的 条件,所述步骤(b)中,检查转发地址有效性时,如果该转发地址位于所 述有效地址列表中,且满足该地址有效的条件,则该转发地址有效。本发明还提供了一种优化路由的装置,包括路由计算模块,还包括转发 地址有效性检测模块,其中,所述转发地址有效性检测模块,用于在计算路由前,检测协议报文中转 发地址是否有效,将检测结果发送给所述路由计算模块;所述路由计算模块,用于根据检测结果计算路由,如果转发地址有效, 使用该转发地址作为下一跳,如果转发地址无效,不使用该转发地址计算路 由。进一步地,所述转发地址有效性检测模块维护一个有效地址列表,表中 记录了有效地址和该地址有效的条件,所述检测模块进行转发地址有效性检 查时,检查该转发地址是否位于所述有效地址列表中,如果位于,且满足该 地址有效的条件,则该转发地址有效。采用本发明的方法,在物理链路允许的情况下,最大可能的避免了绕道转发的情况;同时,如果由于物理链路的限制,导致转发地址不可达时,则 采取绕道转发的方式,避免路由失效,同时保证了路由的高效性和可靠性。


图l是现有技术中报文绕道问题的示意图;图2是现有技术中转发地址不可达问题的示意图;图4是本发明中优化路由的方法的流程图; 图5是本发明应用场景的示意图;图6是本发明中增加转发地址有效性检查后的路由计算流程图; 图7是本发明中收到有效4全测结果后路由协议的处理流程图。
具体实施方式
本发明的优化路由方法通过判断转发地址的有效性,根据转发地址是否 有效进行不同的处理,解决了绕道转发和转发地址不可达的问题。本发明提供一种优化路由的装置,包括路由计算模块和转发地址有效性 检测模块,其中,转发地址有效性检测模块,用于在计算路由前,检测协议报文中转发地 址是否有效,将检测结果发送给路由计算模块;路由计算模块,用于根据检测结果计算路由,如果转发地址有效,使用 该转发地址作为下一跳,如果转发地址无效,不使用该转发地址计算路由。如图4所示,本发明中优化路由方法包括以下步骤步骤401:在进行协议间路由重分配时,在协议报文中填写转发地址;与现有技术中通用做法不同,即使是在NBMA网络或者帧中继网络环 境中,也需要填写转发地址;步骤402:在计算路由前,检查协议报文中的各个转发地址是否有效;转发地址的有效性^r测有多种不同的实现方式。方式一 ,通过ping指令来实现转发地址的有效性;险测;转发地址有效性检测模块进行转发地址的有效性检测时,向该地址发送 ping报文,如果在指定的时间范围内收到Ping回应报文,则说明该地址有 效。将该地址和当前时间戳放入有效地址列表中,并向路由计算才莫块发送该 地址有效的消息。如果超时仍然没有收到Ping回应报文,说明该地址无效, 向路由计算模块发送地址无效消息。方式二,通过ARP (Address Resolution Protocol,地址转换协议)协议 来实现转发地址的有效性冲全测;转发地址有效性检测模块向被测地址发送一个ARP映射请求,等待对 端应答,如果在指定的时间内能收到对端的ARP应答,则说明该地址是有 效的。同样将该地址与当前时间戳放入有效地址列表,并向路由计算模块发 送该地址有效的消息。如果超时仍然没有收到ARP应答,说明该地址无效, 向路由计算模块发送地址无效消息。方式三,对于帧中继网络,可以直接通过配置信息进行有效性;险测; 对于接口是特定类型的网络(如帧中继等),可以检测对端之间的配置, 如果与对端之间配有PVC等配置,则说明该转发地址是有效的,直接返回 该地址有效。否则返回无效消息。具体设备可以根据当前环境选择其中 一种进行转发地址的有效性检查。步骤403:根据步骤2中的检测结果计算路由,如果检测发现转发地址 有效,即转发地址可达,则使用该转发地址作为下一跳;如果转发地址无效, 即转发地址不可达,不使用该转发地址计算路由。对于RIP (距离矢量协议),则以通告该路由(或转发地址)给本设备 的相邻路由设备(将此路由发送给本设备的相邻路由设备)作为下一跳;对于OSPF (链路状态协议),使用通告该LSA (或转发地址)的ASBR(即创建转发地址所属的该LSA的ASBR)作为下一跳。下面结合附图对本发明的方法在OSPF动态路由协议中的应用进行说明。如图5中,路由设备A在通告外部路由N时,虽然接口 10. U .2是NBMA (或者帧中继)网络,但仍然将路由设备C的地址10.1.1.1放入LSA (Link State Advertisement,《i^各状态通告)中的转发地址字段中,并发送给其他的 邻居设备B, D。其他邻居路由设备获得该LSA,在OSPF进行路由计算时,除了进行正 常的协议规定正常计算路由流程之外,还需要对LSA中携带的转发地址进 行有效性检查,如果发现该转发地址无效,则不使用该转发地址,而是以通 告该路由的路由设备作为下一跳(即本例中的A),从而绕过无效转发地址, 达到优化路由的目的。如图6所示,增加转发地址有效性后,OSPF进行路由计算的具体步骤 如下步骤601, OSPF按照协议要求进行SPF (最短路径优先)路由,计算 区i或内和区i或间3各由;步骤602, OSPF计算外部LSA,遍历所有外部LSA进行AS( Autonomous System自治系统)外部路由计算,判断是否已处理完所有外部LSA,如果是, 结束,否则,进行下一个LSA的路由计算,如果发现该LSA携带转发地址, 转到步骤603;步骤603,通过转发地址有效性检测模块对该地址的有效性进行检测;步骤604,根据检测结果进行处理;检测结果包括三种该地址有效、 该地址无效和该地址的有效性待定;如果该转发地址有效,转到步骤605; 如果该转发地址无效,转到步骤606,如果该转发地址待定,转到步骤607,步骤605,如果该转发地址有效,则将该转发地址作为下一跳,把相应 的路由加入到路由表,转到步骤602步骤606,如果该转发地址无效,则不使用该转发地址,以通告该路由 的ASBR ( Autonomous System Boundary Router,自治系统边界^各由器)(即 创建该路由的ASBR)作为下一跳计算路由,转到步骤602;步骤607,如果该转发地址有效性待定,则暂时将该转发地址作为下一 跳,将相应的路由加入路由表,并设置待定标志位,指示该路由不可用,转 入步骤608;步骤608,将该转发地址相应的路由加入一个待定路由Hash表,该待 定路由Hash表以转发地址为Key,等待转发地址有效性检测模块通告OSPF 模块检测结果后,根据该检测结果进行路由的重新计算,转入步骤602。上述步骤中,待定路由Hash表以转发地址为Key,则该Hash表以路由 的转发地址为Key进行Hash算法,并且同一个Hash桶中按Key进行排序, 这样就可以很方便的根据转发地址找到该转发地址对应的所有路由。一个转发地址可能对应有多条路由,也就是说,多条路由的转发地址可 能是相同的,获得一个有效性检测结果后路由的更新可能会影响多条路由。 上述步骤608中,如图7所示,OSPF根据转发地址有效性检测模块的检测 结果进行路由的更新的具体方法包括以下步骤步骤701, OSPF收到检测模块的检测结果通知后,从待定路由Hash表 中找到该转发地址对应的所有路由,依次遍历这些3各由;步骤702,判断待定路由Hash表中该转发地址对应的所有路由是否都 处理完毕,如果是,处理结束;否则,转到步骤703;步骤703,取出下一条路由,将此路由从待定路由Hash表中删除;步骤704,判断该转发地址是否有效,如果无效,转到步骤705,否则, 转到步骤706;步骤705,该转发地址无效,以路由通告者为下一跳重新计算路由,并 更新路由表,转到步骤702;步骤706,该转发地址有效,在路由表中查找该转发地址相应的路由, 将查找到的路由的待定标志位删除,则该路由正式开始生效,转到步骤702。一个转发地址对应一个或多个^^由,转发地址有效,它所对应的i 各由都有效。例如,某设备从某个ASBR学习到了多条路由,那么这多条路由的转 发地址是相同的,如果进行转发地址有效性;险测后该ASBR可达,则可以将 所有这些路由都设置为有效状态。上述实施方式描述了本发明的方法在OSPF协议中的应用,但本发明也 同样适用于RIP等携带转发地址的任何其他动态路由协议。转发地址有效性检测模块还维护一个有效地址列表,该表中分别记录了 有效地址和该地址有效的条件即该地址上次检查的时间戳(即最后一次对该 地址进行;险测的时间,该时间戳也就是该地址有效的时间戳)。转发地址有效性检测模块对某个转发地址进行检测前,首先检查地址列表如果该地址列表中存在该地址并且该地址的时间戳未超时(此处超时是 指时间戳表示时间与当前检测时间超出了系统设定的时间间隔),则认为该 地址有效;如果该地址列表中不存在该地址,则对此转发地址进行有效性检测(检 测方法如步骤402中所示),4全测结果为有效时,将该地址加入列表,并记 录下当前时间作为时间戳;才企测结果为无效时,不对列表作处理;如果该地址列表中存在该地址但该地址超时;则对此转发地址进行有效 性检测(检测方法如步骤402中所示),检测结果为有效时,用当前时间更 新转发地址对应的时间戳;检测结果为无效,则将该地址从有效地址列表中 删除。转发地址有效性检测模块维护该有效地址列表有助于提高系统效率。本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况 些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种优化路由的方法,包含如下步骤(a)在进行协议间路由重分配时,在协议报文中填写转发地址;(b)在计算路由前,检测协议报文中转发地址是否有效;(c)计算路由,如果转发地址有效,使用该转发地址作为下一跳,如果转发地址无效,不使用该转发地址计算路由。
2、 如权利要求l所述的方法,其特征在于所述方法应用于以太网或非广播多路访问网络NB MA或帧中继网络。
3、 如权利要求l所述的方法,其特征在于所述步骤(c)中,计算路由时,如果转发地址无效,对于路由信息协 议RIP,将通告该转发地址给本设备的路由设备作为下一跳;对于开放最短 路径优先OSPF,将创建该转发地址的路由设备作为下一跳。
4、 如权利要求1所述的方法,其特征在于所述步骤(b)中,检查转发地址有效性通过如下一种或多种方式实现, 使用Ping指令,或通过地址转换协议ARP,或检查配置信息。
5、 如权利要求l所述的方法,其特征在于所述步骤(b)中,如果转发地址有效性待定,将所述转发地址对应的 路由加入一待定路由表,等待获得转发地址有效性检测结果后重新计算路 由,执行步骤(c )。
6、 如权利要求5所述的方法,其特征在于所述重新计算路由还包括如下步骤获得所述转发地址有效性检测结果 后,从所述待定路由表中删除该转发地址对应的路由;如果检测结果为转发 地址无效,将通告该转发地址的路由设备或创建该转发地址的路由设备作为 下一跳。
7、 如权利要求l所述的方法,其特征在于所述步骤(b)中,如果转发地址有效性待定,则将该转发地址作为下 一跳,相应的路由加入路由表,设置待定标志位,指示该路由不可用,获得所述转发地址有效性检测结果后,如果检测结果为转发地址有效,则删除相 应^各由的所述待定标志位。
8、 如权利要求1所述的方法,其特征在于设置一有效地址列表,表中记录了有效地址和该地址有效的条件,所述 步骤(b)中,检查转发地址有效性时,如果该转发地址位于所述有效地址 列表中,且满足该地址有效的条件,则该转发地址有效。
9、 一种优化路由的装置,包括路由计算模块,其特征在于,还包括转 发地址有效性检测模块,其中,所述转发地址有效性检测模块,用于在计算路由前,检测协议报文中转 发地址是否有效,将检测结果发送给所述路由计算模块;所述路由计算模块,用于根据检测结果计算路由,如果转发地址有效, 使用该转发地址作为下一跳,如果转发地址无效,不使用该转发地址计算路 由。
10、 如权利要求9所述的装置,其特征在于所述转发地址有效性^r测才莫块维护一个有效地址列表,表中记录了有效 地址和该地址有效的条件,所述检测模块进行转发地址有效性检查时,检查 该转发地址是否位于所述有效地址列表中,如果位于,且满足该地址有效的 条件,则该转发地址有效。
全文摘要
本发明公开了一种优化路由的方法及装置,所述方法包含如下步骤(a)在进行协议间路由重分配时,在协议报文中填写转发地址;(b)在计算路由前,检测协议报文中转发地址是否有效;(c)计算路由,如果转发地址有效,使用该转发地址作为下一跳,如果转发地址无效,不使用该转发地址计算路由。所述装置,包括路由计算模块和转发地址有效性检测模块。采用本发明的方法,在物理链路允许的情况下,最大可能的避免了绕道转发的情况;同时,如果由于物理链路的限制,导致转发地址不可达时,则采取绕道转发的方式,避免路由失效,同时保证了路由的高效性和可靠性。
文档编号H04L12/56GK101217471SQ20071030781
公开日2008年7月9日 申请日期2007年12月28日 优先权日2007年12月28日
发明者吴道揆 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1