一种面向可编程交换机的自适应heavyhitter检测方法

未命名 08-18 阅读:100 评论:0

一种面向可编程交换机的自适应heavy hitter检测方法
技术领域
1.本发明属于网络安全与网络测量交叉领域,尤其涉及一种面向可编程交换机的自适应heavy hitter检测方法。


背景技术:

2.随着计算机科学的飞速发展,互联网正在呈现出高速率、大规模、灵活多变等特点,在这样的环境下,各类网络应用在网络服务质量方面提出了更高的要求,而heavy hitter指的是报文数量、字节数或是连接数等在一定时间范围内累计超过一定程度的网络实体,是引发网络服务质量问题的最重要原因之一。目前,业界针对heavy hitter进行测量的方法主要分为基于状态测量的方法与基于流量测量的方法两类。
3.基于状态测量的方法是通过探测网络设备受网络影响而发生的特性变化来分析网络行为,被测量的对象通常是报文速率、报文时延、报文个数、设备带宽等等,通过对设备的行为信息搜集,推测网络运行状态与相关heavy hitter类型,代表方法有flowsense、in-situ oam和int(inband network telemetry)等。然而,这类方法往往会需要设备部署信息推送机制,包括将测量信息实时打包或者通过携带在业务报文中传递给服务器,给带宽以及报文负载带来较大的压力,且这种针对行为信息搜集的方法无法直接定位具体的heavy hitter,基本上都是作为异常节点的发现而非异常内容的解析。
4.基于流量测量的方法是针对网络中某些或是全部流量的特征进行测量的方法,往往能够将测量结果定位到具体具备heavy hitter属性的流量,有助于网络管理者更加深刻地、细粒度地了解网络特性,代表方法有count-min sketch、beaucoup和elastic sketch等。但是,这类方法逻辑复杂度高,尤其在流量负载很大的情况下容易影响设备的吞吐量,而且目前大部分方法存在准确率和任务覆盖面相矛盾的情况,准确率高的方法往往只针对单一heavy hitter任务无法适应当前各种攻击与大规模流量交错的网络环境,而覆盖面广的方法往往准确率较低且资源使用量巨大。


技术实现要素:

5.针对以上问题,本发明提出了一种面向可编程交换机的自适应heavy hitter检测方法,该方法组合了基于状态测量的方法与基于流量测量的方法,在获取完整的网络状况视图情况下,能够根据当前网络状态自适应地选择处理模式,在降低资源开销、保证节点吞吐率同时增加系统对heavy hitter的测量准确性。
6.报文在进入交换机网络接口之后,先通过部署在可编程交换机中的状态检测模块获得状态特征,判断当前测量状态。倘若测量状态为正常状态则报文直接转发;倘若测量状态为非正常状态,将测量状态存入metadata(用于存储模块处理需要用到的中间信息)后进行流级测量模块的处理。报文在进入流级测量模块后先在精确统计流表中进行匹配,根据匹配结果选择是否要进入sketch处理流水线完成可疑heavy hitter的检测与精确统计流表的更新。
7.为实现本发明的目的,本发明的详细技术方案如下:一种面向可编程交换机的自适应heavy hitter检测方法,该方法包括以下步骤:
8.(1)在每一个状态统计周期e
state
内,可编程交换机内的状态检测模块根据接收到的报文统计多维状态特征,并根据统计结果确定当前的交换机测量状态(测量状态包括正常状态、大流检测状态、攻击检测状态三种状态类型)。
9.(2)在每一个测量状态持续时间t内,根据当前的交换机测量状态类型,可编程交换机内属于流级测量模块的可重构sketch会自适应地选择相应的处理逻辑完成对应的测量任务。
10.(3)在每一个攻击检测状态持续时间ta内,流级测量模块中的可重构sketch会根据每一个流量检测周期e
flow
的结果自适应地调整测量资源的分配,从而提升整个测量状态持续时间内对攻击流量的测量准确性。
11.(4)在每一个流量检测周期e
flow
内,流级测量模块中的可重构sketch会将测量得到的可疑heavy hitter流量进行标识,并存入流级测量模块中的精确统计流表中等待进一步的精细化检测,最终完成每个测量状态下精确统计流表的迭代更新,得到测量结果。
12.作为本发明的一种改进,步骤(1)的具体方法如下:
13.(1.1)可编程交换机中部署四个寄存器以时间长度e
state
周期性地记录与报文相关的基础性数据,包括每个e
state
内的报文个数、报文总长度、tcp报文个数以及udp报文个数。
14.(1.2)利用寄存器统计的四项基础性数据,以时间长度e
state
周期性地计算多维状态特征。根据heavy hitter流量大、时常引发大量ip连接对与短报文等原因,选择带宽利用率、tcp报文占比、udp报文占比、报文平均长度四项状态特征进行统计。
15.(1.3)设定测量模式状态机中三种测量模式之间跳变的阈值条件。计算完多维状态特征之后,交换机根据测量模式状态机与上一个时间周期e
state
计算得到的四项状态特征,完成测量状态的跳变,将测量状态的类型id(0:正常状态,1:大流检测状态,2:攻击检测状态)存储到metadata中。
16.需要注意的是,测量状态之间存在优先级关系,考虑到网络攻击往往对网络质量的影响速度更快、程度更高,且短时间的攻击检测几乎不会影响到维持时间较长的大流,我们默认攻击检测状态的优先级最高,倘若在大流检测的持续时间th内,在某个e
state
发现需要进行攻击检测,系统会在下一个e
state
立即跳转到攻击检测状态。
17.通过该步骤,可编程交换机的测量过程根据不同时间节点的网络状态特征被给予了不同的测量目标与任务。
18.作为本发明的一种改进,步骤(2)的具体方法如下:
19.(2.1)报文经过步骤(1)的状态统计动作以后,根据metadata中插入的测量状态类型id,判断当前的交换机测量状态类型。
20.(2.2)倘若测量状态为正常状态,旁路交换机内的流级测量模块,报文直接转发。
21.(2.3)倘若测量状态为非正常状态,根据sketch处理的流程,流级测量模块内部署的sketch处理流水线由三大模块组成,分别代表sketch处理三大阶段中的哈希特征提取、报文属性计算、哈希冲突削减,每一个阶段包含多个并行子模块供选择组成一条完整的sketch处理流水线,不同的测量状态对应不同的处理子模块集。
22.根据metadata中的测量状态id进行查表(表项为状态id-sketch处理子模块id对
应表),查表结果(后续处理子模块集的id序号)携带在metadata中,交换机内的流级测量模块根据metadata中的查表结果选择对应的子模块组成特定的sketch处理流水线完成大流/攻击目标流的检测。
23.通过该步骤,根据当前交换机的测量状态,确定报文之后的动作处理(旁路流级测量模块、sketch大流检测、sketch攻击检测)。
24.作为本发明的一种改进,步骤(3)中路径规划算法的具体方法如下:
25.(3.1)根据metadata中的测量状态类型id判断当前的交换机测量状态是攻击检测状态,根据步骤(2)中的方法选择服务于攻击检测任务的子模块组成sketch处理流水线。
26.(3.2)在第一个流量检测周期e
flow
内,为了能够同时检测具备heavy hitter属性的不同类型攻击者,针对ddos和superspreader两种heavy hitter类型的攻击,均分流级测量模块中的sketch测量资源为两个子表s1和s2,分别负责ddos攻击检测和superspreader检测。
27.(3.3)后续的每个流量检测周期e
flow
内,根据上一个e
flow
的检测结果,流级测量模块在ddos与superspreader两种检测任务中选择当前检测周期中的主任务,则该任务所属子表在下一个e
flow
子表的行数加1,另一项子表的行数对应减1。为了保证在整个攻击检测周期ta内始终可以捕捉到多种heavy hitter攻击,在循环迭代上述操作过程中,任意一个e
flow
内需要保证负责非主任务的子表行数不低于1。
28.通过该步骤,处于攻击检测状态下的测量可以同时兼顾到多种heavy hitter属性的攻击,并自适应地区分出攻击种类,分配合适的测量资源提升测量效率。
29.作为本发明的一种改进,步骤(4)的具体方法如下:
30.(4.1)在每个流量检测周期e
flow
内,流级测量模块中的sketch将检测到的可疑heavy hitter(包括大流/ddos/superspreader)进行标识(大流采用ip对标识,ddos攻击采用dstip标识,superspreader攻击采用srcip标识),存入到精确统计流表中。
31.(4.2)在每个流量检测周期e
flow
内,进入交换机流级测量模块的报文首先需要在精确统计流表中进行匹配,匹配失败的报文送往sketch处理流水线,匹配成功的报文仅需要在流表中完成精确统计即可转发,精确统计得到不满足heavy hitter条件的流量标识会从流表中删除。在任意e
flow
内,精确统计得到满足heavy hitter条件的流量标识会在流表中保留至整个测量状态周期t结束。
32.(4.3)精确统计流表在精确统计的同时,针对表项中的各项流量标识完成辅助项的记录,用于进一步分析表中捕获的heavy hitter的持续性特征。辅助项主要是用于记录精确统计流表中已经满足保留条件的标识项在整个测量周期t内,存在多少次e
flow
期间的统计依然满足heavy hitter标准。
33.通过该步骤,通过组合精确统计流表与sketch设计的多级heavy hitter检测与验证机制,能够获得更加精确且直观的heavy hitter测量结果,同时提供了额外的统计数据,以便后续进行对应的防御决策分析。
34.有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:
35.(1)本发明能针对目前可编程交换机无法自适应地完成多种heavy hitter检测缺陷,设计了一种具备自适应测量能力的heavy hitter检测方法。通过结合状态级别和流量级别的测量方法,为heavy hitter检测提供了一套通用的测量框架,克服了以往可编程交
换机的测量缺陷,具有重要的现实意义。
36.(2)本发明提出了一套动态可重构的sketch设计方法,用于灵活的流量级测量。通过组合多个可灵活选择的sketch细粒度基本处理单元,实现了sketch在可编程交换机中的动态重新配置能力,并能够根据系统的自适应性合理分配sketch资源,以更少的测量资源获得更高的测量精度。
37.(3)本发明提出了一种基于精确统计流表的测量结果优化方法。通过部署精确统计流表来存储和验证从sketch中检测到的可疑heavy hitter,并分析heavy hitter的特性,帮助流量级测量模块消除由哈希碰撞造成的错误分类结果,并旁路大量本需要通过sketch检测的流量,具备更高的吞吐量,减少部署时对正常报文转发的影响。
附图说明
38.图1为自适应heavy hitter检测流程图;
39.图2为测量模式状态机示意图;
40.图3为可重构sketch处理流水线工作方法示意图;
41.图4为sketch攻击检测处理方法示意图;
42.图5为sketch资源自适应分配示意图;
43.图6为精确统计流表示意图;
44.图7为实验拓扑示意图。
具体实施方式:
45.为了加深对本发明的认识和理解,下面结合附图详细的介绍该技术方案。
46.实施例:如图1所示为本发明的流程示意图。报文在进入交换机网络接口之后,先通过部署在可编程交换机中的状态检测模块获得状态特征,判断当前测量状态。倘若测量状态为正常状态则报文直接转发;倘若测量状态为非正常状态,将测量状态存入metadata后进行流级测量模块的处理。报文在进入流级测量模块后先在精确统计流表中进行匹配,根据匹配结果选择是否要进入sketch处理流水线完成可疑heavy hitter的检测与精确统计流表的更新。
47.为实现本发明的目的,本发明的详细技术方案如下:一种面向可编程交换机的自适应heavy hitter检测方法,该方法包括以下步骤:
48.(1)在每一个状态统计周期e
state
内,可编程交换机内的状态检测模块根据接收到的报文统计多维状态特征,并根据统计结果确定当前的交换机测量状态(测量状态包括正常状态、大流检测状态、攻击检测状态三种状态类型)。
49.(2)在每一个测量状态持续时间t内,根据当前的交换机测量状态类型,可编程交换机内属于流级测量模块的可重构sketch会自适应地选择相应的处理逻辑完成对应的测量任务。
50.(3)在每一个攻击检测状态持续时间ta内,流级测量模块中的可重构sketch会根据每一个流量检测周期e
flow
的结果自适应地调整测量资源的分配,从而提升整个测量状态持续时间内对攻击流量的测量准确性。
51.(4)在每一个流量检测周期e
flow
内,流级测量模块中的可重构sketch会将测量得
到的可疑heavy hitter流量进行标识,并存入流级测量模块中的精确统计流表中等待进一步的精细化检测,最终完成每个测量状态下精确统计流表的迭代更新,得到测量结果。
52.其中,步骤(1)的具体方法如下:
53.(1.1)可编程交换机中部署四个寄存器以时间长度e
state
周期性地记录与报文相关的基础性数据,包括每个e
state
内的报文个数、报文总长度、tcp报文个数以及udp报文个数。
54.(1.2)利用寄存器统计的四项基础性数据,以时间长度e
state
周期性地计算多维状态特征。根据heavy hitter流量大、时常引发大量ip连接对与短报文等原因,选择带宽利用率、tcp报文占比、udp报文占比、报文平均长度四项状态特征进行计算。计算方法如公式所示:
[0055]-带宽利用率f1:考虑到相比于正常流量,heavy hitters引发的流量非常大,在这种情况下节点的数据包到达率非常高,使得带宽占用激增。
[0056][0057]-tcp报文占比f2:属于ddos攻击的tcp flood或者是superspreader扫描通过引发大量的ip连接对造成服务丧失攻击,同时带来大量的tcp报文。
[0058][0059]-udp报文占比f3:属于ddos攻击的udp flood攻击是在短时间内通过大量的udp短报文耗尽网络带宽资源。
[0060][0061]-报文平均长度f4:具备heavy hitter属性的网络攻击在短时间内构造大量无载荷内容的短报文引发大量连接或是耗尽网络带宽资源导致服务丧失。
[0062][0063]
(1.3)设定测量模式状态机中三种测量模式之间跳变的阈值条件。计算完多维状态特征之后,交换机根据测量模式状态机与上一个时间周期e
state
计算得到的四项状态特征,完成测量状态的跳变,将测量状态的类型id(0:正常状态,1:大流检测状态,2:攻击检测状态)存储到metadata中。如图2所示,θ1、θ2、θ3是需要在该步骤设定的测量模式状态机三种跳变阈值,θ1代表带宽利用率的异常阈值,θ2代表udp报文、tcp报文占比的异常阈值,θ3代表了报文平均长度的异常阈值。其中θ1、θ2根据具体实验环境进行预设,考虑到网络攻击一般利用64byte短报文,正常网络环境中的平均报文长度为reglen,根据公式可得到预设的θ3:
[0064]
θ3=reglen*(1-θ2)+64*θ2[0065]
需要注意的是,如图2所示,测量状态之间存在优先级关系,考虑到网络攻击往往对网络质量的影响速度更快、程度更高,且短时间的攻击检测几乎不会影响到维持时间较长的大流,我们默认攻击检测状态的优先级最高,倘若在大流检测的持续时间th内,在某个e
state
发现需要进行攻击检测,系统会在下一个e
state
立即跳转到攻击检测状态。
[0066]
通过该步骤,可编程交换机的测量过程根据不同时间节点的网络状态特征被给予
了不同的测量目标与任务。
[0067]
其中,步骤(2)的具体方法如下:
[0068]
(2.1)报文经过步骤(1)的状态统计动作以后,根据metadata中插入的测量状态类型id,判断当前的交换机测量状态类型。
[0069]
(2.2)倘若测量状态为正常状态,旁路交换机内的流级测量模块,报文直接转发。
[0070]
(2.3)倘若测量状态为非正常状态,根据sketch处理的流程,流级测量模块内部署的sketch处理流水线由三大模块组成,分别代表sketch处理三大阶段中的哈希特征提取、报文属性计算、哈希冲突削减,每一个阶段包含多个并行子模块供选择组成一条完整的sketch处理流水线,不同的测量状态对应不同的处理子模块集。
[0071]
根据metadata中的测量状态id进行查表,如图3所示,查表结果(后续处理子模块集的id序号)携带在metadata中,交换机内的流级测量模块根据metadata中的查表结果选择合适的子模块组成特定的sketch处理流水线完成大流/攻击目标流的检测。根据sketch处理的流程,流级测量模块内部署的sketch处理流水线由三大模块组成,分别代表sketch处理三大阶段中的哈希特征提取、报文属性计算、哈希冲突削减,每一个阶段包含多个并行子模块供选择组成一条完整的sketch处理流水线。
[0072]
针对(2.3),存在四项具体子步骤:
[0073]
第一,报文进行子模块匹配选择。报文进入流水线任意一个阶段后,首先需要将metadata中的id序号与该阶段的子模块id序号进行匹配,匹配成功的子模块可以接收并处理报文,匹配失败的子模块对报文不予处理。
[0074]
第二,报文进入sketch处理的哈希特征提取模块。如图3所示,倘若匹配得到的子模块id为1,则该子模块选择n个合适的哈希函数针对报文的源ip(srcip)与目的ip(dstip)对进行哈希运算,用hash1(srcip,dstip)表示该子模块的动作处理,服务于大流检测任务;倘若匹配得到的子模块id为2,则该子模块选择合适的n个哈希函数针对报文的srcip与dstip分别进行哈希运算,用hash2(srcip)、hash2(dstip)表示该子模块的动作处理,服务于攻击检测任务。
[0075]
第三,报文进入sketch处理的报文属性计算模块。如图3所示,倘若匹配得到的子模块id为1,则该子模块根据上一阶段n个hash1(srcip,dstip)计算得到的索引结果,在sketch表项的对应寄存器处进行累加,服务于大流检测任务;倘若匹配得到的子模块id为2,则该子模块根据上一阶段n个hash2(srcip)与hash2(dstip)计算得到的索引结果,在sketch表项的对应寄存器处进行位填充,具体操作为,该子模块调用一个特定的随机哈希函数hr对报文i的属性attr(i)进行哈希计算(索引计算输入为srcip,则属性为dstip,索引计算输入为dstip,则属性为srcip),满足如图4所示,m为sketch表项存储单元的bit位长度,[0,1)区间被等分为m份,[0,1/m),[1/m,2/m),

