基于路由表分解存储的可扩展路由器系统路由方法

文档序号:7891438阅读:364来源:国知局
专利名称:基于路由表分解存储的可扩展路由器系统路由方法
技术领域
本发明涉及互联网IP路由器体系结构研究技术领域,尤其涉及一种基于路由表分解存储的可扩展路由器系统路由方法。
背景技术
互联网快速发展带来的一个重大问题就是核心路由器路由表的急剧增长。我们需要在路由器中部署更大容量的路由查找及存储芯片。而且,商用路由器普遍采用全冗余备份方法存储路由表项,该方法使得每块线卡(LC,Line Card)都要大量扩充硬件资源,随之带来的芯片供电和散热处理还会消耗更多的电力资源。随着路由器体系向可扩展结构的发展,该问题显得更为突出。可扩展路由器是由若干个子路由器级连而成的一个统一的路由系统。它在功能、 性能、接口规模等方面,具有极大的可扩展性。其主要优点有保护前期运营投资、提高系统性能、增强可靠性、简化网络拓扑等。可扩展路由器的一个重要特征是线卡数量急剧增多, 所以路由表容量增大导致消耗更多硬件资源及电能的矛盾在可扩展路由器中显得更为突出。现有的路由表研究主要集中于通过并行处理提高查询速度,虽然有文献提出过路由表分解存储方案,但是仍存在大量转发项在多块线卡的冗余存储,增加了可扩展路由器的存储开销及能耗,浪费了硬件资源。

发明内容
(一 )要解决的技术问题本发明要解决的技术问题是如何有效地实现路由表的分解存储,降低存储冗余, 减少查找次数,从而有效地降低可扩展路由器的存储开销及能耗,节省硬件资源。( 二 )技术方案为解决上述问题,本发明提供了一种基于路由表分解存储的可扩展路由器系统路由方法,包括以下步骤A :根据系统线卡数量η计算单元前缀的数量;B :建立单元前缀与线卡的映射关系;C :根据所述映射关系分解存储真实路由表;D :构造所述单元前缀的虚拟路由并存储;E :根据所述虚拟路由和所述分解后的真实路由表进行报文转发处理。其中,所述步骤A进一步包括Al :计算分解位& = Γ1ο§2 ηλ,按照IP前缀中前k位二进制数值等于i的原则表示单元前缀i ;A2 :计算可分解的单元前缀的数量*^^ =2k =2riog2n]
ο
其中,所述步骤B进一步包括以下步骤BI :若η为2的指数,则按照第m个单元前缀对应第m块线卡的形式映射;B2 :若η不是2的指数,则将前η个单元前缀按照第m个单元前缀对应第m块线卡的形式映射,将剩下的单元前缀从卡号为O的线卡开始继续按照顺序进行映射,使单元前缀i与卡号为(i-n)的线卡映射。其中,所述步骤C进一步包括以下步骤检测路由表中的真实路由前缀的掩码长度是否小于k,若是,则该真实路由前缀为聚集前缀,将其存储到所有线卡中;若否,则将该路由前缀存储到其归属的单元前缀对应的线卡中。其中,所述步骤D进一步包括以下步骤01:以〈目的网段,出线卡号,出接口号,下一跳地址〉的方式描述转发项;D2:对任一单元前缀i,若其对应线卡j,则构造目的网段〈单元前缀i,j,Inv, Inv>为该单元前缀的虚拟路由,其中,Inv表示一个无效值;D3 :将所构造的虚拟路由发送给线卡j外的所有线卡存储。其中,所述步骤E进一步包括以下步骤El :通过最长前缀匹配查找接收报文的入线卡是否与该报文的真实路由匹配,若是,则执行步骤E2,若否,则执行步骤E3 ;E2 获取全部真实转发信息,并根据所述真实转发信息转发该报文;E3:通过内部交换网络将该报文转发到与其匹配的虚拟路由中的出线卡,报文到达出线卡后,通过最长前缀匹配查找与该报文匹配的真实路由,并得到全部真实转发信息, 并根据所述真实转发信息转发该报文。其中,所述步骤El、E3中进行最长前缀匹配查找时,若查找失败,则丢弃该报文。(三)有益效果本发明基于路由表分解存储的可扩展路由器系统路由方法以IP单元前缀的前若干bit位为依据进行分解存储,实现线卡对路由表的分解存储。该方法在各线卡增加少量虚拟路由与真实路由项共存于一个转发表。线卡转发引擎的最长前缀匹配查询集成了对虚拟路由和真实路由项的查找,既可实现转发下一跳查询,又可实现报文到转发子表的对应。 本发明大大降低了系统总共存储转发条目及各线卡存储转发条目,减少了查找次数,从而降低了可扩展路由器的存储开销及能耗,节省了硬件资源。


