首页> 中国专利> 路由器及其实现支持冗余无编号链路的数据转发方法

路由器及其实现支持冗余无编号链路的数据转发方法

摘要

本发明公开了一种路由器及其实现支持冗余无编号链路的数据转发方法,所述方法包括:路由器在与某邻居路由器i间具有多个同类且均为无编号的广域网接口时,将各广域网接口对应的链路进行链路绑定;i=1,2,..N;路由器与邻居路由器i在绑定的各链路中选择一条链路为数据及协议交互链路,并设其余链路为数据交互链路;路由器在与邻居路由器i进行业务交互时,利用所述数据及协议交互链路进行协议报文的转发、以及利用各绑定链路将数据报文按照预先设置的链路分担策略进行链路分担后,按照路由转发表转发所述数据报文。该方法实现了路由器的广域网接口可以使用无编号,可以在多条链路上进行负载均衡,避免多个无编号互连带来的路由问题。

著录项

  • 公开/公告号CN103248568A

    专利类型发明专利

  • 公开/公告日2013-08-14

    原文格式PDF

  • 申请/专利号CN201310116991.5

  • 发明设计人 刘洋;乐强;胡薇;赖增桂;

    申请日2013-04-07

  • 分类号

  • 代理机构工业和信息化部电子专利中心;

  • 代理人齐洁茹

  • 地址 610041 四川省成都市高新区创业路6号总体部

  • 入库时间 2024-02-19 20:16:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-02

    授权

    授权

  • 2013-09-11

    实质审查的生效 IPC(主分类):H04L12/711 申请日:20130407

    实质审查的生效

  • 2013-08-14

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种路由器及其实现支持冗余无编号 链路的数据转发方法。

背景技术

链路聚合通常是指将多个物理端口聚合在一起形成一个逻辑上的聚合组, 使用链路聚合服务的上层实体把同一聚合组内的多条物理链路视为一条逻辑链 路。链路聚合可以实现流量在聚合组中各个成员端口之间进行分担,以增加带 宽。同时,同一聚合组的各个成员端口之间彼此动态备份,提高了连接可靠性。

然而,当两个路由器之间连接了多个广域网接口,并且这些接口都使用无 编号时,如果在这些链路上运行相同的路由协议,会引起路由环路,路由信息 冗余和重复处理等问题。所以,当两个路由器之间为增加总的链路带宽而同时 连接了多个同类广域网接口,并且这些接口都使用无编号技术的场景下,如何 实现数据转发和路由的优选,为本发明所要解决的技术问题。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地 解决上述问题的路由器及其实现支持冗余无编号链路的数据转发方法。

依据本发明的一个方面,提供了一种路由器实现支持冗余无编号链路的数 据转发方法,包括:

路由器在与某邻居路由器i间具有多个同类且均为无编号的广域网接口时, 将各广域网接口对应的链路进行链路绑定;i=1,2,..N,N为邻居路由器的个数;

路由器与邻居路由器i在绑定的各链路中选择一条链路为数据及协议交互 链路,并设其余链路为数据交互链路;

路由器在与邻居路由器i进行业务交互时,利用所述数据及协议交互链路进 行协议报文的转发、以及利用各绑定链路将数据报文按照预先设置的链路分担 策略进行链路分担后,按照路由转发表转发所述数据报文。

可选地,本发明所述方法还包括:

当路由器与邻居路由器i间有新的链路加入后,将新加入的链路作为数据交 互链路加入绑定;

当路由器与邻居路由器i间某条绑定链路退出时,检测退出绑定链路的是否 为所述数据及协议交互链路,若是,则在剩余绑定链路中重新选择一条链路作 为数据及协议交互链路;否则,将退出的链路从绑定链路中去除。

可选地,本发明所述方法还包括:

当路由器将各广域网接口对应的链路进行绑定时、当有新的链路加入时, 或者,当有已绑定链路退出时,路由器向路由协议上报变化后的链路带宽信息, 用以通过所述路由协议通知其他路由器当前的链路带宽变化。

可选地,本发明所述方法中,所述路由器与邻居路由器i交互彼此的路由器 ID,并以路由器ID较大者为主导方进行数据及协议交互链路选择,并将选择结 果通知路由器ID较小者。

