CN115883455A - 一种压缩路由信息的方法、装置、电子设备及存储介质 - Google Patents
一种压缩路由信息的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115883455A CN115883455A CN202211584969.9A CN202211584969A CN115883455A CN 115883455 A CN115883455 A CN 115883455A CN 202211584969 A CN202211584969 A CN 202211584969A CN 115883455 A CN115883455 A CN 115883455A
- Authority
- CN
- China
- Prior art keywords
- bits
- mask
- routing information
- bit
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 26
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000270295 Serpentes Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种压缩路由信息的方法、装置、电子设备及存储介质,方法包括在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度;在所述掩码边界左侧的比特位存储路由地址信息。本发明能够利用更少的比特位存储完整的路由信息,能够使相同规格的存储单元存储更多的路由信息,提高资源利用率。
Description
技术领域
本发明是关于网络通信技术领域,特别是关于一种压缩路由信息的方法及实现该方法的装置、电子设备及存储介质。
背景技术
随着网络通信技术的不断发展,数据中心的规模越来越大,对于路由规格的需求也越来越大。为满足相应路由规格需求,现有技术采用多级前缀的方法,即使TCAM储存前缀的负担转移到SRAM上,以减少TCAM使用量的同时解决路由规格受限于TCAM规格的问题,如以一级TCAM与两级SRAM为例,其路由信息的存储方式与路由索引方法如图1所示。对于IPv4路由地址而言,SRAM0和SRAM1中存储一条IPv4前缀或者地址的信息需要32个比特位,以表示路由地址信息,同时,需要6个比特位来表示掩码信息。因而针对如图2所示的SRAM0和SRAM1,一个条目所存储的信息分别为
前缀:(32比特路由地址+6比特掩码长度)*4;
路由:(32比特路由地址+6比特掩码长度)*6。
虽然该方法能够解决路由规格受限于TCAM规格的影响,但是还是会后限于SRAM的规格,也就是说,路由规格最终决定于SRAM大小以及其一个条目能够存储多少个路由信息。因而,同等规格的SRAM如何存储更多的路由信息是亟需解决的问题。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种压缩路由信息的方法、装置、电子设备及存储介质,其能够利用更少的比特位存储器完整的路由信息,能够使相同规格的存储单元存储更多的路由信息。
为实现上述目的,本发明的实施例提供了一种压缩路由信息的方法,所述方法包括:
在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度,所述比特区间的宽度为N,N为大于或等于33的整数;
在所述掩码边界左侧的比特位存储路由地址信息。
在本发明的一个或多个实施方式中,所述掩码边界所处的比特位被配置为第一预设值。
在本发明的一个或多个实施方式中,所述第一预设值为1。
在本发明的一个或多个实施方式中,所述掩码边界右侧的比特位可配置为第二预设值。
在本发明的一个或多个实施方式中,所述第二预设值为0。
在本发明的一个或多个实施方式中,所述N为33。
在本发明的一个或多个实施方式中,所述条目包括至少一个比特区间。
本发明的实施例还提供了一种压缩路由信息的装置,所述装置包括:
选取模块,用于在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度,所述比特区间的宽度为N,N为大于或等于33的整数;
存储模块,用于在所述掩码边界左侧的比特位存储路由地址信息。
本发明的实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的计算机程序,所述计算机程序由所述至少一个处理器执行时,使得所述电子设备执行上述所述的方法。
本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被机器执行时实现上述所述的方法。
与现有技术相比,本发明能够利用更少的比特位存储完整的路由信息,能够使相同规格的存储单元或存储模块(如SRAM)存储更多的路由信息,提高资源利用率。
附图说明
图1是现有技术中路由信息存储示意图;
图2是现有技术中SRAM中一个条目所存储信息示意图;
图3是根据本发明一实施方式的压缩路由信息的方法流程图;
图4是根据本发明一实施方式的路由信息存储示意图;
图5是根据本发明一实施方式的IPv4路由信息存储示意图;
图6是SRAM1扩展示意图;
图7是本发明一实施方式的压缩路由信息的装置结构框图;
图8是本发明一实施方式的电子设备结构框图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
结合图3和图4所示,根据本发明优选实施方式的一种压缩路由信息的方法,能够利用更少的比特位存储完整的路由信息(包括路由地址信息和掩码长度信息),能够使相同规格的存储单元或存储模块(如SRAM)存储更多的路由信息。
如图3所示,所述压缩路由信息的方法包括如下步骤:
首先,在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度,所述比特区间的宽度为N,N为大于或等于33的整数;
具体地,存储路由信息的存储单元或者存储模块(如SRAM)具有多个用于存储路由信息的条目,每个条目可存储至少一个路由信息,如某一条目可存储6个路由信息。每个条目具有一定的宽度,这里所说的宽度指的是条目所包含的比特位的数量,如某一条目的宽度为128,其包含128个比特位。
为了实现路由信息的压缩,即利用更少的比特位存储路由信息。本发明将条目划分为若干个比特区间,每个比特区间可用于存储一个路由信息。这里每个比特区间的宽度为N,N为大于或等于33的整数。实施时,以N为33为最佳。即只需要采用33比特就可以存储一条IPv4路由信息,相较于现有技术采用38比特存储路由信息(32比特存储路由地址信息,6比特存储掩码长度信息),可有效节约资源。
在划分比特区间后,在比特区间内选取一比特位作为掩码边界。掩码边界的位置由掩码长度确定。在选取掩码边界后,掩码边界左侧比特位的数量为掩码长度。如路由地址192.168.1.0/24,其掩码长度为24,因而,掩码边界所处的比特位为第25个比特位(从比特区间左侧开始数),即第25个比特位为掩码边界。
最后,在所述掩码边界左侧的比特位存储路由地址信息。
具体地,如图4所示,当确定掩码边界后,在掩码边界左侧的比特位存储路由地址信息,即掩码边界左侧同时存储了路由信息和掩码长度信息。如路由地址192.168.1.0/24,其用二进制可表示为:11000000101010000000000100000000,掩码长度为24。采用本发明所述的压缩路由信息的方法存储该路由信息时,如图5所示,第25个比特位为掩码边界(从左侧开始数),其左侧24个比特位存储路由地址信息110000001010100000000001,同时,掩码边界左侧的24比特位也为掩码长度信息,因而,掩码边界左侧同时存储了路由信息和掩码长度信息。
本实施例中,掩码边界所处的比特位配置为第一预设值,该第一预设值优选为1。
由于LPM算法(LongestPrefixMatch,最长掩码匹配算法)不关心掩码边界右侧的比特位的值,因而,掩码边界右侧的比特位可配置为第二预设值,第二预设值优选为0。如路由地址192.168.1.0/24,其用二进制可表示为:11000000101010000000000100000000,掩码长度为24。在掩码边界右侧的比特位可配置为0,即从第25个比特位开始向右逐个配置为0,如图5所示。
采用本发明所述的压缩路由信息的方法存储信息后,芯片可从低比特位向高比特位进行查找(即从右侧向左侧查找)。当查找到第一个值为1的比特位,即可确定其为掩码边界。如路由地址192.168.1.0/24,其用二进制可表示为:11000000101010000000000100000000,掩码长度为24,其存储方式如图5所示。芯片从右向左查找时,查找到第一个值为1的比特位是第9个比特位(从右向左数)。因而,该第9个比特位为掩码边界。掩码边界左侧比特位的数量为24,即可确定该路由地址的掩码长度为24,路由信息由掩码边界左侧的比特位数值确定。
本发明所述的压缩路由信息的方法,能够有效节约资源,如SRAM1的深度为16K,即SRAM1具有16K个条目,且每个条目可存储的IPv4路由信息的数量为6个。现有技术中,针对每个IPv4路由信息存储时需要38个比特位,而采用本发明所述的方法,针对每个IPv4路由信息可节约5比特资源,则共可节约16K*6*5比特,即480Kbits。而每条路由除了33比特路由信息外,还需20比特存储下一跳信息(NextHop)等,因而,节省下来的存储空间可额外多存储9273条路由及其下一跳信息。而对于IPv6路由信息,在掩码长度小于64时,每个条目可存储3个路由,使用本发明所述的压缩路由信息的方法时可将8比特的掩码信息节省为1比特,即节省了7比特,因而可节省出16K*3*7=336K比特。在掩码长度大于64时,每个条目可存储2条路由,最终可节省出16K*2*7=224K比特。
进一步地,如图6所示,在实际路由寄存器规划中,SRAM1这一级的寄存器可分布多块,每块Snake的存储效果与上述所述的深度为16K的SRAM1的存储效果相同,因而采用本发明可多存储72K的路由信息,提升率为72K/(16K*6*8)*100%=9.34。由此可知,有效提升资源利用率。
如图7所示,本发明优选实施方式的一种压缩路由信息的装置,可实现上述所述的压缩路由信息的方法,能够利用更少的比特位存储完整的路由信息。具体地,压缩路由信息的装置包括选取模块和存储模块。其中,选取模块用于在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度,所述比特区间的宽度为N,N为大于或等于33的整数。存储模块用于在所述掩码边界左侧的比特位存储路由地址信息。所述选取模块和存储模块如何实现相应功能,具体详见上述,在此不再一一赘述。
如图8所示,本发明一实施例所揭示的电子设备,电子设备可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。该电子设备可实现上述所述的压缩路由信息的方法,能够利用更少的比特位存储完整的路由信息。具体地,电子设备包括至少一个存储器、至少一个处理器以及计算机程序,至少一个存储器被耦合到所述至少一个处理器,其中,计算机程序存储于存储器中并可在处理器中运行,如该计算机程序为压缩路由信息的程序等。实施时,处理器执行该计算机程序时可实现上述方法中的各个步骤,如实现在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度,所述比特区间的宽度为N,N为大于或等于33的整数等等。
这里的计算机程序可被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器中,并由所述存储器执行,以完成本发明。其中,一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该计算机程序指令段用于描述计算机程序在所述电子设备中的执行过程。
需要说明的是,这里的电子设备包括并不限于上述所述的存储器、处理器和计算机程序,也可包括其它,如用于输入预测信息的输入设备(如键盘等)、通信接口等等,这些部件通过总线进行相互间的通信。
本发明还揭示了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,可实现上述压缩路由信息的方法。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、可执行文件或某些中间形式等,所述计算机可读介质可以包括能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)等等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (10)
1.一种压缩路由信息的方法,其特征在于,所述方法包括:
在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度,所述比特区间的宽度为N,N为大于或等于33的整数;
在所述掩码边界左侧的比特位存储路由地址信息。
2.如权利要求1所述的方法,其特征在于,所述掩码边界所处的比特位被配置为第一预设值。
3.如权利要求2所述的方法,其特征在于,所述第一预设值为1。
4.如权利要求1所述的方法,其特征在于,所述掩码边界右侧的比特位可配置为第二预设值。
5.如权利要求4所述的方法,其特征在于,所述第二预设值为0。
6.如权利要求1所述的方法,其特征在于,所述N为33。
7.如权利要求1所述的方法,其特征在于,所述条目包括至少一个比特区间。
8.一种压缩路由信息的装置,其特征在于,所述装置包括:
选取模块,用于在条目中选取比特区间中一比特位作为掩码边界,所述掩码边界左侧的比特位数量为掩码长度,所述比特区间的宽度为N,N为大于或等于33的整数;
存储模块,用于在所述掩码边界左侧的比特位存储路由地址信息。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的计算机程序,所述计算机程序由所述至少一个处理器执行时,使得所述电子设备执行根据权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被机器执行时实现根据权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211584969.9A CN115883455A (zh) | 2022-12-09 | 2022-12-09 | 一种压缩路由信息的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211584969.9A CN115883455A (zh) | 2022-12-09 | 2022-12-09 | 一种压缩路由信息的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883455A true CN115883455A (zh) | 2023-03-31 |
Family
ID=85766943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211584969.9A Pending CN115883455A (zh) | 2022-12-09 | 2022-12-09 | 一种压缩路由信息的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883455A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020003787A (ko) * | 2000-07-05 | 2002-01-15 | 강승민 | 초고속 라우터 및 그 방법 |
US20050111494A1 (en) * | 2003-11-26 | 2005-05-26 | Wind River Systems, Inc. | System and method for efficient sftorage and processing of IPV6 addresses |
US6963924B1 (en) * | 1999-02-01 | 2005-11-08 | Nen-Fu Huang | IP routing lookup scheme and system for multi-gigabit switching routers |
US20070018794A1 (en) * | 2005-07-20 | 2007-01-25 | Intelleflex Corporation | Selective RF device activation |
CN102110117A (zh) * | 2009-12-29 | 2011-06-29 | 华为技术有限公司 | 用于最长匹配的b树的表项添加、查找、删除方法及装置 |
CN102986177A (zh) * | 2011-06-29 | 2013-03-20 | 华为技术有限公司 | 一种tcam表项的设置方法及装置 |
CN103457855A (zh) * | 2012-06-04 | 2013-12-18 | 中兴通讯股份有限公司 | 无类域间路由表建立、以及报文转发的方法和装置 |
CN108075979A (zh) * | 2017-12-20 | 2018-05-25 | 盛科网络(苏州)有限公司 | 实现最长掩码匹配的方法及系统 |
CN114363167A (zh) * | 2021-12-20 | 2022-04-15 | 北京百度网讯科技有限公司 | 网段信息处理方法、装置、电子设备以及存储介质 |
-
2022
- 2022-12-09 CN CN202211584969.9A patent/CN115883455A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963924B1 (en) * | 1999-02-01 | 2005-11-08 | Nen-Fu Huang | IP routing lookup scheme and system for multi-gigabit switching routers |
KR20020003787A (ko) * | 2000-07-05 | 2002-01-15 | 강승민 | 초고속 라우터 및 그 방법 |
US20050111494A1 (en) * | 2003-11-26 | 2005-05-26 | Wind River Systems, Inc. | System and method for efficient sftorage and processing of IPV6 addresses |
US20070018794A1 (en) * | 2005-07-20 | 2007-01-25 | Intelleflex Corporation | Selective RF device activation |
CN102110117A (zh) * | 2009-12-29 | 2011-06-29 | 华为技术有限公司 | 用于最长匹配的b树的表项添加、查找、删除方法及装置 |
CN102986177A (zh) * | 2011-06-29 | 2013-03-20 | 华为技术有限公司 | 一种tcam表项的设置方法及装置 |
CN103457855A (zh) * | 2012-06-04 | 2013-12-18 | 中兴通讯股份有限公司 | 无类域间路由表建立、以及报文转发的方法和装置 |
CN108075979A (zh) * | 2017-12-20 | 2018-05-25 | 盛科网络(苏州)有限公司 | 实现最长掩码匹配的方法及系统 |
CN114363167A (zh) * | 2021-12-20 | 2022-04-15 | 北京百度网讯科技有限公司 | 网段信息处理方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120330979A1 (en) | Sorting a dataset of incrementally received data | |
CN107402950B (zh) | 基于分库分表的文件处理方法和装置 | |
CN107851010B (zh) | 针对宽数据元素使用寄存器对的具有偶数元素和奇数元素运算的混合宽度simd运算 | |
CN105677755A (zh) | 一种处理图数据的方法及装置 | |
CN106708468B (zh) | 一种除法运算装置 | |
CN112836806B (zh) | 一种数据格式调整方法、装置、计算机设备和存储介质 | |
CN103309893A (zh) | 一种字符串的比较方法及装置 | |
CN103874982B (zh) | 确定顶部n个或底部n个数据值 | |
US20200293277A1 (en) | Partially and Fully Parallel Normaliser | |
CN107391564B (zh) | 数据转换方法、装置以及电子设备 | |
CN107924306B (zh) | 使用simd指令的表查找 | |
CN110020333A (zh) | 数据分析方法及装置、电子设备、存储介质 | |
CN107798117B (zh) | 一种数据存储与读取的方法和装置 | |
CN112347101A (zh) | 标签数据存储方法、计算机装置和存储介质 | |
CN115883455A (zh) | 一种压缩路由信息的方法、装置、电子设备及存储介质 | |
CN116451174A (zh) | 任务执行装置、方法、电子设备和存储介质 | |
CN113792170B (zh) | 图数据划分方法、装置和计算机设备 | |
CN109992687B (zh) | 人脸数据的搜索方法、装置、电子设备及可读存储介质 | |
CN109478199A (zh) | 分段线性逼近的系统及方法 | |
US10761847B2 (en) | Linear feedback shift register for a reconfigurable logic unit | |
CN112925955A (zh) | 一种信息的处理方法、装置及设备 | |
CN111177482B (zh) | 一种图数据并行处理的方法、装置、设备及可读存储介质 | |
CN104734668A (zh) | 一种插值滤波器 | |
CN114448890B (zh) | 寻址方法、装置、电子设备及存储介质 | |
CN116939064A (zh) | 一种报文统计方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |