CN110505322A - 一种ip地址段查找方法及装置 - Google Patents

一种ip地址段查找方法及装置 Download PDF

Info

Publication number
CN110505322A
CN110505322A CN201910800729.XA CN201910800729A CN110505322A CN 110505322 A CN110505322 A CN 110505322A CN 201910800729 A CN201910800729 A CN 201910800729A CN 110505322 A CN110505322 A CN 110505322A
Authority
CN
China
Prior art keywords
address
boundary
subset
section
several
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
Application number
CN201910800729.XA
Other languages
English (en)
Other versions
CN110505322B (zh
Inventor
刘彦静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201910800729.XA priority Critical patent/CN110505322B/zh
Publication of CN110505322A publication Critical patent/CN110505322A/zh
Application granted granted Critical
Publication of CN110505322B publication Critical patent/CN110505322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种IP地址段查找方法及装置,所述方法包括:获取边界IP地址存储树以及目标IP地址;遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;获取所述路径上存储的IP子集,整合成边界IP地址;确定所述边界IP地址对应的IP地址段;判断所述目标IP地址是否处于所述IP地址段区间;若是,确定所述IP地址段为所需查找的IP地址段。

Description

一种IP地址段查找方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种IP地址段查找方法及装置。
背景技术
FPGA(field programmable gate array,现场可编程门阵列)芯片相对于传统PC、单片机的开发存在很大区别,通常以并行运算为主,其具有较高的时钟频率和丰富的硬件资源,能够快速有效的控制复杂的组合逻辑以及时序逻辑电路。
一般而言,应用CPU可以实现的功能,通常应用FPGA同样可以实现。但是当面对极其复杂的算法时,应用FPGA来实现会比较困难,资源消耗也会较大,因此何种算法适合应用FPGA来实现,且能减少资源消耗便成为了当前FPGA开发中所关注的重点。
相关技术中,当在FPGA上实现IP地址段(即IP地址范围)查找时,通常采用的算法为顺序查找、二分查找、哈希表查找等。顺序查找,节省存储空间,一个IP地址段存储在一个内存空间中,但是查找次数不确定,查找性能难做出评估;二分查找相对于顺序查找,查找次数有很大的改善,但是当IP地址段较多时查找次数依然很难接受;哈希表查找可以降低查找次数,但是需要把IP地址段进行展开消耗更多的地址空间,哈希冲突也是不能避免的,查找次数不确定。因此急需一种适合在FPGA芯片内部实现的高性能IP地址段查找方法。
发明内容
有鉴于此,本申请提供一种IP地址段查找方法及装置。
具体地,本申请是通过如下技术方案实现的:
一种IP地址段查找方法,应用于FPGA,所述方法包括:
获取边界IP地址存储树以及目标IP地址;
遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;
获取所述路径上存储的IP子集,整合成边界IP地址;
确定所述边界IP地址对应的IP地址段;
判断所述目标IP地址是否处于所述IP地址段区间;
若是,确定所述IP地址段为所需查找的IP地址段。
一种IP地址段查找装置,应用于FPGA,所述装置包括:
第一获取模块,用于获取边界IP地址存储树以及目标IP地址;
遍历模块,用于遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;
第二获取模块,用于获取所述路径上存储的IP子集,整合成边界IP地址;
第一确定模块,用于确定所述边界IP地址对应的IP地址段;
判断模块,用于判断所述目标IP地址是否处于所述IP地址段区间;
第二确定模块,用于若是,确定所述IP地址段为所需查找的IP地址段。
本申请实施例提供的技术方案,通过遍历边界IP地址存储树中根节点至任一叶子节点所形成的路径,获取该路径上存储的IP子集,整合成边界IP地址,判断目标IP地址是否处于边界IP地址对应的IP地址段区间,根据判断结果确定所需查找的IP地址段,其中,边界IP地址存储树对IP地址段中边界IP地址进行拆分存储,很好的平衡了存储资源与查找性能的关系,且确定所需查找的IP地址段相对简单、高效,消耗的FPGA资源有限,易于在FPGA上实现。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例示出的一种IP地址段查找方法的实施流程示意图;
图2是本申请一示例性实施例示出的一种右边界IP地址存储树的示意图;
图3是本申请一示例性实施例示出的另一种右边界IP地址存储树的示意图;
图4是本申请一示例性实施例示出的一种硬件结构图;
图5是本申请一示例性实施例示出的一种IP地址段查找装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,为本申请实施例提供的一种IP地址段查找方法的实施流程示意图,该方法具体可以包括以下步骤:
S101,获取边界IP地址存储树以及目标IP地址;
在本申请实施例中,为了节省存储空间,生成边界IP地址存储树,对IP地址段中边界IP地址进行拆分存储,具体如下:
获取若干IP地址段;
在网络设备中配置限速、防护等策略时,通常先根据IP地址进行用户分组,再针对用户组配置限速、防护等策略,每个用户组存在与其对应的IP地址段,如下表1所示:
用户组 IP地址段
A 10.10.11.31——10.10.12.33
B 10.10.12.35——10.10.12.35
表1
在本申请实施例中,可以获取如表1所示的若干IP地址段:“10.10.11.31——10.10.12.33”、“10.10.12.35——10.10.12.35”。
针对该若干IP地址段进行排序,其中,排序规则可以是从小到大,可以是从大到小,本申请实施例对此不作限定;
针对上述获取的若干IP地址段进行排序,以从小到大进行排序为例,排序结果如下所示:“10.10.11.31——10.10.12.33”、“10.10.12.35——10.10.12.35”。
分离经过排序的该若干IP地址段中的若干边界IP地址,其中,该边界IP地址包括左边界IP地址或者右边界IP地址;
经过对上述若干IP地址段进行排序后,分离该若干IP地址段中的若干边界IP地址,以右边界为例,分离该若干IP地址段中的若干右边界IP地址,如下表2所示:
IP地址段 右边界IP地址
10.10.11.31——10.10.12.33 10.10.12.33
10.10.12.35——10.10.12.35 10.10.12.35
表2
如上述表1所示,分离IP地址段“10.10.11.31——10.10.12.33”中右边界IP地址“10.10.12.33”,分离IP地址段“10.10.12.35——10.10.12.35”中右边界IP地址“10.10.12.35”。
针对任一边界IP地址,按照预设的转换规则,转换为目标边界IP地址;
以右边界IP地址为例,一般右边界IP地址为十进制表达形式,将其转换为十六进制表达形式,如下表3所示:
右边界IP地址 目标边界IP地址
10.10.12.33 0x0a0a0c21
10.10.12.35 0x0a0a0c23
表3
如上述表3所示,按照预设的转换规则,将右边界IP地址“10.10.12.33”转换为目标边界IP地址“0x0a0a0c21”,将右边界IP地址“10.10.12.35”转换为目标右边界IP地址“0x0a0a0c23”。
根据预设的拆分规则,拆分目标边界IP地址,得到多个IP子集;
一般地,根据FPGA内部缓存特点,配置拆分规则,例如,对目标右边界IP地址“0x0a0a0c21”进行五级拆分,每一级对应的内容称为IP子集,目标右边界IP地址“0x0a0a0c21”包括32位比特:0-31,第一级【31:16】共16位比特,对应于目标边界IP地址“0x0a0a0c21”中“0aOa”,第二级【15:12】共4位比特,对应于目标边界IP地址“0x0a0a0c21”中“0”,第三级【11:8】共4位比特,对应于目标边界IP地址“0x0a0a0c21”中“c”,第四级【7:4】共4位比特,对应于目标边界IP地址“0x0a0a0c21”中“2”,第五级【3:0】共4位比特,对应于目标边界IP地址“0x0a0a0c21”中“1”,如此可以看出将目标右边界IP地址“0x0a0a0c21”拆分为五个IP子集:“0aOa”、“0”、“c”、“2”、“1”。
针对若干边界IP地址对应的IP子集,剔除重复IP子集,得到有效IP子集;
例如,针对目标右边界IP地址“0x0a0a0c21”拆分为五个IP子集:“0aOa”、“0”、“c”、“2”、“1”,针对目标右边界IP地址0x0a0a0c23拆分为五个IP子集:“0a0a”、“0”、“c”、“2”、“3”,剔除重复IP子集:“0aOa”、“0”、“c”、“2”,得到有效IP子集:“0aOa”、“0”、“c”、“2”、“1”、“3”。如此可以看出对于目标右边界IP地址“0x0a0a0c21”以及目标右边界IP地址0x0a0a0c23,共享IP子集:“0aOa”、“0”、“c”、“2”。
利用有效IP子集,以及若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。如此可以生成右边界IP地址存储树,或者可以生成左边界IP地址存储树。
利用上述得到的有效IP子集,以及若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。例如,针对有效IP子集:“0aOa”、“0”、“c”、“2”、“1”、“3”,对于目标右边界IP地址“0x0a0a0c21”中五个IP子集“0aOa”、“0”、“c”、“2”、“1”的前后衔接关系:第一级IP子集“0aOa”指向第二级IP子集“0”,第二级IP子集“0”指向第三级IP子集“c”,第三级IP子集“c”指向第四级IP子集“2”,第四级IP子集“2”指向第五级IP子集“1”,对于目标右边界IP地址“0x0a0a0c23”中五个IP子集“0aOa”、“0”、“c”、“2”、“3”的前后衔接关系:第一级IP子集“0aOa”指向第二级IP子集“0”,第二级IP子集“0”指向第三级IP子集“c”,第三级IP子集“c”指向第四级IP子集“2”,第四级IP子集“2”指向第五级IP子集“3”,生成右边界IP地址存储树,如图2所示。
如此对IP地址段边界IP地址进行编排存储,从而压缩存储空间,降低查找次数。
在实际查找IP地址段的过程中,可以获取上述所生成的边界IP地址存储树,例如,获取右边界IP地址存储树,除此之外,还需获取目标IP地址,该目标IP地址可以是一个或多个。
S102,遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;
针对上述边界IP地址存储树,遍历其根节点至任一叶子节点所形成的路径,例如,针对右边界IP地址存储树,遍历其根节点至任一叶子节点所形成的路径:路径1(“0aOa”、“0”、“c”、“2”、“1”)、路径2(“0aOa”、“0”、“c”、“2”、“3”)。
S103,获取所述路径上存储的IP子集,整合成边界IP地址;
例如,如图2所示的右边界IP地址存储树,根节点至任一叶子节点所形成的路径:路径1、路径2,获取路径1上存储的IP子集:“0aOa”、“0”、“c”、“2”、“1”,整合成右边界IP地址“0aOa0c21”,获取路径2上存储的IP子集:“0aOa”、“0”、“c”、“2”、“3”,整合成右边界IP地址“0aOa0c23”。
S104,确定所述边界IP地址对应的IP地址段;
在本申请实施例中,对于边界存储树,其中每个节点还存储有IP地址段标识,用于表示当前节点所存储的IP子集对应的IP地址段,同一路径上存储的IP子集对应的IP地址段标识一致,由此可以确定边界IP地址对应的IP地址段。
例如,如图3所示,每个节点存储IP子集以及IP子集对应的IP地址段标识,获取路径上存储的IP子集,整合成边界IP地址,同时也可以确定该边界IP地址对应的IP地址段标识,进而确定边界IP地址对应的IP地址段。
S105,判断所述目标IP地址是否处于所述IP地址段区间;
针对目标IP地址,需要判断其属于哪个IP地址段,即判断目标IP地址处于哪个IP地址段区间。
其中,对于IP地址段,优先判断目标IP地址与其右边界IP地址的前后位置关系;如果目标IP地址在其右边界IP地址的前面,继续判断目标IP地址与其左边界IP地址的前后关系,如果目标IP地址在其右边界IP地址的后面,确定该IP地址段不是所需查找的IP地址段;如果目标IP地址在其左边界IP地址的后面,则确定该IP地址段为所需查找的IP地址段。
另外,对于IP地址段,通常为多个,可以并行判断目标IP地址是否处于该多个IP地址段区间,可以更好地发挥FPGA芯片并行处理的特性。
S106,若是,确定所述IP地址段为所需查找的IP地址段。
针对上述判断结果,如果目标IP地址处于IP地址段区间,则可以确定该IP地址段为所需查找的IP地址段,如果目标IP地址未处于IP地址段区间,则可以确定该IP地址段不是所需查找的IP地址段。
例如,对于多个IP地址段:IP地址段0、IP地址段1、IP地址段2、……,并行判断目标IP地址是否处于该多个IP地址段区间,如果目标IP地址段处于IP地址段2区间,则可以确定该IP地址段2为所需查找的IP地址段。
通过上述对本申请实施例提供的技术方案的描述,通过遍历边界IP地址存储树中根节点至任一叶子节点所形成的路径,获取该路径上存储的IP子集,整合成边界IP地址,判断目标IP地址是否处于边界IP地址对应的IP地址段区间,根据判断结果确定所需查找的IP地址段,其中,边界IP地址存储树对IP地址段中边界IP地址进行拆分存储,很好的平衡了存储资源与查找性能的关系,且确定所需查找的IP地址段相对简单、高效,消耗的FPGA资源有限,易于在FPGA上实现。
与前述IP地址段查找方法的实施例相对应,本申请还提供了IP地址段查找装置500的实施例。
本申请IP地址段查找装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请IP地址段查找装置所在网络设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据该网络设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5所示,为本申请实施例提供的一种IP地址段查找装置的结构示意图,该装置可以包括:第一获取模块510、遍历模块520、第二获取模块530、第一确定模块540、判断模块550、第二确定模块560。
第一获取模块510,用于获取边界IP地址存储树以及目标IP地址;
遍历模块520,用于遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;
第二获取模块530,用于获取所述路径上存储的IP子集,整合成边界IP地址;
第一确定模块540,用于确定所述边界IP地址对应的IP地址段;
判断模块550,用于判断所述目标IP地址是否处于所述IP地址段区间;
第二确定模块560,用于若是,确定所述IP地址段为所需查找的IP地址段
在本申请实施例的一种具体实施方式中,所述边界IP地址存储树为右边界IP地址存储树,所述边界IP地址为右边界IP地址,或者所述边界IP地址存储树为左边界IP地址存储树,所述边界IP地址为左边界IP地址。
在本申请实施例的一种具体实施方式中,所述装置还包括:存储树生成模块570;
所述存储树生成模块570,包括:
地址段获取子模块571,用于获取若干IP地址段;
地址段排序子模块572,用于针对所述若干IP地址段进行排序;
地址分离子模块573,用于分离经过排序的所述若干IP地址段中的若干边界IP地址,其中,所述边界IP地址包括左边界IP地址或者右边界IP地址;
存储树生成子模块574,用于针对所述若干边界IP地址,生成边界IP地址存储树。
在本申请实施例的一种具体实施方式中,所述存储树生成子模块574,包括:
转换单元574A,用于针对任一边界IP地址,按照预设的转换规则,转换为目标边界IP地址;
拆分单元574B,用于根据预设的拆分规则,拆分所述目标边界IP地址,得到多个IP子集;
生成单元574C,用于利用所述IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
在本申请实施例的一种具体实施方式中,所述生成单元574C具体用于:
针对所述若干边界IP地址对应的IP子集,剔除重复IP子集,得到有效IP子集;
利用所述有效IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种IP地址段查找方法,应用于FPGA,其特征在于,所述方法包括:
获取边界IP地址存储树以及目标IP地址;
遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;
获取所述路径上存储的IP子集,整合成边界IP地址;
确定所述边界IP地址对应的IP地址段;
判断所述目标IP地址是否处于所述IP地址段区间;
若是,确定所述IP地址段为所需查找的IP地址段。
2.根据权利要求1所述的方法,其特征在于,所述边界IP地址存储树为右边界IP地址存储树,所述边界IP地址为右边界IP地址,或者所述边界IP地址存储树为左边界IP地址存储树,所述边界IP地址为左边界IP地址。
3.根据权利要求1所述的方法,其特征在于,所述边界IP地址存储树通过以下方式得到:
获取若干IP地址段;
针对所述若干IP地址段进行排序;
分离经过排序的所述若干IP地址段中的若干边界IP地址,其中,所述边界IP地址包括左边界IP地址或者右边界IP地址;
针对所述若干边界IP地址,生成边界IP地址存储树。
4.根据权利要求3所述的方法,其特征在于,所述针对所述若干边界IP地址,生成边界IP地址存储树,包括:
针对任一边界IP地址,按照预设的转换规则,转换为目标边界IP地址;
根据预设的拆分规则,拆分所述目标边界IP地址,得到多个IP子集;
利用所述IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
5.根据权利要求4所述的方法,其特征在于,所述利用所述IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树,包括:
针对所述若干边界IP地址对应的IP子集,剔除重复IP子集,得到有效IP子集;
利用所述有效IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
6.一种IP地址段查找装置,应用于FPGA,其特征在于,所述装置包括:
第一获取模块,用于获取边界IP地址存储树以及目标IP地址;
遍历模块,用于遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;
第二获取模块,用于获取所述路径上存储的IP子集,整合成边界IP地址;
第一确定模块,用于确定所述边界IP地址对应的IP地址段;
判断模块,用于判断所述目标IP地址是否处于所述IP地址段区间;
第二确定模块,用于若是,确定所述IP地址段为所需查找的IP地址段。
7.根据权利要求6所述的装置,其特征在于,所述边界IP地址存储树为右边界IP地址存储树,所述边界IP地址为右边界IP地址,或者所述边界IP地址存储树为左边界IP地址存储树,所述边界IP地址为左边界IP地址。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:存储树生成模块;
所述存储树生成模块,包括:
地址段获取子模块,用于获取若干IP地址段;
地址段排序子模块,用于针对所述若干IP地址段进行排序;
地址分离子模块,用于分离经过排序的所述若干IP地址段中的若干边界IP地址,其中,所述边界IP地址包括左边界IP地址或者右边界IP地址;
存储树生成子模块,用于针对所述若干边界IP地址,生成边界IP地址存储树。
9.根据权利要求8所述的装置,其特征在于,所述存储树生成子模块,包括:
转换单元,用于针对任一边界IP地址,按照预设的转换规则,转换为目标边界IP地址;
拆分单元,用于根据预设的拆分规则,拆分所述目标边界IP地址,得到多个IP子集;
生成单元,用于利用所述IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
10.根据权利要求9所述的装置,其特征在于,所述生成单元具体用于:
针对所述若干边界IP地址对应的IP子集,剔除重复IP子集,得到有效IP子集;
利用所述有效IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
CN201910800729.XA 2019-08-28 2019-08-28 一种ip地址段查找方法及装置 Active CN110505322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910800729.XA CN110505322B (zh) 2019-08-28 2019-08-28 一种ip地址段查找方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910800729.XA CN110505322B (zh) 2019-08-28 2019-08-28 一种ip地址段查找方法及装置

Publications (2)

Publication Number Publication Date
CN110505322A true CN110505322A (zh) 2019-11-26
CN110505322B CN110505322B (zh) 2022-07-01

Family

ID=68590013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910800729.XA Active CN110505322B (zh) 2019-08-28 2019-08-28 一种ip地址段查找方法及装置

Country Status (1)

Country Link
CN (1) CN110505322B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019652A (zh) * 2020-08-27 2020-12-01 北京亚鸿世纪科技发展有限公司 一种ipv6地址段判断的方法及装置
CN113076389A (zh) * 2021-03-16 2021-07-06 百度在线网络技术(北京)有限公司 文章地域识别方法、装置、电子设备及可读存储介质
CN114448890A (zh) * 2021-12-22 2022-05-06 天翼云科技有限公司 寻址方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739520A (zh) * 2012-05-31 2012-10-17 华为技术有限公司 查找方法及装置
CN105512229A (zh) * 2015-11-30 2016-04-20 北京奇艺世纪科技有限公司 一种ip地址的地域信息的存储、查询方法及装置
CN105978868A (zh) * 2016-05-05 2016-09-28 杭州迪普科技有限公司 Ip地址权限的查找方法及装置
CN106657443A (zh) * 2017-02-13 2017-05-10 杭州迪普科技股份有限公司 Ip地址去重方法和装置
CN106777163A (zh) * 2016-12-20 2017-05-31 携程旅游网络技术(上海)有限公司 基于红黑树的ip地址所属地查询方法及***
WO2017133344A1 (zh) * 2016-02-02 2017-08-10 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
CN109951393A (zh) * 2019-03-29 2019-06-28 新华三信息安全技术有限公司 网段查找方法及装置
CN109951495A (zh) * 2019-03-29 2019-06-28 新华三信息安全技术有限公司 网段查找方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739520A (zh) * 2012-05-31 2012-10-17 华为技术有限公司 查找方法及装置
CN105512229A (zh) * 2015-11-30 2016-04-20 北京奇艺世纪科技有限公司 一种ip地址的地域信息的存储、查询方法及装置
WO2017133344A1 (zh) * 2016-02-02 2017-08-10 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
CN105978868A (zh) * 2016-05-05 2016-09-28 杭州迪普科技有限公司 Ip地址权限的查找方法及装置
CN106777163A (zh) * 2016-12-20 2017-05-31 携程旅游网络技术(上海)有限公司 基于红黑树的ip地址所属地查询方法及***
CN106657443A (zh) * 2017-02-13 2017-05-10 杭州迪普科技股份有限公司 Ip地址去重方法和装置
CN109951393A (zh) * 2019-03-29 2019-06-28 新华三信息安全技术有限公司 网段查找方法及装置
CN109951495A (zh) * 2019-03-29 2019-06-28 新华三信息安全技术有限公司 网段查找方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019652A (zh) * 2020-08-27 2020-12-01 北京亚鸿世纪科技发展有限公司 一种ipv6地址段判断的方法及装置
CN112019652B (zh) * 2020-08-27 2023-01-24 北京亚鸿世纪科技发展有限公司 一种ipv6地址段判断的方法及装置
CN113076389A (zh) * 2021-03-16 2021-07-06 百度在线网络技术(北京)有限公司 文章地域识别方法、装置、电子设备及可读存储介质
CN113076389B (zh) * 2021-03-16 2024-06-07 百度在线网络技术(北京)有限公司 文章地域识别方法、装置、电子设备及可读存储介质
CN114448890A (zh) * 2021-12-22 2022-05-06 天翼云科技有限公司 寻址方法、装置、电子设备及存储介质
CN114448890B (zh) * 2021-12-22 2023-10-10 天翼云科技有限公司 寻址方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110505322B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
CN108875064B (zh) 基于FPGA的OpenFlow多维数据匹配查找方法
CN110505322A (zh) 一种ip地址段查找方法及装置
Meiners et al. Split: Optimizing space, power, and throughput for TCAM-based classification
US20130246698A1 (en) Hybrid Memory for Search Operations
Le et al. Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning
US10164884B2 (en) Search apparatus, search configuration method, and search method
EP3276501B1 (en) Traffic classification method and device, and storage medium
Cho et al. Fast reconfiguring deep packet filter for 1+ gigabit network
CN104899264B (zh) 一种多模式正则表达式匹配方法及装置
CN105827530B (zh) 一种兼容ipv4/ipv6的ip二分查找方法及装置
WO2015127721A1 (zh) 数据匹配的方法、装置及计算机存储介质
CN106302172A (zh) 同时支持哈希查找和路由查找的存储、查找方法和装置
US9672239B1 (en) Efficient content addressable memory (CAM) architecture
CN106777133A (zh) 一种基于MapReduce的度量空间相似连接处理方法
CN104283736B (zh) 一种基于改良自动状态机的网络通信五元组快速匹配算法
CN104253754B (zh) 一种acl快速匹配的方法和设备
Song et al. Packet classification using coarse-grained tuple spaces
CN102904812B (zh) 路由表项的存储方法、查找方法、装置及***
CN106844553A (zh) 基于样本数据的数据探测和扩充方法及装置
US8874837B2 (en) Embedded memory and dedicated processor structure within an integrated circuit
WO2015192742A1 (zh) 一种查找装置、查找方法和配置方法
Kekely et al. Packet classification with limited memory resources
Zhou et al. Large-scale packet classification on FPGA
CN110543664B (zh) 一种面向具有特有结构fpga的工艺映射方法
CN109905322B (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
GR01 Patent grant
GR01 Patent grant