CN101986611B - 基于两级缓存的快速组流方法 - Google Patents

基于两级缓存的快速组流方法 Download PDF

Info

Publication number
CN101986611B
CN101986611B CN2010105656697A CN201010565669A CN101986611B CN 101986611 B CN101986611 B CN 101986611B CN 2010105656697 A CN2010105656697 A CN 2010105656697A CN 201010565669 A CN201010565669 A CN 201010565669A CN 101986611 B CN101986611 B CN 101986611B
Authority
CN
China
Prior art keywords
message
stream
record
flow
speed cache
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
Application number
CN2010105656697A
Other languages
English (en)
Other versions
CN101986611A (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.)
Jiangsu Xinsheng Bellow Co ltd
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN2010105656697A priority Critical patent/CN101986611B/zh
Publication of CN101986611A publication Critical patent/CN101986611A/zh
Application granted granted Critical
Publication of CN101986611B publication Critical patent/CN101986611B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种基于两级缓存的快速组流方法,在测量期间测量器分别在低容量高速缓存和高容量低速缓存中各维护一个流表,对于每个到达的报文首先检查高速缓存中有无其流记录,如果有记录,将该报文信息累加在该流记录中,如果没有记录,随机抽样该报文,如果该报文被抽中,则在高速缓存中建立该流记录,否则将该报文记录在低速缓存中,本发明利用网络流量中的流长分布的重尾特性,将含有大量报文的长流信息记录在高速缓存中,而低速流记录在低速缓存中,采用两级缓存的进行组流,大大提高网络流量的组流效率,同时采用等概率抽样每个报文,使得长流以很高的概率被记录在高速缓存中,而仅有少量报文的短流被记录在高速缓存中的概率很低。

Description

