当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于草图的轻量级大象流检测方法及平台技术

技术编号:32232948 阅读:20 留言:0更新日期:2022-02-09 17:37
本发明专利技术公开了一种基于草图的轻量级大象流检测方法及平台,用于检测网络数据面中的大象流。本发明专利技术定期记录草图的重计数器,然后利用重计数器信息获取大象流键值,并通过自适应采样方案进一步降低计算开销。本方案可以部署在包括OVS

【技术实现步骤摘要】
一种基于草图的轻量级大象流检测方法及平台


[0001]本专利技术涉及云网络监测领域,尤其涉及一种可部署于网络数据面的基于草图的轻量级大象流检测方法及平台。

技术介绍

[0002]大象流检测对于许多网络管理技术而言是必不可少的,例如网络调度、异常检测、攻击检测等。这些技术需要大象流键值等先验信息辅助做出决策。而在虚拟云网络中,大象流检测更值得被高度关注。因为虚拟云网络基于物理网络的基础设施,通过虚拟化等技术,使单一网络设备可以被多租户共享,提升资源使用效率。但是与此同时,大象流带来的的负面影响也将被共享。根据云运维工程师的经验,来自一个租户的少量长寿大象流会耗尽云网络的转发资源,导致共享同一网络设备的数百个租户的网络性能下降。因此,在云网络中部署大象流检测势在必行。
[0003]作为一个高速转发平台,云网络的吞吐量极高,必须在极短的时间周期内完成单个数据包的处理。以CPU转发平台为例。一般云网络中,CPU单核需支持Mpps级转发能力,因此,单个数据包的转发必须在几千到几百个CPU时间周期内完成。此外,网络流量是动态变化的,且变化速度非常快。因此,许多网络管理技术对时间尺度有严格的限制,例如Planck要求以毫秒甚至微秒级别提取网络数据。因此,大象流检测也应在较小的时间尺度内完成,以避免流量分布发生变化而导致大象流检测的结果无效。综合考虑,云网络大象流检测算法更适合部署在数据面。因为如果将其部署在控制面,必须考虑数据在控制面与数据面之间传输的延迟。该时延较大,有时可达分钟级,这对于云网络运维来说是不可接受的。但是,出于成本考虑,云网络数据面可以留给大象流检测的资源是非常有限的。租户作为云网络真正服务的对象,绝大部分的云网络资源应供给给他们使用。大象流检测应在不影响租户性能的前提下被部署。因此大象流检测算法应该被设计地足够轻量级,消耗尽可能少的网络资源。
[0004]综上所述,在云网络设计一个低开销并可直接部署于数据面的大象流检测算法难度较大。

技术实现思路

