一种路由表聚合装置及其方法

文档序号:7962846阅读:303来源:国知局
专利名称:一种路由表聚合装置及其方法
技术领域
本发明涉及计算机网络通信技术领域,特别是涉及一种互联网协议
(InternetProtocol, IP)网络中单播路由表的优化装置及其方法。
背景技术
路由器和三层交换机等IP网络转发设备通过查找IP路由表来进行报文的 转发。随着IP网络的高速发展,网络节点的不断扩张,在大型IP网络中,路 由数量持续快速增长,可以达到几十万的数量级。核心网转发设备为正确转发 IP报文需要维护的路由表也随之增长,这种大容量的路由表要求更多的系统 开销,如占用大量内存。
在目前的IP转发设备中,高层协议软件学习到有效路由信息,然后提交 到转发软件,保存在路由表中。转发引擎按照路由表的指示,实现报文的高速 转发。路由表采用一对一的方式存储路由信息,即一条路由信息对应一个路由 表的表项。每个表项中通常包括以下这些内容下一跳IP地址、出端口,如 果是标签路由还需要存储标签。这样设计虽然逻辑清晰,易于维护,但是会占 用大量内存。在高速转发设备中通常使用硬件实现,硬件转发引擎空间有限, 能容纳的路由表也很有限,所以在路由表扩容的同时,硬件空间不能与之同步 同容量的扩大,这就导致路由表扩张和硬件限制之间的矛盾日益突出。
中国专利CN02131448提出在将路由信息提交路由表之前进行聚合,目的
是减少提交到路由表中的路由数量。它的聚合对象是属于同一网段的路由,在 中间转发设备上,这些属于同一网段路由的转发路径大部分是相同的,完全可 以用一条路由来覆盖他们各自的路由,对于那些不同路径的路由仍然可以用各 自的路由来指导转发,只有在边缘转发设备上才对每个目的地址建立具体的转 发路由。在高层协议软件上增加对同一网段路由的处理,可以减少协议软件向 转发软件提交的路由数量。
经过分析,在经过这样的处理之后,路由表仍然有很大的优化余地。硬件
转发设备的出接口是有限的,转发设备的相邻设备是有限的,所以与之对应的 下一跳IP地址也是有限的,这说明在数以几十万计的路由信息中有很多使用 的是重复的信息,比如,数十条路由拥有相同的出接口和下一跳IP地址,以 及其他一些相同的转发路由,如果把这些相同的部分用一个表项来表示,这些 路由都关联到这个表项上,那么在最好的情况下,这种方法可以使空间节省几 十倍。现有技术尚未提供上述方法。

发明内容
本发明所要解决的技术问题在于提供一种路由表聚合装置及其方法,用于 减少路由表占用的空间、提高相同路由空间存储的路由数量。
为了实现上述目的,本发明提供了一种路由表聚合装置,其特征在于,包

一接口模块,用于提供转发层面和协议层面的路由通告接口;
一聚合路由模块,用于创建、维护一聚合路由表,并由所述聚合路由表保
存路由信息中的可聚合信息;
一聚合路由控制模块,用于保存路由与所述聚合路由表的关联信息,并根 据所述关联信息对所述聚合路由模块进行控制;
一不可聚合路由模块,用于创建、维护一不可聚合路由表,并由所述不可 聚合路由表保存路由信息中的不可聚合信息;
一不可聚合路由控制模块,用于通过控制不可聚合路由表的分配控制所述 不可聚合路由模块;
一路由索引模块,用于创建、维护一路由索引表,并在所述路由索引表中 査找路由索引,所述路由索引表用于记录不同目的地址对应的路由在所述聚合 路由表和不可聚合路由表中的索引;
所述接口模块接收一路由信息并对该路由信息进行分类,交由所述路由索 引模块在所述路由索引表中査找路由对应的索引,所述聚合路由模块、所述聚 合路由控制模块根据所述索引、所述路由信息修改所述聚合路由表,并返回一 聚合路由索引至所述路由索引表;所述不可聚合路由模块、所述不可聚合路由 控制模块根据所述索引、所述路由信息修改所述不可聚合路由表,并返回一不 可聚合路由索引至所述路由索引表。
所述的路由表聚合装置,其中,所述可聚合信息包括下一跳地址、出接 口、出外层标签及标记位,所述标记位又包括本地路由标记、直连路由标记、 上送标记、隧道标记及负荷分担标记。
所述的路由表聚合装置,其中,所述不可聚合信息包括出内层标签及虚 拟专用网标识。
所述的路由表聚合装置,其中,所述目的地址为IP地址、虚拟专用网标 识或标签信息。
为了实现上述目的,本发明还提供了所述路由表聚合装置的路由表聚合方 法,其特征在于,包括
步骤51,通过接口模块接收路由信息;
步骤52,由路由索引模块根据所述路由信息中的目的地址在路由索引表 中查找路由对应的索引;
步骤53,由聚合路由模块、聚合路由控制模块根据所述索引、所述路由 信息修改所述聚合路由模块创建的聚合路由表,并返回聚合路由索引至所述路 由索引表;由不可聚合路由模块、不可聚合路由控制模块根据所述索引、所述 路由信息修改所述不可聚合路由模块创建的不可聚合路由表,并返回不可聚合 路由索引至所述路由索引表。
所述的路由表聚合方法,其中,所述步骤52中,所述査找路由对应的索
引的步骤具体为
步骤621,将所述路由所对应的32比特目的地址以4比特一组的方式分 为8组,从高比特到低比特分别是组一、组二、组三、组四、组五、组六、组 七、组八,每组数值代表一个偏移地址;
步骤622,所述路由索引表在初始化时,在内存中分配一个起始地址,从 该起始地址开始偏移组一大小的空间,并将偏移后所指向的空间存储的数值作 为第二级査找的起始地址;
步骤623,从所述第二级查找的起始地址偏移组二大小的空间,并将偏移 后所指向的空间存储的数值作为第三级査找的起始地址;
步骤624,按照所述步骤623的查找方式,直到第八级查找完成,并将此 时査找到的空间的内容作为所述目的地址所对应的路由在所述聚合路由表和 不可聚合路由表中的索引,查找完成。
所述的路由表聚合方法,其中,所述步骤53中,还包括一对所述路由信 息的操作模式进行判断的步骤。
所述的路由表聚合方法,其中,当所述路由信息的操作模式为添加模式时, 通过一设定的索引方式在所述聚合路由表中找到一表项,当该表项的聚合信息 与要添加的路由的相应信息相同时,则记录下该表项的索引,并将该表项对应 的聚合路由控制模块的控制信息中的关联值加1,再将该表项的索引作为聚合 路由索引回填到所述路由索引表。
所述的路由表聚合方法,其中,当所述路由信息的操作模式为更新模式时, 由所述路由索引模块根据路由信息中的目的地址找到路由索引表中的对应项, 读取该对应项中的聚合路由索引找到聚合路由表的对应表项,将该表项中的内 容与要更新的路由内容进行比较,若相同,则成功返回;若不同,则执行如下 步骤
将该表项对应的聚合路由控制模块的控制信息中的关联值减1;
在所述聚合路由表中找到一表项,若该表项的聚合部分的信息与要添加的 路由的相应信息相同,记录下该表项的索引,并将该表项对应的聚合路由控制 模块的控制信息中的关联值加h
若在已有的所述聚合路由表中找不到与要添加的路由的信息相同的对应 表项,则从该聚合路由表中分配一个新的聚合路由表项,填写其表项内容,并 将该表项对应的聚合路由控制模块的控制信息中的关联值置1;
用新的聚合路由索引代替路由索引表中的聚合路由索引。
所述的路由表聚合方法,其中,当所述路由信息的操作模式为删除模式时, 所述路由索引模块根据路由信息中的目的地址在所述路由索引表中査找对应 项;
若査到聚合路由索引,则根据该聚合路由索引将该聚合路由索引指向的聚 合路由表项对应的聚合路由控制模块的控制信息中的关联值减1;
若又查到不可聚合路由索引,则根据该不可聚合路由索引找到不可聚合路 由表的对应表项,清空并释放该空间,把该表项对应的不可聚合路由控制模块 的己分配标记置0;再将所述路由索引表中的聚合路由索引和不可聚合路由索 引都清0。
本发明的有益技术效果在于
本发明提供的路由表聚合方法,对所有转发引擎上所有的路由信息,无论 是否属于同一网段,按照路由信息分组,对于每一组路由,提取其中相同的部 分,釆用多对一的方式组成聚合路由表,其他不同的部分信息仍采用一对一的 方式保存。
本发明将路由表拆分为聚合路由表和不可聚合路由表,将路由信息中可聚 合的大部分内容用少量的聚合路由表来表示,与现有方法相比,减少了路由表 占用的空间,提高了相同路由空间中存储的路由数量,降低了大容量路由对硬 件转发引擎的系统消耗。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1为本发明装置中各模块间的关系示意图2为本发明聚合路由模块及聚合路由控制模块的结构示意图3为本发明不可聚合路由模块及不可聚合路由控制模块的结构示意图4为本发明方法的路由信息处理流程图。
具体实施例方式
下面结合附图对本发明基于路由信息的路由表聚合的实施作进一步的详 细描述
如图1所示,为本发明装置中各模块间的关系示意图。本发明装置包括 接口模块ll、路由索引模块12、聚合路由模块13、聚合路由控制模块14、不 可聚合路由模块15、不可聚合路由控制模块16。
接口模块11,用于提供转发层面和协议层面的路由通告接口,从高层协 议软件处接收协议软件学习到的有效路由,并且对接收的路由信息进行分类, 例如,普通IP路由、标签路由等,不同的路由信息在路由查找方式上有所不 同。
路由索引模块12,用于按照一定的方式对路由进行快速查找。路由索引 模块12创建并且维护一张路由索引表,该路由索引表的内容是不同目的地址 对应的转发路由在聚合路由表17和不可聚合路由表18中的索引。
路由索引模块12可以根据不同的路由类型选择不同的査找方式在路由索 引表中进行査找。采用路由索引表可以实现转发路由的快速査找,而不必浏览 整个路由表来査找转发路由,这样查找的速度会成倍提高。
聚合路由模块13,用于保存路由信息中可以聚合的部分。聚合路由模块 13创建并且维护一张聚合路由表131,聚合路由表131的内容包括路由信息中
的下一跳地址、出接口、出外层标签和一些标记位;该标记位具体又包括本 地路由标记、直连路由标记、上送标记、隧道标记、负荷分担标记等。
聚合路由控制模块14,用于保存各路由与聚合路由表131的关联信息。 不可聚合路由模块15,用于保存路由信息中不可聚合的部分。不可聚合 路由模块15创建并且维护一张不可聚合路由表151,不可聚合路由表151的 内容包括出内层标签、Vpn ID等;其中,Vpn ID为虚拟专用网ID号,Vpn 为Virtual Private Network, ID为Identify。
不可聚合路由控制模块16,用于控制不可聚合路由表151的分配。 接口模块11是整个数据流程的入口,路由索引模块12是接口模块11通 往聚合路由模块13和不可聚合路由模块15的通道,聚合路由控制模块14和 不可聚合路由控制模块16分别是聚合路由模块13和不可聚合路由模块15的 辅助控制部分。
接口模块11接收到路由信息后进行分类,交给路由索引模块12根据目的 地址进行路由索引表的查找。聚合路由模块13和聚合路由控制模块14负责聚 合路由信息的添加、删除、更新,并返回正确的聚合路由索引;不可聚合路由 模块15和不可聚合路由控制模块16负责不可聚合路由信息的添加、删除、更 新,并返回正确的不可聚合路由索引。聚合路由索引、不可聚合路由索引两个 索引最后会回填到路由索引表中。
如图2所示,为本发明聚合路由模块及聚合路由控制模块的结构示意图。 并结合图1,聚合路由模块13包括一张聚合路由表131和一套聚合路由信息 操作方法,其中聚合路由信息操作方法将路由信息可以聚合的部分添加或更新 到聚合路由表131中,或者是从聚合路由表131中删除。聚合路由表131有两 种索引方式, 一种是根据索引值进行线性索引,这种索引方式用于读取聚合路 由表131的聚合路由表项内容;另一种是根据聚合路由表项内容进行哈希 (Hash)索弓I ,这种方式用于査找不知道索弓i的聚合路由表项。
聚合路由表131存储IP地址等可聚合的路由信息。Hash索引表201存储
关键字。
聚合路由控制模块14存储聚合路由表131的一些附加信息,包括有多少 条路由关联到某个聚合路由表项,即关联到本聚合路由表项的路由数目(关联 值),只有当没有路由关联到该表项时才可以将该表项删除。聚合路由控制模 块14还包括两个索引分别对应在聚合路由的Hash冲突链202中前、后两个聚 合路由表项的索引值。
如图3所示,为本发明不可聚合路由模块及不可聚合路由控制模块的结构 示意图。不可聚合路由模块16包括一张不可聚合路由表151和一套不可聚合 路由信息操作方法。其中,不可聚合路由信息操作方法负责将路由信息中不可 以聚合的部分添加或更新到不可聚合路由表151中,或者从不可聚合路由表 151中删除。不可聚合路由表151只有一种索引方式,即根据索引值进行线性 索引。
不可聚合路由表151存储VpnID等不可聚合的路由信息。 不可聚合路由控制模块16存储的是不可聚合路由表151中所有不可聚合
路由表项的是否已分配的信息,避免重复分配的情况。
如图4所示,为本发明方法的路由信息处理流程图。该处理流程为基于路
由信息的路由表聚合方法的整体过程,结合图l所示,该流程具体包括以下几
个步骤
步骤401、接口模块11对高层软件通告的路由信息进行分类;
步骤402、路由索引模块12在路由索引表中根据目的地址进行查找,记 录下查找的位置,以及查找到的聚合路由索引和不可聚合路由索引;其中,聚 合路由索引为路由在聚合路由表131中的索引,不可聚合路由索引为路由在不 可聚合路由表151中的索引。采用该方法保存路由索引,可以使转发引擎在转 发IP报文时快速査找到转发所需的信息,而不必到聚合路由表131中或不可 聚合路由表151中逐个浏览。
该步骤中,目的地址可为IP地址、VpnID或标签信息。
该步骤中,路由索引模块12的査找方式步骤如下
步骤A,将本转发路由所对应的32bits(比特)目的地址以4bits —组的方式 分为8组,从高比特到低比特分别是组l、组2、组3、组4、组5、组6、组
7、组8;每组数值都代表一个偏移地址;
步骤B,路由索引表在初始化时,已经在内存中分配了一个起始地址 Basel;从Basel起始地址开始偏移组1大小的空间,査看偏移后所指向的空 间存储的数值,称之为Base2; Base2是第二级査找的起始地址;
步骤C,从Base2地址开始偏移组2大小的空间,查看偏移后所指向的空 间存储的数值,称之为Base3; Base3是第三级查找的起始地址;
步骤D,按照同样的方法向下査找,直到第八级査找完成;此时查找到的 空间的内容就是该目的地址所对应的转发路由在聚合路由表131和不可聚合 路由表151中的索引,至此完成查找。
步骤403、判断此次路由信息的操作模式是添加或者更新还是删除,如果 此次路由信息的操作模式是添加或者更新,则走添加更新流程,即转入步骤 404执行;如果此次路由信息的操作模式是删除,则走删除流程,即转入步骤 410执行。下面分别对添加更新流程、删除流程进行介绍。
当路由操作模式为添加或者更新模式,进行如下流程
步骤404、判断此次通告的路由信息中是否包含不可聚合的路由信息,例 如,出内层标签、VpnID等。如果包含有不可聚合的路由信息,则转至步骤 405,如果未包含不可聚合的路由信息,则直接跳至步骤406;
步骤405、判断路由索引表中的不可聚合路由索引是否为0;如果不可聚 合路由索引不为0,则直接用此次通告的路由信息中不可聚合的部分替代原来 的不可聚合信息。如果不可聚合路由索引为O,则重新分配一个不可聚合路由 表项,填写表项内容,在路由索引表中保存该不可聚合路由索引,并且将该表 项对应的不可聚合路由控制模块16的控制信息中的已分配标记置为h
步骤406、判断路由索引表中的聚合路由索引是否为O;如果聚合路由索 引不为O,则转至步骤407;如果聚合路由索引为O,则直接跳至步骤408;
步骤407、将此次通告的路由信息中可聚合的部分与聚合路由索引所指向 的聚合路由表项进行比较,判断聚合路由索引所指向的聚合路由表项内容与要 增加/更新的聚合路由表项内容是否一致,如果比较的结果相同,则直接跳至 步骤409;如果比较的结果不同,则将该聚合路由表项对应的聚合路由控制模 块14的控制信息中的关联值减1,并判断减1后的关联值是否为0,如果关联 值为O,则清空并释放该聚合路由表项;如果关联值不为O,则不作其他处理;
步骤408、根据此次通告的路由信息的聚合部分进行Hash査找,确定Hash 关键值对应的Hash冲突链,在Hash冲突链上寻找与此次通告的路由信息的聚 合部分内容相同的聚合路由表项。如果査到,则将该聚合路由表项对应的聚合 路由控制模块14的控制信息中的关联值加1,并将聚合路由索引回填到路由 索引表中。如果没有査到,则分配新的聚合路由表项,并将对应的聚合路由控 制模块14的控制信息中的关联值置1,链接到Hash冲突链上,并将聚合路由
索引回填到路由索引表中;
步骤409、完成此次操作,返回成功。
具体地,当路由操作模式为添加模式时,通过Hash索引,在聚合路由表 131中找到某一聚合路由表项,它的聚合部分的信息与正要添加的这条路由的 相应信息相同,记录下该表项的索引,并将该表项对应的聚合路由控制模块 14的控制信息中的关联值加1,该关联值表示有相应数目的路由关联到这个聚 合路由表项上,再将聚合路由索引回填到査找到的路由索引表的聚合路由索引 中。
如果该路由包含一些不可聚合的信息,则说明要为它分配一个不可聚合路 由表项,将不可聚合路由表151的不可聚合路由控制模块16的控制信息中的 已分配标志置1。将不可聚合路由表151的索引值回填到査找到的路由索引表 的不可聚合路由索引中。
具体地,当路由操作模式为更新模式时,路由索引模块12根据路由信息 中的IP地址(或Vpn ID,或标签信息)找到路由索引表中的对应项;读取该对 应项中的聚合路由索引以找到聚合路由表131的对应表项,将表项中的内容与 正要更新的路由内容进行比较,如果相同,则成功返回;如果不同,则说明路 由信息有更改,有如下操作
① ,将该表项对应的聚合路由控制模块14的控制信息中的关联值减1, 如果关联值减1后为0,则清空并释放该表项;
② ,在聚合路由表131中找到某一表项,其聚合部分的信息与正要添加的 这条路由的相应信息相同,记录下该表项的聚合路由索引,将该表项对应的聚 合路由控制模块14的控制信息中的关联值加1;
③ ,如果在已有的聚合路由表131中找不到与正要添加的这条路的信息相 同的,则从聚合路由表131中分配一个新的聚合路由表项,填写其表项内容,
并将该表项对应的聚合路由控制模块14的控制信息的关联值置1。用新的聚 合路由索引代替路由索引表中的聚合路由索引。
如果在路由索引表中査找到不可聚合路由索引,则根据不可聚合路由索引 找到不可聚合路由表151的相应表项,并且根据正要添加的路由信息修改该表 项中的内容。
当路由操作模式为删除模式,进行如下流程
步骤410、判断路由索引表中的不可聚合路由索引是否为0;如果不可聚 合路由索引不为0,则清空并删除不可聚合路由索引对应/指向的不可聚合表 项;如果不可聚合路由索引为O,则不作操作,继续下行;
步骤41K判断路由索引表中的聚合路由索引是否为O;如果聚合路由索 引不为0,则将聚合路由索引指向的聚合路由表项对应的聚合路由控制模块14 的控制信息中的关联值减l;如果聚合路由索引为O,则跳至步骤413;
步骤412、判断减1后的关联值是否为0;如果关联值为0,则清空并释 放该聚合路由表项;如果关联值不为O,则继续下行;
步骤413、清空路由索引表中的记录聚合路由索引和不可聚合路由索引;
步骤409、完成此次操作,返回成功。
具体地,当路由操作模式为删除模式时,路由索引模块12根据路由信息 中的目的IP地址(或Vpn ID,或标签信息)找到路由索引表中的对应项。如果 没有査找到该条路由对应的索引则成功返回;如果査到聚合路由索引,则根据 聚合路由索引修改该索引指向的聚合路由表项对应的聚合路由控制模块14中 的控制信息,把控制信息中的关联值减l。若关联值减1后的值为0,说明已 经没有路由关联到这个表项,则清空并释放该聚合路由表项;否则直接返回。 如果同时又査到不可聚合路由索引,则根据该不可聚合路由索引找到不可聚合 路由表151的对应表项,清空并释放该空间,把该表项对应的不可聚合路由控 制模块16的控制信息中的已分配标记置0。进行完上述操作,将路由索引表 中的聚合路由索引和不可聚合路由索引都清0。
本发明将路由表拆分为聚合路由表和不可聚合路由表,将路由信息中可聚 合的大部分内容用少量的聚合路由表来表示,与现有方法相比,减少了路由表 占用的空间,提高了相同路由空间中存储的路由数量,降低了大容量路由对硬 件转发引擎的系统消耗。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种路由表聚合装置,其特征在于,包括一接口模块,用于提供转发层面和协议层面的路由通告接口;一聚合路由模块,用于创建、维护一聚合路由表,并由所述聚合路由表保存路由信息中的可聚合信息;一聚合路由控制模块,用于保存路由与所述聚合路由表的关联信息,并根据所述关联信息对所述聚合路由模块进行控制;一不可聚合路由模块,用于创建、维护一不可聚合路由表,并由所述不可聚合路由表保存路由信息中的不可聚合信息;一不可聚合路由控制模块,用于通过控制不可聚合路由表的分配控制所述不可聚合路由模块;一路由索引模块,用于创建、维护一路由索引表,并在所述路由索引表中查找路由索引,所述路由索引表用于记录不同目的地址对应的路由在所述聚合路由表和不可聚合路由表中的索引;所述接口模块接收一路由信息并对该路由信息进行分类,交由所述路由索引模块在所述路由索引表中查找路由对应的索引,所述聚合路由模块、所述聚合路由控制模块根据所述索引、所述路由信息修改所述聚合路由表,并返回一聚合路由索引至所述路由索引表;所述不可聚合路由模块、所述不可聚合路由控制模块根据所述索引、所述路由信息修改所述不可聚合路由表,并返回一不可聚合路由索引至所述路由索引表。
2、 根据权利要求1所述的路由表聚合装置,其特征在于,所述可聚合信 息包括下一跳地址、出接口、出外层标签及标记位,所述标记位又包括本 地路由标记、直连路由标记、上送标记、隧道标记及负荷分担标记。
3、 根据权利要求1所述的路由表聚合装置,其特征在于,所述不可聚合 信息包括出内层标签及虚拟专用网标识。
4、 根据权利要求l、 2或3所述的路由表聚合装置,其特征在于,所述目 的地址为IP地址、虚拟专用网标识或标签信息。
5、 一种采用权利要求1所述路由表聚合装置的路由表聚合方法,其特征 在于,包括 步骤51,通过接口模块接收路由信息;步骤52,由路由索引模块根据所述路由信息中的目的地址在路由索引表 中查找路由对应的索引;步骤53,由聚合路由模块、聚合路由控制模块根据所述索引、所述路由 信息修改所述聚合路由模块创建的聚合路由表,并返回聚合路由索引至所述路 由索引表;由不可聚合路由模块、不可聚合路由控制模块根据所述索引、所述 路由信息修改所述不可聚合路由模块创建的不可聚合路由表,并返回不可聚合 路由索引至所述路由索引表。
6、 根据权利要求5所述的路由表聚合方法,其特征在于,所述步骤52 中,所述査找路由对应的索引的步骤具体为步骤621,将所述路由所对应的32比特目的地址以4比特一组的方式分 为8组,从高比特到低比特分别是组一、组二、组三、组四、组五、组六、组 七、组八,每组数值代表一个偏移地址;步骤622,所述路由索引表在初始化时,在内存中分配一个起始地址,从 该起始地址开始偏移组一大小的空间,并将偏移后所指向的空间存储的数值作 为第二级査找的起始地址;步骤623,从所述第二级査找的起始地址偏移组二大小的空间,并将偏移后所指向的空间存储的数值作为第三级査找的起始地址;步骤624,按照所述步骤623的查找方式,直到第八级査找完成,并将此时査找到的空间的内容作为所述目的地址所对应的路由在所述聚合路由表和 不可聚合路由表中的索引,査找完成。
7、 根据权利要求5或6所述的路由表聚合方法,其特征在于,所述歩骤53中,还包括一对所述路由信息的操作模式进行判断的步骤。
8、 根据权利要求7所述的路由表聚合方法,其特征在于,当所述路由信 息的操作模式为添加模式时,通过一设定的索引方式在所述聚合路由表中找到 一表项,当该表项的聚合信息与要添加的路由的相应信息相同时,则记录下该 表项的索引,并将该表项对应的聚合路由控制模块的控制信息中的关联值加 1,再将该表项的索引作为聚合路由索引回填到所述路由索引表。
9、 根据权利要求7所述的路由表聚合方法,其特征在于,当所述路由信 息的操作模式为更新模式时,由所述路由索引模块根据路由信息中的目的地址 找到路由索引表中的对应项,读取该对应项中的聚合路由索引找到聚合路由表 的对应表项,将该表项中的内容与要更新的路由内容进行比较,若相同,则成 功返回;若不同,则执行如下步骤将该表项对应的聚合路由控制模块的控制信息中的关联值减1;在所述聚合路由表中找到一表项,若该表项的聚合部分的信息与要添加的 路由的相应信息相同,记录下该表项的索引,并将该表项对应的聚合路由控制 模块的控制信息中的关联值加1;若在己有的所述聚合路由表中找不到与要添加的路由的信息相同的对应 表项,则从该聚合路由表中分配一个新的聚合路由表项,填写其表项内容,并 将该表项对应的聚合路由控制模块的控制信息中的关联值置1;用新的聚合路由索引代替路由索引表中的聚合路由索引。
10、根据权利要求7所述的路由表聚合方法,其特征在于,当所述路由信息的操作模式为删除模式时,所述路由索引模块根据路由信息中的目的地址在 所述路由索引表中查找对应项;若査到聚合路由索引,则根据该聚合路由索引将该聚合路由索引指向的聚 合路由表项对应的聚合路由控制模块的控制信息中的关联值减1;若又査到不可聚合路由索引,则根据该不可聚合路由索引找到不可聚合路 由表的对应表项,清空并释放该空间,把该表项对应的不可聚合路由控制模块 的己分配标记置0;再将所述路由索引表中的聚合路由索引和不可聚合路由索 引都清0。
全文摘要
本发明公开了一种路由表聚合装置及其方法,该装置包括接口模块、聚合路由模块、聚合路由控制模块、不可聚合路由模块、不可聚合路由控制模块及路由索引模块;接口模块接收一路由信息并对该路由信息进行分类,交由路由索引模块在路由索引表中查找路由对应的索引,聚合路由模块、聚合路由控制模块根据索引、路由信息修改聚合路由表,并返回聚合路由索引至路由索引表;不可聚合路由模块、不可聚合路由控制模块根据索引、路由信息修改不可聚合路由表,并返回不可聚合路由索引至路由索引表。本发明通过将路由信息中可聚合的大部分内容用少量的聚合路由表来表示,减少了路由表占用的空间,提高了相同路由空间中存储的路由数量。
文档编号H04L12/28GK101098335SQ200610089490
公开日2008年1月2日 申请日期2006年6月29日 优先权日2006年6月29日
发明者刘文龙, 伟 肖, 顾颖杰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1