CN102045412A - IPv6地址前缀压缩存储方法及设备 - Google Patents
IPv6地址前缀压缩存储方法及设备 Download PDFInfo
- Publication number
- CN102045412A CN102045412A CN2010106115462A CN201010611546A CN102045412A CN 102045412 A CN102045412 A CN 102045412A CN 2010106115462 A CN2010106115462 A CN 2010106115462A CN 201010611546 A CN201010611546 A CN 201010611546A CN 102045412 A CN102045412 A CN 102045412A
- Authority
- CN
- China
- Prior art keywords
- node
- array
- address prefix
- ipv6 address
- trie tree
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种用于对IPv6地址前缀进行存储的方法,该方法包括:将IPv6地址前缀划分为具有固定长度K的L个部分,其中K和L均为正整数;初始化步长为K、层数为L的多分支Trie树结构,以存储IPv6地址前缀,其中每一个节点使用长度为2K的数组来存储节点指针,节点指针在数组中的位置表示IPv6地址前缀的K个比特;以及利用额外数组对生成的多分支Trie树中的每一个节点进行压缩存储。此外,本发明还提出了一种相应的IPv6地址前缀存储设备。本发明在有效减少存储容量的同时提高了查找效率。
Description
技术领域
本发明涉及下一代互联网领域,更具体地,涉及一种IPv6地址前缀存储方法和设备。
背景技术
众所周知,IPv6地址长度是128比特,而IPv4地址长度是32比特。就地址长度而言,IPv6比IPv4扩大了4倍;就容量而言,则扩大了296倍。由于IPv6地址容量的急剧增长,因此需要一种高效可行的IPv6地址存储和查找方式。
随着技术的发展,人们提出了基于多分支Trie树的IPv6地址前缀存储和查找算法。字典树(Trie)是一种用于快速字符串检索的多叉树结构。其原理是利用字符串的公共前缀来降低时空开销,从而达到提高程序效率的目的。Trie树在本质上是一个确定的有限状态自动机,每个结点代表一个状态,根据输入变量的不同,进行状态转移。用Trie树搜索一个关键码的时间与关键码自身及其长度有关,最快是0(1),即在第一层即可判断是否搜索到,最坏的情况是0(n),n为Trie树的层数。由于很多时候Trie树的大多数结点分支很少,因此Trie树结构空间浪费比较多。如果把每次查找检查的字符个数定义为步长,传统的Trie树步长为1,多分支Trie树的查找步长大于1。利用多分支Trie树可以有效减少查找过程中的存储器访问次数。
虽然该算法在查找速度上获得了很大的提高,但仍然需要较大的存储空间。图1示出了步长为K=16、层数为128/16=8的多分支Trie树(MT)的示意结构。如图1所示,多分支Trie树的每一个节点都包含216=65536个分支节点。因此,每个节点包含一块连续的大小为65536个单元的内存,分别指向65536个子节点。由于IPv6地址长度为128比特,因此MT的最大层数(深度)为8(128/16=8)。MT的实际层数由存储的IPv6地址前缀决定,当MT中不存储任何IPv6地址前缀时,MT中只包含根节点,层数为0,当存储的IPv6地址前缀中包含长度为16的前缀时,层数为1。依此类推,当存储的IPv6地址前缀中包含长度为128的前缀时,层数为8。
因此,当IPv6地址前缀较多且比较分散时,需要非常大的存储空间,同时产生了很多的空指针,一方面会造成内存的巨大浪费,另一方面会影响查找效率。
发明内容
本发明提出了一种IPv6地址前缀存储方法,可以在使用有限内存的情况下实现IPv6地址前缀的存储,并且能够实现高效查找。
根据本发明的一个方面,提供了一种用于存储IPv6地址前缀的方法,包括:将IPv6地址前缀划分为具有固定长度K的L个部分,其中K和L均为正整数;使用步长为K、层数为L的多分支Trie树结构存储IPv6地址前缀,其中每一个节点使用长度为2K的数组来存储节点指针,节点指针在数组中的位置表示IPv6地址前缀的K个比特;以及利用额外数组对生成的多分支Trie树中的每一个节点进行压缩存储。
优选地,所述压缩存储包括:针对多分支Trie树中的每一个节点,利用两个数组来代替,第一数组存储该节点中的非空指针值,而第二数组存储每一个非空指针值在该节点中的对应位置。
优选地,初始化多分支Trie树结构,使得与根节点相对应的数组中均为空指针。
优选地,针对多分支Trie树中的每一个节点,通过遍历与该节点相对应的数组,将非空指针和其相应的位置分别存储在第一数组和第二数组中。
优选地,所述方法还包括:如果需要查找已存储的IPv6地址前缀,则使用二分法依次查找每一层节点的第二数组。
优选地,步长K等于16。
根据本发明的另一个方面,提供了一种用于存储IPv6地址前缀的设备,包括:划分单元,将IPv6地址前缀划分为具有固定长度K的L个部分,其中K和L均为正整数;存储单元,使用步长为K、层数为L的多分支Trie树结构存储IPv6地址前缀,其中每一个节点使用长度为2K的数组来存储节点指针,节点指针在数组中的位置表示IPv6地址前缀的K个比特;以及压缩单元,利用额外数组对生成的多分支Trie树中的每一个节点进行压缩存储。
优选地,所述压缩单元针对多分支Trie树中的每一个节点,利用两个数组来代替,第一数组存储该节点中的非空指针值,而第二数组存储每一个非空指针值在该节点中的对应位置。
优选地,所述存储单元初始化多分支Trie树结构,使得与根节点相对应的数组中均为空指针。
优选地,所述压缩单元针对多分支Trie树中的每一个节点,通过遍历与该节点相对应的数组,将非空指针和其相应的位置分别存储在第一数组和第二数组中。
优选地,该设备还包括查找单元,如果需要查找已存储的IPv6地址前缀,则所述查找单元使用二分法依次查找每一层节点的第二数组。
优选地,步长K等于16。
与现有技术相比,本发明的优点主要在于:可以在使用较少内存的情况下实现IPv6地址前缀的存储。本发明解决了传统的多分支Trie树空指针浪费的问题,减少了节点指针占用的内存空间。此外,本发明减少了IPv6地址前缀查找过程中的查找次数,有效地提高了查找效率。
附图说明
通过下面结合附图说明本发明的实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
图1示出了步长K为16的多分支Trie树结构的一个示例;
图2示出了根据本发明一个实施例的IPv6地址前缀存储方法的流程图;
图3示出了根据本发明一个实施例向多分支Trie树结构添加IPv6地址前缀的示意过程;
图4示出了根据本发明一个实施例对步长K为16的NEXT数组进行压缩的示意图;
图5示出了根据本发明一个实施例的IPv6地址前缀存储设备的框图;以及
图6示出了根据本发明另一个实施例的IPv6地址前缀存储设备的框图。
具体实施方式
为了清楚详细的阐述本发明的实现过程,下面给出了一些本发明的具体实施例。参照附图对本发明的实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。
图2示出了根据本发明一个实施例的IPv6地址前缀存储方法20的流程图。如图2所示,方法20从步骤S200处开始。
在步骤S202,首先把要存储的IPv6地址前缀划分为具有固定长度K的L个部分,其中K和L均为正整数。由于IPv6地址前缀不会超过128比特,因此K与L的乘积不大于128。一般来说,为了便于存储,K是2的正整数次幂。
接下来,在步骤S204,按照多分支Trie树结构来存储Ipv6地址前缀。在一个实施例中,该步骤S204可具体包括如下步骤:
首先,初始化具有2K个存储单元的第一指针数组,该指针数组对应于Trie树的根节点。由于此时还未存储任何IPv6地址前缀,因此可以将第一指针数组中的所有存储单元均为空指针。
设置计数值N,其中N是数值范围在[1,L]中的正整数。针对每一个正整数值N,依次执行如下步骤:初始化具有2K个存储单元的第N+1指针数组,在第N指针数组中与IPv6地址前缀的第N部分相对应的位置存储第N+1指针数组的首地址。通过该过程,能够将IPv6地址前缀存储到多分支Trie树结构中。
然后,在步骤S206,压缩生成的多分支Trie树。根据本发明的一个实施例,该步骤S206可以包括如下步骤:针对多分支Trie树中的每一个节点,利用两个数组来代替,第一数组存储该节点中的非空指针值,而第二数组存储每一个非空指针值在该节点中的对应位置。这样,原先的Trie树中每一个节点占用的2K个存储单元均被压缩为仅包括非空指针值的数组以及表示非空指针值的相应位置的数组,这两个数组占用的空间比每一个节点原先占用的2K个存储单元小得多,因而极大地降低了存储需求,并且能够减少查找时所需的次数和时间。
最后,方法20在步骤S208处结束。
可以理解,在步骤S204中,如果要存储的IPv6地址前缀的第N部分已经存在于第N指针数组中,则可以使用已有的第N+1指针数组,而无需初始化新的第N+1指针数组。
备选地,尽管图3中未示出,该方法还可以包括在存储IPv6地址前缀后进行查找。例如,该查找过程可以包括:
1)取Trie树的根节点为当前节点,设X为IPv6地址前缀的0至K-1比特值,并且令N=1;
2)如果N不大于IPv6地址前缀的部分的总个数,在当前节点的数组AJ中查找X,例如可以采用二分查找算法;否则,转到步骤4);
3)如果X为AJ的第k个值,取AN[k]为当前节点,设X为IPv6地址前缀的K*N至K*N+K-1位值,N加1后转到步骤2);否则,如果X不在数组AJ中,则转到步骤4);
4)取当前节点为查找结果;如果没有找到相应的IPv6地址前缀,则查找结果是空指针。
图3示出了根据图2所示的方法向多分支Trie树结构添加IPv6地址前缀的示意过程。
如图3所示,在本示例中,要向步长K为16的多分支Trie树中插入IPv6地址前缀2002:c058:6301:c058::/64。由于IPv6地址前缀2002:c058:6301:c058::/64的长度是64比特,因此需要将该IPv6地址前缀划分为64/16=4个部分(即L等于4)。
图3的(a)部分示出了刚初始化的多分支Trie树根节点,包含一块连续的、大小为216=65536个单元的内存,每个内存单元中存储的都为空指针。换句话说,对应于根节点的指针数组NEXT中均为空指针。
图3的(b)部分示出了将IPv6地址前缀2002:c058:6301:c058::/64存储到多分支Trie树结构的过程。
首先,取IPv6地址前缀2002:c058:6301:c058::/64的前16比特值“2002”,判断根节点的指针数组NEXT[2002]为空指针,则新建一个节点NODE1并初始化,将根节点的NEXT[2002]指向NODE1。即,根节点的NEXT[2002]中存储新建的节点NODE1的指针数组NEXT的首地址。
然后,取IPv6地址前缀2002:c058:6301:c058::/64的第二个16比特值“c058”,判断节点NODE1的NEXT[c058]为空指针,则新建一个节点NODE2并初始化,将节点NODE1的NEXT[c058]指向NODE2;即,节点NODE1的NEXT[c058]中存储新建的节点NODE2的指针数组NEXT的首地址。
接下来,取IPv6地址前缀2002:c058:6301:c058::/64的第三个16比特值“6301”,判断节点NODE2的NEXT[6301]为空指针,则新建一个节点NODE3并初始化,将节点NODE2的NEXT[6301]指向NODE3;即,节点NODE2的NEXT[6301]中存储新建的节点NODE3的指针数组NEXT的首地址。
最后,取IPv6地址前缀2002:c058:6301:c058::/64的最后16比特值“c058”,判断节点NODE3的NEXT[c058]为空指针,则新建一个节点NODE4并初始化,将节点NODE3的NEXT[c058]指向NODE4;即,节点NODE3的NEXT[c058]中存储新建的节点NODE4的指针数组NEXT的首地址。
通过上述过程,将IPv6地址前缀2002:c058:6301:c058::/64存储到多分支Trie树中。
图4示出了根据本发明一个实施例对图3生成的多分支Trie树的根节点进行压缩的示意图。例如,如果与根节点相对应的长度为65536的NEXT数组中仅包含5个非空指针,则可以采用数组AN存储这5个非空指针值,并采用数据AJ存储这5个非空指针在NEXT数组中出现的位置。具体地,如图4所示,NEXT数组中的非空指针是:NEXT[0]=0xcc 123d44、NEXT[1]=0xc2123654、NEXT[1024]=0x2378cab8、NEXT[41024]=0x2378cabc以及NEXT[63028]=0x4378cab0。那么,数组AN包括:AN[0]=0xcc 123d44、AN[1]=0xc2123654、AN[2]=0x2378cab8、AN[3]=0x2378cabc和AN[4]=0x4378cab0。相应地,数组AJ包括:AJ[0]=0、AJ[1]=1、AJ[2]=1024、AJ[3]=41024和AJ[4]=63028。
这样,可以将根节点占用的内存从65536个单元减少到10个单元。
当需要查找根节点的NEXT数组时,先遍历AJ数组,判断XX(IPv6地址前缀的前16比特)是否存储在AJ中。如果存储在AJ[i]=XX,则取NEXT[XX]=AN[i];否则,取NEXT[XX]为空指针。优选地,可以使用二分法来查找数组AJ。
本领域的技术人员可以理解,图4所示的对根节点进行压缩的过程同样适用于对各个子节点进行压缩。
图5示出了根据本发明一个实施例的IPv6地址前缀存储设备50的框图。如图5所示,IPv6地址前缀存储设备50包括划分单元510、存储单元520和压缩单元530。
划分单元510把要存储的IPv6地址前缀划分为具有固定长度K的L个部分,其中K和L均为正整数。由于IPv6地址前缀不会超过128比特,因此K与L的乘积不大于128。一般来说,为了便于存储,K是2的正整数次幂。
存储单元520按照多分支Trie树结构来存储Ipv6地址前缀。首先,存储单元520初始化具有2K个存储单元的第一指针数组,该指针数组对应于Trie树的根节点。由于此时还未存储任何IPv6地址前缀,因此可以将第一指针数组中的所有存储单元均为空指针。然后,存储单元520设置计数值N,其中N是数值范围在[1,L]中的正整数。针对每一个正整数值N,存储单元520依次执行如下步骤:初始化具有2K个存储单元的第N+1指针数组,在第N指针数组中与IPv6地址前缀的第N部分相对应的位置存储第N+1指针数组的首地址。
压缩单元530压缩由存储单元520生成的多分支Trie树。根据本发明的一个实施例,压缩单元530针对多分支Trie树中的每一个节点,利用两个数组来代替,第一数组存储该节点中的非空指针值,而第二数组存储每一个非空指针值在该节点中的对应位置。这样,原先的Trie树中每一个节点占用的2K个存储单元均被压缩为仅包括非空指针值的数组以及表示非空指针值的相应位置的数组,这两个数组占用的空间比每一个节点原先占用的2K个存储单元小得多,因而极大地降低了存储需求,并且能够减少查找时所需的次数和时间。
图6示出了根据本发明另一个实施例的IPv6地址前缀存储设备60的框图。图6中的大部分组件与图5中的相同,不同之处仅在于图6所示的IPv6地址前缀存储设备60还包括查找单元540。为了简便起见,下文仅对查找单元540进行详细描述。
为了在已存储的IPv6地址前缀中查找特定的IPv6地址前缀,查找单元540可执行如下处理:
1)取Trie树的根节点为当前节点,设X为IPv6地址前缀的0至K-1比特值,并且令N=1;
2)如果N不大于IPv6地址前缀的部分的总个数,在当前节点的数组AJ中查找X,例如可以采用二分查找算法;否则,转到步骤4);
3)如果X为AJ的第k个值,取AN[k]为当前节点,设X为IPv6地址前缀的K*N至K*N+K-1位值,N加1后转到步骤2);否则,如果X不在数组AJ中,则转到步骤4);
4)取当前节点为查找结果;如果没有找到相应的IPv6地址前缀,则查找结果是空指针。
与现有技术相比,本发明解决了传统的多分支Trie树空指针浪费的问题,减少了节点指针占用的内存空间,因而可以在使用较少内存的情况下实现IPv6地址前缀的存储。此外,本发明减少了IPv6地址前缀查找过程中的查找次数,减少了查找时间,从而有效地提高了查找效率。
至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。
Claims (12)
1.一种用于存储IPv6地址前缀的方法,包括:
将IPv6地址前缀划分为具有固定长度K的L个部分,其中K和L均为正整数;
使用步长为K、层数为L的多分支Trie树结构存储IPv6地址前缀,其中每一个节点使用长度为2K的数组来存储节点指针,节点指针在数组中的位置表示IPv6地址前缀的K个比特;以及
利用额外数组对生成的多分支Trie树中的每一个节点进行压缩存储。
2.根据权利要求1所述的方法,其中,所述压缩存储包括:针对多分支Trie树中的每一个节点,利用两个数组来代替,第一数组存储该节点中的非空指针值,而第二数组存储每一个非空指针值在该节点中的对应位置。
3.根据权利要求1所述的方法,其中,初始化多分支Trie树结构,使得与根节点相对应的数组中均为空指针。
4.根据权利要求2所述的方法,其中,针对多分支Trie树中的每一个节点,通过遍历与该节点相对应的数组,将非空指针和其相应的位置分别存储在第一数组和第二数组中。
5.根据权利要求2所述的方法,还包括:如果需要查找已存储的IPv6地址前缀,则使用二分法依次查找每一层节点的第二数组。
6.根据权利要求1-5中任意一项所述的方法,其中,步长K等于16。
7.一种用于存储IPv6地址前缀的设备,包括:
划分单元,将IPv6地址前缀划分为具有固定长度K的L个部分,其中K和L均为正整数;
存储单元,使用步长为K、层数为L的多分支Trie树结构存储IPv6地址前缀,其中每一个节点使用长度为2K的数组来存储节点指针,节点指针在数组中的位置表示IPv6地址前缀的K个比特;以及
压缩单元,利用额外数组对生成的多分支Trie树中的每一个节点进行压缩存储。
8.根据权利要求1所述的设备,其中,所述压缩单元针对多分支Trie树中的每一个节点,利用两个数组来代替,第一数组存储该节点中的非空指针值,而第二数组存储每一个非空指针值在该节点中的对应位置。
9.根据权利要求7所述的设备,其中,所述存储单元初始化多分支Trie树结构,使得与根节点相对应的数组中均为空指针。
10.根据权利要求8所述的设备,其中,所述压缩单元针对多分支Trie树中的每一个节点,通过遍历与该节点相对应的数组,将非空指针和其相应的位置分别存储在第一数组和第二数组中。
11.根据权利要求8所述的设备,还包括查找单元,如果需要查找已存储的IPv6地址前缀,则所述查找单元使用二分法依次查找每一层节点的第二数组。
12.根据权利要求7-11中任意一项所述的设备,其中,步长K等于16。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010611546 CN102045412B (zh) | 2010-12-28 | 2010-12-28 | IPv6地址前缀压缩存储方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010611546 CN102045412B (zh) | 2010-12-28 | 2010-12-28 | IPv6地址前缀压缩存储方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102045412A true CN102045412A (zh) | 2011-05-04 |
CN102045412B CN102045412B (zh) | 2013-01-16 |
Family
ID=43911170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010611546 Active CN102045412B (zh) | 2010-12-28 | 2010-12-28 | IPv6地址前缀压缩存储方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102045412B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868779A (zh) * | 2012-09-20 | 2013-01-09 | 北京锐安科技有限公司 | 一种IPv6数据分区及快速查找方法 |
WO2013078644A1 (zh) * | 2011-11-30 | 2013-06-06 | 华为技术有限公司 | 路由前缀存储方法、装置及路由地址查找方法、装置 |
CN105450789A (zh) * | 2014-09-19 | 2016-03-30 | 德克萨斯仪器股份有限公司 | 无线传感器网络中互联网协议版本6地址的压缩 |
CN105814846A (zh) * | 2013-12-17 | 2016-07-27 | 华为技术有限公司 | 网络地址查询的前缀树阶段平衡 |
CN103780491B (zh) * | 2012-10-23 | 2018-01-23 | 上海博达数据通信有限公司 | 一种实现IPv6快速路由查找的方法 |
CN109951393A (zh) * | 2019-03-29 | 2019-06-28 | 新华三信息安全技术有限公司 | 网段查找方法及装置 |
CN110690943A (zh) * | 2019-09-26 | 2020-01-14 | 中兴通讯股份有限公司 | 数据编码方法、解码方法、编解码方法、设备及存储介质 |
CN111163008A (zh) * | 2019-12-26 | 2020-05-15 | 北京百卓网络技术有限公司 | 一种IPv6单播地址压缩方法、系统及汇聚分流设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003103240A1 (en) * | 2002-05-31 | 2003-12-11 | Cisco Technology, Inc. | Longest prefix matching using tree bitmap data structures |
CN1787477A (zh) * | 2004-12-09 | 2006-06-14 | 北京三星通信技术研究有限公司 | IPv6路由表的查找方法 |
CN101577662A (zh) * | 2008-05-05 | 2009-11-11 | 华为技术有限公司 | 一种基于树形数据结构的最长前缀匹配方法和装置 |
-
2010
- 2010-12-28 CN CN 201010611546 patent/CN102045412B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003103240A1 (en) * | 2002-05-31 | 2003-12-11 | Cisco Technology, Inc. | Longest prefix matching using tree bitmap data structures |
CN1787477A (zh) * | 2004-12-09 | 2006-06-14 | 北京三星通信技术研究有限公司 | IPv6路由表的查找方法 |
CN101577662A (zh) * | 2008-05-05 | 2009-11-11 | 华为技术有限公司 | 一种基于树形数据结构的最长前缀匹配方法和装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078644A1 (zh) * | 2011-11-30 | 2013-06-06 | 华为技术有限公司 | 路由前缀存储方法、装置及路由地址查找方法、装置 |
CN103404092A (zh) * | 2011-11-30 | 2013-11-20 | 华为技术有限公司 | 路由前缀存储方法、装置及路由地址查找方法、装置 |
CN103404092B (zh) * | 2011-11-30 | 2015-11-25 | 华为技术有限公司 | 路由前缀存储方法、装置及路由地址查找方法、装置 |
CN102868779B (zh) * | 2012-09-20 | 2016-01-20 | 北京锐安科技有限公司 | 一种IPv6数据分区及快速查找方法 |
CN102868779A (zh) * | 2012-09-20 | 2013-01-09 | 北京锐安科技有限公司 | 一种IPv6数据分区及快速查找方法 |
CN103780491B (zh) * | 2012-10-23 | 2018-01-23 | 上海博达数据通信有限公司 | 一种实现IPv6快速路由查找的方法 |
CN105814846B (zh) * | 2013-12-17 | 2019-06-21 | 华为技术有限公司 | 网络地址查询的前缀树阶段平衡 |
CN105814846A (zh) * | 2013-12-17 | 2016-07-27 | 华为技术有限公司 | 网络地址查询的前缀树阶段平衡 |
CN105450789A (zh) * | 2014-09-19 | 2016-03-30 | 德克萨斯仪器股份有限公司 | 无线传感器网络中互联网协议版本6地址的压缩 |
US11051140B2 (en) | 2014-09-19 | 2021-06-29 | Texas Instruments Incorporated | Compression of internet protocol version 6 addresses in wireless sensor networks |
US11689900B2 (en) | 2014-09-19 | 2023-06-27 | Texas Instruments Incorporated | Compression of internet protocol version 6 addresses in wireless sensor networks |
CN109951393A (zh) * | 2019-03-29 | 2019-06-28 | 新华三信息安全技术有限公司 | 网段查找方法及装置 |
CN109951393B (zh) * | 2019-03-29 | 2021-07-30 | 新华三信息安全技术有限公司 | 网段查找方法及装置 |
CN110690943A (zh) * | 2019-09-26 | 2020-01-14 | 中兴通讯股份有限公司 | 数据编码方法、解码方法、编解码方法、设备及存储介质 |
CN110690943B (zh) * | 2019-09-26 | 2020-06-26 | 中兴通讯股份有限公司 | 数据编码方法、解码方法、编解码方法、设备及存储介质 |
CN111163008A (zh) * | 2019-12-26 | 2020-05-15 | 北京百卓网络技术有限公司 | 一种IPv6单播地址压缩方法、系统及汇聚分流设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102045412B (zh) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102045412B (zh) | IPv6地址前缀压缩存储方法及设备 | |
CN102484610B (zh) | 路由表建立方法和装置及路由表查找方法和装置 | |
US9077669B2 (en) | Efficient lookup methods for ternary content addressable memory and associated devices and systems | |
CN101594319B (zh) | 表项查找方法和装置 | |
US6985483B2 (en) | Methods and systems for fast packet forwarding | |
US7418505B2 (en) | IP address lookup using either a hashing table or multiple hash functions | |
US6963924B1 (en) | IP routing lookup scheme and system for multi-gigabit switching routers | |
CN103051543B (zh) | 一种路由前缀的处理、查找、增加及删除方法 | |
CN103107945B (zh) | 一种快速查找ipv6路由的系统及方法 | |
CN101286935A (zh) | 一种基于ip地址范围的路由查找方法 | |
Le et al. | Memory-efficient and scalable virtual routers using FPGA | |
CN105141525A (zh) | IPv6路由查找方法及装置 | |
CN101277252A (zh) | 多分支Trie树的遍历方法 | |
CN114884877B (zh) | 一种哈希表和HOT相结合的IPv6路由查找方法 | |
Wuu et al. | A longest prefix first search tree for IP lookup | |
CN104780101A (zh) | 内容中心网络转发平面fib表结构及其检索方法 | |
Chang | Fast binary and multiway prefix searches for packet forwarding | |
Han et al. | A novel routing algorithm for IoT cloud based on hash offset tree | |
WO2015192742A1 (zh) | 一种查找装置、查找方法和配置方法 | |
CN103457855A (zh) | 无类域间路由表建立、以及报文转发的方法和装置 | |
Erdem et al. | Hierarchical hybrid search structure for high performance packet classification | |
CN110995876B (zh) | 一种ip存储与查找的方法及装置 | |
Veeramani et al. | Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches | |
CN113328947B (zh) | 基于应用可控前缀扩展布隆过滤器的可变长路由查找方法及装置 | |
Kniesburges et al. | Hashed Patricia Trie: Efficient longest prefix matching in peer-to-peer systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |