CN102546293B - 基于哈希比特串复用的高速网络流量网络地址测量方法 - Google Patents
基于哈希比特串复用的高速网络流量网络地址测量方法 Download PDFInfo
- Publication number
- CN102546293B CN102546293B CN201110430047.8A CN201110430047A CN102546293B CN 102546293 B CN102546293 B CN 102546293B CN 201110430047 A CN201110430047 A CN 201110430047A CN 102546293 B CN102546293 B CN 102546293B
- Authority
- CN
- China
- Prior art keywords
- bit
- hash
- bit string
- network
- address
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于哈希比特串复用的高速网络流量网络地址测量方法,设置用于存储网络地址的比特矩阵,将比特矩阵中所有的元素的值设置为0,设置用于计算网络地址哈希比特串的哈希函数,哈希函数的输入为一个初始的比特串和网络IP地址,输出为一个长度为k比特的哈希比特串,计算哈希函数所使用不同初始比特串的数量a,设置a个不同的初始比特串,测量开始后,对于每个所到达的网络IP地址计算其哈希比特串,将网络IP地址的存在记录在比特矩阵中,测量结束后将相应的比特矩阵和初始比特串输出。本发明的功能实现快速高效的基于哈希值复用的网络流量IP地址测量方法,能够在高速大规模网络环境中使用有限的存储资源记录通过测量器的网络IP地址。
Description
技术领域
本发明涉及网络流量测量技术,特别是有利于基于哈希比特串复用的高速网络流量网络IP地址状态测量方法,测量方法充分利用哈希比特串各个比特随机特性,进行哈希比特串复用的特性以提高需要使用多个哈希函数的网络IP地址检测技术。
背景技术
哈希函数又称散列,就是把任意长度的输入,通过相应的散列算法,变成固定长度的输出,该输出就是散列值。哈希是一种多对一的变换,通过哈希函数可以将不同空间的值建立起相应的映射关系,具体映射过程可以表示为:,其中U为输入空间,u为散列值空间,应该注意到,哈希函数的映射是一种单向的不可逆映射,是一种压缩映射,也就是,散列值的空间u通常远小于输入的空间U,不同的输入可能会散列成相同的输出,反过来却不可能通过散列值来唯一确定输入值。从安全性及运算效率的角度来说,一个好的哈希算法还需要具备较快的运算速度、单向性、抗弱碰撞性和抗强碰撞性等特性。
常用的哈希函数有IPSX、CRC和MD5等,IPSX哈希函数适用于IPv4的报文组流和抽样网络中,例如在流抽样过程中,将IP报文头部信息以及TCP/UDP的报文头信息作为IPSX哈希函数的输入,可以得到该报文的流标识所对应的哈希地址(桶号),提高查询的速度,减少系统的资源消耗。CRC校验码算法的基本思想就是利用线性编码理论,在待发送的具有m位的数据流之后添加n个0,此时数据流的长度增加为M+n位,然后除以事先确定的最高次数为n的多项式所对应的n+1位二进制序列P(CRC除法器),得到的余数r即为CRC校验码。MD5是一种单向散列算法,它被广泛应用到信息加解密和数字签名技术之中,它可以实现输入任意长度的明文,生成128位的指纹或信息摘要。
哈希函数是一种高效的数据存储和数据查询的方法,在数据库、密码学等领域都有着广泛的应用。随着高速网络的发展,哈希函数在报文抽样、报文IP识别等方面也得到了广泛的应用和发展。为了记录IP地址信息,当每个报文到达时,对报文头的IP地址属性进行提取,需要使用一种高效的哈希函数,实现数据的快速匹配和查找。哈希函数用于IP地址存储的主要问题是哈希冲突,哈希冲突指的是对于不同的关键字通过哈希映射可能得到同一散列地址的现象,即有,而,此时便产生了冲突。处理哈希冲突的方法有很多,如开放寻址法,再散列法,链地址法和建立一个公共溢出区等。为了减少哈希冲突的概率,可以对于同一个IP地址采用多次哈希函数生成多个相互独立的哈希比特串映射到不同的位置。
传统的哈希函数应用于网络IP地址存储的主要问题是为了减少哈希冲突等原因,同一个IP需要多次使用哈希函数生成多个独立的哈希比特串,哈希函数是网络IP地址测量过程中最为消耗测量资源的运算之一,每次使用哈希函数需要较高的系统资源,而没有充分使用全部的哈希比特串,这样使得该算法限制应用在高速网络流量测量中。本发明将完全使用全部的哈希比特串,减少哈希函数的使用次数,以提高算法在高速网络测量中的应用。
发明内容
本发明实施的目的提供一种网络流量IP地址测量方法,能够实时地对高速主干网络流量中的网络流量IP地址进行测量。
本发明的技术方案是提供了一种基于哈希比特串复用的高速网络流量网络地址测量方法,其特征在于:
步骤一:设置用于存储网络IP地址的比特矩阵B,比特矩阵B行设置为2m,其中m为2的上标,列设置为n,m和n均为大于等于1的正整数,将比特矩阵B中所有的元素的值设置为0,进入步骤二;
步骤二:设置用于计算网络IP地址哈希比特串的哈希函数H,哈希函数H的输入为一个初始的比特串和网络IP地址,哈希函数H的输出为一个长度为k比特的哈希比特串,进入步骤三;
步骤三:计算哈希函数所使用不同初始比特串的数量a,设置a个不同的初始比特串Ai,其中i取值为1≤i≤a,i为正整数,进入步骤四;
步骤四:测量开始后,对于每个所到达的网络IP地址计算其哈希比特串,将网络IP地址的存在记录在比特矩阵中,进入步骤五;
步骤五:如果测量没有结束,回到步骤四,否则将相应的比特矩阵和初始比特串输出。
与现有技术相比,本发明具有如下优点及有效效果:
1、本发明的功能实现快速高效的基于哈希值复用的网络流量IP地址测量方法,能够在高速大规模网络环境中使用有限的存储资源记录通过测量器的网络IP地址;
2、传统基于多个哈希算法的网络流量IP地址方法需要使用多个哈希函数,每次在查询比特向量中的每个比特位置上的值都独立使用哈希函数,由于哈希函数的哈希值比特串远多于比特向量中所需要的比特串,因此每个哈希函数中的哈希值比特串只有部分比特串被用于进行比特向量查询,而由于哈希函数生成的哈希比特串中的每个比特是独立不相关的,本发明可以充分使用每个比特,这样可以减少哈希函数的使用,而哈希函数是算法中最消耗资源的函数,如果一个哈希函数生成的哈希值比特串是32个比特,而比特向量大小为1024,则需要的比特串是10个比特,因此一个32个哈希比特串可以用3次,这样对于需要3个哈希函数的算法中,传统方法需要计算3次哈希函数,本发明只需要计算一次哈希函数,因此本发明在可以在哈希函数运算上提高了3倍的运行效率。
附图说明
图1:基于哈希值复用的网络流量IP地址检测方法的流程示意图。
图2:基于哈希值复用的网络流量IP地址检测方法过程示意图。
图3:比特矩阵大小设置为3行8列的初始值示例图,在具体实例中,测量开始前设置比特向量所有的初始值为0。
图4:比特矩阵大小设置为3行8列的测量结束后比特矩阵各比特值示例图,在具体实例中,测量结束后部分比特值被设置为1。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,当然所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施实例1
本发明实施例提供了一种基于哈希值复用的网络流量IP地址检测方法,如图l所示,该方法包括如下步骤:
步骤一:设置用于存储网络IP地址的比特矩阵B,比特矩阵B行设置为2m,其中m为2的上标,列设置为n,m和n均为大于等于1的正整数,将比特矩阵B中所有的元素的值设置为0,进入步骤二;
步骤二:设置用于计算网络IP地址哈希比特串的哈希函数H,哈希函数H的输入为一个初始的比特串和网络IP地址,哈希函数H的输出为一个长度为k比特的哈希比特串,进入步骤三;
步骤三:计算哈希函数所使用不同初始比特串的数量a,设置a个不同的初始比特串Ai,其中i取值为1≤i≤a,i为正整数,计算不同初始比特串数量a的方法为:其中a为一个正整数,n和2m分别为比特矩阵B的列大小和行大小,k为哈希函数H输出哈希值的比特串大小,进入步骤四;
步骤四:测量开始后,对于每个所到达的网络IP地址计算其哈希比特串,将网络IP地址的存在记录在比特矩阵中,网络IP地址计算其哈希比特串的方法为:分别采用每个初始比特串Ai和网络IP地址作为哈希函数H的输入,一共生成a个不同的哈希比特串Si,其中i取值为1≤i≤a,网络IP地址的存在记录在比特矩阵中的步骤为:(1)将a个不同的哈希比特串S1、…、Si、…、Sa按照先后顺序连接成长度为a×k个比特的比特串L;(2)从比特串L中分别取出第1至第m个比特串L1,第m+1至第2m个比特串L2,...,第(n-1)×m+1至第(n-1)×m个比特串Ln;(3)计算每个比特串Lj所对应的整数Gj,其中1≤j≤n,每个比特串Lj所对应的整数Gj的方法为:比特串Lj的长度为m,比特串Lj中第一个比特到第m个比特所对应的每个比特值为Lj,0、Lj,1、…、Lj,m-1,每个比特的取值为0或1,则整数Gj=Lj,0×20+Lj,1×21+…+Lj,m-1×2m-1(4)将比特矩阵B中第1行中第G1+1列的比特值设置为1,第2行中第G2+1列的比特值设置为1,…,第n行中第Gn+1列的比特值设置为1;进入步骤五;
步骤五:如果测量没有结束,回到步骤四,否则将相应的比特矩阵和初始比特串输出,即将测量结束后的比特矩阵H和a个不同的初始比特串A1、A2、...、Aa输出。
实施实例2
本发明实施例提供了一种基于哈希值复用的网络流量IP地址检测方法,该方法包括如下步骤:
步骤一(1):设置用于存储网络IP地址的比特矩阵B,比特矩阵B行设置为23=8,n=3其中m=3为2的上标,列设置为3,将比特矩阵B中所有的元素的值设置为0,进入步骤二(2);
步骤二:设置用于计算网络IP地址哈希比特串的哈希函数H,哈希函数H的输入为一个初始的比特串和网络IP地址,哈希函数H的输出为一个长度为k=32比特的哈希比特串,进入步骤三(3);
步骤三(3):计算哈希函数所使用不同初始比特串的数量a,计算不同初始比特串数量a的方法为: 其中a=1,设置a个不同的初始比特串A1=00101100111100001111101000001111,进入步骤四(4);
步骤四(4):测量开始后,对于所到达的网络IP地址IP1计算其哈希比特串,将网络IP地址IP1的存在记录在比特矩阵中,网络IP地址计算其哈希比特串的方法为:采用初始比特串A1和网络IP地址IP1作为哈希函数H的输入,生成一个的哈希比特串S1=H(A1,IP1)网络IP地址IP1的存在记录在比特矩阵中的步骤为:(1)将哈希比特串S1作为32个比特的比特串L=S1;(2)从比特串L中分别取出第1至第3个比特串L1=001,第4至第6个比特串L2=101,第7至第9个比特串L3=010;(3)计算比特串L1、L2、L3所对应的整数G1、G2、G3,每个比特串Lj所对应的整数Gj的方法为:比特串Lj的长度为m,比特串Lj中第一个比特到第m个比特所对应的每个比特值为Lj,0、Lj,1、…、Lj,m-1,每个比特的取值为0或1,则整数Gj=Lj,0×20+Lj,1×21+…+Lj,m-1×2m-1,G1=1、G2=5、G3=2,(4)将比特矩阵B中第1行中第G1+1=1+1=2列的比特值设置为1,第2行中第G2+1=5+1=6列的比特值设置为1,第3行中第G3+1=2+1=3列的比特值设置为1;进入步骤五(5);
步骤五(5):测量没有结束,回到步骤四(6);
步骤四(6):对于所到达的网络IP地址IP2计算其哈希比特串,将网络IP地址IP2的存在记录在比特矩阵中,网络IP地址计算其哈希比特串的方法为:采用初始比特串A1和网络IP地址IP2作为哈希函数H的输入,生成一个的哈希比特串S2=H(A1,IP2)网络IP地址IP2的存在记录在比特矩阵中的步骤为:(1)将哈希比特串S2作为32个比特的比特串L=S2;(2)从比特串L中分别取出第1至第3个比特串L1=100,第4至第6个比特串L2=111,第7至第9个比特串L3=000;(3)计算比特串L1、L2、L3所对应的整数G1、G2、G3,每个比特串Lj所对应的整数Gj的方法为:比特串Lj的长度为m,比特串Lj中第一个比特到第m个比特所对应的每个比特值为Lj,0、Lj,1、…、Lj,m-1,每个比特的取值为0或1,则整数Gj=Lj,0×20+Lj,1×21+…+Lj,m-1×2m-1,G1=4、G2=7、G3=0,(4)将比特矩阵B中第1行中第G1+1=4+1=5列的比特值设置为1,第2行中第G2+1=7+1=8列的比特值设置为1,第3行中第G3+1=0+1=1列的比特值设置为1;进入步骤五(7);
步骤五(7):测量没有结束,回到步骤四(8);
步骤四(8):对于所到达的网络IP地址IP3计算其哈希比特串,将网络IP地址IP3的存在记录在比特矩阵中,网络IP地址计算其哈希比特串的方法为:采用初始比特串A1和网络IP地址IP3作为哈希函数H的输入,生成一个的哈希比特串S3=H(A1,IP3)网络IP地址IP3的存在记录在比特矩阵中的步骤为:(1)将哈希比特串S3作为32个比特的比特串L=S3;(2)从比特串L中分别取出第1至第3个比特串L1=110,第4至第6个比特串L2=110,第7至第9个比特串L3=010;(3)计算比特串L1、L2、L3所对应的整数G1、G2、G3,每个比特串Lj所对应的整数Gj的方法为:比特串Lj的长度为m,比特串Lj中第一个比特到第m个比特所对应的每个比特值为Lj,0、Lj,1、…、Lj,m-1,每个比特的取值为0或1,则整数Gj=Lj,0×20+Lj,1×21+…+Lj,m-1×2m-1,G1=6、G2=6、G3=2,(4)将比特矩阵B中第1行中第G1+1=6+1=7列的比特值设置为1,第2行中第G2+1=6+1=7列的比特值设置为1,第3行中第G3+1=2+1=3列的比特值设置为1;进入步骤五(9);
步骤五(9):测量结束,将相应的比特矩阵和初始比特串输出,即将测量结束后的比特矩阵H和初始比特串A1输出,
比特矩阵H为
初始比特串A1=00101100111100001111101000001111方法结束。
Claims (4)
1.一种基于哈希比特串复用的高速网络流量网络地址测量方法,其特征在于:
步骤一:设置用于存储网络IP地址的比特矩阵B,比特矩阵B的行数设置为2m,其中m为2的上标,2m为2的m次幂,列数设置为n,m和n均为大于或等于1的正整数,将比特矩阵B中所有的元素的初始值设置为0,比特矩阵B中的每列对应一个大小为2m的比特向量,进入步骤二;
步骤二:设置用于计算网络IP地址哈希比特串的哈希函数H,哈希函数H的输入为一个初始的比特串和网络IP地址,哈希函数H的输出为一个长度为k比特的哈希比特串,进入步骤三;
步骤三:计算哈希函数所使用不同初始比特串的数量a,设置a个不同的初始比特串Ai,其中i取值为1≤i≤a,i为正整数,进入步骤四;
步骤四:测量开始后,对于每个所到达的网络IP地址进行哈希比特串计算,并将网络IP地址的存在记录在比特矩阵中,网络IP地址的存在记录在比特矩阵中的步骤为:(1)将a个不同的哈希比特串S1、…、Si、…、Sa按照先后顺序连接成长度为a×k个比特的比特串L;(2)从比特串L中分别取出第1至第m个比特串L1,第m+1至第2m个比特串L2,...,第(n-1)×m+1至第(n-1)×m个比特串Ln;(3)计算每个比特串Lj所对应的整数Gj,其中1≤j≤n,每个比特串Lj所对应的整数Gj的方法为:比特串Lj的长度为m,比特串Lj中第一个比特到第m个比特所对应的每个比特值为Lj,0、Lj,1、…、Lj,m-1,每个比特的取值为0或1,则整数Gj=Lj,0×20+Lj,1×21+…+Lj,m-1×2m-1(4)将比特矩阵B中第1行中第G1+1列的比特值设置为1,第2行中第G2+1列的比特值设置为1,…,第n行中第Gn+1列的比特值设置为1;进入步骤五;
步骤五:如果测量没有结束,回到步骤四,否则将相应的比特矩阵和初始比特串输出。
2.根据权利要求1所述的基于哈希比特串复用的高速网络流量网络地址测量方法,其特征在于,所述的步骤三中计算不同初始比特串数量a的方法为:其中a为一个正整数。
3.根据权利要求1所述的基于哈希比特串复用的高速网络流量网络地址测量方法,其特征在于,所述的步骤四中网络IP地址的哈希比特串的计算方法为:分别采用每个初始比特串Ai和网络IP地址作为哈希函数H的输入,一共生成a个不同的哈希比特串Si,其中i取值为1≤i≤a。
4.根据权利要求1所述的基于哈希比特串复用的高速网络流量网络地址测量方法,其特征在于,所述的步骤五中将比特矩阵和初始比特串输出为将测量结束后的比特矩阵H和a个不同的初始比特串A1、A2、...、Aa输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110430047.8A CN102546293B (zh) | 2011-12-20 | 2011-12-20 | 基于哈希比特串复用的高速网络流量网络地址测量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110430047.8A CN102546293B (zh) | 2011-12-20 | 2011-12-20 | 基于哈希比特串复用的高速网络流量网络地址测量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546293A CN102546293A (zh) | 2012-07-04 |
CN102546293B true CN102546293B (zh) | 2014-08-06 |
Family
ID=46352295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110430047.8A Expired - Fee Related CN102546293B (zh) | 2011-12-20 | 2011-12-20 | 基于哈希比特串复用的高速网络流量网络地址测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546293B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119960B (zh) * | 2015-07-13 | 2018-11-06 | 东软集团股份有限公司 | 一种网络数据分发方法及网络设备 |
CN107229663B (zh) * | 2016-03-25 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置以及数据表处理方法和装置 |
CN106878185B (zh) * | 2017-04-13 | 2020-04-07 | 浪潮集团有限公司 | 一种报文ip地址匹配电路及方法 |
CN107357843B (zh) * | 2017-06-23 | 2020-06-16 | 东南大学 | 基于数据流结构的海量网络数据查找方法 |
CN112714040B (zh) * | 2020-12-11 | 2022-10-28 | 深圳供电局有限公司 | 全息报文检测方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6876655B1 (en) * | 1999-04-22 | 2005-04-05 | Ramot At Tel Aviv University Ltd. | Method for routing with a clue |
CN101778142A (zh) * | 2009-12-11 | 2010-07-14 | 东南大学 | 比特串和哈希函数组合的网络地址前缀保留的匿名化方法 |
-
2011
- 2011-12-20 CN CN201110430047.8A patent/CN102546293B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6876655B1 (en) * | 1999-04-22 | 2005-04-05 | Ramot At Tel Aviv University Ltd. | Method for routing with a clue |
CN101778142A (zh) * | 2009-12-11 | 2010-07-14 | 东南大学 | 比特串和哈希函数组合的网络地址前缀保留的匿名化方法 |
Non-Patent Citations (2)
Title |
---|
程光 等.面向IP流测量的哈希算法研究.《软件学报》.2005,第16卷(第5期), |
面向IP流测量的哈希算法研究;程光 等;《软件学报》;20051231;第16卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102546293A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | MILP‐aided bit‐based division property for primitives with non‐bit‐permutation linear layers | |
CN106778304B (zh) | 一种具有明文相关置乱机制的快速混沌图像加密方法 | |
CN102546293B (zh) | 基于哈希比特串复用的高速网络流量网络地址测量方法 | |
CN104270247B (zh) | 适用于量子密码系统的高效泛Hash函数认证方法 | |
CN107579811A (zh) | 一种基于sm3密码杂凑算法的硬件优化方法 | |
CN101872339B (zh) | 一种基于复杂动态网络的Hash函数构造方法 | |
CN104881439A (zh) | 一种空间高效的多模式串匹配方法和系统 | |
CN103049709A (zh) | 基于生成元扩展彩虹表的密码恢复系统及其恢复方法 | |
Gupta et al. | Lightweight cryptography: an IoT perspective | |
Hossain et al. | Porch: A novel consensus mechanism for blockchain-enabled future scada systems in smart grids and industry 4.0 | |
CN104580017B (zh) | 基于rss的网络会话分发方法及系统 | |
CN110674364B (zh) | 一种利用fpga实现的滑动字符串匹配的方法 | |
Dong et al. | RETRACTED: Flow online identification method for the encrypted Skype | |
CN111756521A (zh) | 基于Feistel-SP结构的密码S盒设计方法 | |
CN101778142A (zh) | 比特串和哈希函数组合的网络地址前缀保留的匿名化方法 | |
CN105933120A (zh) | 一种基于Spark平台的口令哈希值恢复方法和装置 | |
Yan et al. | High-speed privacy amplification scheme using GMP in quantum key distribution | |
JP2018513428A (ja) | データのパーティション化および変換の方法および装置 | |
Ganiev et al. | Lightweight cryptography algorithms for IoT devices: open issues and challenges | |
Jiang et al. | A fast regular expression matching engine for NIDS applying prediction scheme | |
CN113467974B (zh) | 一种标识信息生成方法 | |
Zhang et al. | Cryptanalysis of a chaos-based block cryptosystem using multiple samples correlation power analysis | |
Saravanan et al. | Theoretical survey on secure hash functions and issues | |
Dass et al. | Hybrid coherent encryption scheme for multimedia big data management using cryptographic encryption methods | |
Najam et al. | Multi-byte pattern matching using stride-k dfa for high speed deep packet inspection |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140806 Termination date: 20161220 |