[0005]本专利技术的目的是针对现有技术的不足,设计一套可部署在云网络数据面的轻量级、直接获取大象流键值的大象流检测方法及平台,供各种网络管理技术使用,包括异常检测、攻击检测、网络调度等。
[0006]本专利技术的目的是通过以下技术方案实现的:
[0007]本专利技术一方面提供一种基于草图的轻量级大象流检测方法,包括以下步骤:
[0008]S1:抓取数据包的键值信息与流量指标,根据所述键值信息将所述流量指标存入草图结构,所述草图结构为一张由d个长度相同的哈希表组成的表格,其中d个所述哈希表对应的哈希函数各自独立,所述流量指标根据所述键值信息进行d次独立的哈希计算,将所
述流量指标存储进对应的d个计数器;
[0009]S2:每隔固定周期T,输出S1中存储的草图结构,找到每个哈希表中值最大的前n个计数器,标记为重计数器;
[0010]S3:将S2中得到的重计数器信息返回网络数据面,并根据所述重计数器信息判断新到达数据包是否为大象流,若新到达数据包通过d次独立的哈希计算对应的d个计数器均属于重计数器,则认为该数据包属于大象流,并记录大象流键值,否则认为该数据包不属于大象流。
[0011]进一步地,所述键值信息根据所需检测精度,选择多元组不同字段组合,例如五元组、二元组等。
[0012]进一步地,当有新数据包到达时,对于bps流量指标,对应的计数器应加上该数据包长度值,对于pps流量指标,对应的计数器只要加1即可。
[0013]进一步地,S1中,将d次独立的哈希计算得到的结果作为索引,分别确定对应的d个计数器。
[0014]进一步地,S2中,通过最小堆算法或快速排序算法,找到每个哈希表中值最大的前n个计数器。
[0015]进一步地,S3中,由于S1中已经计算过d次哈希,可以直接使用S1中得到的d次哈希计算结果得到新到达数据包对应的d个计数器,无需引入大量额外开销。
[0016]进一步地,根据网络资源的限制情况,当分配给大象流检测的资源有限时,为了在保证较高精度的前提下降低开销,在每个周期一开始不采样,直到记录了足够多的大象流键值之后,才开始根据一定采样比进行采样;如果流量动态变化较快,也可以根据吞吐量情况,自适应调整采样比,始终保证大象流检测消耗计算资源一致。
[0017]本专利技术另一方面提供一种基于草图的轻量级大象流检测平台,包括:
[0018]流量存储模块:抓取数据包的键值信息与流量指标,根据所述键值信息将所述流量指标存入草图结构,所述草图结构为一张由d个长度相同的哈希表组成的表格,其中d个所述哈希表对应的哈希函数各自独立,所述流量指标根据所述键值信息进行d次独立的哈希计算,将所述流量指标存储进对应的d个计数器;
[0019]周期性分析模块:每隔固定周期T,读取流量存储模块中存储的草图结构,找到每个哈希表中值最大的前n个计数器,标记为重计数器,将重计数器信息返回网络数据面;
[0020]实时检测模块:根据重计数器信息判断新到达数据包是否为大象流,若新到达数据包通过d次独立的哈希计算对应的d个计数器均属于重计数器,则认为该数据包属于大象流,并记录大象流键值,否则认为该数据包不属于大象流。
[0021]进一步地,该平台还包括采样模块,当分配给大象流检测的资源有限时,通过自适应采样,在保证较高精度的前提下,降低大象流的开销。
[0022]进一步地,该平台可以部署于各种形式的网络转发平台,包括CPU转发平台、NFV转发平台、ASIC转发平台、SmartNIC转发平台。
[0023]本专利技术与现有技术相比,具有如下的优点:
[0024]第一,通过草图结构,本方法可以使用较低存储开销就完成云网络海量流量数据的存储;
[0025]第二,通过设计的独立检测方法,可以在不额外增加计算开销的前提下以较高精
度直接在云网络数据面得到大象流键值供各种网络管理技术使用;
[0026]第三,通过独特的采样方法,保证不大幅降低精度的前提下,大幅削减大象流检测需要的开销,几乎可以做到不影响网络转发平台的吞吐量;
[0027]第四,申请人在OVS

DPDK平台上实现了该方案,并且和其他方法对比。发现与不添加任何大象流检测方案对比,本申请方案仅导致3%的性能下降,并且相比对比算法仅需要1/4~1/50的内存开销,就可以达到同样的精度。
附图说明
[0028]图1是本专利技术实施例提供的基于草图的轻量级大象流检测方法流程图;
[0029]图2是本专利技术实施例提供的基于草图的轻量级大象流检测平台结构图。
具体实施方式
[0030]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。
[0031]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是本专利技术还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于草图的轻量级大象流检测方法,其特征在于,包括以下步骤:S1:抓取数据包的键值信息与流量指标,根据所述键值信息将所述流量指标存入草图结构,所述草图结构为一张由d个长度相同的哈希表组成的表格,其中d个所述哈希表对应的哈希函数各自独立,所述流量指标根据所述键值信息进行d次独立的哈希计算,将所述流量指标存储进对应的d个计数器;S2:每隔固定周期T,输出S1中存储的草图结构,找到每个哈希表中值最大的前n个计数器,标记为重计数器;S3:将S2中得到的重计数器信息返回网络数据面,并根据所述重计数器信息判断新到达数据包是否为大象流,若新到达数据包通过d次独立的哈希计算对应的d个计数器均属于重计数器,则认为该数据包属于大象流,并记录大象流键值,否则认为该数据包不属于大象流。2.根据权利要求1所述的方法,其特征在于,所述键值信息根据所需检测精度,选择多元组不同字段组合。3.根据权利要求1所述的方法,其特征在于,当有新数据包到达时,对于bps流量指标,对应的计数器应加上该数据包长度值,对于pps流量指标,对应的计数器只要加1即可。4.根据权利要求1所述的方法,其特征在于,S1中,将d次独立的哈希计算得到的结果作为索引,分别确定对应的d个计数器。5.根据权利要求1所述的方法,其特征在于,S2中,通过最小堆算法或快速排序算法,找到每个哈希表中值最大的前n个计数器。6.根据权利要求1所述的方法,其特征在于,S3中,由于S1中已经计算过d次哈希,可以直接使用S1中得到的d次哈希计算结果得到新到达数据包对应的d个计数器,无需引入大量额外...

【专利技术属性】
技术研发人员:戚依宁卢建元郭士杨方崇荣吕怡龙吕彪祝顺民程鹏陈积明
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1