基于两级缓存的快速组流方法
技术领域
本发明涉及网络流量测量技术,特别是有利于高速网络流量的组流技术,测量方法充分利用两级缓存的不同特性大大提高流量的组流效率技术。属于网络流量测量领域。
背景技术
网络流量是由报文构成,而每个TCP或UDP报文中都包括有源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息,将在一个测量时间段内具有相同的源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息的报文集合称为一个流记录。组流的就是在测量过程中将所有具有相同五元组信息的报文聚合成一条记录,网络流量的组流是网络测量、管理和网络安全领域非常重要的一项任务。
现有的网络测量和管理系统中都具有组流运算,如Cisco路由器中提供的NetFlow功能。NetFlow是Cisco公司提出的流实现版本,NetFlow以源宿IP、源宿端口和协议5个属性相同的报文组合成一个流,NetFlow的路由器在DRAM中维护一个流缓存,它保存了当前所有活跃流记录。由于网络流量的规模很大,因此特别在主干网络中五元组流的数量也非常多,很难在测量器中维护所有的流记录。
目前路由器和测量器中使用两种不同类型的缓存:SRAM和DRAM,SRAM是静态随机存储器,具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据,SRAM的特点是读取速度快,缺点是容量小,价格成本高,SRAM的高速读取速率适合对高速主干网络中的组流操作,但是其容量小、价格高难以实现对主干网络中的所有流量进行组流操作。DRAM即动态随机存储器最为常见的系统内存,DRAM的特点是读取速率较低,但容量大、价格低,目前的随机存储设备大多使用DRAM。
网络流量中的流长分布具有重尾特性,即极少数的流包括大量的报文,而大多数流仅具有极少数报文,根据CERNET网络的一些实验表明,大约1.6%的流约占总流量的80%,10%的流占总流量的94%。因此如果我们在将流记录分成两个部分:长流和短流,长流记录在高速缓存中,而低速流记录在低速缓存中,即只需要1.6%的高速缓存中流记录空间就可以记录80%的流量,而其它的短流由于访问的次数较少,就简单记录在低速缓存中。如果高速缓存的访问速率是低速缓存的10倍,假设对于n个报文记录,每个报文记录低速缓存读取时间是10个单位,高速缓存是1个单位,则如果全部采用低速缓存处理报文,则需要10n个时间单位。而如果采用高速缓存和低速缓存相结合,假设按照CERNET网络流量的实验规律:1.6%的流约占总流量的80%,在高速缓存中采用1.6%流记录数量的内存空间,则需要的时间单位是n+(1-0.8)n*10=3个时间单位进行测量。因此采用两级缓存的组流算法,基于流量的重尾特性,可以大大提高网络流量的组流速率。
发明内容
本发明提供一种快速高效的基于两级缓存的快速组流方法。
一种基于两级缓存的快速组流方法,其特征是测量期间测量器分别在低容量高速缓存和高容量低速缓存中各维护一个流表,对于每个到达的报文首先检查高速缓存中有无其流记录,如果有记录,将该报文信息累加在该流记录中,如果没有记录,随机抽样该报文,如果该报文被抽中,则在高速缓存中建立该流记录,否则将该报文记录在低速缓存中,其具体步骤如下:
步骤1:设置参数
设置报文抽样比率p,设置流记录为源IP地址、宿IP地址、协议、源端口和宿端口等五元组,每个流记录中包括报文数和字节数两个信息,设置测量开始时间和测量结束时间,测量开始,进入步骤2,
步骤2:报文到达
当一个报文到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息,然后在高速缓冲中查找有无这五元组流记录信息,如果找到该五元组流记录信息,则进入步骤3,否则进入步骤4,
步骤3:高速缓存更新
将包含这个五元组信息的流记录中的报文数累加1,字节数累加该报文的长度,进入步骤6,
步骤4:抽样流记录
按照抽样概率p随机抽样该报文,如果该报文被抽样,则在高速缓存中产生一条新的记录用于记录该报文的五元组的流记录信息,设置其报文数为1,字节数为该报文的长度,进入步骤6,否则进入步骤5,
步骤5:更新低速缓存
在低速缓存中查找该五元组流记录,如果查找到该流记录,则将该流记录的报文数累加1,字节数累加该报文的长度,如果在低速缓存中没有查找到该流记录,则在低速缓存中产生一条新的流记录,并设置该流记录的报文数为1,字节数为报文的长度,进入步骤6,
步骤6:结束判断
如果该时间段报文测量结束,则输出高速缓存和低速缓存中流记录信息,方法结束,否则回到步骤2。
与现有技术相比,本发明具有如下优点及有效效果:
(1)网络流量中的流长分布具有重尾特性,即极少数的流包括大量的报文,而大多数流仅具有极少数报文,该方法将流分成长流和短流,将含有大量报文的长流信息记录在高速缓存中,而低速流记录在低速缓存中,该方法充分利用了高速缓存低容量和低速缓存高容量的特点,采用两级缓存的进行组流,大大提高网络流量的组流效率;
(2)在长流和短流识别中,本发明采用随机抽样的方法进行等概率抽样每个通过的报文,这种方法使得包含有多个报文的长流以很高的概率被记录在高速缓存中,而仅有少量报文的短流被记录在高速缓存中的概率很低,通过简单的随机抽样方法实现将长流和短流记录进行分离;
(3)本发明的方法能够进行高速主干网络的组流操作,其组流结果能够用于网络安全和网络管理。
附图说明
图1:基于两级缓存的快速组流方法的报文数据查找方向图,其中实线箭头表示所有的报文都必须在高速缓存中查找一次,虚线箭头表示没有在高速缓存中查到或抽样的报文数据将在低速缓存中查找和记录。
图2:基于两级缓存的快速组流方法的流程图。
具体实施方式
假设一组报文的五元组信息及其报文长度分别为:{a,100},{b,50},{a,200},{a,500},{a,100},{c,100},{b,50},其中a,b,c分别标识不同的五元组标识,100、50、200、500、100、100、50分别标识每个五元组标识报文的报文长度,
一种基于两级缓存的快速组流方法,其特征是测量期间测量器分别在低容量高速缓存和高容量低速缓存中各维护一个流表,对于每个到达的报文首先检查高速缓存中有无其流记录,如果有记录,将该报文信息累加在该流记录中,如果没有记录,随机抽样该报文,如果该报文被抽中,则在高速缓存中建立该流记录,否则将该报文记录在低速缓存中,其具体步骤如下:
步骤1:设置参数
设置报文抽样比率1/2,设置流记录为源IP地址、宿IP地址、协议、源端口和宿端口等五元组,每个流记录中包括报文数和字节数两个信息,设置测量开始时间和测量结束时间,测量开始,进入步骤2,
步骤2:报文到达
当一个报文{a,100}到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息为a,其报文长度为100,然后在高速缓冲中查找有无这五元组流记录信息,没有找到该标识,进入步骤4,
步骤4:抽样流记录
按照抽样概率1/2随机抽样该报文,该报文没有被抽样,进入步骤5,
步骤5:更新低速缓存
在低速缓存中查找该五元组流记录,在低速缓存中没有查找到该流记录,则在低速缓存中产生一条新的流记录,并设置该流记录的报文数为1,字节数为报文的长度100,进入步骤6,
步骤6:结束判断
该时间段报文测量没有结束,回到步骤2,
步骤2:报文到达
当一个报文{b,50}到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息为b,其报文长度为50,在高速缓冲中查找五元组流记录b信息,没有找到该五元组流记录信息,否则进入步骤4,
步骤4:抽样流记录
按照抽样概率1/2随机抽样该报文,没有抽样,进入步骤5,
步骤5:更新低速缓存
在低速缓存中查找该五元组流记录,没有查找到该流记录,则在低速缓存中产生一条新的b流记录,并设置该流记录的报文数为1,字节数为报文的长度50,进入步骤6,
步骤6:结束判断
该时间段报文测量没有结束,回到步骤2,
步骤2:报文到达
当一个报文{a,200}到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息为a,其报文长度为200,然后在高速缓冲中查找有无这五元组流记录信息,没有找到该五元组流记录信息,进入步骤4,
步骤4:抽样流记录
按照抽样概率1/2随机抽样该报文,该报文被抽样,在高速缓存中产生一条新的记录用于记录该报文的五元组的流记录信息a,设置其报文数为1,字节数为该报文的长度200,进入步骤6,
步骤6:结束判断
该时间段报文测量没有结束,回到步骤2。
步骤2:报文到达
当一个报文{a,500}到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息为a,报文长度为500,然后在高速缓冲中查找有无这五元组流记录信息,找到该五元组流记录信息,进入步骤3,
步骤3:高速缓存更新
将包含这个五元组信息的流记录中的报文数累加1,字节数累加该报文的长度500,则a流报文数为2,字节数为700,进入步骤6,
步骤6:结束判断
该时间段报文测量没有结束,回到步骤2,
步骤2:报文到达
当一个报文{a,100}到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息为a,报文长度为100,在高速缓冲中查找有无这五元组流记录信息,找到该五元组流记录信息,进入步骤3,
步骤3:高速缓存更新
将包含这个五元组信息a的流记录中的报文数累加1,字节数累加该报文的长度100,a流报文数为3,字节数为800,进入步骤6,
步骤6:结束判断
该时间段报文测量没有结束,回到步骤2,
步骤2:报文到达
当一个报文{c,100}到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息为c,报文数为100,在高速缓冲中没有查找到这五元组流记录信息,进入步骤4,
步骤4:抽样流记录
按照抽样概率1/2随机抽样该报文,报文没有被抽样,进入步骤5,
步骤5:更新低速缓存
在低速缓存中查找该五元组流记录,没有查找到该流记录,在低速缓存中产生一条新的c流记录,并设置该流记录的报文数为1,字节数为报文的长度100,进入步骤6,
步骤6:结束判断
该时间段报文测量没有结束,回到步骤2,
步骤2:报文到达
当一个报文{b,50}到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口等五元组信息为b,报文长度为50,在高速缓冲中没有查找到这五元组流记录信息,进入步骤4,
步骤4:抽样流记录
按照抽样概率1/2随机抽样该报文,该报文没有被抽样,进入步骤5,
步骤5:更新低速缓存
在低速缓存中查找该五元组流记录b,查找到该流记录,则将该流记录的报文数累加1,字节数累加该报文的长度50,则流b的报文数为2,字节数为100,进入步骤6,
步骤6:结束判断
该时间段报文测量结束,则输出高速缓存和低速缓存中流记录信息,输出的结果为
高速缓存中输出的结果为流a,报文数3,字节数800
低速缓存中输出的结果为流a,报文数1,字节数100
                      流b,报文数2,字节数100
                      流c,报文数1,字节数100