图I为本发明实施方式中基于路由表分解存储的可扩展路由器系统路由方法。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。如图I所示,本发明所述的一种基于路由表分解存储的可扩展路由器系统路由方法,包括以下步骤A :根据系统线卡数量η计算单元前缀的数量;
5
本步骤具体可通过以下步骤实现Al :计算分解位& = Rog2 η],按照IP前缀中前k位二进制数值等于i的原则表示单元前缀i ;A2 :计算可分解的单元前缀的数量*^^ =2k =2riog2n]
οB :建立单元前缀与线卡的映射关系;本步骤具体可通过以下步骤实现BI :若η为2的指数,则按照第m个单元前缀对应第m块线卡的形式映射;B2 :若η不是2的指数,此时单元前缀总数一定大于线卡总数η而小于2η,将前η 个单元前缀按照第m个单元前缀对应第m块线卡的形式映射,将剩下的单元前缀从卡号为 O的线卡开始继续按照顺序进行映射,使单元前缀i与卡号为(i-n)的线卡映射。C :根据所述映射关系分解存储真实路由表;本步骤具体可通过以下方法实现检测路由表中的真实路由前缀的掩码长度是否小于k,若是,则该真实路由前缀为聚集前缀,将其存储到所有线卡中;若否,则其前k位二进制值必定与某一单元前缀的前k 位二进制值相等,说明该路由前缀归属于该单元前缀,此时将该路由前缀存储到其归属的单元前缀对应的线卡中。D :构造所述单元前缀的虚拟路由并存储;本步骤具体可通过以下步骤实现01:以〈目的网段,出线卡号,出接口号,下一跳地址〉的方式描述转发项;D2:对任一单元前缀i,若其对应线卡j,则构造目的网段〈单元前缀i,j, Inv, Inv>为该单元前缀的虚拟路由,其中,Inv表示一个无效值;D3 :将所构造的虚拟路由发送给线卡j外的所有线卡存储。E :根据所述虚拟路由和所述分解后的真实路由表进行报文转发处理。本步骤具体可通过以下步骤实现El :通过最长前缀匹配查找接收报文的入线卡是否与该报文的真实路由匹配,若是,则执行步骤E2,若否,则执行步骤E3 ;E2 获取全部真实转发信息,并根据所述真实转发信息转发该报文;E3:通过内部交换网络将该报文转发到与其匹配的虚拟路由中的出线卡,报文到达出线卡后,通过最长前缀匹配查找与该报文匹配的真实路由,并得到全部真实转发信息, 并根据所述真实转发信息转发该报文。其中,所述步骤El、E3中进行最长前缀匹配查找时,若查找失败,则丢弃该报文。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种基于路由表分解存储的可扩展路由器系统路由方法,其特征在于,包括以下步骤A :根据系统线卡数量η计算单元前缀的数量;B :建立单兀如缀与线卡的映射关系;C :根据所述映射关系分解存储真实路由表;D :构造所述单元前缀的虚拟路由并存储;E :根据所述虚拟路由和所述分解后的真实路由表进行报文转发处理。
2.如权利要求I所述的基于路由表分解存储的可扩展路由器系统路由方法,其特征在于,所述步骤A进一步包括Al :计算分解位& = Rog2 η],按照IP前缀中前k位二进制数值等于i的原则表示单元前缀i ;A2 :计算可分解的单元前缀的数量乂 =^k =2riog2n]ο
3.如权利要求I所述的基于路由表分解存储的可扩展路由器系统路由方法,其特征在于,所述步骤B进一步包括以下步骤BI :若η为2的指数,则按照第m个单元前缀对应第m块线卡的形式映射;B2 :若η不是2的指数,则将前η个单元前缀按照第m个单元前缀对应第m块线卡的形式映射,将剩下的单元前缀从卡号为O的线卡开始继续按照顺序进行映射,使单元前缀i与卡号为(i-n)的线卡映射。
4.如权利要求I所述的基于路由表分解存储的可扩展路由器系统路由方法,其特征在于,所述步骤C进一步包括以下步骤检测路由表中的真实路由前缀的掩码长度是否小于k,若是,则该真实路由前缀为聚集前缀,将其存储到所有线卡中;若否,则将该路由前缀存储到其归属的单元前缀对应的线卡中。
5.如权利要求I所述的基于路由表分解存储的可扩展路由器系统路由方法,其特征在于,所述步骤D进一步包括以下步骤Dl :以〈目的网段,出线卡号,出接口号,下一跳地址 > 的方式描述转发项;D2 :对任一单元前缀i,若其对应线卡j,则构造目的网段〈单元前缀i,j,Inv, Inv>为该单元前缀的虚拟路由,其中,Inv表示一个无效值;D3 :将所构造的虚拟路由发送给线卡j外的所有线卡存储。
6.如权利要求I所述的基于路由表分解存储的可扩展路由器系统路由方法,其特征在于,所述步骤E进一步包括以下步骤El :通过最长前缀匹配查找接收报文的入线卡是否与该报文的真实路由匹配,若是,则执行步骤E2,若否,则执行步骤E3 ;E2 :获取全部真实转发信息,并根据所述真实转发信息转发该报文;E3:通过内部交换网络将该报文转发到与其匹配的虚拟路由中的出线卡,报文到达出线卡后,通过最长前缀匹配查找与该报文匹配的真实路由,并得到全部真实转发信息,并根据所述真实转发信息转发该报文。
7.如权利要求6所述的基于路由表分解存储的可扩展路由器系统路由方法,其特征在于,所述步骤El、E3中进行最长前缀匹配查找时,若查找失败,则丢弃该报文。
全文摘要
本发明公开了一种基于路由表分解存储的可扩展路由器系统路由方法,包括以下步骤A根据系统线卡数量n计算单元前缀的数量;B建立单元前缀与线卡的映射关系;C根据所述映射关系分解存储真实路由表;D构造所述单元前缀的虚拟路由并存储;E根据所述虚拟路由和所述分解后的真实路由表进行报文转发处理。本发明所述的方法大大降低了系统总共存储转发条目及各线卡存储转发条目,减少了查找次数,从而降低了可扩展路由器的存储开销及能耗,节省了硬件资源。
文档编号H04L12/56GK102594699SQ20121006557
公开日2012年7月18日 申请日期2012年1月13日 优先权日2012年1月13日
发明者岳兵, 徐恪, 陈文龙, 马东超 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1