一种聚合路由条目的方法和系统的制作方法

文档序号:7707530阅读:134来源:国知局
专利名称:一种聚合路由条目的方法和系统的制作方法
技术领域
本发明涉及计算机网络通信技术领域,尤其涉及一种IP网络聚合路由 条目的方法和系统。
背景技术
路由器与三层交换机等IP转发设备是根据目的IP地址,以最长掩码匹 配原则进行报文的转发。报文的高速转发通常由硬件实现,但硬件转发表空 间是有限的,所以在有些场景中会出现硬件转发表空间不足的情况,这时便 需要进行路由条目的聚合,在逻辑上扩展硬件转发表的空间。
中国专利CN1402488提出在协议层面上进行路由的聚合,减少下发路 由的数量。这是种基于在协议层面聚合属于相似网段的路由的方案。该方案 与具体协议实现有关联,有较高耦合性。
中国专利CN101098335提出根据相同的下一跳通过索引,进行不同网 段路由的聚合。该方案较多依靠软件处理,不是很适用于逻辑固定的芯片转 发。
在上述已有专利中,即使硬件转发表空间足够,也要进行繁瑣的软件处 理。这对芯片的转发性能没有帮助,反而增加了无谓的系统开销。

发明内容
本发明要解决的技术问题是提供一种聚合路由条目的方法和系统,与协 议耦合性低,开销低,实现方便。
为了解决上述问题,本发明提供了一种聚合路由条目的方法,收到协议 通告路由信息后,判断是否到达聚合路由门限,如果到达聚合路由门限,则 进行路由聚合操作,否则,直接执行相应路由操作。进一步地,上述方法还可具有以下特点,所述聚合路由门限是与硬件转 发表使用空间相关的 一参数。
进一步地,上述方法还可具有以下特点,维护一路由表,所述路由聚合 操作具体包括,
协议通告路由指示添加路由时,根据下一跳查找路由表,查找是否存在
短子网掩码匹配的可聚合路由;
如果查找到可聚合路由条目,判断通告路由的掩码位数小于查找到的可 聚合路由条目的掩码位数时,将该可聚合路由条目从路由表和转发表中删 除,将通告路由写入转发表和路由表,所述转发表为硬件转发表;
如果未查找到可聚合路由条目,则直接执行相应路由操作。
进一步地,上述方法还可具有以下特点,
维护一聚合路由表;判断通告路由的掩码位数大于查找到的可聚合路由
判断通告路由的掩码位数小于查找到的可聚合路由条目的掩码位数时, 将查找到的可聚合路由条目移入聚合路由表,将可聚合路由条目和该通告路 由进行关联。
进一步地,上述方法还可具有以下特点,
协议通告路由指示删除路由时,在路由表和其关联的聚合路由表中查找 匹配3各由;
如果在聚合路由表中查找到匹配路由条目,从聚合路由表中删除该匹配 路由条目并更新关联;
如果在路由表中查找到匹配路由条目,从^各由表和转发表中删除该匹配 路由条目,选择该匹配路由条目关联的聚合路由中掩码位数最少的聚合路由 条目写入路由表和转发表并更新关联。
本发明还提供一种聚合路由条目的系统,包括,接口模块,用于接收协议通告路由;
门限判断模块,用于判断是否到达聚合路由门限,如果到达,指示路由
聚合模块进行路由聚合操作,否则,指示路由操作模块进行相应路由操作;
路由聚合模块,用于收到门限判断模块的指示时,进行路由聚合操作;
路由操作模块,用于根据通告路由进行相应路由操作。
进一步地,上述系统还可具有以下特点,所述聚合路由门限是与硬件转 发表使用的空间相关的 一参数。
进一步地,上述系统还可具有以下特点,还包含一存储模块,用于维护 一路由表;所述路由聚合模块进一步包括可聚合路由查找单元,用于在协议通告路由指示添加路由情况下,在到 达聚合路由门限时,根据下一跳查找路由表,查找是否存在短子网掩码匹配 的可聚合路由,如果查找到可聚合路由条目,则指示路由聚合单元进行路由 聚合,否则,指示路由操作模块直接进行路由操作;
路由聚合单元,在可聚合路由查找单元查找到可聚合路由条目时,判断 通告路由的掩码位数是否小于查找到的可聚合路由条目的掩码位数,如果 是,将该可聚合路由条目从转发表和路由表中删除,将通告路由写入转发表 和路由表,所述转发表为硬件转发表。
进一步地,上述系统还可具有以下特点,所述存储模块还维护一聚合路 由表;
所述路由聚合单元在在可聚合路由查找单元查找到可聚合路由条目时, 判断通告路由的掩码位数大于查找到的可聚合路由条目的掩码位数,则将通 告路由存入该聚合路由表并与该可聚合路由条目关联;判断通告路由的掩码 位数小于查找到的可聚合路由条目的掩码位数时,将查找到的可聚合路由条 目移入聚合路由表,将可聚合路由条目和该通告路由进行关联。
进一步地,上述系统还可具有以下特点,所述路由操:作;漠块,还用于协 议通告路由指示删除路由时,在路由表和其关联的聚合路由表中查找匹配路 由,如果在聚合路由表中查找到匹配路由条目,从聚合路由表中删除该匹配路由条目并更新关联;如果在路由表中查找到匹配路由条目,从路由表和转 发表中删除该匹配路由条目,选择该匹配路由条目关联的聚合路由中掩码位 数最少的聚合路由条目写入路由表和转发表并更新关联。
综上所述,本发明技术方案当转发表空间没有达到门限(如一给定使用 比例)时,路由处理没有增加额外的系统开销,为正常的路由通告流程,当 需要进行路由聚合时,才进行聚合路由表的操作并与相应的路由表项关联。 本发明路由聚合处理与协议层无关,是对协议通告的路由进行独立处理,与 上层耦合低,且处理过程不繁瑣,易实现。本发明技术方案是一个选"^写入 转发表路由的过程,适用于逻辑固定的芯片转发,在空间扩展与系统开销间 取得相对的平衡。


