CN115102716B - 一种基于自适应采样阈值的网络大流检测方法及系统 - Google Patents
一种基于自适应采样阈值的网络大流检测方法及系统 Download PDFInfo
- Publication number
- CN115102716B CN115102716B CN202210580579.8A CN202210580579A CN115102716B CN 115102716 B CN115102716 B CN 115102716B CN 202210580579 A CN202210580579 A CN 202210580579A CN 115102716 B CN115102716 B CN 115102716B
- Authority
- CN
- China
- Prior art keywords
- flow
- threshold
- candidate
- data packet
- network
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种基于自适应采样阈值的网络大流检测方法,包括:可编程交换机根据预设的本地阈值,将在时间间隔中数据包计数大于本地阈值的数据流作为候选流,在当前时间间隔结束时将候选流及其对应的数据包计数以报告表的方式发往中心控制器;中心控制器根据所有可编程交换机的报告表,以各候选流对应的数据包计数之和,作为网络中所有流量的流量总值,根据流量总值和预设检测精度得到全局阈值,将数据包计数大于全局阈值的候选流作为网络大流,并根据网络流量的时间特性,更新可编程交换机本地阈值。本发明具有更加优秀的精确度,在可编程交换机上占用较小的内存,且通信数据包不会因为通信原因增加网络负担、加重网络拥塞对网络造成负面影响。
Description
技术领域
本发明涉及网络测量中网络大流攻击检测领域,具体为发明了一种基于自适应采样阈值的网络大流检测方法和系统。
背景技术
识别大量网络流量中的异常流模式,对于流量工程、负载平衡和入侵检测等各种网络管理任务至关重要。而在网络规模较大且带宽较高的情况下,全面了解网络行为是一项越来越复杂的任务。heavy hitter(elephant flow),即网络大流,是指在一定时间内构成大部分网络流量的少数流。heavy hitter增加了对延迟敏感的小流的完成时间,是拥塞的主要来源。因此需要及时发现heavy hitter并做出相应的措施:例如,将它们重定向到低优先级队列、执行速率控制和流量工程、阻止大量DDoS攻击以及诊断拥塞。通过识别heavyhitter,网络运营商可以快速响应性能异常值、错误使用行为和潜在的DDoS攻击,从而维护网络稳定性和QoS保证。
传统测量方案具有准确性限制,因为它们依赖基于抽样的方法来收集交通统计数据。一方面,当高速网络流量到来时,流量监控需要高采样率(例如,每30,000个数据包一个)才能产生足够详细的数据以保证不会错过重要流量,逐个记录所有流量的信息会带来巨大的计算和空间资源开销,此类方法仅适用于粗粒度可见性。另一方面,网络测量往往也无需记录所有的信息。因此,采样技术的准确性和开销限制阻碍了测量应用的发展,例如:不可能准确测量频繁变化的TCP特定字段,例如拥塞窗口、接收窗口和发送速率。
随着可编程交换机的出现,不仅提供了以高精度检查流量统计的灵活性,而且还允许程序员实时表达反应处理(例如,当达到阈值时丢弃数据包)。可编程交换机为测量研究的新领域铺平了道路,现在可以在数据平面中以线速执行细粒度测量。编程独立于协议的包处理器(P4)是目前数据平面编程应用最广泛的抽象、编程语言的技术。它于2014年首次作为研究论文发表,现已在P4语言联盟中开发和标准化,得到各种基于软件和硬件的目标平台的支持,并在学术界和工业界广泛应用。此外,诸如sketch和bloom filter之类的数据结构可以很容易地为感兴趣的特定指标实现和定制。
作为采样技术的替代方案,sketch是一种基于散列的数据结构,可以在高速网络环境中占用较小的空间资源的同时,实时地存储流量特征信息,并且具备在理论上可证明的估计精度与内存的平衡特性,可以破除采样限制。主要解决了以下问题:允许算法在使用次线性空间的同时对数据流执行恒定数量的传递;然后由算法估计数据流上所需的统计特性(例如,中值)。此算法的主要问题在于与感兴趣的指标紧密耦合,这意味着交换机供应商应该为特定的监控任务构建专门的算法、数据结构和硬件。同时,由于网络设备中CPU和内存的限制,支持满足所有客户的广泛监控任务具有挑战性。
分布式多台交换机全网联合检测方案比单台交换机检测方案更具优势。试想当某个流同时少量地分布在多台交换机上,但累积之和已可判别为heavy hitter,在此种情况下单台交换机检测方案因为不能进行信息交换而具有局限性,只能判定在本交换机上不为heavy hitter,因此对这种类型的heavy hitter的检测不敏感。
目前,在Heavy hitter的分布式全网检测方案的研究领域已经出现了一些基于可编程交换机的解决方案。现有技术提出了一种基于控制器的分布式检测方案,用于检测heavy hitter其在P4可编程交换机上使用计数器匹配键值(例如:源和目标IP对或5元组)。如果计数器超过本地阈值,可编程交换机会即刻向控制器发送报告。控制器通过组合从交换机接收到的通知来生成更准确的状态报告以此确定是否是heavy hitter。但此方法会产生显着的通信成本,并且会随着交换机数量的增加而增加。现有技术还提出了一种在由传统设备网络中增量部署可编程交换机的方法,其目标是监控尽可能多的不同网络流,同时提出了一种利用局部信息的分布式heavy hitter检测方法。但此研究对流量分布极敏感,仅在每流分布在单交换机的情况下精度较高。与此同时,在现有可编程交换机上并不支持数据平面上的浮点数字的乘除法运算,而这是此研究的检测方法所必须的。
发明内容
针对上述问题,在全网协调进行分布式测量的背景下,本发明提出了一种基于自适应采样阈值的网络大流检测方法。相较于现有的研究成果具有更加优秀的精确度和f1值,同时在可编程交换机上占用较小的内存,且通信数据包更少不会因为通信原因增加网络负担、加重网络拥塞对网络造成负面影响。此外,本发明不包含在可编程交换机上进行浮点数乘除法运算等操作,因此在可编程交换机的环境下具有可行性。
针对现有技术的不足,本发明提出一种基于自适应采样阈值的网络大流检测方法,其中包括:
步骤1、每台可编程交换机根据预设的本地阈值,将在时间间隔中数据包计数大于该本地阈值的数据流作为候选流,并在当前时间间隔结束时将候选流及其对应的数据包计数以报告表的方式发往中心控制器;
步骤2、中心控制器根据所有可编程交换机的报告表,以各候选流对应的数据包计数之和,作为网络中所有流量的流量总值,根据该流量总值和预设检测精度得到全局阈值,将数据包计数大于该全局阈值的候选流作为网络大流,并根据网络流量的时间特性,更新该可编程交换机的该本地阈值。
所述的基于自适应采样阈值的网络大流检测方法,其中该可编程交换机,用于使用sketch构建r行桶,每行有w个桶,每个桶都与一个初始化为零的计数相关联;可编程交换机每接收一个数据包,记录该数据包的ID为x和该数据包的计数值vx;对(x,vx)使用r个哈希散列函数将x散列到sketch中的一个桶中,并将对应的桶的计数增加vx;数据流x在sketch中查询的vx与本地阈值相比较,若大于,则使用哈希映射将键值对(x,vx)记录在该报告表中。
所述的基于自适应采样阈值的网络大流检测方法,其中该中心控制器,用于将所有可编程交换机发送的报告表的流量数据包统计值相加,得到该流量总值S,根据网络管理员设置的该检测精度得到全局阈值Tglobal为/>收到多个交换机发送的候选流x的报告时,将多个交换机发送的采样报告中候选流x的值相加得到候选流的数据包计数值Sx,若Sx大于/>判候选流x为网络大流;
可编程交换机集合为N,对于交换机i(i∈N)发送的报告表中包含流量集合F,对于候选流f∈F,在可编程交换机i发送的报告表中的计数值为Ci,f,计算流f在所有报告表中的大小Sf为:
计算Sf在可编程交换机i中所占比例fracf,i为:
其中EWMA表示指数加权移动平均,α表示学习率;
则候选流f在可编程交换机i中的采样阈值为:
Tf,i=fracf,i(Tglobal-Sf)+Cf,i
以可编程交换机i的所有候选流的采样阈值的均值作为可编程交换机i的本地阈值Ti:
重置可编程交换机i的所有计数器的数值,并更新其本地阈值为Ti。
所述的基于自适应采样阈值的网络大流检测方法,其中该步骤2还包括将网络大流的优先级降低,以阻止DDoS攻击和拥塞。
本发明还提出了一种基于自适应采样阈值的网络大流检测系统,其中包括:
多台可编程交换机,每台可编程交换机根据预设的本地阈值,将在时间间隔中数据包计数大于该本地阈值的数据流作为候选流,并在当前时间间隔结束时将候选流及其对应的数据包计数以报告表的方式发往中心控制器;
中心控制器,用于根据所有可编程交换机的报告表,以各候选流对应的数据包计数之和,作为网络中所有流量的流量总值,根据该流量总值和预设检测精度得到全局阈值,将数据包计数大于该全局阈值的候选流作为网络大流,并根据网络流量的时间特性,更新该可编程交换机的该本地阈值。
所述的基于自适应采样阈值的网络大流检测系统,其中该可编程交换机,用于使用sketch构建r行桶,每行有w个桶,每个桶都与一个初始化为零的计数相关联;可编程交换机每接收一个数据包,记录该数据包的ID为x和该数据包的计数值vx;对(x,vx)使用r个哈希散列函数将x散列到sketch中的一个桶中,并将对应的桶的计数增加vx;数据流x在sketch中查询的vx与本地阈值相比较,若大于,则使用哈希映射将键值对(x,vx)记录在该报告表中。
所述的基于自适应采样阈值的网络大流检测系统,其中该中心控制器,用于将所有可编程交换机发送的报告表的流量数据包统计值相加,得到该流量总值S,根据网络管理员设置的该检测精度得到全局阈值Tglobal为/>收到多个交换机发送的候选流x的报告时,将多个交换机发送的采样报告中候选流x的值相加得到候选流的数据包计数值Sx,若Sx大于/>判候选流x为网络大流;
可编程交换机集合为N,对于交换机i(i∈N)发送的报告表中包含流量集合F,对于候选流f∈F,在可编程交换机i发送的报告表中的计数值为Ci,f,计算流f在所有报告表中的大小Sf为:
计算Sf在可编程交换机i中所占比例fracf,i为:
其中EWMA表示指数加权移动平均,α表示学习率;
则候选流f在可编程交换机i中的采样阈值为:
Tf,i=fracf,i(Tglobal-Sf)+Cf,i
以可编程交换机i的所有候选流的采样阈值的均值作为可编程交换机i的本地阈值Ti:
重置可编程交换机i的所有计数器的数值,并更新其本地阈值为Ti。
所述的基于自适应采样阈值的网络大流检测系统,其中该中心控制器用于将网络大流的优先级降低,以阻止DDoS攻击和拥塞。
本发明还提出了一种存储介质,用于存储执行所述任意一种基于自适应采样阈值的网络大流检测方法的程序。
本发明还提出了一种客户端,用于所述的任意一种基于自适应采样阈值的网络大流检测系统。
附图说明
图1为控制器与可编程交换机交互示意图;
图2为本发明提出的全网重击者检测策略方案图;
图3为可编程交换机处理高速流量采样的过程图;
图4为控制器检测报告中的heavy hitter集合并更新交换机阈值的过程图。
具体实施方式
本发明解决的技术问题:在全网分布式测量的背景下,检测对于网络安全具有重要意义的网络大流(heavy hitter)。传统的采样技术的准确性和开销限制阻碍了测量应用的发展;可编程交换机技术推动网络测量突破传统方法的桎梏,可以在数据面实现多种流摘要方法。然而当前的heavy hitter全网分布式检测研究仍然具有高内存、大量通信、在真实环境下缺乏可行性等问题,本发明提出一种基于可编程交换机的分布式阈值自适应采样的heavy hitter检测方法,可以自适应调整多个交换机的本地采样阈值以精确检测heavyhitter。在高精确度检测heavy hitter的同时,也具有低内存消耗、低通信量的特点。
为了实现上述技术效果,本发明主要包括如下关键技术点:
本发明可以自由设置检测精度。每个网络流量表示为(x,vx)键值对。其中x是流的唯一标识ID,如源/目的地址对,或五元组;vx表示数据包的数量或数据包的大小。本发明以固定的时间间隔进行heavy hitter测量任务。网络中heavy hitter如下:是人工给定一个百分比阈值,且/>用来划分heavy hitter和网络流量。S=∑vx,为流x在时间间隔内的所有流量之和,S(x)=vx为流x的大小。当流x满足/>的时候,流x被认为是一个heavy hitter。
系统可以根据测量任务所需要的检测精度确定的全局阈值/>将数据流捕获分为两个阶段,逐级定位测量任务关注的大流,并根据历史流量分布情况自适应地调整每个可编程交换机中采样阈值的设置,可编程交换机根据采样阈值将采样出的部分大流(即潜在heavy hitter),发送到控制器在全局角度再次进行判断,以此检测heavy hitter。
关键点2:可编程交换机上运行的高速数据流统计数据结构。
第一阶段,使用sketch数据结构记录所有流量的计数。sketch是统计流量的数据结构,用于跟踪固定数量的条目(称为存储桶)中的值。本发明选用Count-Min-Sketch,Count-Min-Sketch设计了两种操作类型:更新和查询,更新操作负责使用交换机中传入的数据包信息不断更新sketch;而查询操作用于检索特定流传入交换机的数据包估计总量。估计特定流的数据包数量或累计大小是正确检测heavy hitter的基础。
第二阶段,使用自适应采样阈值得到潜在heavy hitter采样表,记录heavyhitter的键值对(流量ID与计数器计数)。由于sketch记录的仅仅是键值对中的值只能通过哈希散列读取指定键的计数,所以将sketch报告给中心控制器时并不能知道应当查询哪个键值读取相应计数器。因此需要一个新的数据结构记录sketch中大流的键值对用来记录潜在heavy hitter的键值对以便报告给中心控制器同意判断是否是heavy hitter。当到来数据包所在网络流在sketch中计数器大小超过交换机本地保存的本地采样阈值的时候,通过哈希将当前键值对映射到潜在heavy hitter采样表中。
关键点3:中心控制器上运行的全网heavy hitter协调检测算法。
当交换机观察到有经过的流量具有超过阈值的计数时,它们必须有效地与协调器通信。本发明提出一种协调协议,该协议确定交换机报告哪些流,以及协调器如何使用这些报告来确定网络范围内的大流。
首先,协调算法检测报告中的heavy hitter。本发明的算法为流量更新计数器并检查计数器是否超过交换机本地采样阈值,若超过阈值则由流标识符索引的简单键值存储将计数存储在交换机上,在每个时间间隔的末尾交换机将超过本地采样阈值的流量报告给协调器,而不是发现某一个流量超过采样阈值即报告,因此大大降低了通信成本不会对网络状态造成影响。中心控制器通过所有交换机发送的报告估计网络中所有流量的总体大小S,并根据网络管理员给定的检测精度计算heavy hitter全局阈值/>当中心控制器收到多个交换机发送的流f的报告时,估算流的总体大小Sf。若收到的流f的报告数量Sf超过阈值时,中心控制器确定流f是heavy hitter。
例如网络中有两台交换机A和B,流x在交换机A上计数器大小为95,在交换机B上计数器大小为10。若交换机A上的本地阈值为60,交换机B的本地阈值为55,因为95>60因此会被报告;10<55因此不会被报告。实际上流x在交换机A和B中的大小为105,但是报告上去的为95,所以95是估算值。
其次,协调算法根据本时间间隔的报告更新交换机中的本地采样阈值。于此同时,中心控制器还会重新计算并更新发送流f报告的每个交换机的阈值。因为网络流量具有明显的时间特性,即两个相邻的时间间隔中的流量比较相似,为了报告给中心控制器的流量键值对尽量准确框定属于总体流量大于的流量,因此协调检测算法会根据上一个时间间隔的heavy hitter键值对更新下一个时间间隔的交换机本地采样阈值。若同一交换机在同一时间间隔中报告了多个heavy hitter则计算每个heavy hitter对于该交换机采样阈值的影响。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
图1展示了控制器与多台可编程交换机的交互过程。图示101为中心控制器,在每个时间间隔中处理图示102潜在heavy hitter报告,利用全局阈值筛选出heavy hitter,同时计算并更新每台交换机的本地采样阈值。图示104为可编程交换机,负责在每个时间间隔内给中心控制器发送超过本地采样阈值的流量的键值对,即图示102潜在heavy hitter报告。
图2示出了控制器与网络中每一台可编程交换机交互过程。时间被划分为均匀间隔,并且在每个时间间隔中,每个可编程交换机在图示204所表示的潜在heavy hitter报告表中存储那些数据包计数大于图示203所代表的动态本地采样阈值的流的键值对。在每个时间间隔结束时,如果任何可编程交换机在其潜在heavy hitter报告表中存储一个或多个数据包计数大于本地采样阈值的流,它将向中心控制器发送包含这些流键值对的一个报告,即图示205。图示206为中心控制器,会根据在给定的时间间隔内收到的交换机发送的潜在heavy hitter报告估计整个网络的容量。中心控制器利用估计的网络量计算全局阈值,并获取所有网络范围内的heavy hitter,即来自潜在heavy hitter报告表中数据包计数大于全局阈值的流。最后,如图示208,所有的计数器,包含交换机本地采样阈值都被重置,并开始一个新的时间间隔。
图3示出了可编程交换机负责根据采样阈值生成潜在heavy hitter报告的过程。图示301为到达交换机的一个数据包,图示302可编程交换机首先提取数据包的ID为x,例如源IP地址或五元组等。若计数标准为数据包大小,则vx表示当前数据包大小;若计数标准为数据包数量,则vx为1代表一个数据包。图示303为本发明中使用的Count-Min sketch,用于记录高速网络流的计数。sketch构建为r行桶,每行有w个桶,每个桶都与一个初始化为零的计数器相关联。对于接收到的数据包(x,vx)使用r个哈希散列函数将x散列到r行中的每一行中的一个桶中,并将对应的桶的计数器增加vx,图示303中灰色方格表示流x在Count-Minsketch的每行中命中的计数器。Count-min sketch为了减少hash冲突,因此设置了r行,第一行一个流x对应一个vx,但是这个vx可能因为hash冲突会偏大,因此Count-Min sketch设置其余r-1行并都使用不同的hash,这样流x在每一行都有一个vx。对于流x,为了尽量减小哈希冲突对统计准确性的影响,Count-Min sketch使用r行中的对应最小的计数器作为vx的估计值。最后查询的时候返回最小的vx。若更新后流x在Count-Min sketch中查询的vx与图示302本地采样阈值寄存器中的值比较,若大于本地采样阈值则使用一个哈希映射将键值对(x,vx)记录在图示304的潜在heavy hitter采样表中。在时间间隔的末尾,复制一个数据包,将图示305的潜在heavy hitter采样报告写入数据包中发送给中心控制器。
图4示出了中心控制器上运行的全网heavy hitter协调检测算法。
中心控制器协调检测算法的第一部分利用全局信息检测heavy hitter。图示401的中心控制器通过将所有交换机发送的潜在heavy hitter采样报告(图示402)的流量数据包统计值相加,得到网络中所有流量的总体大小S。图示404为根据网络管理员设置的检测精度计算得到heavy hitter全局阈值为
当中心控制器收到多个交换机发送的流x的报告时,将多个交换机发送的采样报告中流量x的值相加得到流的大小Sx。若Sx大于阈值中心控制器判定流x为heavyhitter,在示405的heavy hitter集合中更新流x的标识x。
中心控制器协调检测算法的第二部分工作利用全局信息协调计算并更新交换机本地采样阈值,形成自适应阈值闭环。假设交换机集合为N,对于交换机i(i∈N)发送的潜在heavy hitter采样报告表中包含流量集合F。对于流f∈F,在交换机i发送的报告表中的大小为Ci,f,计算流f在所有报告中的大小为:
计算Sf在交换机i中所占比例为:
其中EWMA(Exponentially Weighted Moving Average)表示指数加权移动平均,是对观察值分别基于不同的权数,按不同权数求得移动平均值,α表示学习率,α取不同值使得算式对距离当前时间节点近的数据的关注程度不一样。例如α取0.8表示对距离当前时间点近的数据关注度更高,对历史数据随着时间推移影响逐渐减小。
则流f在交换机i中的采样阈值为:
Tf,i=fracf,i(Tglobal-Sf)+Cf,i
若交换机i发送的报告包含多个流,则对每个流都计算其对应的采样阈值Tf,i,并使用Tf,i。更新对应EWMA。但是由于可编程交换机上内存等资源的限制,为每个流量都计算一个本地采样阈值在大流量测量任务中不具有可行性,因此计算多个流量的本地采样阈值的均值作为交换机的唯一本地采样阈值如下:
最后,中心控制器重置交换机i的所有计数器,并更新其本地采样阈值为Ti。
本发明模拟了一个由n台可编程交换机组成的一体式交换机网络。为了使用来自点对点链路的数据对网络流量的空间局部性进行建模,本发明根据源IP地址的哈希将来自跟踪的数据包与给定的入口交换机相关联。对于每个源IP地址,本发明以概率p为特定入口交换机分配亲和性。因此,来自给定源IP的数据包总共分布在l台交换机中,以概率p在一个主交换机上处理,并以概率(1-p)/(l-1)在其他交换机上处理,其中n,l≥2。本发明在实验中设置n=4,l=2,即一共4台可编程交换机,每个流分布在2台交换机中。
本发明在表1中展示了本发明与现有技术在同一数据集下的表现。在内存消耗方面与现有技术相比本发明在可编程交换机上只需要保存一个本地采样阈值,而现有技术需要保存每流阈值,因此减少了一半的内存空间,于此同时如表1所示,在同一数据集下本发明可以与现有技术达到相似甚至更高的检测精度。在通信方面,现有技术实时报告潜在heavy hitter且重复报告,本发明每个时间间隔仅发送一次报告,因此大大减少了消息数。
表1
本发明在表2.1到2.3中展示了本发明与另一现有技术在同一数据集下不同流量分布下的heavy hitter仿真检测效果对比。首先在表2中可以发现另一现有技术的方法对流量分布极为敏感,并且仅当同一流量大部分都分布在单台交换机上时表现较好。而本发明检测效果在任何流量分布下都比较稳定,且heavy hitter检测效果比另一现有技术更好。这是因为另一现有技术中每台交换机仅使用其本地信息判断heavy hitter,而忽略了全局信息;本发明中使用全局信息计算采样阈值,因此不受到本地流量分布的影响。其次,另一现有技术需要具有一定经验根据不同网络情况调整两个重要参数W,K,而本发明中的EWMA学习率α不需要根据不同网络情况调整,只需提前设置检测精度即可,更具有操作性。
表2.1 p=0.95
表2.2 p=0.7
表2.3 p=0.5
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种基于自适应采样阈值的网络大流检测系统,其中包括:
多台可编程交换机,每台可编程交换机根据预设的本地阈值,将在时间间隔中数据包计数大于该本地阈值的数据流作为候选流,并在当前时间间隔结束时将候选流及其对应的数据包计数以报告表的方式发往中心控制器;
中心控制器,用于根据所有可编程交换机的报告表,以各候选流对应的数据包计数之和,作为网络中所有流量的流量总值,根据该流量总值和预设检测精度得到全局阈值,将数据包计数大于该全局阈值的候选流作为网络大流,并根据网络流量的时间特性,更新该可编程交换机的该本地阈值。
所述的基于自适应采样阈值的网络大流检测系统,其中该可编程交换机,用于使用sketch构建r行桶,每行有w个桶,每个桶都与一个初始化为零的计数相关联;可编程交换机每接收一个数据包,记录该数据包的ID为x和该数据包的计数值vx;对(x,vx)使用r个哈希散列函数将x散列到sketch中的一个桶中,并将对应的桶的计数增加vx;数据流x在sketch中查询的vx与本地阈值相比较,若大于,则使用哈希映射将键值对(x,vx)记录在该报告表中。
所述的基于自适应采样阈值的网络大流检测系统,其中该中心控制器,用于将所有可编程交换机发送的报告表的流量数据包统计值相加,得到该流量总值S,根据网络管理员设置的该检测精度得到全局阈值Yglobal为/>收到多个交换机发送的候选流x的报告时,将多个交换机发送的采样报告中候选流x的值相加得到候选流的数据包计数值Sx,若Sx大于/>判候选流x为网络大流;
可编程交换机集合为N,对于交换机i(i∈N)发送的报告表中包含流量集合F,对于候选流f∈F,在可编程交换机i发送的报告表中的计数值为Ci,f,计算流f在所有报告表中的大小Sf为:
计算Sf在可编程交换机i中所占比例fracf,i为:
其中EWMA表示指数加权移动平均,α表示学习率;
则候选流f在可编程交换机i中的采样阈值为:
Tf,i=fracf,i(Tglobal-Sf)+Cf,i
以可编程交换机i的所有候选流的采样阈值的均值作为可编程交换机i的本地阈值Ti:
重置可编程交换机i的所有计数器的数值,并更新其本地阈值为Ti。
所述的基于自适应采样阈值的网络大流检测系统,其中该中心控制器用于将网络大流的优先级降低,以阻止DDoS攻击和拥塞。
本发明还提出了一种存储介质,用于存储执行所述任意一种基于自适应采样阈值的网络大流检测方法的程序。
本发明还提出了一种客户端,用于所述的任意一种基于自适应采样阈值的网络大流检测系统。
Claims (8)
1.一种基于自适应采样阈值的网络大流检测方法,其特征在于,包括:
步骤1、每台可编程交换机根据预设的本地阈值,将在时间间隔中数据包计数大于该本地阈值的数据流作为候选流,并在当前时间间隔结束时将候选流及其对应的数据包计数以报告表的方式发往中心控制器;
步骤2、中心控制器根据所有可编程交换机的报告表,以各候选流对应的数据包计数之和,作为网络中所有流量的流量总值,根据该流量总值和预设检测精度得到全局阈值,将数据包计数大于该全局阈值的候选流作为网络大流,并根据网络流量的时间特性,更新该可编程交换机的该本地阈值;
该中心控制器,用于将所有可编程交换机发送的报告表的流量数据包统计值相加,得到该流量总值S,根据网络管理员设置的该检测精度得到全局阈值Tglobal为/>收到多个交换机发送的候选流x的报告时,将多个交换机发送的采样报告中候选流x的值相加得到候选流的数据包计数值Sx,若Sx大于/>判候选流x为网络大流;
可编程交换机集合为N,对于交换机i(i∈N)发送的报告表中包含流量集合F,对于候选流f∈F,在可编程交换机i发送的报告表中的计数值为Ci,f,计算流f在所有报告表中的大小Sf为:
计算Sf在可编程交换机i中所占比例fracf,i为:
其中EWMA表示指数加权移动平均,α表示学习率;
则候选流f在可编程交换机i中的采样阈值为:
Tf,i=fracf,i(Tglobal-Sf)+Cf,i
以可编程交换机i的所有候选流的采样阈值的均值作为可编程交换机i的本地阈值Ti:
重置可编程交换机i的所有计数器的数值,并更新其本地阈值为Ti。
2.如权利要求1所述的基于自适应采样阈值的网络大流检测方法,其特征在于,该可编程交换机,用于使用sketch构建r行桶,每行有w个桶,每个桶都与一个初始化为零的计数相关联;可编程交换机每接收一个数据包,记录该数据包的ID为x和该数据包的计数值vx;对(x,vx)使用r个哈希散列函数将x散列到sketch中的一个桶中,并将对应的桶的计数增加vx;数据流x在sketch中查询的vx与本地阈值相比较,若大于,则使用哈希映射将键值对(x,vx)记录在该报告表中。
3.如权利要求1所述的基于自适应采样阈值的网络大流检测方法,其特征在于,该步骤2还包括将网络大流的优先级降低,以阻止DDoS攻击和拥塞。
4.一种基于自适应采样阈值的网络大流检测系统,其特征在于,包括:
多台可编程交换机,每台可编程交换机根据预设的本地阈值,将在时间间隔中数据包计数大于该本地阈值的数据流作为候选流,并在当前时间间隔结束时将候选流及其对应的数据包计数以报告表的方式发往中心控制器;
中心控制器,用于根据所有可编程交换机的报告表,以各候选流对应的数据包计数之和,作为网络中所有流量的流量总值,根据该流量总值和预设检测精度得到全局阈值,将数据包计数大于该全局阈值的候选流作为网络大流,并根据网络流量的时间特性,更新该可编程交换机的该本地阈值;
该中心控制器,用于将所有可编程交换机发送的报告表的流量数据包统计值相加,得到该流量总值S,根据网络管理员设置的该检测精度得到全局阈值Tglobal为/>收到多个交换机发送的候选流x的报告时,将多个交换机发送的采样报告中候选流x的值相加得到候选流的数据包计数值Sx,若Sx大于/>判候选流x为网络大流;
可编程交换机集合为N,对于交换机i(i∈N)发送的报告表中包含流量集合F,对于候选流f∈F,在可编程交换机i发送的报告表中的计数值为Ci,f,计算流f在所有报告表中的大小Sf为:
计算Sf在可编程交换机i中所占比例fracf,i为:
其中EWMA表示指数加权移动平均,α表示学习率;
则候选流f在可编程交换机i中的采样阈值为:
Tf,i=fracf,i(Tglobal-Sf)+Cf,i
以可编程交换机i的所有候选流的采样阈值的均值作为可编程交换机i的本地阈值Ti:
重置可编程交换机i的所有计数器的数值,并更新其本地阈值为Ti。
5.如权利要求4所述的基于自适应采样阈值的网络大流检测系统,其特征在于,该可编程交换机,用于使用sketch构建r行桶,每行有w个桶,每个桶都与一个初始化为零的计数相关联;可编程交换机每接收一个数据包,记录该数据包的ID为x和该数据包的计数值vx;对(x,vx)使用r个哈希散列函数将x散列到sketch中的一个桶中,并将对应的桶的计数增加vx;数据流x在sketch中查询的vx与本地阈值相比较,若大于,则使用哈希映射将键值对(x,vx)记录在该报告表中。
6.如权利要求4所述的基于自适应采样阈值的网络大流检测系统,其特征在于,该中心控制器用于将网络大流的优先级降低,以阻止DDoS攻击和拥塞。
7.一种存储介质,用于存储执行如权利要求1到3所述任意一种基于自适应采样阈值的网络大流检测方法的程序。
8.一种客户端,用于权利要求4到6所述的任意一种基于自适应采样阈值的网络大流检测系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210580579.8A CN115102716B (zh) | 2022-05-25 | 2022-05-25 | 一种基于自适应采样阈值的网络大流检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210580579.8A CN115102716B (zh) | 2022-05-25 | 2022-05-25 | 一种基于自适应采样阈值的网络大流检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115102716A CN115102716A (zh) | 2022-09-23 |
CN115102716B true CN115102716B (zh) | 2023-09-22 |
Family
ID=83289117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210580579.8A Active CN115102716B (zh) | 2022-05-25 | 2022-05-25 | 一种基于自适应采样阈值的网络大流检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115102716B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766600A (zh) * | 2022-11-01 | 2023-03-07 | 中国科学院计算技术研究所 | 在可编程交换机上进行流大小无关的流记录计数方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677324A (zh) * | 2019-09-30 | 2020-01-10 | 华南理工大学 | 基于sFlow采样与控制器主动更新列表的大象流两级检测方法 |
CN112367217A (zh) * | 2020-10-20 | 2021-02-12 | 武汉大学 | 一种面向软件定义网络的协作式大流检测方法及系统 |
CN113132180A (zh) * | 2021-03-11 | 2021-07-16 | 武汉大学 | 一种面向可编程网络的协作式大流检测方法 |
-
2022
- 2022-05-25 CN CN202210580579.8A patent/CN115102716B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677324A (zh) * | 2019-09-30 | 2020-01-10 | 华南理工大学 | 基于sFlow采样与控制器主动更新列表的大象流两级检测方法 |
CN112367217A (zh) * | 2020-10-20 | 2021-02-12 | 武汉大学 | 一种面向软件定义网络的协作式大流检测方法及系统 |
CN113132180A (zh) * | 2021-03-11 | 2021-07-16 | 武汉大学 | 一种面向可编程网络的协作式大流检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115102716A (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657038B (zh) | 一种基于对称度Sketch的网络流量异常检测与定位方法 | |
CN108028778B (zh) | 生成信息传输性能警告的方法、系统和装置 | |
Basat et al. | Memento: Making sliding windows efficient for heavy hitters | |
Xu et al. | Minimizing flow statistics collection cost of SDN using wildcard requests | |
EP1603273A1 (en) | Accelerated per-flow traffic estimation | |
EP1603274A1 (en) | Per-flow traffic estimation | |
EP2745468A1 (en) | Network-wide flow monitoring in split architecture networks | |
CN113132180B (zh) | 一种面向可编程网络的协作式大流检测方法 | |
CN113992539B (zh) | 网络安全动态路由跳变方法及系统 | |
US10038609B2 (en) | Network traffic analysis | |
US11706114B2 (en) | Network flow measurement method, network measurement device, and control plane device | |
CN115102716B (zh) | 一种基于自适应采样阈值的网络大流检测方法及系统 | |
Zhou et al. | An adaptive network data collection system in sdn | |
CN109952743B (zh) | 用于低内存和低流量开销大流量对象检测的系统和方法 | |
Scherrer et al. | Low-rate overuse flow tracer (loft): An efficient and scalable algorithm for detecting overuse flows | |
Ma et al. | Noise measurement and removal for data streaming algorithms with network applications | |
Zhang et al. | Identifying heavy hitters in high-speed network monitoring | |
Wang et al. | Simple and efficient identification of heavy hitters based on bitcount | |
CN111901237B (zh) | 源路由选路方法及系统、相关设备及计算机可读存储介质 | |
CN109361658A (zh) | 基于工控行业的异常流量信息存储方法、装置及电子设备 | |
US20170012835A1 (en) | Generating Traffic Query Responses Using an Interface Map | |
Odegbile et al. | Hierarchical virtual bitmaps for spread estimation in traffic measurement | |
JP2009267892A (ja) | 巨大フロー特定方法とシステムおよびプログラムとフロー制御システム | |
Sun et al. | Hee-sketch: an efficient sketch for sliding-window frequency estimation over skewed data streams | |
JP7414149B2 (ja) | コネクション数計測装置、方法、およびプログラム |
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 |