CN102316173A - 网络地址聚合方法和装置 - Google Patents
网络地址聚合方法和装置 Download PDFInfo
- Publication number
- CN102316173A CN102316173A CN201010219038XA CN201010219038A CN102316173A CN 102316173 A CN102316173 A CN 102316173A CN 201010219038X A CN201010219038X A CN 201010219038XA CN 201010219038 A CN201010219038 A CN 201010219038A CN 102316173 A CN102316173 A CN 102316173A
- Authority
- CN
- China
- Prior art keywords
- address
- network address
- network
- hash keys
- bytes
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了网络地址聚合方法和装置,提高了基于IP地址聚合的网络流量统计处理的性能。其技术方案为:方法包括:(1)初始化哈希表,在存储器中分配一个连续数组;(2)接收网络流量数据包并解析出需要聚合数据的网络地址;(3)将该些网络地址的字节之间做逻辑运算,得出哈希键;(4)将步骤(3)中得到的哈希键作为该连续数组的下标,并以此来访问网络地址上的数据。
Description
技术领域
本发明涉及一种聚合技术,尤其涉及基于网络地址的聚合技术。
背景技术
现有技术中存在一些IP网络流量采集数据做统计分析的方法,假设针对源IP地址作统计分析,则将具有相同IP的流数量、包数量和字节数量各自累加起来,这个过程称为聚合(Aggregation),而IP地址则称为聚合项目(Aggregation Item)。其他的聚合项目还有UDP/TCP目的端口(UDP/TCP destination port)、UDP/TCP源端口(UDP/TCP source port)、UDP/TCP端口、输入接口、输出接口、输入/输出接口、Destination AS、Source/Destination AS、IP ToS、IP协议、源地址前缀(Source prefix)、目的地址前缀(Destination prefix)、源/目的地址前缀(Source/Destination prefix)等。
由于网络流量的数据非常庞大,而且做聚合处理的时候除了对当前处理结果在内存中缓存外,还要不断对结果数据进行计算和更新,所以数据访问速度的快慢对性能影响也比较大。通常的内存存储和访问技术有链表、顺序表和散列等,一般来说,散列技术的存储和访问速度明显要快于其他的方法,但关键还在于散列关键字的算法。
从实用角度出发,对于散列关键字算法的要求是:(1)算法尽可能简单,避免实现算法本身的时间开销;(2)得出的关键字尽可能唯一。
由于UDP/TCP目的端口、UDP/TCP源端口、UDP/TCP端口、输入接口、输出接口、输入/输出接口、Destination AS、Source/Destination AS、IP ToS、IP协议等一些聚合项目本身的字节宽度小于16位,可以直接拿来作为哈希键。对于字节宽度为32字节的IP地址进行聚合时的哈希键算法来说,如果直接将IP地址作为散列存储的关键字(哈希键),则需要232个数据单元大小存储空间,而一个数据单元的大小是8个字节,所以直接拿IP地址的值作为哈希键来进行存储的话,需要的内存大小是232×8=32G,这在当前的硬件条件下显然是不现实的。如何简单有效的实现IP地址进行聚合时的哈希键算法,是当前存在的一个难题。
发明内容
本发明的目的在于解决了上述问题,提供了一种网络地址聚合方法,提高了基于IP地址聚合的网络流量统计处理的性能。
本发明的另一目的在于提供了一种网络地址聚合装置。
本发明的技术方案为:本发明揭示了一种网络地址聚合方法,包括:
(1)初始化哈希表,在存储器中分配一个连续数组;
(2)接收网络流量数据包并解析出需要聚合数据的网络地址;
(3)将该些网络地址的字节之间做逻辑运算,得出哈希键;
(4)将步骤(3)中得到的哈希键作为该连续数组的下标,并以此来访问网络地址上的数据。
根据本发明的网络地址聚合方法的一实施例,该网络地址是IP地址,步骤(3)中的逻辑运算是将IP地址的前半部分的字节和后半部分的字节做异或运算以得到哈希键。
根据本发明的网络地址聚合方法的一实施例,该IP地址是32字节,步骤(3)中的逻辑运算是将IP地址的高16字节和低16字节做异或运算以得到哈希键。
本发明还揭示了一种网络地址聚合装置,包括:
哈希表初始化模块,初始化哈希表,在存储器中分配一个连续数组;
网络地址解析模块,接收网络流量数据包并解析出需要聚合数据的网络地址;
哈希键获得模块,对解析出的网络地址的字节之间做逻辑运算,得出哈希键;
数据访问模块,将得出的哈希键作为该连续数组的下标,并以此来访问网络地址上的数据。
根据本发明的网络地址聚合装置的一实施例,该网络地址是IP地址,该哈希键获得模块中的逻辑运算是将IP地址的前半部分的字节和后半部分的字节做异或运算以得到哈希键。
根据本发明的网络地址聚合装置的一实施例,该IP地址是32字节,该哈希键获得模块中的逻辑运算是将IP地址的高16字节和低16字节做异或运算以得到哈希键。
本发明对比现有技术有如下的有益效果:本发明通过将IP地址的高16字节和低16字节做异或运算并将运算结果作为哈希键,对比现有技术,可提高基于IP地址聚合的网络流量统计处理的性能。
附图说明
图1是本发明的网络地址聚合方法的实施例的流程图。
图2是本发明的网络地址聚合装置的实施例的原理图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
网络地址聚合方法的实施例
图1示出了本发明的网络地址聚合方法的实施例的流程。请参见图1,本实施例的网络地址聚合方法的详细步骤如下。
步骤S10:初始化哈希表,在存储器中分配一个连续数组。
数组的大小可以是216个数据单元,具体数据单元的大小和本发明无关。
步骤S12:接收网络流量数据包并解析出需要聚合数据的网络地址。
在本实施例中,网络地址是32字节的IP地址。
步骤S14:将这些网络地址的字节之间做逻辑运算,得出哈希键。
在本实施例中,将32字节的IP地址的高16位字节和低16位字节做异或运算,得出哈希键。如果是多个IP地址,则逐一进行计算。
步骤S16:将得到的哈希键作为连续数组的下标,并以此来直接访问网络地址上的数据。
当然,也可以对网络地址上的数据做累加、更新等相应操作。
网络地址聚合装置的实施例
图2示出了本发明的网络地址聚合装置的实施例的原理。请参见图2,本实施例的网络地址聚合装置1包括:哈希表初始化模块10、网络地址解析模块12、哈希键获得模块14和数据访问模块16。这些模块之间是依序连接的。
在哈希表初始化模块10中,初始化哈希表,在存储器(例如内存)中分配一个连续数组,数组的大小可以是216个数据单元,具体数据单元的大小和本发明无关。
在网络地址解析模块12中,接收网络流量数据包并解析出需要聚合数据的网络地址。在本实施例中,网络地址是32字节的IP地址。
在哈希键获得模块14中,对解析出的网络地址的字节之间做逻辑运算,得出哈希键。在本实施例中,将32字节的IP地址的高16位字节和低16位字节做异或运算,得出哈希键。如果是多个IP地址,则逐一进行计算。
在数据访问模块16中,将得出的哈希键作为连续数组的下标,并以此来访问网络地址上的数据。当然,也可以对网络地址上的数据做累加、更新等相应操作。
本发明的技术效果在于:在存储访问方面,哈希算法的优势就是快速,所以一个哈希键算法自身如果时间开销较大就会失去意义。本发明的方法仅仅是把IP地址的高16字节和低16字节作异或运算,一个时钟周期就能完成,所以时间开销可以忽略不计。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (6)
1.一种网络地址聚合方法,包括:
(1)初始化哈希表,在存储器中分配一个连续数组;
(2)接收网络流量数据包并解析出需要聚合数据的网络地址;
(3)将该些网络地址的字节之间做逻辑运算,得出哈希键;
(4)将步骤(3)中得到的哈希键作为该连续数组的下标,并以此来访问网络地址上的数据。
2.根据权利要求1所述的网络地址聚合方法,其特征在于,该网络地址是IP地址,步骤(3)中的逻辑运算是将IP地址的前半部分的字节和后半部分的字节做异或运算以得到哈希键。
3.根据权利要求2所述的网络地址聚合方法,其特征在于,该IP地址是32字节,步骤(3)中的逻辑运算是将IP地址的高16字节和低16字节做异或运算以得到哈希键。
4.一种网络地址聚合装置,包括:
哈希表初始化模块,初始化哈希表,在存储器中分配一个连续数组;
网络地址解析模块,接收网络流量数据包并解析出需要聚合数据的网络地址;
哈希键获得模块,对解析出的网络地址的字节之间做逻辑运算,得出哈希键;
数据访问模块,将得出的哈希键作为该连续数组的下标,并以此来访问网络地址上的数据。
5.根据权利要求4所述的网络地址聚合装置,其特征在于,该网络地址是IP地址,该哈希键获得模块中的逻辑运算是将IP地址的前半部分的字节和后半部分的字节做异或运算以得到哈希键。
6.根据权利要求5所述的网络地址聚合装置,其特征在于,该IP地址是32字节,该哈希键获得模块中的逻辑运算是将IP地址的高16字节和低16字节做异或运算以得到哈希键。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010219038XA CN102316173A (zh) | 2010-07-05 | 2010-07-05 | 网络地址聚合方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010219038XA CN102316173A (zh) | 2010-07-05 | 2010-07-05 | 网络地址聚合方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102316173A true CN102316173A (zh) | 2012-01-11 |
Family
ID=45428979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010219038XA Pending CN102316173A (zh) | 2010-07-05 | 2010-07-05 | 网络地址聚合方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102316173A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095864A (zh) * | 2013-01-18 | 2013-05-08 | 清华大学 | 基于哈希算法的面向IPv6过渡的IPv4地址及端口段池维护方法 |
CN105515919A (zh) * | 2016-01-20 | 2016-04-20 | 中国电子科技集团公司第五十四研究所 | 一种基于哈希压缩算法的网络流量监控方法 |
CN106452868A (zh) * | 2016-10-12 | 2017-02-22 | 中国电子科技集团公司第三十研究所 | 一种支持多维度聚合分类的网络流量统计实现方法 |
WO2017054580A1 (zh) * | 2015-09-28 | 2017-04-06 | 中兴通讯股份有限公司 | 一种获取流量数据的方法及装置 |
CN109873829A (zh) * | 2019-03-06 | 2019-06-11 | 国网甘肃省电力公司电力科学研究院 | 一种基于二进制哈希表的活动ip主机数量统计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030093808A (ko) * | 2002-06-05 | 2003-12-11 | 삼성전자주식회사 | 로컬 네트워크를 위한 인터넷 액세스 게이트웨이에서네트워크 어드레스 변환 없이 단일의 인터넷 프로토콜어드레스를 공유하기 위한 방법 및 장치 |
CN1897541A (zh) * | 2005-07-15 | 2007-01-17 | 华为技术有限公司 | 一种网络实现采样的方法 |
-
2010
- 2010-07-05 CN CN201010219038XA patent/CN102316173A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030093808A (ko) * | 2002-06-05 | 2003-12-11 | 삼성전자주식회사 | 로컬 네트워크를 위한 인터넷 액세스 게이트웨이에서네트워크 어드레스 변환 없이 단일의 인터넷 프로토콜어드레스를 공유하기 위한 방법 및 장치 |
CN1897541A (zh) * | 2005-07-15 | 2007-01-17 | 华为技术有限公司 | 一种网络实现采样的方法 |
Non-Patent Citations (2)
Title |
---|
吴晓庆: "流量感知系统NetSensor研究和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
白杨等: "《NetFlow流量数据的压缩存储与多维度聚合》", 《中国电子科学研究院学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095864A (zh) * | 2013-01-18 | 2013-05-08 | 清华大学 | 基于哈希算法的面向IPv6过渡的IPv4地址及端口段池维护方法 |
CN103095864B (zh) * | 2013-01-18 | 2015-05-20 | 清华大学 | 基于哈希算法的面向IPv6过渡的IPv4地址及端口段池维护方法 |
WO2017054580A1 (zh) * | 2015-09-28 | 2017-04-06 | 中兴通讯股份有限公司 | 一种获取流量数据的方法及装置 |
CN105515919A (zh) * | 2016-01-20 | 2016-04-20 | 中国电子科技集团公司第五十四研究所 | 一种基于哈希压缩算法的网络流量监控方法 |
CN106452868A (zh) * | 2016-10-12 | 2017-02-22 | 中国电子科技集团公司第三十研究所 | 一种支持多维度聚合分类的网络流量统计实现方法 |
CN106452868B (zh) * | 2016-10-12 | 2019-04-05 | 中国电子科技集团公司第三十研究所 | 一种支持多维度聚合分类的网络流量统计实现方法 |
CN109873829A (zh) * | 2019-03-06 | 2019-06-11 | 国网甘肃省电力公司电力科学研究院 | 一种基于二进制哈希表的活动ip主机数量统计方法 |
CN109873829B (zh) * | 2019-03-06 | 2021-07-30 | 国网甘肃省电力公司电力科学研究院 | 一种基于二进制哈希表的活动ip主机数量统计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiong et al. | Do switches dream of machine learning? toward in-network classification | |
Chalamalasetti et al. | An FPGA memcached appliance | |
CN103425725B (zh) | 散列冲突降低系统 | |
Krishna et al. | Hardware acceleration in the IBM PowerEN processor: Architecture and performance | |
CN102316173A (zh) | 网络地址聚合方法和装置 | |
WO2016106591A1 (zh) | 一种抽取数据报文的方法及装置 | |
CN105162626A (zh) | 基于众核处理器的网络流量深度识别系统及识别方法 | |
Shi et al. | Ndn-nic: Name-based filtering on network interface card | |
Lockwood et al. | Implementing ultra low latency data center services with programmable logic | |
CN106789733B (zh) | 一种提高大规模网络流表查找效率的装置及方法 | |
CN107454120A (zh) | 网络攻击防御系统和防御网络攻击的方法 | |
Zhang et al. | Identifying elephant flows in internet backbone traffic with bloom filters and LRU | |
Yu et al. | Hardware accelerator to speed up packet processing in NDN router | |
CN102546293B (zh) | 基于哈希比特串复用的高速网络流量网络地址测量方法 | |
Wellem et al. | A hardware-accelerated infrastructure for flexible sketch-based network traffic monitoring | |
Lin et al. | High-performance IPv6 address lookup in GPU-accelerated software routers | |
CN103414603A (zh) | 基于Hash折叠方法的Ipv6深度包检测方法 | |
Park et al. | Performance improvement of payload signature-based traffic classification system using application traffic temporal locality | |
CN103198105A (zh) | 以太网IPSec安全数据库查找装置及方法 | |
Huang et al. | Fast and deterministic hash table lookup using discriminative bloom filters | |
Heil et al. | Architecture and performance of the hardware accelerators in IBM’s PowerEN processor | |
Tang et al. | A real-time updatable FPGA-based architecture for fast regular expression matching | |
Xiao et al. | Accurate and o (1)-time query of per-flow cardinality in high-speed networks | |
CN112995245B (zh) | 一种基于fpga的可配置负载均衡系统与方法 | |
Sabhanatarajan et al. | A resource efficient content inspection system for next generation Smart NICs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120111 |