图1为本发明聚合路由系统框图。 图2为本发明路由通告整体数据流程图。 图3为本发明添加普通路由数据流程图。 图4为本发明添加聚合路由数据流程图。 图5为本发明删除路由数据流程图。
具体实施例方式
由于路由器、三层交换机等IP转发设备是根据最长掩码匹配原则进行 报文的转发,在相同网段的前提下,短子网掩码可以在转发表中覆盖到长子 网掩码的路由,这就为路由聚合提供了可能。本发明提供一种在驱动层面上 的路由压缩方法,当硬件转发表空间使用达到一定比例时进行路由条目的聚 合,以便在逻辑上扩展转发表项的空间。
本发明中,维护一路由表和一聚合路由表,其中路由表条目和转发表(即 硬件转发表)条目 一致,聚合路由表中的条目不向转发表(即硬件转发表) 提交。聚合路由表记录与路由表条目关联的聚合路由条目,在删除路由条目
8时从聚合路由表中选取合适的条目写入路由表和转发表。
本发明提供了一种聚合路由条目的方法,包括
接口模块接收协议下发的路由通告,根据不同的路由操作具体分为如下 处理方式
b、 添加路由操作
首先判断是否启用路由条目的聚合,通过是否到达聚合路由门限进行判 断,聚合路由门限是与硬件转发表使用空间相关的一参数。
bl、不需聚合路由时,即未到达聚合路由门限时,存储通告路由信息至 路由表,如目的网段、子网掩码、下一跳地址,将通告路由信息写入转发表。
b2、需聚合路由时,则根据下一跳查找路由表,根据掩码在路由表中寻 找相似网段的可聚合路由条目,即寻找短子网掩码匹配的可聚合路由条目, 包括
b21、如找到可聚合路由条目,且通告路由的掩码位数大于可聚合路由 条目,将通告路由写入聚合路由表,并将通告路由与路由表中找到的该可聚 合5^由条目关联。
b22、如找到可聚合路由条目,且通告路由的掩码位数小于可聚合路由 条目,将可聚合路由条目写入聚合路由表,在路由表和转发表中删除该可聚 合路由条目,将通告路由写入路由表和转发表中该可聚合路由条目的位置, 将通告路由与该可聚合路由条目建立关联。
如果通告路由的掩码位数等于可聚合路由条目,则不对路由表和转发表 操作。
b23、如没有找到可聚合路由条目,将通告路由写入路由表和转发表。
c、 删除路由操作,在路由表和聚合路由表查找匹配的路由条目,查找 路由表时,如果关联了聚合路由表,则通过关联关系查找关联的聚合路由条目。
Cl、如果在路由表中查找到匹配路由条目,从转发表和路由表中删除该 匹配路由条目,如果该匹配路由条目存在关联的聚合路由条目,从关联的聚 合路由条目中,将掩码位数最小的聚合路由条目写入路由表和转发表中当前 路由表项的位置,从聚合路由表中删除该聚合路由条目,并更新关联。
C2、如果在聚合路由表中查找到匹配路由条目,直接从聚合路由表中删 除该匹配路由条目,并更新关联。
d、更新路由操作;
先执行删除路由操作,然后执行添加路由操作,具体同上,此处不在贺述。
上述步骤以IP转发为例,但并不作为本发明的限制。如是标签转发, 则可存储相应的标签信息并进行对应的^t喿作。
本发明还提供一种聚合路由条目的系统,包括
接口模块IOI,用于接收协议层面的路由通告,即接收协议通告路由, 判断需要执行的路由操作,指示相应模块进行操作;
具体为如果是添加路由操作,则指示门限判断模块102进行聚合路由 门限判断后执行相应操作;如果是删除路由操作,则指示路由操作模块104 进行路由删除操作;如果是更新路由操作,则先指示路由操作模块104进行 路由删除,然后指示门限判断模块102进行聚合路由门限判断后执行相应操 作;
门限判断模块102,用于判断是否到达聚合路由门限,如果到达,指示 路由聚合模块103进行路由聚合操作,否则,指示路由操作模块104进行相 应^各由才喿作;
所述聚合路由门限可为转发表的空间使用的比例(可以为100%),超 过该门限时,进行路由聚合操作。路由聚合模块103,用于收到门限判断模块102的指示时,进行路由聚 合操作;
路由操作模块104,用于根据通告路由进行相应路由操作;具体为,进 行路由添加时,将通告路由写入路由表和转发表中,通告路由包括目的网段、 子网掩码、下一跳等信息。
存储模块105,用于维护一路由表和一聚合路由表;
该路由表中的条目将会写入转发表,即该路由表的表项与转发表中的条 目是一致的。
所述路由聚合模块103进一步包括
可聚合路由查找单元1031,用于在协议通告路由指示添加路由情况下, 在到达聚合路由门限时,根据下一跳查找路由表,查找是否存在短子网掩码 匹配的可聚合路由条目,如果查找到可聚合路由条目,则指示路由聚合单元 1032进行路由聚合,否则,指示路由操作模块104直接进行路由操作;
路由聚合单元1032,在可聚合路由查找单元1031查找到可聚合路由条 目时,判断通告路由的掩码位数是否小于查找到的可聚合路由条目的掩码位 数,如果是,将该可聚合路由条目从路由表和转发表中删除,将通告路由写 入转发表和路由表,将查找到的可聚合路由条目移入聚合路由表,将可聚合 路由条目和该通告路由进行关联,所述转发表为硬件转发表;在判断通告路 由的掩码位数大于查找到的可聚合路由条目的掩码位数时,将通告路由存入 该聚合路由表并与该可聚合路由条目关联。
进一步的,路由操作模块104,还用于协议通告路由指示删除路由时, 在路由表及其关联的聚合路由表中查找匹配路由,如果在聚合路由表中查找 到匹配路由条目,从聚合路由表中删除该匹配路由条目并更新关联;如果在 路由表中查找到匹配路由条目,从路由表和转发表中删除该匹配路由条目, 选择该匹配路由条目关联的聚合路由中掩码位数最少的聚合路由条目写入路由表和转发表并更新关联。
下面结合附图2对本发明技术方案的路由通告整体数据流程作进一步
描述
步骤201,协议通告路由信息;
步骤202,判断是否达到聚合路由操作的门卩艮,如果没有,执行步骤203, 否则,执行步骤204;
步骤203,没有达到聚合路由操作的门限,走普通路由通告流程,存储 路由信息,转步骤206;
步骤204,达到聚合路由操作的门限,进行聚合路由条目及与路由条目 关联的操作。
步骤205,根据不同操作判断是否需要对转发表进行处理,如果需要, 执行步骤206,否则,执行步骤207;
步骤206,对转发表进行相应处理。
步骤207,操作完成。
下面结合附图3对本发明技术方案的添加普通路由数据流程作进一步 描述
步骤301,协议通告路由信息;
步骤302,存储通告路由信息到路由表;
步骤303,对路由转发信息(即通告路由信息)进行处理;
步骤304,进行转发表操作,将通告路由信息写入转发表;
步骤305,操作完成。
下面结合附图4对本发明技术方案的添加聚合路由数据流程作进一步 描述步骤401,协议通告路由信息。
步骤402,判断已到达聚合路由门限,在路由表中查找可聚合的路由条 目,即寻找短子网掩码匹配的可聚合路由条目,如果未查找到可聚合路由条 目,转步骤403,否则,转步骤404;
步骤403,没有可聚合的路由条目,存储通告路由信息到路由表,进行 普通3各由的添加操作,转步骤408;
步骤404,找到可聚合路由条目,进行聚合路由的操作,执行步骤405;
步骤405,判断通告路由的掩码位数是否大于查找到的可聚合路由条目, 如果是,执行步骤406;否则,执行步骤407;
步骤406,通告路由的掩码位数大于查找到的可聚合路由条目,将通告 路由信息存入聚合路由表并与该可聚合路由条目建立关联,转步骤409;
步骤407,通告路由的掩码位数小于查找到的可聚合路由条目,从路由 表中将查找到的可聚合路由条目移入聚合路由表,将通告路由信息存入路由 表中的相应表项,即存入查找到的可聚合路由条目对应的路由表项,将通告 路由和该可聚合路由条目建立关联,执行步骤408;
步骤408,根据不同操作与需要,更新转发表信息。
步骤409,操作完成。
下面结合附图5对本发明技术方案的删除路由数据流程作进一步描述, 包括
步骤501,协议通告路由信息;
步骤502,在路由表中查找匹配的路由,对有聚合路由关联的路由条目, 关联的聚合路由条目也需要匹配;
步骤503,判断匹配到的路由条目的位置,如果匹配路由条目在聚合路 由表中,则执行步骤504;如果匹配路由条目在路由表中,执行步骤505;
步骤504,匹配路由条目在聚合路由表中,从聚合路由表中删除匹配路 由条目并更新关联,执行步骤508;步骤505,匹配路由条目在路由表中,从路由表中删除匹配路由条目;
步骤506,选择匹配路由条目关联的聚合路由中掩码位数最少的聚合路 由条目写入路由表相应表项位置并更新关联;
步骤507,根据操作与需要,更新转发表;
步骤508,操作完成。
本发明提供了一种在驱动层面上的路由聚合方法,与高层协议无关,并 且只有在硬件转发表空间使用达到一定比例的情况下进行路由条目的聚合, 该方法可以保证当转发表空间足够时无需花费额外的系统开销,从而避免无 谓的系统开销。另外,本发明考虑到网段差异,聚合相似网段的路由,符合 芯片转发逻辑,适用于硬件芯片的高速转发。
权利要求
1、一种聚合路由条目的方法,其特征在于,收到协议通告路由信息后,判断是否到达聚合路由门限,如果到达聚合路由门限,则进行路由聚合操作,否则,直接执行相应路由操作。
2、 如权利要求1所述的方法,其特征在于,所述聚合路由门限是与硬件转发表使用空间相关的一参数。
3、 如权利要求1所述的方法,其特征在于,维护一路由表,所述路由聚合操作具体包括,协议通告路由指示添加路由时,根据下一跳查找路由表,查找是否存在短子网掩码匹配的可聚合路由;如果查找到可聚合路由条目,判断通告路由的掩码位数小于查找到的可聚合路由条目的掩码位数时,将该可聚合路由条目从路由表和转发表中删除,将通告路由写入转发表和路由表,所述转发表为硬件转发表;如果未查找到可聚合路由条目,则直接执行相应路由操作。
4、 如权利要求3所述的方法,其特征在于,所述方法还包括,维护一聚合路由表;判断通告路由的掩码位数大于查找到的可聚合路由条目的掩码位数时,将通告路由存入该聚合路由表并与该可聚合路由条目关联;判断通告路由的掩码位数小于查找到的可聚合路由条目的掩码位数时,将查找到的可聚合路由条目移入聚合路由表,将可聚合路由条目和该通告路由进行关联。
5、 如权利要求4所述的方法,其特征在于,协议通告路由指示删除路由时,在路由表和其关联的聚合路由表中查找匹酉己3各由;如果在聚合路由表中查找到匹配路由条目,从聚合路由表中删除该匹配路由条目并更新关联;如果在路由表中查找到匹配路由条目,从路由表和转发表中删除该匹配路由条目,选择该匹配路由条目关联的聚合路由中掩码位数最少的聚合路由条目写入路由表和转发表并更新关联。
6、 一种聚合路由条目的系统,其特征在于,包括,接口模块,用于接收协议通告路由;门限判断模块,用于判断是否到达聚合路由门限,如果到达,指示路由聚合模块进行路由聚合操作,否则,指示路由操作模块进行相应路由操作;路由聚合模块,用于收到门限判断模块的指示时,进行路由聚合操作;路由操作模块,用于根据通告路由进行相应路由操作。
7、 如权利要求6所述的系统,其特征在于,所述聚合路由门限是与硬件转发表使用的空间相关的 一参数。
8、 如权利要求6所述的系统,其特征在于,还包含一存储模块,用于维护一路由表;所述路由聚合模块进一步包括可聚合路由查找单元,用于在协议通告路由指示添加路由情况下,在到达聚合路由门限时,根据下一跳查找路由表,查找是否存在短子网掩码匹配的可聚合路由,如果查找到可聚合路由条目,则指示路由聚合单元进行路由聚合,否则,指示路由操作模块直接进行路由操作;路由聚合单元,在可聚合路由查找单元查找到可聚合路由条目时,判断通告路由的掩码位数是否小于查找到的可聚合路由条目的掩码位数,如果是,将该可聚合路由条目从转发表和路由表中删除,将通告路由写入转发表和路由表,所述转发表为硬件转发表。
9、 如权利要求8所述的系统,其特征在于,所述存储模块还用于维护一聚合路由表;所述路由聚合单元在在可聚合路由查找单元查找到可聚合路由条目时,判断通告路由的掩码位数大于查找到的可聚合路由条目的掩码位数,则将通位数小于查找到的可聚合路由条目的掩码位数时,将查找到的可聚合路由条目移入聚合路由表,将可聚合路由条目和该通告路由进行关联。
10、如权利要求9所述的系统,其特征在于,所述路由操作模块,还用于协议通告路由指示删除路由时,在路由表和其关联的聚合路由表中查找匹 配路由,如果在聚合路由表中查找到匹配路由条目,从聚合路由表中删除该匹配路由条目并更新关联;如果在路由表中查找到匹配路由条目,从路由表 和转发表中删除该匹配路由条目,选择该匹配路由条目关联的聚合路由中掩 码位数最少的聚合路由条目写入路由表和转发表并更新关联。
全文摘要
本发明提供了一种聚合路由条目的方法,收到协议通告路由信息后,判断是否到达聚合路由门限,如果到达聚合路由门限,则进行路由聚合操作,否则,直接执行相应路由操作。本发明还提供一种聚合路由条目的系统。本发明所述方案,仅在到达聚合路由门限的时候启动路由聚合,减少了系统开销。
文档编号H04L12/56GK101562573SQ20091013731
公开日2009年10月21日 申请日期2009年4月22日 优先权日2009年4月22日
发明者松 原 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1