可选地,本发明所述方法中,所述选择一条链路为数据及协议交互链路的 选择方式包括但不限于为:所述主导方以接口号大小为选择依据,选择一条链 路作为数据及协议交互链路,或者,以接口优先级高低为选择依据,选择一条 链路作为数据及协议交互链路。

依据本发明的另一个方面,提供了一种路由器,包括:

链路绑定模块,用于在路由器与某邻居路由器i间具有多个同类且均为无编 号的广域网接口时,将各广域网接口对应的链路进行链路绑定;i=1,2,..N,N为 邻居路由器的个数;

角色分配模块,用于与邻居路由器i在绑定的各链路中选择一条链路为数据 及协议交互链路,并设其余链路为数据交互链路;

报文处理模块,用于在路由器与邻居路由器i进行业务交互时,利用所述数 据及协议交互链路进行协议报文的转发、以及利用各绑定链路将数据报文按照 预先设置的链路分担策略进行链路分担后,按照路由转发表转发所述数据报文。

可选地,本发明所述路由器还包括:所述链路管理模块,用于当路由器与 邻居路由器i间有新的链路加入后,将新加入的链路作为数据交互链路加入绑 定;以及当路由器与邻居路由器i间某条绑定链路退出时,检测退出绑定链路的 是否为所述数据及协议交互链路,若是,则在剩余绑定链路中重新选择一条链 路作为数据及协议交互链路;否则,将退出的链路从绑定链路中去除。

可选地,本发明所述路由器还包括:路由管理模块,用于在路由器将各广 域网接口对应的链路进行绑定时、在有新的链路加入时,或者,在有已绑定链 路退出时,向路由协议上报变化后的链路带宽信息,用以通过所述路由协议通 知其他路由器当前的链路带宽变化。

可选地,本发明所述路由器中,所述角色分配模块与邻居路由器i交互彼此 的路由器ID,并以路由器ID较大者为主导方进行数据及协议交互链路选择,并 将选择结果通知路由器ID较小者。

可选地,本发明所述路由器中,当所述角色分配模块所处路由器为主导方 时,所述角色分配模块,具体用于以接口号大小为选择依据,选择一条链路作 为数据及协议交互链路,或者,以接口优先级高低为选择依据,选择一条链路 作为数据及协议交互链路。

本发明有益效果如下:

本发明所述技术方案,通过对相邻路由器间多个同类且均为无编号的广域 网接口进行绑定,并定义绑定链路中的角色,实现了协议报文的单链路处理、 以及数据报文在多链路上的负载均衡发送,避免多个无编号互连带来的路由问 题,同时,又可以自动适应冗余链路的增删,以及上报链路由于绑定、删减等 带来的链路带宽变化,为路由转发表的生成提供依据,进而也实现了路由优化 处理。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描 述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种路由器实现支持冗余无编号链路的数据转 发方法的流程图;

图2为本发明实施例所述方法的典型应用场景图;

图3为本发明实施例所述方法中绑定链路增减的处理流程图;

图4为本发明实施例提供的一种路由器的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术中,两台路由器之间存在多个无编号链路,且在这些链 路上配置运行相同的路由协议时,就会出现路由环路、路由信息冗余和重复处 理的问题。本发明提供了一种路由器及其实现支持冗余无编号链路的数据转发 方法,该方法实现了路由器的广域网接口可以使用无编号,可以自动适应冗余 链路的增删,可以在多条链路上进行负载均衡,可以避免多个无编号互连带来 的路由问题。下面就通过几个实施例对本发明的实现过程进行详细说明。

实施例一

本发明实施例提供一种路由器实现支持冗余无编号链路的数据转发方法, 所述方法应用在两个路由器间连接多个同类广域网接口并且这些接口都使用了 无编号技术的场景下,具体场景图如图1所示,基于该应用场景,本实施例所述 方法的具体实现流程,如图2所示,包括如下步骤:

步骤S201,路由器在与某邻居路由器i间具有多个同类且均为无编号的广 域网接口时,将各广域网接口对应的链路进行链路绑定;i=1,2,..N,N为邻居路 由器的个数;

步骤S202,路由器与邻居路由器i在绑定的各链路中选择一条链路为数据 及协议交互链路,并设其余链路为数据交互链路;

该步骤中,路由器与邻居路由器i交互彼此的路由器ID,并以路由器ID较 大者为主导方进行数据及协议交互链路选择,并将选择结果通知路由器ID较小 者。

