专利名称::一种路由表容量调节装置的制作方法
技术领域:
:本实用新型涉及一种路由表容量调节装置,属于数据通信
技术领域:
。
背景技术:
:随着互联网技术的普及和壮大,路由设备已经成为不可缺少的网络设备。路由设备支持的协议也越来越多,如开》支式最短;洛径优先(OpenShortestPathFirst,简称0SPF)协议(有3个版本),路由信息协议(RoutingInformationProtocol,简称RIP)(有2个版本),因特网组管理协议(InternetGroupManagementProtocol,简称IGMP),组播侦听者发现(MulticastListenerDiscovery,简称MLD)协议等。这些路由协议可以横向的分为单播路由协议(如0SPF和RIP)和组播路由协议(如IGMP),而纵向的又可分为互联网协议第四版(InternetProtocolversion4,简称IPv4)协议(如0SPF中的第一和第二版本(筒称0SPFvl/v2),IGMP)和互联网协议第六版(InternetProtocolversion6,简称IPv6)协议(如0SPF的第三版本(简称0SPFv3),MLD),分析各种协议的异同,那么从路由表实现技术上划分,可以将各种路由技术划分为IPv4单播(0SPFvl/v2,RIP),IPv4组播(IGMP),IPv6单播(0SPFv3,下一代路由信息协议(RIPforIPv6,简称RIPng))和IPv6组播(MLD)。^口下表所示<table>tableseeoriginaldocumentpage4</column></row><table>可以说,各种路由协议,都是在这4种技术的基础上,针对各种需求(如性能或规模的要求)而演变的。因此各种网络设备,特别是由专用芯片来实现这些技术的网络设备,如三层交换机,大都为这4种技术分别预留了相应大小容量的路由表资源。例如支持1024条IPv4单播路由,256条IPv4组播路由,512条IPv6单播路由和128条IPv6组播路由。那么相应的0SPFvl协议只能产生最多1024条IPv4路由,IGMP只能产生最多256条IPv4组播组,0SPFv3只能产生最多512条的IPv6单播路由,同样MLD也只能产生128条的IPv6组播路由。但在一个具体的网络中,不一定会同时启用所有的协议。例如只启用了IPv4单播和IPv6单播,那么IPvA组播和IPv6组播占用的资源就被闲置了。通过以下分析,会发现这些闲置资源可以被重新分配给其它需要资源的路由功能。下面以一款专用芯片的路由表为例,介绍多协议共享路由表情况。图1为某款专用芯片的路由表表项结构示意图,图中Array代表列,Row代表行,Entry表示表项单元,32比特数据(32-bitdata)用于存储IP地址,32比特掩码(32-bitmask)用于存储网络掩码,48比特数据(48-bitdata)用于存储IP地址和表项标识(ID),48比特掩码(48-bitmask)用于存储网络掩码,有效比特(validbit)表示该表项是否有效,1为有效,O为无效,类型比特(Typebit)表示本行是否是用于存储IPv6前缀。下面以图l为例介绍IPv4单播,IPv4组播,IPv6单播,及IPv6组播如何利用这张路由表。对于IPv4单播,图1中共有4096个单元,每个单元都可以存储一个32位的IP地址,及对应的掩码。因此可以存储4096条IPv4单播路由。专用芯片接收到IPv4单播报文后,提取报文的目的IP地址,并与表中的所有有效单元对比,如果匹配成功,则说明表中有对应的路由。对于IPv4组播,有(*,G)和(S,G)模式之分(区别在于如何识别组播组,前者只识别才艮文的目的IP地址,后者除了识別目的IP地址外,还要求识别源IP地址),其中G代表组播-路由的目的IP地址,S代表组播路由的源IP地址,(*,G)模式与IPv4单播匹配路由表的情况相同,这里只分析(S,G)模式。在(S,G)模式下,除了对比目的IP地址外,还要比对源IP地址,专用芯片匹配到目的IP地址后,会得到目的IP地址在表中的表项ID,再使用此ID和源IP地址作为索引与表中Arrayl和Array2的单元匹配。对于IPv4组播,其源IP地址只能存储在Arrayl和Array2中,因为需要存储对应的目的IP地址前缀对应的ID,其中此ID就是存储在Arrayl或Array2的高16bit(低32bit用于存储源IP地址)。因此,对于IPv4组^番,支持的i各由表项最多为2048条。对于IPv6单播,因为IPv6地址是16字节的,因此上表中,每一行只能存储一条IPv6前缀。专用芯片通过识别Type位是否为1,得知这一行是否是用于存储IPv6前缀。因此,IPv6单播路由容量最多是1024条。对于IPv6组播,同样也有(*,G)和(S,G)模式之分,",G)模式与IPv6单播相同,这里也只分析(S,G)模式。在(S,G)模式下,除了对比目的IP地址外,还要比对源IP地址,专用芯片匹配到目的IP地址后,会得到目的IP地址在表中的表项ID,再使用此ID和源IP地址作为索引与表中每一行匹配,其中ID在Arrayl的存储空间是高16bit匹配(Array2的高16位为0)。因此,对于IPv6組播,一条(S,G)模式的组播路由,需要2行的存储空间,G(目的IP地址)一行,S(源IP地址)一行,所以支持的最多路由表项是512条。专用芯片收到IPv4报文后,会从表的第一个单元检索到最后一个单元;收到IPv6报文会从表的第一行片企索到最后一行,因此理论上,可以不做固定分区,即可以采用先到先得的原则分配资源。但这种机制复杂,容易产生碎片。因此普遍采用固定分区的做法(一个版本的软件只能有一种分区方案),即在系统初始化时,将路由表进行划分,如图2所示1024单元到1279单元,和2048单元到2303单元,共512个单元用于存储IPv4组播的源IP地址,即第(M亍到255行,都用于IPv4组l番,共支持512条IPv4组播。第256行到511行用于IPv6组播,共128条表项。第512行到767行用于IPv6单播,共256条表项。第768行到1023行用于IPv4单播,共256x4=1024条表项。如果没有严格的分区,那么IPv4单播的前缀有可能存储到路由表的任意地方,经过一系列的添加删除操作后,必然会出现碎片。例如首先添加8条IPv4前缀,分别填在0单元,1024单元,2048单元,3072单元,l单元,1Q25单元,2Q49单元,3G73单元,2单元,1026单元,.2050单元,3074单元,3单元,1027单元,2051单元,3075单元。再删除其中的0单元,1025单元,2050单元,3075单元,那么这时再添加一条IPv6单播前缀就不能添加在第O行到第3行中了。而实际上经过碎片整理后,是可以的,但增加碎片整理模块,会导致系统复杂度增加,并且也会增加系统的消耗。如果采用固定分区法对路由表进行划分,则不用考虑碎片问题,因为在指定的区域内,申请和释放的资源块大小都是相等的。但是,在没有全部使用各项功能情况下,就会导致部分资源不能被充分的利用。例如只使用IPv4单播时,IPv4组播,IPv6单播,IPv6组播等功能占用的资源将无法得到利用。
实用新型内容本实用新型的目的是提供一种路由表调节装置,可以根据实际网络需要灵活调整各种路由表容量,提高路由表的资源利用率。为了实现上述目的,本实用新型提供了一种路由表容量调节装置,包括参数接收单元、参数保存单元、存储单元、参数解析单元和参数配置单元;7所述参数接收单元用于接收输入的路由表容量调节参数的设置参数值;所述参数保存单元与参数接收单元连接,用于将所述设置参数值保存在配置文件中;所述存储单元与参数保存单元连接,用于存储配置文件;所述参数解析单元与存储单元连接,用于读取配置文件内容,并根据所述配置文件内容解析出路由表容量调节参数的解析参数值;所述参数配置单元与参数解析单元连接,用于才艮据所述解析参数值配置路由表容量。本实用新型通过设置路由表容量调节参数对路由表共享区间的容量进行调节,采用一种可变分区方法,综合了固定分区和无分区方法的优点,既提高了路由表的资源利用率,又保持了较低的系统复杂度和避免碎片整理对系统资源的额外消耗。图1为路由表表项结构示意图图2为路由表空间划分示意图图3为本实用新型路由表空间划分示意图图4为本实用新型一种路由表容量调节装置实施例一示意图图5为本实用新型一种路由表容量调节装置实施例二示意图图6为本实用新型一种路由表容量调节装置实施例三示意图图7为本实用新型一种路由表容量调节装置实施例四示意图图8为本实用新型一种路由表容量调节装置实施例五示意图具体实施方式对网络设备使用习惯分析,可以发现一个网络中运行的协议是比较稳定的,很少出现今天启用IPv4组播,明天又停止使用的情况。基于这个特点,我们引入对路由表进行容量调节的装置,在每次系统初始化过程中,完成从配置文件读取路由表容量调节参数,对路由表重新进行容量划分,使得用户可自行调整设定各种路由表容量。例如2台同样型号的设备,出厂时路由表容量缺省分配如图2所示IPv4单播1024条,IPv4组播512条,IPv6单播256条,IPv6组播128条。而用户A只需要使用IPv4单播路由和IPv4组播,并且对IPv4单播容量要求较大,则路由表容量可以调节成如图3所示。而对用户B只需要IPv豸单播路由,那么IPv々单播路由表容量可以达到4096条。以下结合附图对本实用新型进行具体的说明。图4为本实用新型一种路由表容量调节装置实施例一示意图,包括参数接收单元M1、参数保存单元M2、存储单元M3、参数解析单元M4和参数配置单元M5;所述参数接收单元Ml用于接收输入的路由表容量调节参数的设置参数值;所述路由表容量调节参数可以包括IPv4单播路由表容量、IPv4组播路由表容量、IPv6单播路由表容量和IPv6组播路由表容量中的任意三个。由于IPv4单播路由占用路由表的一个单元、IPv4组播路由占用路由表的两个单元、IPv6单播路由占用路由表的四个单元,IPv6组播路由占用路由表的八个单元,因此它们之间的关系如下IPv4单播路由表容量+IPv4组播路由表容量*2+IPv6单播路由表容量*4+1¥6组播路由表容量*8=路由表总容量由于总容量是固定的,因此只需要设置其中三个容量大小,则剩余的一个容量可以通过上面的公式推算出来。例如参数接收单元M1可以接收管理员根据提示输入的IPv4组播路由表容量大小,或IPv6单播路由表容量大小,或IPv6组播路由表容量大小作为设置参数值。我们认为一个较优实施方式是由用户配置指定IPv4组播、IPv6单播和IPv6组播容量大小,系统自动计算出剩余的空间都用于IPv4单播。这种方式是最多用户的使用习惯,当然也可以改选其它3个参数组合作为输入,或者固定了某个不能修改,如限定IPv4组播只能是256条,其它容量可以调整等等稍加变化的输入参数方式。另外需要注意的是不同的型号的专用芯片路由表被多个功能共享的情况会有所差异,比如除了被IPvA单播、IPv4组播、IPv6单播和IPv6组纟番共享外,还有被路由的隧道技术共享等情况,也可以在此基础上做简单的扩展,即可实现本案的目标。所述参数保存单元M2与参数接收单元Ml连接,用于将所述设置参数值保存在配置文件中;所述存储单元M3与参数保存单元M2连接,用于存储配置文件;具体操作时,可以先将设置参数值保存到相应的变量中,例如将输入的IPv4组播路由表容量大小写入变量g-mc4,将输入的IPv6单播路由表容量大小写入变量g—uc6,将输入的IPv6组播路由表容量大小写入变量g-mc6。然后可由管理员输入保存配置的命令,将这些变量中的参数值保存到指定的配置文件中。由于参数很少,可以单独使用一个配置文件存储参数,即只需要二进制的格式的文件即可,在三个参数的情况下,每个参数占4个字节,一共只需12字节。用户配置后新的路由表容量调节参数不会马上生效,需要保存配置,并且复位后才能生效。所述参数解析单元M4与存储单元M3连接,用于读耳又配置文件内容,并根据所述配置文件内容解析出路由表容量调节参数的解析参数值;具体操作时,可以在系统初始化的过程中读取配置文件中的数据,并根据事先设置的路由表容量调节参数与配置文件中数据的对应关系,解析出路由表容量调节参数的值,填入g-mc4,g-uc6,g-mc6三个变量中。所述配置文件可以是独立的,即不与其它功能的配置项混合在一个配置文件中,并且是10二进制格式,因此只需调用文件读取接口即可。文件读取接口是每个计算机系统必需的接口,在这里不做详细说明。所述配置文件也可以采用同其它配置文件混用的方案。所述参数配置单元M5与参数解析单元M4连接,用于根据所述解析参数值配置路由表容量。参数解析完成后,还需要调用系统初始化中路由表相关的接口,根据解析出的参数值配置相应的路由表容量。不同系统的初始化接口大都不同,但功能类似,本领域的相关技术员应能理解相应接口的功能和使用方法,因此这里不做详细说明。图5为本实用新型一种路由表容量调节装置实施例二示意图,本实施例除了包括装置实施例一的结构特征外,还包括参数判断单元M6,与参数接收单元Ml和参数保存单元M2连接,用于判断所述设置参数值是否为有效值,如果是则调用参数保存单元将所述设置参数值保存在配置文件中,否则提示错误并结束操作。图6为本实用新型一种路由表容量调节装置实施例三示意图,本实施例除了包括装置实施例二的结构特征外,还有如下特征所述参数判断单元M6包括有效值判断单元M61,用于根据当前配置文件中的路由表容量调节参数的保存参数值判断所述设置参数值是否为有效值。例如,路由表总容量大小为4096,路由表容量调节参数包括IPv4组播路由表容量、IPv6单播路由表容量和IPv6组播路由表容量,初始时配置文件中保存了这三个参数出厂设置值。可由管理员输入IPv4组播路由表容量大小,可以根据以下的公式计算出IPv4组播路由表容量的最大允许值IPv4组播路由表容量的最大允许值=(4096-IPv6单播路由表容量在配置文件中的保存参数值*4-IPv6组播路由表容量在配置文件中的保存参数值*8)/2ii如果输入的IPv4组播路由表容量大小即设置参数值小于等于IPv4组播路由表容量的最大允许值,则所述设置参数值为有效值。后续操作会将设置参数值保存在配置文件中,更新配置文件中相应的^f呆存参数值。可由管理员输入IPv6单播路由表容量大小时,可以根据以下的公式计算出IPv6单播路由表容量的最大允许值IPv6单播路由表容量的最大允许值=(4096-IPvA组播路由表容量在配置文件中的保存参数值*2-IPv6组播路由表容量在配置文件中的保存参数值*8)/4如果输入的IPv6单播路由表容量大小即设置参数值小于等于IPv6单播路由表容量的最大允许值,则所述设置参数值为有效值。后续操作会将设置参数值保存在配置文件中,更新配置文件中相应的保存参数值。可由管理员输入IPv6组播路由表容量大小时,可以根据以下的公式计算出IPv6组播路由表容量的最大允许值IPv6组播路由表容量的最大允许值=(4096-IPv4组播路由表容量在配置文件中的保存参数值*2-IPv6单播路由表容量在配置文件中的保存参数值*4)/8如果输入的IPv6组播路由表容量大小即设置参数值小于等于IPv6组播路由表容量的最大允许值,则所述设置参数值为有效值。后续操作会将设置参数值保存在配置文件中,更新配置文件中相应的保存参数值。也可以同时输入两个设置参数值,例如同时输入IPv4组播路由表容量大小,即IPv4组播路由表容量的设置参数值,和IPv6单播路由表容量大小,即IPv6单播路由表容量的设置参数值,判断下面的不等式是否成立IPv4组播路由表容量的设置参数值*2+IPv6单播路由表容量的设置参数值*4+176组播路由表容量在配置文件中的保存参数值*8<=4096如果上述等式成立,则表示两个设置参数值为有效值。后续操作会将设置参数值保存在配置文件中,更新配置文件中相应的保存参数值。12输入其它情况的两个设置参数值的判断方法与上述方法类似,在些不再赘述。也可以同时输入三个设置参数值,即IPv4组播路由表容量的设置参数值、IPv6单播路由表容量的设置参数值和IPv6组播路由表容量的设置参数值,判断下面的不等式是否成立IPv4组播路由表容量的设置参数值*2+IPv6单播路由表容量的设置参数值*4+IPv6组播路由表容量的设置参数值W<=4096如果上述等式成立,则表示三个设置参数值为有效值。后续操作会将设置参数值保存在配置文件中,更新配置文件中相应的保存参数值。需要说明的是,路由表总容量大小并不限于为4096的情况。图7为本实用新型一种路由表容量调节装置实施例四示意图,本实施例除了包括装置实施例一的结构特征外,还包括参数提示单元M7,用于接收输入的路由表容量调节参数的可配置有效值范围请求,根据当前配置文件中的路由表容量调节参数的保存参数值计算出路由表容量调节参数的可配置有效值范围,并输出所述可配置有效值范围。实际操作时,可由管理员输入路由表容量调节参数的可配置有效值范围请求,例如输入对IPv4组播路由表容量的可配置有效值范围的请求,仍以路由表总容量大小为4096为例,具体有效值范围的计算公式如下IPv4组播路由表容量的可配置有效值范围=(4096-IPv6单播路由表容量在配置文件中的保存参数值*4-IPv6组播路由表容量在配置文件中的保存参数值*8)/2将根据上述公式计算出的结果输出。在输入其它路由表容量调节参数的可配置有效值范围请求时,计算公式类似,在此不再赘述。本实施例也可以在装置实施例二或装置实施例三的基础上进行上述扩展。图8为本实用新型一种路由表容量调节装置实施例五示意图,本实施例除了包括装置实施例一的结构特征外,还将参数解析单元M4分解为读取判断单元M41和参数设置单元M42;所述读取判断单元M41用于判断读取配置文件内容是否成功;所述参数设置单元M42与读取判断单元M41连接,用于在读取配置文件内容成功时从所述配置文件内容中解析出路由表容量调节参数的值作为解析参数值,在读取配置文件内容失败时将所述解析参数值设置为出厂设置值。本实施例也可以在装置实施例二,或装置实施例三,或装置实施例四的基础上进行上述扩展。本实用新型通过设置路由表容量调节参数对路由表共享区间的容量进行调节,采用一种可变分区方法,综合了固定分区和无分区方法的优点,既提高了路由表的资源利用率,又保持了较低的系统复杂度和避免碎片整理对系统资源的额外消耗。需要说明的是,路由器不同芯片共享的内容可能不完全相同,但原理相同。例如有些路由表只是IPv4单播和IPv4组^番共享。此外不同芯片的数据组织结构也可能不同,如路由表另一种常见的类树结构,IPv4单播路由表,即IPv4组播路由表、IPv6单播路由表、IPv6组播路由表等都是单独的一个多叉树结构,但都存储在同一个存储器件中,这种情况同样存在路由表资源分配的问题,因此本实用新型也适用于这些情况。最后应说明的是以上实施例仅用以说明本实用新型的4支术方案,而非对其限制;尽管参照前述实施例对本实用新型进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本实用新型各实施例技术方案的精神和范围。权利要求1.一种路由表容量调节装置,其特征在于,包括参数接收单元、参数保存单元、存储单元、参数解析单元和参数配置单元;所述参数接收单元用于接收输入的路由表容量调节参数的设置参数值;所述参数保存单元与参数接收单元连接,用于将所述设置参数值保存在配置文件中;所述存储单元与参数保存单元连接,用于存储配置文件;所述参数解析单元与存储单元连接,用于读取配置文件内容,并根据所述配置文件内容解析出路由表容量调节参数的解析参数值;所述参数配置单元与参数解析单元连接,用于根据所述解析参数值配置路由表容量。2.根据权利要求1所述的路由表容量调节装置,其特征在于,还包括参数判断单元,与参数接收单元和参数保存单元连接,用于判断所述设置参数值是否为有效值,如果是则调用参数保存单元将所述设置参数值保存在配置文件中,否则提示错误并结束操作。3.根据权利要求1或2所述的路由表容量调节装置,其特征在于,所述路由表容量调节参数包括互联网协议第四版IPv4单插J各由表容量、IPv4组播路由表容量、互联网协议第六版IPv6单播路由表容量和IPv6组播路由表容量中的任意三个。4.根据权利要求2所述的路由表容量调节装置,其特征在于,所述参数判断单元包括有效值判断单元,用于根据当前配置文件中的路由表容量调节参数的保存参数值判断所述设置参数值是否为有效值。5.根据权利要求1、2或4所述的任一路由表容量调节装置,其特征在于,还包括参数提示单元,用于接收输入的路由表容量调节参数的可配置有效值范围请求,根据当前配置文件中的路由表容量调节参数的保存参数值计算出路由表容量调节参数的可配置有效值范围,并输出所述可配置有效值范围。6.根据权利要求1、2或4所述的任一路由表容量调节装置,其特征在于,所述参数解析单元包括读:f又判断单元和参数设置单元;所述读取判断单元用于判断读取配置文件内容是否成功;所述参数设置单元与读取判断单元连接,用于在读取配置文件内容成功时从所述配置文件内容中解析出路由表容量调节参数的值作为解析参数值,在读取配置文件内容失败时将所述解析参数值设置为出厂设置值。专利摘要本实用新型提供了一种路由表容量调节装置。所述装置包括参数接收单元、参数保存单元、存储单元、参数解析单元和参数配置单元;所述参数接收单元用于接收输入的路由表容量调节参数的设置参数值;所述参数保存单元与参数接收单元连接,用于将所述设置参数值保存在配置文件中;所述存储单元与参数保存单元连接,用于存储配置文件;所述参数解析单元与存储单元连接,用于读取配置文件内容,并根据所述配置文件内容解析出路由表容量调节参数的解析参数值;所述参数配置单元与参数解析单元连接,用于根据所述解析参数值配置路由表容量。本实用新型可以根据实际网络需要灵活调整各种路由表容量,提高路由表的资源利用率。文档编号H04L12/56GK201414137SQ200920107909公开日2010年2月24日申请日期2009年5月6日优先权日2009年5月6日发明者高兴福申请人:北京星网锐捷网络技术有限公司