CN111245726A - 一种ip网段高效匹配的实现方法 - Google Patents
一种ip网段高效匹配的实现方法 Download PDFInfo
- Publication number
- CN111245726A CN111245726A CN201911375223.5A CN201911375223A CN111245726A CN 111245726 A CN111245726 A CN 111245726A CN 201911375223 A CN201911375223 A CN 201911375223A CN 111245726 A CN111245726 A CN 111245726A
- Authority
- CN
- China
- Prior art keywords
- network segment
- information
- network
- destination
- operator
- 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
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
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IP网段高效匹配的实现装置及方法,将各运营商在各省份的大网段进行一次划分,划分完之后的基本单元为256个IP地址的小网段,同一大网段的所有小网段拥有相同的大网段ID、运营商信息、省份信息,如此可以将表项的内存消耗减小到传统方案的1/256;当报文到达设备时,取源/目的IP地址的前24位,进行Hash查表,将直接找到其对应的子网段表项,从而获取源/目的IP对应的大网段ID、运营商及省份信息等,同时实现了内存节约和高效匹配。
Description
技术领域
本发明涉及INTERNET管理技术领域,尤其是一种IP网段高效匹配的实现方法。
背景技术
定制网络设备串接在路由器之间,或者旁路并接到承载网路由器线路上,完成对网络流量的初步分析。为了完成流量中报文的IP地址和该IP所属网段、运营商类型、对应省份的一一对应,传统的解决方案是根据各运营商在各省份的IP地址范围,为每个IP地址独立创建IP地址表项,每个表项存储其所属网段、运营商、省份等信息,当报文到达一级设备时,将根据其完整的32位源/目的IP地址进行Hash查表,找到其对应的IP地址表项,从而获得该报文源端/目的端IP所属网段、运营商及省份信息。可见,传统解决方案虽然可以快速实现IP地址和所属网段、运营商及省份信息的快速对应,但是考虑到现网海量的IPv4地址数量,每个IP地址独立创建表项存储所属网段、运营商、省份信息时,此方案对内存的消耗也是巨大的。
发明内容
本发明所要解决的技术问题在于,提供一种IP网段高效匹配的实现方法,能够实现高效查找,同时大幅节省内存空间。
为解决上述技术问题,本发明提供一种IP网段高效匹配的实现装置,包括:大网段自动拆分模块、高效表项管理模块和流量源/目的IP匹配模块;
大网段自动拆分模块,自动导入记录大量网段信息的CSV文件,按行提取运营商所在省份的大网段范围,并按照24位掩码将大网段划分为一个个含有256个IP的小网段,每个小网段对应一个表项;
二级表散列管理模块,根据拆分出来的表项,取前24位网段ID作为key值,进行Hash计算后,挂入冲突链进行管理,在Hash算法合适时,冲突率1.3以下,实现高效查找;HASH算法合适是指,通过试用不同的hash算法,在现网环境进行调试,找到对应于现网流量IP特征的、hash冲突率低的算法;
流量源/目的IP匹配模块,现网流量进入本模块后,分别取源/目的IP前24位网段进行Hash查找后遍历冲突链,直接获取到源/目的IP对应的表项,从而获取到其对应的网段、运营商及省份信息。
相应的,一种IP网段高效匹配的实现方法,包括如下步骤:
(1)大网段自动拆分模块导入CSV文件,按行提取信息,每行所有信息形成一个一级表的表项;逐条提取一级表的表项,将每个表项中网段内IP数目,除以256,获取该一级表表项分割后对应的二级表数目N;然后取该一级表网段的起始IP地址,取前24位,得到分割后的第一个二级表网段地址A,此后循环N-1次,每次产生一个二级表表项,第i次循环产生的网段地址为A+i*256,同时为每个二级表表项添加对应运营商及省份信息;
(2)二级表散列管理模块逐条提取二级表表项,用二级表的网段地址作为key值,进行Hash计算后,挂到对应冲突链进行管理;
(3)流量接入设备流量源/目的IP匹配模块,分别提取源/目的IP前24位,作为网段地址进行二级表的Hash查找,表项查找成功,输出流入包的源/目的IP对应的大网段范围、运营商及省份信息;表项查找失败,终止匹配流程。
优选的,步骤(1)中,按行提取信息包括网段范围、网段内IP数目、运营商信息和省份信息。
本发明的有益效果为:本发明实现了现网大流量场景下,IP地址的快速映射和匹配,可以实时实现任意IP地址和其所属运营商、国家、地区位置信息之间的快速匹配,而不依赖于任何硬件性能,且存储全球IP地址信息时,所消耗的存储空间为40亿IPv4地址空间的1/256。
附图说明
图1为本发明的流程示意图。
具体实施方式
一种IP网段高效匹配的实现装置,包括大网段自动拆分模块、高效表项管理模块和流量源/目的IP匹配模块。
大网段自动拆分模块,可以自动导入记录大量网段信息的CSV文件,按行提取运营商所在省份的大网段范围,并按照24位掩码将大网段划分为一个个含有256个IP的小网段,每个小网段对应一个表项。
二级表散列管理模块,根据拆分出来的表项,取前24位网段ID作为key值,进行Hash计算后,挂入冲突链进行管理。在Hash算法合适时,冲突率1.3以下,可以实现高效查找。
流量源/目的IP匹配模块,现网流量进入本模块后,分别取源/目的IP前24位网段进行Hash查找后遍历冲突链,可以直接获取到源/目的IP对应的表项,从而获取到其对应的网段、运营商及省份信息。
如图1所示,一种IP网段高效匹配的实现方法,包括如下步骤:
(1)大网段自动拆分模块导入CSV文件,按行提取信息,每行所有信息形成一个一级表的表项;逐条提取一级表的表项,将每个表项中网段内IP数目,除以256,获取该一级表表项分割后对应的二级表数目N;然后取该一级表网段的起始IP地址,取前24位,得到分割后的第一个二级表网段地址A,此后循环N-1次,每次产生一个二级表表项,第i次循环产生的网段地址为A+i*256,同时为每个二级表表项添加对应运营商及省份信息;
(2)二级表散列管理模块逐条提取二级表表项,用二级表的网段地址作为key值,进行Hash计算后,挂到对应冲突链进行管理;
(3)流量接入设备流量源/目的IP匹配模块,分别提取源/目的IP前24位,作为网段地址进行二级表的Hash查找,表项查找成功,输出流入包的源/目的IP对应的大网段范围、运营商及省份信息;表项查找失败,终止匹配流程。
本发明中,针对IP地址和所属网段、运营商、省份信息之间的对应关系,设计一种按段存储结构来实现高效查找的同时大幅节省内存空间。首先将各运营商在各省份的大网段进行一次划分,划分完之后的基本单元为256个IP地址的小网段,同一大网段的所有小网段拥有相同的大网段ID、运营商信息、省份信息。如此可以将表项的内存消耗减小到传统方案的1/256。当报文到达设备时,取源/目的IP地址的前24位,进行Hash查表,将直接找到其对应的子网段表项,从而获取源/目的IP对应的大网段ID、运营商及省份信息等,同时实现了内存节约和高效匹配。
Claims (3)
1.一种IP网段高效匹配的实现装置,其特征在于,包括:大网段自动拆分模块、高效表项管理模块和流量源/目的IP匹配模块;
大网段自动拆分模块,自动导入记录大量网段信息的CSV文件,按行提取运营商所在省份的大网段范围,并按照24位掩码将大网段划分为一个个含有256个IP的小网段,每个小网段对应一个表项;
二级表散列管理模块,根据拆分出来的表项,取前24位网段ID作为key值,进行Hash计算后,挂入冲突链进行管理,在Hash算法合适时,冲突率1.3以下,实现高效查找;
流量源/目的IP匹配模块,现网流量进入本模块后,分别取源/目的IP前24位网段进行Hash查找后遍历冲突链,直接获取到源/目的IP对应的表项,从而获取到其对应的网段、运营商及省份信息。
2.一种IP网段高效匹配的实现方法,其特征在于,包括如下步骤:
(1)大网段自动拆分模块导入CSV文件,按行提取信息,每行所有信息形成一个一级表的表项;逐条提取一级表的表项,将每个表项中网段内IP数目,除以256,获取该一级表表项分割后对应的二级表数目N;然后取该一级表网段的起始IP地址,取前24位,得到分割后的第一个二级表网段地址A,此后循环N-1次,每次产生一个二级表表项,第i次循环产生的网段地址为A+i*256,同时为每个二级表表项添加对应运营商及省份信息;
(2)二级表散列管理模块逐条提取二级表表项,用二级表的网段地址作为key值,进行Hash计算后,挂到对应冲突链进行管理;
(3)流量接入设备流量源/目的IP匹配模块,分别提取源/目的IP前24位,作为网段地址进行二级表的Hash查找,表项查找成功,输出流入包的源/目的IP对应的大网段范围、运营商及省份信息;表项查找失败,终止匹配流程。
3.如权利要求2所述的IP网段高效匹配的实现方法,其特征在于,步骤(1)中,按行提取信息包括网段范围、网段内IP数目、运营商信息和省份信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375223.5A CN111245726A (zh) | 2019-12-27 | 2019-12-27 | 一种ip网段高效匹配的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375223.5A CN111245726A (zh) | 2019-12-27 | 2019-12-27 | 一种ip网段高效匹配的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111245726A true CN111245726A (zh) | 2020-06-05 |
Family
ID=70879410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911375223.5A Pending CN111245726A (zh) | 2019-12-27 | 2019-12-27 | 一种ip网段高效匹配的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245726A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935021A (zh) * | 2020-09-27 | 2020-11-13 | 翱捷智能科技(上海)有限公司 | 一种快速匹配网络数据包的方法及系统 |
CN112714204A (zh) * | 2020-12-22 | 2021-04-27 | 赛尔网络有限公司 | IPv6地址与网段的匹配方法、装置、电子设备和存储介质 |
CN114363253A (zh) * | 2021-12-23 | 2022-04-15 | 南京中新赛克科技有限责任公司 | 一种基于混合链路的双向ip资源的筛选方法及系统 |
CN115865459A (zh) * | 2022-11-25 | 2023-03-28 | 南京信息工程大学 | 一种基于二次特征提取的网络流量异常检测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964326A (zh) * | 2006-12-04 | 2007-05-16 | 杭州华为三康技术有限公司 | 流量监管方法及流量监管设备 |
CN102307250A (zh) * | 2011-10-12 | 2012-01-04 | 北京网康科技有限公司 | 一种ip地址查找方法及其设备 |
US20150127900A1 (en) * | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | Ternary content addressable memory utilizing common masks and hash lookups |
CN104618361A (zh) * | 2015-01-22 | 2015-05-13 | 中国科学院计算技术研究所 | 一种网络流数据重排序方法 |
CN110351397A (zh) * | 2019-05-30 | 2019-10-18 | 湖北微源卓越科技有限公司 | 一种匹配ip网段的方法及装置 |
-
2019
- 2019-12-27 CN CN201911375223.5A patent/CN111245726A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964326A (zh) * | 2006-12-04 | 2007-05-16 | 杭州华为三康技术有限公司 | 流量监管方法及流量监管设备 |
CN102307250A (zh) * | 2011-10-12 | 2012-01-04 | 北京网康科技有限公司 | 一种ip地址查找方法及其设备 |
US20150127900A1 (en) * | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | Ternary content addressable memory utilizing common masks and hash lookups |
CN104618361A (zh) * | 2015-01-22 | 2015-05-13 | 中国科学院计算技术研究所 | 一种网络流数据重排序方法 |
CN110351397A (zh) * | 2019-05-30 | 2019-10-18 | 湖北微源卓越科技有限公司 | 一种匹配ip网段的方法及装置 |
Non-Patent Citations (1)
Title |
---|
齐开诚等: "IPv6环境下网络溯源系统", 《软件》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935021A (zh) * | 2020-09-27 | 2020-11-13 | 翱捷智能科技(上海)有限公司 | 一种快速匹配网络数据包的方法及系统 |
CN112714204A (zh) * | 2020-12-22 | 2021-04-27 | 赛尔网络有限公司 | IPv6地址与网段的匹配方法、装置、电子设备和存储介质 |
CN112714204B (zh) * | 2020-12-22 | 2022-09-20 | 赛尔网络有限公司 | IPv6地址与网段的匹配方法、装置、电子设备和存储介质 |
CN114363253A (zh) * | 2021-12-23 | 2022-04-15 | 南京中新赛克科技有限责任公司 | 一种基于混合链路的双向ip资源的筛选方法及系统 |
CN114363253B (zh) * | 2021-12-23 | 2024-04-02 | 南京中新赛克科技有限责任公司 | 一种基于混合链路的双向ip资源的筛选方法及系统 |
CN115865459A (zh) * | 2022-11-25 | 2023-03-28 | 南京信息工程大学 | 一种基于二次特征提取的网络流量异常检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245726A (zh) | 一种ip网段高效匹配的实现方法 | |
US11102120B2 (en) | Storing keys with variable sizes in a multi-bank database | |
US10496680B2 (en) | High-performance bloom filter array | |
US9984144B2 (en) | Efficient lookup of TCAM-like rules in RAM | |
CN101834802B (zh) | 转发数据包的方法及装置 | |
CN104184664B (zh) | 路由转发表项生成方法及装置 | |
CN109639579B (zh) | 组播报文的处理方法及装置、存储介质、处理器 | |
US20200228449A1 (en) | Exact match and ternary content addressable memory (tcam) hybrid lookup for network device | |
US20170286006A1 (en) | Pipelined hash table with reduced collisions | |
EP3282649A1 (en) | Data packet forwarding | |
US8015315B2 (en) | Compression of IPV6 addresses in a netflow directory | |
CN105827530B (zh) | 一种兼容ipv4/ipv6的ip二分查找方法及装置 | |
US20140105215A1 (en) | Converting addresses for nodes of a data center network into compact identifiers for determining flow keys for received data packets | |
CN110858823A (zh) | 一种数据包的分类方法、装置及计算机可读存储介质 | |
CN104462144A (zh) | 一种包分类规则的查找方法及装置 | |
CN102184234B (zh) | 用于查询、增加、更新或删除信息处理规则的方法和设备 | |
CN111131041B (zh) | 基于NetFlow与BGP的VPN流量获取方法及装置 | |
CN104253754A (zh) | 一种acl快速匹配的方法和设备 | |
CN112187636B (zh) | Ecmp路由的存储方法及装置 | |
US20230041395A1 (en) | Method and Device for Processing Routing Table Entries | |
CN109039911B (zh) | 一种基于hash查找方式共享ram的方法及系统 | |
CN110035010A (zh) | 匹配域的匹配方法及相关装置 | |
CN114465757B (zh) | 一种基于Trie树实现DDOS用户匹配的方法及装置 | |
CN112769704B (zh) | 一种基于hash表的高速可扩展IP路由查找硬件装置 | |
CN104009922A (zh) | 基于tcam的ipv4/ipv6路由容量共享方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200605 |
|
RJ01 | Rejection of invention patent application after publication |