进一步地,该步骤中,选择一条链路为数据及协议交互链路的选择方式包 括但不限于为:所述主导方以接口号大小为选择依据,选择一条链路作为数据 及协议交互链路,或者,以接口优先级高低为选择依据,选择一条链路作为数 据及协议交互链路。

步骤S203,路由器在与邻居路由器i进行业务交互时,利用所述数据及协 议交互链路进行协议报文的转发、以及利用各绑定链路将数据报文按照预先设 置的链路分担策略进行链路分担后,按照路由转发表转发所述数据报文。

进一步地,本实施例中,路由器还对当前的绑定链路的增减进行管理,包 括:当路由器与邻居路由器i间有新的链路加入后,将新加入的链路作为数据交 互链路加入绑定;当路由器与邻居路由器i间某条绑定链路退出时,检测退出绑 定链路的是否为所述数据及协议交互链路,若是,则在剩余绑定链路中重新选 择一条链路作为数据及协议交互链路;否则,将退出的链路从绑定链路中去除。

进一步地,本实施例中,路由器还对绑定以及绑定增减过程中产生的链路 带宽变化进行上报,具体如下:

当路由器将各广域网接口对应的链路进行绑定时、当有新的链路加入时, 或者,当有已绑定链路退出时,路由器向路由协议上报变化后的链路带宽信息, 用以通过所述路由协议通知其他路由器当前的链路带宽变化。确切地说,链路 带宽的增加或减少不会改变本地的路由,在路由器A和B之间的直连路由关系 不会变化。当路由器A把链路带宽增加的信息通过协议告知其他路由器后,会 影响其他路由器将到路由器B的下一跳网关从别的路由器改为路由器A。

为了更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下 给出一具体应用实例,对本发明提出的技术方案进行进一步解释说明。

如图1所示,本应用实例中,按照网络规划路由器A和路由器B之间可以 布设多条广域链路进行互联。路由器A检测到与路由器B之间有多于一个的广 域网接口存在互连关系,并且这些接口都使用了无编号,路由器A会对这些广 域网链路进行链路绑定并按照设定的选取策略(例如,接口号大小或接口优先 级高低)从多条链路中选择一条链路作为数据及协议交互链路,即,该链路既 要作为路由协议交互的链路,也要承载业务数据的转发,而其他未被选中的链 路则只需要作为业务数据承载链路,业务数据会按照用户设置的策略(用户可 以根据需要灵活设置该策略,本发明不对该策略做具体限定)在这几条中继链 路上进行分担,当路由器B作为数据接收端时,在收到从多条链路上转发来的 数据后,遵循相同的策略对数据进行重新组包,恢复出数据包原有的格式和内 容,提交上层进行处理。

进一步地,本实施例中,路由器A在进行链路绑定后,会向路由协议更新 当前的链路带宽的变化,使得路由器可以将链路绑定后链路带宽的变化重新进 行本地路由代价计算,并将变化后的路由信息通告给其他路由器。

进一步地,本实施例中优选地定义两台路由器之间对数据及协议交互链路 的选择是以路由器ID大的路由器为主导进行的,即路由器ID大的路由器选出 某条链路作为数据及协议交互链路后,就会在该链路上发送链路选定报文,路 由器ID小的路由器在收到该报文后就选择收到该报文的接口作为数据及协议交 互链路,然后路由器之间开始交互协议报文。

进一步地,本实施例中对绑定链路的增减处理如下:

当某时刻有新的链路(该链路对应的接口满足与其他广域网接口为同类且 为无编号的广域网接口)加入时,将新加入的链路作为数据交互链路加入绑定。 也就是说,新增加的链路将只起业务数据的分担的作用,而不会取代原有链路 负责协议交互的作用,即便新增链路具有更高的优先级,因为:协议交互链路 的频繁的切换会导致路由协议交互的中断,触发路由的重新学习,引起网络的 动荡,同时也会引起数据转发的时通时断,使得用户体验变差,所以在链路选 举的设计上遵循后来者的加入不能影响现有的正常通信。

当有业务链路从当前绑定中退出时,路由器会向路由协议通告总链路带宽 的变化,同样非协议交互链路的退出不影响当前负责协议交互的链路的正常工 作,只有当负责协议交互的链路失效并退出绑定后,路由器才会重新选择新的 协议交互链路,然后重新进行路由计算和数据转发策略的应用。

