CN106953806B - 一种基于后缀索引匹配ip地址的方法及系统 - Google Patents
一种基于后缀索引匹配ip地址的方法及系统 Download PDFInfo
- Publication number
- CN106953806B CN106953806B CN201710188598.5A CN201710188598A CN106953806B CN 106953806 B CN106953806 B CN 106953806B CN 201710188598 A CN201710188598 A CN 201710188598A CN 106953806 B CN106953806 B CN 106953806B
- Authority
- CN
- China
- Prior art keywords
- matched
- suffix index
- index interval
- suffix
- segment
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Abstract
本发明涉及一种基于后缀索引匹配IP地址的方法,包括以下步骤:S1.对IP路由数据构建后缀索引;S2.将IPv6地址平均分为k段,然后分别为每段IPv6地址构建不同的哈希表,每张哈希表存放段内不同后缀在后缀索引中的区间值;S3.对于给定的目的IP地址,将其平均分为k段,然后将k段目的IP地址通过二分查找法在k张哈希表中查找匹配的后缀索引区间,并记录匹配的后缀索引区间所在的哈希表对应的段数;S4.根据记录的段数进行段内回溯查找,输出目的IP的路由信息。
Description
技术领域
本发明涉及网络通信领域,更具体的,涉及一种基于后缀索引匹配IP地址的方法及系统。
背景技术
路由器作为Internet互连的核心设备,其主要功能是按照IP分组中的目的地址转发分组,查找路由表(指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径)决定将分组发往哪个端口。路由器的处理速度是网络通信的主要瓶颈之一,其性能直接影响着网络互联的质量。高效的路由表查找算法是影响路由器转发效率的重要因素。随着Internet网络规模的扩大,路由表的大小与日俱增,这个问题随着IPv6网络协议的逐步应用而更加突出。同IPv4的CIDR(无类域间路由,ClasslessInter-Domain Routing)概念类似,IPv6地址也被认为是无类别的,路由查找时必须要进行最长前缀匹配LPM(longestprefix matching)而不是精确匹配,不仅需要与地址前缀的比特值进行匹配查找,而且还要考虑地址前缀长度。这些都给路由表查找算法效率的提高带来了挑战。
发明内容
本发明为解决以上现有路由表查找算法查找效率不高的缺陷,提供了一种基于后缀索引匹配IP地址的方法。
为实现以上发明目的,采用的技术方案是:
一种基于后缀索引匹配IP地址的方法,包括以下步骤:
S1.对IP路由数据构建后缀索引;
S2.将IPv6地址平均分为k段,然后分别为每段IPv6地址构建不同的哈希表,每张哈希表存放段内不同后缀在后缀索引中的区间值;
S3.对于给定的目的IP地址,将其平均分为k段,然后将k段目的IP地址通过二分查找法在k张哈希表中查找匹配的后缀索引区间,并记录匹配的后缀索引区间所在的哈希表对应的段数;
S4.根据记录的段数进行段内回溯查找,输出目的IP的路由信息。
优选地,所述步骤S1构建后缀索引的具体过程如下:
IP路由数据中的各个IPv6地址对应的前缀构成集合S,集合S中的每个前缀视为一个字符串并在末尾添加#,#<0<1,即每个IPv6地址包括有129个后缀;将集合S中的所有前缀首尾相连组成一个字符串T,构建字符串T的构建后缀索引。
优选地,所述步骤S2构建哈希表的具体过程如下:
将IPv6地址平均分为16段,然后为各段IPv6地址分别构建一个哈希表,16个哈希表分别为H_Table1~H_Table16,其中H_Table1~H_Table15内分别记录有各自段内的所有以00000000~11111111开始的后缀在后缀索引中的区间值;H_Table16记录所有段内的所有以00000000#~11111111#开始的后缀在后缀索引中的区间值。
优选地,所述步骤S4通过二分查找法查找匹配的后缀索引区间的具体过程如下:
(1)首先对目的IP地址第8段在H_Table8内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(2),否则执行步骤(10);
(2)对目的IP地址第12段在H_Table12内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(3),否则执行步骤(7);
(3)对目的IP地址第14段在H_Table14内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(4),否则执行步骤(6);
(4)对目的IP地址第15段在H_Table15内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(5);
(5)对目的IP地址第16段在H_Table16内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(6)对目的IP地址第13段在H_Table13内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(7)对目的IP地址第10段在H_Table10内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(8),否则执行步骤(9);
(8)对目的IP地址第11段在H_Table11内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(9)对目的IP地址第9段在H_Table9内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(10)对目的IP地址第4段在H_Table4内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(11),否则执行步骤(14);
(11)对目的IP地址第6段在H_Table6内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(12),否则执行步骤(13);
(12)对目的IP地址第7段在H_Table7内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(13)对目的IP地址第5段在H_Table5内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(14)对目的IP地址第2段在H_Table2内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(15),否则执行步骤(16);
(15)对目的IP地址第3段在H_Table3内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(16)对目的IP地址第1段在H_Table1内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数。
优选地,定义F为字符串T的所有后缀按字典顺序排序后的首字符组成的数组;
定义BWT为字符串T的所有后缀按字典顺序排序后的最后一个字符组成的数组;
所述步骤S5进行段内回溯查找的具体步骤如下:
S101.根据记录的段数,将下一段内的目的IP地址倒置,其最后一个字符在F中的起始位置标记为First,结束位置标记为Last;
S102.查询First与Last之间的所有行对应的BWT中是否存在与倒置的IP地址的倒数第i个字符相同的字符,i的初始值为2;
S103.若是则将这些字符映射在F中,这些字符在F中的相应起始位置、结束位置标记为First、Last;
S104.令i=i+1然后利用步骤S3得到的First、Last重复执行步骤S103直至查询不到匹配项,此时得到最长匹配后缀。
S105.输出目的IP的路由信息。
同时,本发明还提供了一种应用以上方法的系统,其方案如下:
包括索引构造模块和索引查询模块,索引构造模块用于构建后缀索引和哈希表,所述索引查询模块用于哈希表的查找和段内回溯查找。
与现有技术相比,本发明的有益效果是:
1.查找一个IPv6地址最多需读路由表4次,与路由表的大小无关,因此能够保证查找效率。
2.将后缀索引应用到路由查找上,有效的加快了IP地址的匹配速度,同时具有良好的性能。
附图说明
图1为方法的流程示意图。
图2为本发明的路由表结构图。
图3为系统的示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图1所示,本发明提供的方法包括有以下步骤;
S1.对IP路由数据构建后缀索引;
S2.将IPv6地址平均分为k段,然后分别为每段IPv6地址构建不同的哈希表,每张哈希表存放段内不同后缀在后缀索引中的区间值;
S3.对于给定的目的IP地址,将其平均分为k段,然后将k段目的IP地址通过二分查找法在k张哈希表中查找匹配的后缀索引区间,并记录匹配的后缀索引区间所在的哈希表对应的段数;
S4.根据记录的段数进行段内回溯查找,输出目的IP的路由信息。
其中,如图2所示,图2为路由表结构图。
在具体的实施过程中,所述步骤S1构建后缀索引的具体过程如下:
IP路由数据中的各个IPv6地址对应的前缀构成集合S,集合S中的每个前缀视为一个字符串并在末尾添加#(#<0<1),即每个IPv6地址包括有129个后缀;将集合S中的所有前缀首尾相连组成一个字符串T,构建字符串T的构建后缀索引。
在具体的实施过程中,所述步骤S2构建哈希表的具体过程如下:
将IPv6地址平均分为16段,然后为各段IPv6地址分别构建一个哈希表,16个哈希表分别为H_Table1~H_Table16,其中H_Table1~H_Table15内分别记录有各自段内的所有以00000000~11111111开始的后缀在后缀索引中的区间值;H_Table16记录所有段内的所有以00000000#~11111111#开始的后缀在后缀索引中的区间值。
为了方便说明构建哈希表的过程,本实施例以IP地址长度为4为例,以2bit为单位进行分段查找。
给定一个集合S={S1,S2,…},集合中每一项Si是一条路由规则的匹配前缀。构造字符串T=S1#S2#...的后缀索引(这里,S1#是由前缀S1和#构成字符串,将所有这些字符串首尾相连得到T)。
例如:S={1100/4,110*/3},那么就有T=1100#110#。
则其后缀索引如下所示:
pos=0 1 2 3 4 5 6 7 8
x=1 1 0 0 # 1 1 0 #
sa=8 4 7 3 2 6 1 5 0
若以2bit分段构建两个hash表,则哈希表H_Tablel对应前2bit,用于记录所有以00,01,10,11开始的后缀在后缀索引中的区间;哈希表H_Table2对应后2bit,用于记录所有以00#,01#,10#,11#开始的后缀在后缀索引中的区间。如表1所示:
H_Table1中的[4,4]表示以00开始的后缀在后缀索引中的区间只有第4行;
H Table1中的Null表示以01开始的后缀在后缀索引中找不到相应的区间;
H_Table1中的[5,6]表示以10开始的后缀在后缀索引中的区间从第5行到第6行;
H_Table1中的[7,8]表示以11开始的后缀在后缀索引中的区间从第7行到第8行;
H_Table2中的[4,4]表示以00#开始的后缀在后缀索引中的区间只有第4行;
H Table2中的Null表示以01#开始的后缀在后缀索引中找不到相应的区间;
H_Table2中的[5,5]表示以10#开始的后缀在后缀索引中的区间只有第5行;
H Table2中的Null表示以11#开始的后缀在后缀索引中找不到相应的区间。
表1哈希表的键-值
Index | H_Table1 | H_Table2 |
00 | [4,4] | [4,4] |
01 | Null | Null |
10 | [5,6] | [5,5] |
11 | [7,8] | Null |
给定一个IP地址,与其匹配的IP前缀的中间字符不可能是#。所以,给定通配符x(x可以为1或者0),则IP地址11xx是有可能匹配110#和1100#110#的;而IP地址xx11不可能匹配110#和1100#110#的。这也就是为什么H_Table1中的11表项为[7,8],H_Table2中的11表项为空的原因。
从上述可知,IPv6的地址长度为128bit,因此以8bit为单位构建16个哈希表,分别为H_Table1~H_Table16。则H_Table1~15记录所有以00000000~11111111开始的后缀在后缀索引中的区间;H_Table16记录所有以00000000#~11111111#开始的后缀在后缀索引中的区间。
在具体的实施过程中,所述步骤S4通过二分查找法查找匹配的后缀索引区间的具体过程如下:
(1)首先对目的IP地址第8段在H_Table8内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(2),否则执行步骤(10);
(2)对目的IP地址第12段在H_Table12内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(3),否则执行步骤(7);
(3)对目的IP地址第14段在H_Table14内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(4),否则执行步骤(6);
(4)对目的IP地址第15段在H_Table15内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(5);
(5)对目的IP地址第16段在H_Table16内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(6)对目的IP地址第13段在H_Table13内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(7)对目的IP地址第10段在H_Table10内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(8),否则执行步骤(9);
(8)对目的IP地址第11段在H_Table11内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(9)对目的IP地址第9段在H_Table9内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(10)对目的IP地址第4段在H_Table4内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(11),否则执行步骤(14);
(11)对目的IP地址第6段在H_Table6内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(12),否则执行步骤(13);
(12)对目的IP地址第7段在H_Table7内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(13)对目的IP地址第5段在H_Table5内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(14)对目的IP地址第2段在H_Table2内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(15),否则执行步骤(16);
(15)对目的IP地址第3段在H_Table3内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(16)对目的IP地址第1段在H_Table1内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数。
本实施例中,定义F为字符串T的所有后缀按字典顺序排序后的首字符组成的数组;定义BWT为字符串T的所有后缀按字典顺序排序后的最后一个字符组成的数组;则所述步骤S5进行段内回溯查找的具体步骤如下:
S101.根据记录的段数,将下一段内的目的IP地址倒置,其最后一个字符在F中的起始位置标记为First,结束位置标记为Last;
S102.查询First与Last之间的所有行对应的BWT中是否存在与倒置的IP地址的倒数第i个字符相同的字符,i的初始值为2;
S103.若是则将这些字符映射在F中,这些字符在F中的相应起始位置、结束位置标记为First、Last;
S104.令i=i+1然后利用步骤S3得到的First、Last重复执行步骤S103直至查询不到匹配项,此时得到最长匹配后缀。
S105.输出目的IP的路由信息。
实施例2
本实施例提供了一种应用实施例1方法的系统,如图3所示,其具体的方案如下:
包括索引构造模块和索引查询模块,索引构造模块用于构建后缀索引和哈希表,所述索引查询模块用于哈希表的查找和段内回溯查找。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (3)
1.一种基于后缀索引匹配IP地址的方法,其特征在于:包括以下步骤:
S1.对IP路由数据构建后缀索引;
S2.将IPv6地址平均分为k段,然后分别为每段IPv6地址构建不同的哈希表,每张哈希表存放段内不同后缀在后缀索引中的区间值;
S3.对于给定的目的IP地址,将其平均分为k段,然后将k段目的IP地址通过二分查找法在k张哈希表中查找匹配的后缀索引区间,并记录匹配的后缀索引区间所在的哈希表对应的段数;
S4.根据记录的段数进行段内回溯查找,输出目的IP的路由信息;
其中,所述步骤S1构建后缀索引的具体过程如下:
IP路由数据中的各个IPv6地址对应的前缀构成集合S,集合S中的每个前缀视为一个字符串并在末尾添加#,#<0<1,即每个IPv6地址包括有129个后缀;将集合S中的所有前缀首尾相连组成一个字符串T,构建字符串T的后缀索引;
其中,所述步骤S2构建哈希表的具体过程如下:
将IPv6地址平均分为16段,然后为各段IPv6地址分别构建一个哈希表,16个哈希表分别为H_Table1~H_Table16,其中H_Table1~H_Table15内分别记录有各自段内的所有以00000000~11111111开始的后缀在后缀索引中的区间值;H_Table16记录所有段内的所有以00000000#~11111111#开始的后缀在后缀索引中的区间值;
其中,所述步骤S3通过二分查找法查找匹配的后缀索引区间的具体过程如下:
(1)首先对目的IP地址第8段在H_Table8内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(2),否则执行步骤(10);
(2)对目的IP地址第12段在H_Table12内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(3),否则执行步骤(7);
(3)对目的IP地址第14段在H_Table14内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(4),否则执行步骤(6);
(4)对目的IP地址第15段在H_Table15内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(5);
(5)对目的IP地址第16段在H_Table16内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(6)对目的IP地址第13段在H_Table13内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(7)对目的IP地址第10段在H_Table10内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(8),否则执行步骤(9);
(8)对目的IP地址第11段在H_Table11内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(9)对目的IP地址第9段在H_Table9内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(10)对目的IP地址第4段在H_Table4内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(11),否则执行步骤(14);
(11)对目的IP地址第6段在H_Table6内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(12),否则执行步骤(13);
(12)对目的IP地址第7段在H_Table7内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(13)对目的IP地址第5段在H_Table5内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(14)对目的IP地址第2段在H_Table2内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数,然后执行步骤(15),否则执行步骤(16);
(15)对目的IP地址第3段在H_Table3内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数;
(16)对目的IP地址第1段在H_Table1内查找匹配的后缀索引区间,若查找到匹配的后缀索引区间,则记录匹配的后缀索引区间所在的哈希表对应的段数。
2.根据权利要求1所述的基于后缀索引匹配IP地址的方法,其特征在于:
定义F为字符串T的所有后缀按字典顺序排序后的首字符组成的数组;
定义BWT为字符串T的所有后缀按字典顺序排序后的最后一个字符组成的数组;
所述步骤S4进行段内回溯查找的具体步骤如下:
S101.根据记录的段数,将下一段内的目的IP地址倒置,其最后一个字符在F中的起始位置标记为First,结束位置标记为Last;
S102.查询First与Last之间的所有行对应的BWT中是否存在与倒置的IP地址的倒数第i个字符相同的字符,i的初始值为2;
S103.若是则将这些字符映射在F中,这些字符在F中的相应起始位置、结束位置标记为First、Last;
S104.令i=i+1然后利用步骤S101得到的First、Last重复执行步骤S103直至查询不到匹配项,此时得到最长匹配后缀;
S105.输出目的IP的路由信息。
3.一种根据权利要求1或2方法的系统,其特征在于:包括索引构造模块和索引查询模块,索引构造模块用于构建后缀索引和哈希表,所述索引查询模块用于哈希表的查找和段内回溯查找。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710188598.5A CN106953806B (zh) | 2017-03-27 | 2017-03-27 | 一种基于后缀索引匹配ip地址的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710188598.5A CN106953806B (zh) | 2017-03-27 | 2017-03-27 | 一种基于后缀索引匹配ip地址的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106953806A CN106953806A (zh) | 2017-07-14 |
CN106953806B true CN106953806B (zh) | 2020-10-23 |
Family
ID=59472400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710188598.5A Active CN106953806B (zh) | 2017-03-27 | 2017-03-27 | 一种基于后缀索引匹配ip地址的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106953806B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597855B (zh) * | 2019-08-14 | 2022-03-29 | 中山大学 | 一种数据查询方法、终端设备及计算机可读存储介质 |
CN110852046B (zh) * | 2019-10-18 | 2021-11-05 | 中山大学 | 一种文本后缀索引的分块归纳排序方法及系统 |
CN113726919A (zh) * | 2021-07-22 | 2021-11-30 | 中盈优创资讯科技有限公司 | 一种IPRAN网络IPv6海量地址寻址方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073740A (zh) * | 2011-01-27 | 2011-05-25 | 农革 | 基于基数排序的字符串后缀数组构造方法 |
CN102081673A (zh) * | 2011-01-27 | 2011-06-01 | 农革 | 后缀数组构造方法 |
CN103902599B (zh) * | 2012-12-27 | 2017-04-05 | 北京新媒传信科技有限公司 | 模糊查找的方法和装置 |
US9940322B2 (en) * | 2014-03-31 | 2018-04-10 | International Business Machines Corporation | Term consolidation for indices |
-
2017
- 2017-03-27 CN CN201710188598.5A patent/CN106953806B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106953806A (zh) | 2017-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
US9672234B2 (en) | Database and database processing methods | |
US6633548B2 (en) | Method and apparatus for ternary content addressable memory (TCAM) table management | |
CN1655533B (zh) | 基于最长前缀匹配算法的过滤器 | |
US7852852B2 (en) | Method for compressing route data in a router | |
CN106953806B (zh) | 一种基于后缀索引匹配ip地址的方法及系统 | |
CN103428093B (zh) | 一种基于名字路由前缀存储、匹配及更新方法与装置 | |
US20030174717A1 (en) | System and method for longest prefix match for internet protocol lookup | |
US20060083247A1 (en) | Prefix lookup using address-directed hash tables | |
US8798066B2 (en) | Method for IPv6 longest prefix match | |
TW201501556A (zh) | 用於唯一枚舉解析樹中的路徑的裝置和方法 | |
US11327974B2 (en) | Field variability based TCAM splitting | |
US20070106640A1 (en) | Searching for strings in messages | |
JP2004266837A (ja) | フィールドレベルツリーを用いたパケット分類装置及び方法 | |
US10616113B2 (en) | Longest prefix match using a binary search tree with compressed hash tables | |
US20040044868A1 (en) | Method and apparatus for high-speed longest prefix match of keys in a memory | |
US11502957B2 (en) | Avoiding markers for longest prefix match based on binary search tree algorithm | |
Sahni et al. | O (log n) dynamic packet routing | |
JP2015162024A (ja) | 検索木生成・検索装置及び方法及びプログラム | |
Lim et al. | Binary searches on multiple small trees for IP address lookup | |
KR100662254B1 (ko) | 라우팅 시스템에서의 패킷 분류 장치 및 이를 위한 룰 구축 방법 | |
US9444731B2 (en) | Methods and systems for data packet routing | |
JP4726310B2 (ja) | 情報検索装置、情報検索用マルチプロセッサおよびルータ | |
CN109194574A (zh) | 一种IPv6路由查找方法 | |
KR100572693B1 (ko) | 인터넷 프로토콜 패킷 룩업 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |