路由表的扩展处理方法、装置和网络设备转让专利

申请号 : CN201010574519.2

文献号 : CN102045254B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高小强

申请人 : 福建星网锐捷网络有限公司

摘要 :

本发明提供一种路由表的扩展处理方法、装置和网络设备,方法包括:当路由表已满时,将新增路由添加到过滤转发表中;获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中。装置包括:第一添加模块,用于当路由表已满时,将新增路由添加到过滤转发表中;第二添加模块,用于获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中。网络设备包括上述路由表的扩展处理装置。本发明解决了现有技术中下一跳表中表项被浪费的缺陷,实现了最大化地扩展路由表和下一跳表,最大限度地利用了交换机的硬件资源。

权利要求 :

1.一种路由表的扩展处理方法,其特征在于,包括:当路由表已满时,将新增路由添加到过滤转发表中,所述路由表具体为IPv4/IPv6路由表;

获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中;其中,所述将新增路由添加到过滤转发表中包括:将新增路由的IP地址和交换机本身的介质访问控制MAC地址作为匹配关键字添加到过滤转发表的匹配表的匹配表项中;

将所述新增路由的所述IP地址的前缀和所述MAC地址的掩码作为匹配掩码添加到所述匹配表的匹配表项中。

2.根据权利要求1所述的方法,其特征在于,所述将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中包括:将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表的匹配表的匹配表项对应的动作表的动作表项中。

3.根据权利要求1或2所述的方法,其特征在于,还包括:在接收到的报文后,如果在所述路由表中未查找到所述报文的目的地址,则在所述过滤转发表中匹配查找所述报文的目的地址;

根据在所述过滤转发表的匹配表中匹配的匹配表项从所述过滤转发表的动作表中获取对应的下一跳信息;

根据所述下一跳信息将所述报文进行路由发送。

4.一种路由表的扩展处理装置,其特征在于,包括:第一添加模块,用于当路由表已满时,将新增路由添加到过滤转发表中,所述路由表具体为IPv4/IPv6路由表;

第二添加模块,用于获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中;

其中,所述第一添加模块包括:

第一添加单元,用于当路由表已满时,将新增路由的IP地址和交换机本身的介质访问控制MAC地址作为匹配关键字添加到过滤转发表的匹配表的匹配表项中;

第二添加单元,用于将所述新增路由的所述IP地址的前缀和所述MAC地址的掩码作为匹配掩码添加到所述匹配表的匹配表项中。

5.根据权利要求4所述的装置,其特征在于,所述第二添加模块包括:获取单元,用于获取下一跳表中未使用的下一跳节点;

第三添加单元,用于将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表的匹配表的匹配表项对应的动作表的动作表项中。

6.根据权利要求4或5所述的装置,其特征在于,还包括:匹配模块,用于在接收到的报文后,如果在所述路由表中未查找到所述报文的目的地址,则在所述过滤转发表中匹配查找所述报文的目的地址;

获取模块,用于根据在所述过滤转发表的匹配表中匹配的匹配表项从所述过滤转发表的动作表中获取对应的下一跳信息;

发送模块,用于根据所述下一跳信息将所述报文进行路由发送。

7.一种网络设备,其特征在于,包括上述权利要求4-6中任一项所述的路由表的扩展处理装置。

说明书 :

路由表的扩展处理方法、装置和网络设备

技术领域

[0001] 本发明涉及通信技术,尤其涉及一种路由表的扩展处理方法、装置和网络设备。 背景技术
[0002] 在通信领域中,路由表是指路由器或者其他互联网网络设备上存储的表,其中存有到达特定网络终端的路径,以供路由选择时使用,在某些情况下,还存有一些与这些路径相关的度量。路由器通常根据接收到的数据包中的网络层地址以及路由器内部维护的路由表来决定输出端口以及下一跳地址,并重写链路层数据包头来实现数据包转发。路由器通过与网络上其他路由器交换路由和链路信息来维护路由表,其通过动态维护路由表来反映当前的网络拓扑。路由表容量是指路由器运行过程中可以容纳的路由数量,其是路由器性能的主要评价指标之一。
[0003] 在现有的交换机硬件产品上,IPv6路由表与IPv4路由表并在一起使用,由于IPv4路由表的地址长度为32bits,而IPv6路由表的地址长度为128bits,则导致在使用时一个IPv6路由表将与4个IPv4路由表并在一起使用。然而,由于下一跳表由介质访问控制(Media Access Control;以下简称:MAC)地址、虚拟局域网标识(Virtual Local Area Network Identifier;以下简称:VID)、出口信息等元素组成,对于这些元素来说,IPv6路由与IPv4路由所使用到的大小是相等的。图1为现有技术中的路由表与下一跳表的关联关系示意图,如图1所示,当IPv6路由表与IPv4路由表共用时,一个IPv6路由占用路由表中的4个路由表项,其只对应下一跳表中的一个索引值。
[0004] 由此可见,现有技术中的当使用一个IPv6路由时,下一跳表中将有3个表项未对应路由表中的任何表项,从而导致3个下一跳表项的浪费,当整个路由表中全部使用IPv6路由时,则使得下一跳表中的3/4表项被空余,造成极大的浪费。

发明内容