,[m-1/m,1),每一个区间对应了sketch表项存储单元中的一个bit位,根据hr(attr(i))计算结果落入的区间将对应的bit位置1,服务于攻击检测任务。
[0076]
第四,报文进入sketch处理的哈希冲突削减模块。如图3所示,倘若匹配得到子模块id为1,则该子模块针对前两个阶段得到的n个累加结果v1,v2,v3……vn
取最小值作为统计结果,即r1=min(v1,v2,v3……vn
),服务于大流检测任务;倘若匹配得到的子模块id为2,如图3所示,则该子模块针对前两个阶段得到的n个位填充结果v1,v2,v3……vn
进行按位与
作为统计结果,即r2=v1&v2&v3……
&vn,服务于攻击检测任务。
[0077]
通过该步骤,根据当前交换机的测量状态,确定报文之后的动作处理(旁路流级测量模块、sketch大流检测、sketch攻击检测)。
[0078]
其中,步骤(3)中路径规划算法的具体方法如下:
[0079]
(3.1)根据metadata中的测量状态类型id判断当前的交换机测量状态是攻击检测状态,根据步骤(2)中的方法选择服务于攻击检测任务的子模块组成sketch处理流水线。
[0080]
(3.2)在第一个流量检测周期e
flow
内,为了能够同时检测具备heavy hitter属性的不同类型攻击者,针对ddos和superspreader两种heavy hitter类型的攻击,均分流级测量模块中的sketch测量资源为两个子表s1和s2,分别负责ddos攻击检测和superspreader检测。如图5所示,考虑到sketch表项的大小:行数d,列数w,单元位宽m,得到s1和s2的大小:行数d/2,列数w,单元位宽m。针对s1,步骤(2)中的哈希特征提取模块采用d/2个h2(dstip),报文属性计算模块采用hr(srcip);针对s2,步骤(2)中的哈希特征提取模块采用d/2个h2(srcip),报文属性计算模块采用hr(datip)。
[0081]
(3.3)后续的每个流量检测周期e
flow
内,根据上一个e
flow
的检测情况,流级测量模块在ddos与superspreader两种检测任务中选择当前检测周期中的主任务,即倘若在上一个e
flow
存在报文经过两个子表s1和s2计算统计得到了v1&v2&v3……
&v
d/2
=2
m-1,如图5所示,则所属子表代表的任务类型为当前检测周期中的主任务,在下一个e
flow
子表的行数加1,另一项子表的行数对应减1。为了保证在整个攻击检测周期ta内始终可以捕捉到多种heavy hitter攻击,在循环迭代上述操作过程中,任意一个e
flow
内需要保证负责非主任务的子表行数不低于1。
[0082]
通过该步骤,处于攻击检测状态下的测量可以同时兼顾到多种heavy hitter属性的攻击,并自适应地区分出攻击种类,分配合适的测量资源提升测量效率。
[0083]
其中,步骤(4)的具体方法如下:
[0084]
(4.1)在每个流量检测周期e
flow
内,流级测量模块中的sketch将检测到的可疑heavy hitter(包括大流/ddos/superspreader)进行标识(大流采用ip对标识,ddos攻击采用dstip标识,superspreader攻击采用srcip标识),存入到精确统计流表中。可疑heavy hitter的定义为:
[0085]
针对大流检测任务:使得统计结果r1≥ε的ip对(srcip,dstip),ε是预设的大流统计阈值。
[0086]
针对攻击检测任务(ddos):使得统计结果r1=2
m-1的dstip。
[0087]
针对攻击检测任务(superspreader):使得统计结果r1=2
m-1的srcip。
[0088]
(4.2)在每个流量检测周期e
flow
内,进入交换机流级测量模块的报文首先需要在精确统计流表中进行匹配,匹配失败的报文需要送往sketch处理流水线,匹配成功的报文仅需要在流表中完成精确统计即可转发,精确统计得到不满足heavy hitter条件的流量标识会从流表中删除。如图6所示,精确统计流表中针对每一项可疑heavy hitter都同样采用m-bits位宽的寄存器cnt进行精确统计,在相同的e
flow
内,精确流表判定可疑heavy hitter是否为真正heavy hitter的标准为:
[0089]
针对大流检测任务(标识为(srcip,dstip)):报文匹配成功进行cnt累加,在e
flow
内完成cnt≥ε的可在精确统计流表中保留。表项中代表验证成功标志位的rf置1。
[0090]
针对攻击检测任务(标识为dstip):报文匹配成功利用hr(srcip)进行cnt的bit位填充,在e
flow
内完成cnt=2
m-1的可在精确统计流表内保留。表项中代表验证成功标志位的rf置1。
[0091]
针对攻击检测任务(标识为srcip):报文匹配成功利用hr(dstip)进行cnt的bit位填充,在e
flow
内完成cnt=2
m-1的可在精确统计流表内保留。表项中代表验证成功标志位的rf置1。
[0092]
在任意e
flow
内,精确统计得到满足heavy hitter条件的流量标识会在流表中保留至整个测量状态周期t结束。
[0093]
(4.3)精确统计流表在精确统计的同时,针对表项中的各项流量标识完成辅助项的记录,用于进一步分析表中捕获的heavy hitter特征。如图6所示,辅助项(ainf)主要是用于统计rf已被置1的标识项在整个测量周期t内,存在多少次e
flow
期间的统计始终满足(4.2)中的heavy hitter标准:
[0094]
针对大流检测任务(标识为(srcip,dstip)):报文匹配成功进行cnt累加,在e
flow
内完成cnt≥ε,且rf=1,可进行ainf=ainf+1。
[0095]
针对攻击检测任务(标识为dstip):报文匹配成功利用hr(srcip)进行cnt的bit位填充,在e
flow
内完成cnt=2
m-1,且rf=1,可进行ainf=ainf+1。
[0096]
针对攻击检测任务(标识为srcip):报文匹配成功利用hr(dstip)进行cnt的bit位填充,在e
flow
内完成cnt=2
m-1,且rf=1,可进行ainf=ainf+1。
[0097]
整个测量周期t结束后,根据ainf的值可判断所测量的heavy hitter的连续性特征,包括验证大流的突发性、ddos攻击的持续性。精确统计流表中所保留的heavy hitter标识即为测量结果。
[0098]
通过该步骤,通过组合精确统计流表与sketch设计的多级heavy hitter检测与验证机制,能够获得更加精确且直观的heavy hitter测量结果,同时提供了额外的统计数据,以便后续进行对应的防御决策分析。
[0099]
具体实施例1:
[0100]
若此次面向可编程交换机的heavy hitter检测方法逻辑需要被应用的可编程交换机接口速率为10g,工作流程如下。
[0101]
(1)设置检测时间参数:状态统计周期e
state
为1ms;攻击检测状态持续时间ta为5s,对应的流量检测周期e
flow
为100ms;大流检测状态持续时间th为60s,对应的流量检测周期e
flow
为1s。
[0102]
(2)设置检测阈值参数:带宽利用率异常阈值θ1为65%,udp报文、tcp报文占比异常阈值θ2为80%,报文平均长度的异常阈值θ3为330bytes;大流统计阈值ε为230。
[0103]
(3)设置检测资源参数:sketch表项资源600k,精确统计流表资源100k。
[0104]
(4)将heavy hitter检测逻辑烧录至可编程交换机中放入实验环境。
[0105]
实验一:单种任务检测准确率测试
[0106]
实验目的:
[0107]
验证系统进行heavy hitter检测的有效性。
[0108]
实验步骤:
[0109]
1.启动搭建好的网络拓扑,如图7所示,可编程交换机的网络接口连接四台服务
器,服务器中建立虚拟主机群用于互相发送背景流量。
[0110]
2.随机选择三类heavy hitter流量的一种(包括大象流的大流流量、包括ddos攻击的攻击流量、包括superspreader攻击的攻击流量),与正常背景流量混合,按照相同时间片长度划分为不同子集,由四个服务器分别交叉重放。
[0111]
3.查看系统中精确统计流表中的heavy hitter标识保留项,与背景流量中的真实heavy hitter情况进行比较。
[0112]
4.不重复地选择heavy hitter流量类型,进行多次实验。
[0113]
实验二:多种任务检测自适应性测试
[0114]
实验目的:
[0115]
验证系统在真实复杂网络环境下进行heavy hitter检测的准确性与可重构能力。
[0116]
实验步骤:
[0117]
1.如图7启动搭建好的网络拓扑。
[0118]
2.将caida真实网络数据集按照相同时间片长度划分为不同子集,由四个服务器分别交叉重放。
[0119]
3.查看系统中精确统计流表中的heavy hitter标识保留项,与背景流量中的真实heavy hitter情况进行比较。
[0120]
4.查看系统中精确统计流表中的heavy hitter标识对应的辅助项(ainf),与背景流量中真实heavy hitter情况进行比较。
[0121]
实验三:部署自适应heavy hitter检测系统吞吐量测试
[0122]
实验目的:
[0123]
测试自适应heavy hitter检测逻辑在可编程交换机中的部署对报文转发能力的影响。
[0124]
实验步骤:
[0125]
1.准备两套相同型号的可编程交换机,一套部署了自适应heavy hitter检测逻辑,一套未部署,如图7分别搭建好相同的网络拓扑。
[0126]
2.针对两套设备分别循环重放caida真实网络数据集,以1h为时间周期,利用网络测试仪周期性地对两套设备的平均报文转发速率进行测试。
[0127]
3.将部署自适应heavy hitter检测逻辑的可编程交换机报文转发速率与未部署的可编程交换机报文转发速率进行比较。
[0128]
需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。