方法结束。

Claims (1)

1. 一种基于两级缓存的快速组流方法,其特征是测量期间测量器分别在低容量高速缓存和高容量低速缓存中各维护一个流表,对于每个到达的报文首先检查高速缓存中有无其流记录,如果有记录,将所到达报文的报文信息累加在该流记录中,如果没有记录,随机抽样该报文,如果该报文被抽中,则在高速缓存中建立该流记录,否则将该报文记录在低速缓存中,其具体步骤如下: 
步骤1:设置参数
设置报文抽样比率p,流记录的标识设置为源IP地址、宿IP地址、协议、源端口和宿端口的五元组,每个流记录的属性值包括报文数和字节数,设置测量开始时间和测量结束时间,测量开始,进入步骤2,
步骤2:报文到达
当一个报文到达测量器,测量器从报文头中提取其源IP地址、宿IP地址、协议、源端口和宿端口的五元组信息,然后在高速缓存中查找有无这五元组流记录信息,如果找到该五元组流记录信息,则进入步骤3,否则进入步骤4,
步骤3:更新高速缓存
将在高速缓存中的这个五元组标识的流记录中的报文数累加1,字节数累加该报文的长度,进入步骤6,
步骤4:抽样流记录
按照抽样概率p随机抽样该报文,如果该报文被抽样,则在高速缓存中产生一条新的记录用于记录该报文的五元组的流记录信息,设置其报文数为1,字节数为该报文的长度,进入步骤6,否则进入步骤5,
步骤5:更新低速缓存
在低速缓存中查找该五元组流记录,如果查找到该流记录,则将该流记录的报文数累加1,字节数累加该报文的长度,如果在低速缓存中没有查找到该流记录,则在低速缓存中产生一条新的流记录,并设置该流记录的报文数为1,字节数为报文的长度,进入步骤6,
步骤6:结束判断
如果测量期间报文测量结束,则输出高速缓存和低速缓存中流记录信息,方法结束,否则回到步骤2。
CN2010105656697A 2010-11-30 2010-11-30 基于两级缓存的快速组流方法 Expired - Fee Related CN101986611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105656697A CN101986611B (zh) 2010-11-30 2010-11-30 基于两级缓存的快速组流方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105656697A CN101986611B (zh) 2010-11-30 2010-11-30 基于两级缓存的快速组流方法

Publications (2)

Publication Number Publication Date
CN101986611A CN101986611A (zh) 2011-03-16
CN101986611B true CN101986611B (zh) 2012-11-28

Family

ID=43710915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105656697A Expired - Fee Related CN101986611B (zh) 2010-11-30 2010-11-30 基于两级缓存的快速组流方法

Country Status (1)

Country Link
CN (1) CN101986611B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186608B (zh) * 2011-12-30 2017-08-08 北京谊安医疗系统股份有限公司 一种队列序列化式处理数据的方法和装置
CN103368952A (zh) * 2013-06-28 2013-10-23 百度在线网络技术(北京)有限公司 用于待入侵检测处理的数据包进行抽样的方法与设备
CN104077368A (zh) * 2014-06-18 2014-10-01 国电南瑞科技股份有限公司 一种调度监控系统历史数据两级缓存多阶段提交方法
CN104601468B (zh) * 2015-01-13 2018-10-09 新华三技术有限公司 报文转发方法和设备
CN110365590B (zh) * 2019-07-12 2021-06-04 北京大学深圳研究生院 一种二级缓存方法及两阶段超时流表结构
CN115334013B (zh) * 2022-08-12 2024-01-23 北京天融信网络安全技术有限公司 一种流量统计方法、网卡及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555155A (zh) * 2003-12-19 2004-12-15 上海交通大学 区分流的前馈主动拥塞控制方法
CN1604569A (zh) * 2004-10-29 2005-04-06 清华大学 一种鲁棒的基于点对点的流调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4483535B2 (ja) * 2004-11-05 2010-06-16 株式会社日立製作所 ネットワーク装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555155A (zh) * 2003-12-19 2004-12-15 上海交通大学 区分流的前馈主动拥塞控制方法
CN1604569A (zh) * 2004-10-29 2005-04-06 清华大学 一种鲁棒的基于点对点的流调度方法