[0005] 本发明提供一种路由表的扩展处理方法、装置和网络设备,用以解决现有技术中下一跳表中表项被浪费的缺陷,实现最大化地扩展路由表和下一跳表,最大限度地利用交换机的硬件资源。
[0006] 本发明提供一种路由表的扩展处理方法,包括:
[0007] 当路由表已满时,将新增路由添加到过滤转发表中,所述路由表具体为IPv4/IPv6路由表;
[0008] 获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中;
[0009] 其中,所述将新增路由添加到过滤转发表中包括:
[0010] 将新增路由的IP地址和交换机本身的介质访问控制MAC地址作为匹配关键字添加到过滤转发表的匹配表的匹配表项中;
[0011] 将所述新增路由的所述IP地址的前缀和所述MAC地址的掩码作为匹配掩码添加到所述匹配表的匹配表项中。
[0012] 本发明提供一种路由表的扩展处理装置,包括:
[0013] 第一添加模块,用于当路由表已满时,将新增路由添加到过滤转发表中,所述路由表具体为IPv4/IPv6路由表;
[0014] 第二添加模块,用于获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中;
[0015] 其中,所述第一添加模块包括:
[0016] 第一添加单元,用于当路由表已满时,将新增路由的IP地址和交换机本身的介质访问控制MAC地址作为匹配关键字添加到过滤转发表的匹配表的匹配表项中; [0017] 第二添加单元,用于将所述新增路由的所述IP地址的前缀和所述MAC地址的掩码作为匹配掩码添加到所述匹配表的匹配表项中。
[0018] 本发明提供一种网络设备,包括上述路由表的扩展处理装置。 [0019] 本发明提供的路由表的扩展处理方法、装置和网络设备,在添加新增路由时,如果路由表的表项已被占满,则将新增路由添加到过滤转发表中,并将从下一跳表中获取的未使用的下一跳节点的索引信息也添加到过滤转发表中与新增路由对应的表项中,本实施例解决了现有技术中下一跳表中表项被浪费的缺陷,实现了最大化地扩展路由表和下一跳表,最大限度地利用了交换机的硬件资源。
[0020] 附图说明
[0021] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022] 图1为现有技术中的路由表与下一跳表的关联关系示意图;
[0023] 图2为本发明路由表的扩展处理方法实施例一的流程图;
[0024] 图3为本发明路由表的扩展处理方法实施例二的流程图;
[0025] 图4为本发明路由表的扩展处理方法实施例二中路由表与下一跳表的关联关系示意图;
[0026] 图5为本发明路由表的扩展处理装置实施例一的结构示意图;
[0027] 图6为本发明路由表的扩展处理装置实施例二的结构示意图。
[0028] 具体实施方式
[0029] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0030] 图2为本发明路由表的扩展处理方法实施例一的流程图,如图2所示,本实施例提供了一种路由表的扩展处理方法,可以具体包括如下步骤:
[0031] 步骤201,当路由表已满时,将新增路由添加到过滤转发表中。 [0032] 在本实施例中,当网络中存在新增路由需要添加到路由表中,而当前路由表已满,即路由表中的路由表项已均被原有的路由占用,则本实施例中将该新增路由添加到过滤转发表中,由过滤转发表来代替路由表对新增路由的信息进行保存。本实施例中的路由表可以具体为IPv4/IPv6路由表,新增路由可以具体为新增的IPv6路由。
[0033] 步骤202,获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中。
[0034] 在将新增路由添加到过滤转发表的同时,从下一跳表中获取到当前未被使用的一个下一跳节点,将该下一跳节点的索引信息添加到过滤转发表中与新增路由对应的表项中。本实施例在路由表的表项均被占满时,通过将新增路由添加到过滤转发表中,由过滤转发表来代替路由表保存路由信息,并从下一跳表中获取空闲的下一跳节点来保存新增路由的下一跳信息。由于一个IPv6路由占用路由表中的4个表项,而其只对应下一跳表中的一个下一跳表项,则当路由表已被占满时,下一跳表中仍存在多个空闲的下一跳表项未被占用,处于empty状态。本实施例通过过滤转发表来代替表项已满的路由表保存新增路由信息,再通过下一跳表中空闲的下一跳表项来保存新增路由的下一跳信息,则可以实现对路由表的容量的扩展,也对下一跳表进行了充分利用。
[0035] 本实施例提供了一种路由表的扩展处理方法,在添加新增路由时,如果路由表的表项已被占满,则将新增路由添加到过滤转发表中,并将从下一跳表中获取的未使用的下一跳节点的索引信息也添加到过滤转发表中与新增路由对应的表项中,本实施例解决了现有技术中下一跳表中表项被浪费的缺陷,实现了最大化地扩展路由表和下一跳表,最大限度地利用了交换机的硬件资源。
[0036] 图3为本发明路由表的扩展处理方法实施例二的流程图,如图3所示,本实施例提供了一种路由表的扩展处理方法,可以具体包括如下步骤:
[0037] 步骤301,获取网络中的新增路由。
[0038] 步骤302,判断IPv4/IPv6路由表中的路由表项是否已被占满,如果是,则执行步骤303,否则执行步骤308。
[0039] 当网络中存在新增路由时,需要将该新增路由添加到路由表中,先判断当前的IPv4/IPv6路由表中的路由表项是否已被占满,如果该IPv4/IPv6路由 表的路由表项已被占满,则执行步骤303,将新增路由添加到过滤转发表中;如果该IPv4/IPv6路由表的路由表项未被占满,则执行步骤308,按照正常的流程将新增路由添加到IPv4/IPv6路由表中。 [0040] 步骤303,从新增路由中提取其IPv6地址。
[0041] 当当前的IPv4/IPv6路由表中的路由表项已被占满时,本实施例需要将该新增路由添加到过滤转发表中,由过滤转发表代替IPv4/IPv6路由表来保存路由信息。本步骤先从新增路由中提取其IP地址,此处的IP地址可以具体为IPv6地址,即获取新增的IPv6地址。
[0042] 步骤304,将该IPv6地址和交换机本身的MAC地址作为匹配关键字添加到过滤转发表的匹配表的匹配表项中。
[0043] 在本实施例中将新增路由添加到过滤转发表中,该过滤转发表可以包括匹配表和动作表。对于新增的IPv6地址,本步骤为将IPv6地址和交换机本身的MAC地址作为匹配关键字添加到过滤转发表中匹配表的匹配表项中。需要指出的是,报文在通过路由表进行路由前,需要先在二层地址表进行地址匹配,如果匹配为交换机本机的MAC地址,则表明该报文为将要被路由的报文,这样才能被发送到路由表进行匹配。由于过滤转发表的匹配并不涉及二层地址表的匹配,本实施例中为了使得过滤转发表能够代替路由表,能够准确地表明报文为路由报文,则需要将交换机本身的MAC地址和获取的新增的IPv6地址作为匹配关键字添加到过滤转发表中匹配表的匹配表项中。
[0044] 步骤305,将IPv6地址的前缀和交换机本身的MAC地址的掩码作为匹配掩码添加到匹配表的匹配表项中。
[0045] 在将IPv6地址和交换机本身的MAC地址添加到匹配表中的匹配表项后,还将添加的IPv6地址的前缀和MAC地址的掩码作为整个匹配表项的匹配掩码,添加到过滤转发表中,具体也可以添加到匹配表的对应匹配表项中。
[0046] 步骤306,从下一跳表中获取当前未使用的下一跳节点。
[0047] 在将新增路由添加到过滤转发表中后,还在下一跳表中查到未被使用的 下一跳节点,从中获取一个当前未被使用的下一跳节点。
[0048] 步骤307,将该下一跳节点的索引信息添加到该新增路由对应的动作表的动作表项中。
[0049] 将从下一跳表中获取的未被使用的下一跳节点的索引信息添加到转发过滤表的动作表中,可以具体为将该索引信息添加到该新增路由对应的动作表的动作表项中,此处的新增路由对应的动作表可以为该新增路由所添加的过滤转发表中的动作表。由于过滤转发表中匹配表的匹配表项与其中动作表的动作表项为一一对应关系,此处所添加的动作表项即为与上述添加新增路由的匹配表项对应的表项。同时,根据新增路由对下一跳表中对应的下一跳节点的VID、出口信息进行修订,用以记录该新增路由的下一跳信息。 [0050] 图4为本发明路由表的扩展处理方法实施例二中路由表与下一跳表的关联关系示意图,如图4所示,其除了可以表示IPv4/IPv6路由表与下一跳表的关联关系,还可以表示过滤转发表与下一跳表的关联关系。从图中可以看出,当在IPv4/IPv6路由表中添加新增路由时,由于IPv4/IPv6路由表的当前路由表项已满,则可以在过滤转发表中申请转发表项,并在下一跳表中申请下一跳表项,经过查找,发现下一跳表中的索引为2的下一跳表项为空,则将索引2作为下一跳信息添加到过滤转发表中,与过滤转发表的对应转发表项之间建立关联关系,并修订下一跳表中该索引2对应的下一跳表项的VID和出口信息。 [0051] 在本实施例中,当IPv4/IPv6路由表的路由表项被占满后,对于新增路由均采用上述方式进行添加,直到过滤转发表中的转发表项已满或下一跳表中的下一跳表项已满为止。而当需要删除其中一个IPv6路由时,则只需要根据该IPv6路由从IPv4/IPv6路由表或过滤转发表中查找到其原先添加的位置,便可以根据该位置将对应的表项进行直接删除,不会影响其他表项中的路由信息。
[0052] 步骤308,将新增路由正常添加到IPv4/IPv6路由表中,并在下一跳表中 添加相应的下一跳信息。
[0053] 当当前的IPv4/IPv6路由表中的路由表项未被占满时,则可以将新增路由正常添加到IPv4/IPv6路由表的空闲表项中,并在下一跳表中添加该新增路由对应的下一跳信息。
[0054] 进一步地,当有IPv6报文发送到交换机中时,本实施例提供的路由表的扩展处理方法还可以包括:在接收到的报文后,如果在所述路由表中未查找到所述报文的目的地址,则在所述过滤转发表中匹配查找所述报文的目的地址;根据在所述过滤转发表的匹配表中匹配的匹配表项从所述过滤转发表的动作表中获取对应的下一跳信息;根据所述下一跳信息将所述报文进行路由发送。在接收到IPv6报文后,先在IPv4/IPv6路由表中进行查找,如果在IPv4/IPv6路由表中查找到该IPv6报文的目的地址对应的路由表项,则根据查找到的路由表项从下一跳表中获取对应的下一跳信息,根据获取的下一跳信息将该IPv6报文进行路由发送。如果在IPv4/IPv6路由表中未查找到该IPv6报文的目的地址对应的路由表项,则在过滤转发表中进行匹配查找,可以根据IPv6报文的目的地址在匹配关键字中进行查找,如果匹配到相应的表项,则获取该表项对应的动作表中的下一跳信息,在根据该下一跳信息将该IPv6报文进行路由发送。具体地,本实施例中在过滤转发表中进行匹配时,可以具体采用下述匹配方式进行匹配:(报文的MAC地址&表项地址部分的掩码==表项MAC地址部分的关键字)&&(报文的IPv6地址&表项IPv6部分掩码==表项IPv6部分关键字),即当报文中携带的目的MAC地址和匹配表项中MAC地址部分的掩码进行相与操作的结果为匹配表项中MAC地址部分的关键字,且当报文中携带的目的IPv6地址和匹配表项中IPv6部分的掩码进行相与操作的结果为匹配表项中IPv6部分的关键字时,则表明匹配到了相应的表项。
[0055] 本实施例提供了一种路由表的扩展处理方法,在添加新增路由时,如果路由表的表项已被占满,则将新增路由添加到过滤转发表中,并将从下一跳 表中获取的未使用的下一跳节点的索引信息也添加到过滤转发表中与新增路由对应的表项中,本实施例解决了现有技术中下一跳表中表项被浪费的缺陷,实现了最大化地扩展路由表和下一跳表,最大限度地利用了交换机的硬件资源,使得设备支持的IPv6路由表的容量得到扩展,在最佳情况下,可以将原有的IPv6路由表的容量增大至原4倍。
[0056] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0057] 图5为本发明路由表的扩展处理装置实施例一的结构示意图,如图5所示,本实施例提供了一种路由表的扩展处理装置,可以具体执行上述方法实施例一中的各个步骤,此处不再赘述。本实施例提供的路由表的扩展处理装置可以具体包括第一添加模块501和第二添加模块502。其中,第一添加模块501用于当路由表已满时,将新增路由添加到过滤转发表中。第二添加模块502用于获取下一跳表中未使用的下一跳节点,将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表中对应的表项中。
[0058] 图6为本发明路由表的扩展处理装置实施例二的结构示意图,如图6所示,本实施例提供了一种路由表的扩展处理装置,可以具体执行上述方法实施例二中的各个步骤,此处不再赘述。本实施例提供的路由表的扩展处理装置在上述图5所示的基础之上,第一添加模块501可以具体包括第一添加单元511和第二添加单元521。其中,第一添加单元511用于当路由表已满时,将新增路由的IP地址和交换机本身的介质访问控制MAC地址作为匹配关键字添加到过滤转发表的匹配表的匹配表项中。第二添加单元521用于将所述新增路由的所述IP地址的前缀和所述MAC地址的掩码作为匹配掩码添加到所述匹配表的匹配表项中。
[0059] 具体地,本实施例提供的路由表的扩展处理装置中的第二添加模块502 可以具体包括获取单元512和第三添加单元522。其中,获取单元512用于获取下一跳表中未使用的下一跳节点。第三添加单元522用于将所述下一跳节点的索引信息添加到所述新增路由在所述过滤转发表的匹配表的匹配表项对应的动作表的动作表项中。
[0060] 进一步地,本实施例提供的路由表的扩展处理装置还包括匹配模块503、获取模块504和发送模块505。其中,匹配模块503用于在接收到的报文后,如果在所述路由表中未查找到所述报文的目的地址,则在所述过滤转发表中匹配查找所述报文的目的地址。获取模块504用于根据在所述过滤转发表的匹配表中匹配的匹配表项从所述过滤转发表的动作表中获取对应的下一跳信息。发送模块505用于根据所述下一跳信息将所述报文进行路由发送。
[0061] 本实施例提供了一种路由表的扩展处理装置,在添加新增路由时,如果路由表的表项已被占满,则将新增路由添加到过滤转发表中,并将从下一跳表中获取的未使用的下一跳节点的索引信息也添加到过滤转发表中与新增路由对应的表项中,本实施例解决了现有技术中下一跳表中表项被浪费的缺陷,实现了最大化地扩展路由表和下一跳表,最大限度地利用了交换机的硬件资源,使得设备支持的IPv6路由表的容量得到扩展,在最佳情况下,可以将原有的IPv6路由表的容量增大至原4倍。
[0062] 本实施例还提供了一种网络设备,可以具体为路由器、交换机等,可以具体包括上述图5或图6所示的路由表的扩展处理装置。
[0063] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。