技术特征:
1.一种面向可编程交换机的自适应heavy hitter检测方法,其特征在于,该方法包括以下步骤:(1)在每一个状态统计周期e
state
内,可编程交换机内的状态检测模块根据接收到的报文统计多维状态特征,并根据统计结果确定当前的交换机测量状态,测量状态包括正常状态、大流检测状态、攻击检测状态三种状态类型,(2)在每一个测量状态持续时间t内,根据当前的交换机测量状态类型,可编程交换机内属于流级测量模块的可重构sketch会自适应地选择相应的处理逻辑完成对应的测量任务,(3)在每一个攻击检测状态持续时间t
a
内,流级测量模块中的可重构sketch会根据每一个流量检测周期e
flow
的结果自适应地调整测量资源的分配,从而提升整个测量状态持续时间内对攻击流量的测量准确性,(4)在每一个流量检测周期e
flow
内,流级测量模块中的可重构sketch会将测量得到的可疑heavy hitter流量进行标识,并存入流级测量模块中的精确统计流表中等待进一步的精细化检测,最终完成每个测量状态下精确统计流表的迭代更新,得到测量结果。2.根据权利要求1所述的一种面向可编程交换机的自适应heavy hitter检测方法,其特征在于,步骤(1)的具体方法如下:(1.1)可编程交换机中部署多个寄存器以时间长度e
state
周期性地记录与报文相关的基础性数据,(1.2)利用寄存器统计的基础性数据,以时间长度e
state
周期性地计算多维状态特征,(1.3)计算完多维状态特征之后,根据测量模式状态机判定交换机即将要跳变到的测量状态类型,测量状态包括正常状态、大流检测状态、攻击检测状态三种状态类型。3.根据权利要求1所述的一种面向可编程交换机的自适应heavy hitter检测方法,其特征在于,步骤(2)的具体方法如下:(2.1)判断当前的交换机测量状态类型,(2.2)倘若测量状态为正常状态,旁路交换机内的流级测量模块,(2.3)倘若测量状态为非正常状态,根据查询到的测量状态是大流检测状态还是攻击检测状态,交换机内的流级测量模块选择合适的子模块组成特定的sketch处理流水线完成大流/攻击目标流的检测。4.根据权利要求1所述的一种面向可编程交换机的自适应heavy hitter检测方法,其特征在于,步骤(3)的具体方法如下:(3.1)判断当前的交换机测量状态是攻击检测状态,(3.2)在第一个流量检测周期e
flow
内,针对ddos和superspreader两种heavy hitter类型的攻击,均分流级测量模块中的sketch测量资源,(3.3)后续的每个流量检测周期e
flow
内,根据上一个e
flow
的检测情况,流级测量模块自适应地调整分配给ddos和superspreader两种攻击检测的sketch测量资源大小。5.根据权利要求1所述的一种基于段路由的带内遥测路径规划算法,其特征在于,步骤(4)重叠路径消除算法的具体方法如下:(4.1)在每个流量检测周期e
flow
内,流级测量模块中的sketch将检测到的可疑heavy hitter(包括大流/ddos/superspreader)进行标识,存入到精确统计流表中,
(4.2)在每个流量检测周期e
flow
内,进入交换机流级测量模块的报文首先需要在精确统计流表中进行匹配,匹配失败的报文需要送往sketch处理流水线,匹配成功的报文仅需要在流表中完成精确统计即可转发,精确统计得到不满足heavy hitter条件的流量标识会从流表中删除,(4.3)精确统计流表在精确统计的同时,针对表项中的各项流量标识完成辅助项的记录,用于进一步分析表中捕获的heavy hitter特征。

技术总结
本发明公开了一种面向可编程交换机的自适应heavy hitter检测方法,它结合了基于状态测量和流量测量的网络测量方法来实现自适应的heavy hitter检测。基于从状态测量模块定期获得的状态信息,本发明能够给出不同时间片最合适的测量任务,并调用流量测量模块动态地选择相应处理逻辑检测特定的heavy hitter。此外,本发明通过添加精确统计流表的方法,可以在较少的内存占用下将测量精度提高到极限,并进一步有效区分测量得到的heavy hitter类型。本发明通过搭建真实网络拓扑,利用真实的、包含多种heavy hitter流量的网络流量数据集对该发明的可行性进行验证。该发明的可行性进行验证。该发明的可行性进行验证。


技术研发人员:程光 赵德宇 王柯然 赵玉宇
受保护的技术使用者:东南大学
技术研发日:2023.05.16
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