Also Published As

Publication number Publication date
CN101986611A (zh) 2011-03-16

Similar Documents

Publication Publication Date Title
CN101986611B (zh) 基于两级缓存的快速组流方法
CN103714134B (zh) 一种网络流量数据索引方法及系统
Kirsch et al. Hash-based techniques for high-speed packet processing
EP3282643B1 (en) Method and apparatus of estimating conversation in a distributed netflow environment
CN102147757B (zh) 一种测试装置和测试方法
CN103412889A (zh) 智能电表的数据存储和查询方法及其系统
CN102158550B (zh) 一种基于iec61850电能质量暂态数据传输方法
CN104579974A (zh) 面向ndn中名字查找的哈希布鲁姆过滤器及数据转发方法
CN104850564B (zh) 数据文件的索引查找方法和系统
CN112486914B (zh) 一种数据包存储与快查方法与系统
CN110011830A (zh) 基于流量数据的通讯拓扑信息建模方法
CN103259737A (zh) 一种并行存储高速网络流量的快速定位方法
WO2016165542A1 (zh) 缓存命中率分析的方法及设备
CN104536700A (zh) 一种码流数据的快速存储/读取方法及系统
Du et al. Short-term memory sampling for spread measurement in high-speed networks
CN111259014B (zh) 一种fpga的单向链表数据存储方法及系统
CN104601583A (zh) 一种ip流数据在线实时匿名化系统和方法
CN102437959A (zh) 基于双超时网络报文的组流方法
CN110825940B (zh) 网络数据包存储和查询方法
TW201903631A (zh) 資料流的分群方法和裝置
CN103490923A (zh) 日志文件的读写方法、装置及系统
CN116457751A (zh) 一种写数据通路结构和芯片
CN107332725B (zh) 一种快速解析pcap报文的方法
CN103440186A (zh) 测试缓存加速的方法及其系统
CN103064901A (zh) 一种ram、网络处理系统和一种ram查表方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 211300 Gaochun County of Jiangsu Province Economic Development Zone Branch Center Building Room 405

Applicant after: SOUTHEAST University

Address before: 210096 Jiangsu city Nanjing Province four pailou No. 2

Applicant before: Southeast University

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: JIANGSU XINSHENG BELLOW CO., LTD.

Free format text: FORMER OWNER: SOWTHEAST UNIV.

Effective date: 20131022

Owner name: SOWTHEAST UNIV.

Effective date: 20131022

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 211300 NANJING, JIANGSU PROVINCE TO: 226600 NANTONG, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20131022

Address after: 226600 Haian County in Jiangsu province Nantong City Industrial Zone South Mo Zhen Qing Dun

Patentee after: JIANGSU XINSHENG BELLOW Co.,Ltd.

Patentee after: SOUTHEAST University

Address before: 211300 Gaochun County of Jiangsu Province Economic Development Zone Branch Center Building Room 405

Patentee before: Southeast University

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121128

CF01 Termination of patent right due to non-payment of annual fee