如图3所示,为本实施例中链路增减的具体操作流程图,包括如下步骤:

步骤1,开始;

步骤2,判断邻居间的链路增加还是减少,若增加,执行步骤3,否则,执 行步骤6;

步骤3,对新增的链路进行链路绑定;

步骤4,向协议模块通告带宽增加;

步骤5,根据转发策略在多条链路上进行数据转发,转步骤17;

步骤6,是否是邻居间最后一条链路,若是,执行步骤7;否则,执行步骤 9;

步骤7,清除该邻居相关路由表项;

步骤8,清除与该链路有关的信息,转步骤17;

步骤9,减小的链路是否是协议交互链路,若是,执行步骤10;否则,执 行步骤14;

步骤10,清除与该链路有关的路由表项;

步骤11,重新进行链路绑定并进行协议链路选择;

步骤12,通告协议模块当前总链路带宽;

步骤13,根据转发策略在剩余链路上进行数据转发,转步骤17;

步骤14,将该链路从链路绑定中去除;

步骤15,向协议模块通告带宽减少;

步骤16,根据转发策略在剩余链路上进行数据转发,转步骤17;

步骤17,结束。

综上所述,本发明实施例所述方法,通过对相邻路由器间多个同类且均为 无编号的广域网接口进行绑定,并定义绑定链路中的角色,实现了协议报文的 单链路处理、以及数据报文在多链路上的负载均衡发送,避免多个无编号互连 带来的路由问题,同时,又可以自动适应冗余链路的增删,以及上报链路由于 绑定、删减等带来的链路带宽变化,为路由转发表的生成提供依据,进而也实 现了路由优化处理。

实施例二

如图4所示,本发明实施例提供一种路由器,包括:

链路绑定模块410,用于在路由器与某邻居路由器i间具有多个同类且均为 无编号的广域网接口时,将各广域网接口对应的链路进行链路绑定;i=1,2,..N, N为邻居路由器的个数;

角色分配模块420,用于与邻居路由器i在绑定的各链路中选择一条链路为 数据及协议交互链路,并设其余链路为数据交互链路;

报文处理模块430,用于在路由器与邻居路由器i进行业务交互时,利用数 据及协议交互链路进行协议报文的转发、以及利用各绑定链路将数据报文按照 预先设置的链路分担策略进行链路分担后,按照路由转发表转发所述数据报文。

上述角色分配模块420与邻居路由器i交互彼此的路由器ID,并以路由器 ID较大者为主导方进行数据及协议交互链路选择,并将选择结果通知路由器ID 较小者。

其中,当角色分配模块420所处路由器为主导方时,角色分配模块420,可 以但不限于以接口号大小为选择依据,选择一条链路作为数据及协议交互链路, 或者,以接口优先级高低为选择依据,选择一条链路作为数据及协议交互链路。

进一步地,本实施例中,路由器还包括:

链路管理模块440,用于当路由器与邻居路由器i间有新的链路加入后,将 新加入的链路作为数据交互链路加入绑定;以及当路由器与邻居路由器i间某条 绑定链路退出时,检测退出绑定链路的是否为所述数据及协议交互链路,若是, 则在剩余绑定链路中重新选择一条链路作为数据及协议交互链路;否则,将退 出的链路从绑定链路中去除。

进一步地,本实施例中,路由器还对绑定以及绑定增减过程中产生的链路 带宽变化进行上报,具体如下:

所述路由器还包括:路由管理模块450,用于在路由器将各广域网接口对应 的链路进行绑定时、在有新的链路加入时,或者,在有已绑定链路退出时,向 路由协议上报变化后的链路带宽信息,用以通过所述路由协议通知其他路由器 当前的链路带宽变化。

综上所述,本发明实施例所述路由器,通过对相邻路由器间多个同类且均 为无编号的广域网接口进行绑定,并定义绑定链路中的角色,实现了协议报文 的单链路处理、以及数据报文在多链路上的负载均衡发送,避免多个无编号互 连带来的路由问题,同时,又可以自动适应冗余链路的增删,以及上报链路由 于绑定、删减等带来的链路带宽变化,为路由转发表的生成提供依据,进而也 实现了路由优化处理。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号