高速网络流量测量方法的记录

周爱平,程光,郭晓军.高速网络流量测量方法.软件学报,2014,25(1):135-153. http://www.jos.org.cn/1000-9825/4445.htm

主要问题

  • 可扩展性,不能够适应高速网络环境.

解决方案

  • 利用高性能的专用硬件,极其昂贵;
  • 利用抽样技术,虽然降低了系统的负荷,但却存在较大的误差;
  • 利用数据流技术,有效地减少存储资源的需求,同时保持一定的准确性.

数据缩减

  • 高速链路,网络流量数据进行缩减,保留网络流量数据的特征信息.
  • 根据网络流量测量的应用需求,数据缩减技术主要分为:抽样和数据流两种.
  • 抽样技术的目的是选择具有代表性的网络流量数据分组子集,通过该子集推断网络流量总体数据分组的特征信息.
  • 数据流技术是将庞大的信息压缩到较小的存储空间并保持一定的精确度,数据流技术具有在线实时处理和有限存储空间的特性.
  • 目前还没有一种通用的网络流量测量方法.

网络测量方法的评价指标

  • 实时性

  • 准确性

  • 可扩展性

  • 存储复杂性

  • 计算复杂性

  • 误报(false positive)

  • 真阴性(true negative)

  • 令FP为误报数,TN为真阴性数,则误报率(false positive rate)为

  • 漏报(false negative)

  • 真阳性(true positive)

  • 令FN为漏报数,TP为真阳性数,则漏报率(false negative rate)为

  • 检测率(detection rate)是指被检测为异常事件的异常事件数与实际异常事件总数的比率,则检测率为
    由于Rd+Rf-=1,因此实际应用中仅需考虑误报率与检测率.

抽样技术

  • 抽样技术是指从原始流量数据中选择有代表性的分组子集,通过该分组子集推断原始流量数据的特征.可在满足问题统计精度的条件下,减少用于测量、存储和处理的数据量.

  • 在高速网络流量测量中,抽样方法实现受到技术和资源的限制,往往需要在抽样率和估计精度之间加以折中.

分组抽样

分组抽样(packet sampling)是指对构成网络流量的分组进行抽样,每个分组都是独立的,不考虑分组之间的相关性.
(1) 系统抽样(systematic sampling)

(2) 简单随机抽样(simple random sampling)

(3) 分层随机抽样(stratified random sampling),按照元素的排列顺序进行划分,也可以按照元素的分组长度、协议类型等进行分层,然后分别进行抽样.均匀分层随机抽样(uniform stratified radom sampling).

(4) 改进的系统抽样BSS(biased systematic sampling),EBS(efficient byte sampling)

流抽样

  • 流抽样(flow sampling)是指在测量时间内对网络流进行抽样,构成网络流量的分组并不是孤立的,它们是为了完成具体的应用而产生的,它们之间存在着一定的关联,流是体现这种关联的一种方式.

抽样方式

  • 先对分组进行抽样,再对分组进行流归并;

  • 先对分组进行流归并,再对流进行抽样.

  • 由于分组的大小是受传输技术限制的,其最大长度不会超过网络能够支持的最大值,但是流的大小却是不受影响的.

  • 对于流量计费,关注流量的长度、大小,大流丢失会导致大量信息损失,因此需要保证大流被抽样;

  • 如果对所有的流按照相同的概率进行抽样,少量的大流信息很容易被漏掉.然而对于异常监测,需要保留尽量多的流信息,如SYN Flooding,DoS攻击等通常由大量的小流构成.

  • 静态的抽样率,动态选择抽样率.

  • 自适应的抽样方法需要消耗大量CPU资源,依赖于复杂的数据结构与算法。

  • 然而,由于测量精度不仅受到抽样函数的影响,而且受到流长分布的影响,选择一个独立的静态抽样函数也是不够的.Selection Sampling(S3)方法,通过利用流长分布信息选择合适的抽样函数,能够调整抽样函数,获得更高的测量精度.

数据流方法

  • 高速链路上网络流具有实时性、连续性、无界性等特点,从而决定了处理网络流的算法只对网络流执行一趟计算,而且只需要使用有限的计算和内存资源.对这种网络流进行计算的算法必须满足以下条件:
  • 算法需要使用的空间必须足够小;
  • 处理和更新必须迅速、简单;
  • 对于查询必须有一定的准确度保证.
  • 数据流方法具有单遍扫描、有限的计算和内存资源等特点,是高速网络流量测量的重要方法.

熵估计

  • 网络流量的熵有助于许多网络监测应用,如异常检测.在高速链路上流量的熵的测量需要低CPU和存储要求的准确算法.

Bitmap

  • Bitmap将某个域映射到位数组.直接的Bitmap是一种流数估计算法,利用Hash函数将流标识映射到Bitmap中的一位.Bitmap初始化为0,当分组到达时,将该分组的流标识映射到Bitmap中的一位,并置该位为1.属于同一流的所有分组映射到Bitmap中的同一位置,因此,无论每个流发送多少分组,每个流至多对应于Bitmap中的一位.Bitmap中为1的位数作为流数的估计,由于存在Hash冲突,流数估计是不准确的.

  • 基于Timestamp Vector算法是基于Bitmap算法的扩展,保持了基于Bitmap的流数估计算法的速度快和内存小的优点.

Hybrid SRAM/DRAM Counter

  • 在高速网络环境中有效地存储和维护大量的计数器.
  • 数据流算法将工作内存组织为一个概要数据结构(sketch),用来捕获尽可能与统计估计相关的信息. sketch由计数器数组构成,有一个共同的在线操作(hash and increment).在高速链路上,巨大的网络流量使得数据流算法需要大量的计数器,某些计数器取值较大,因此,计数器在低速DRAM的存储和维护不适用于高速链路,而计数器在高速SRAM中的存储和维护满足高速链路.

Count-Min Sketch

Bloom Filter

Space-Code Bloom Filter(SCBF)利用Bloom

Counter Braids

BRICK

基于抽样与数据流方法的应用

  • 抽样与数据流方法是高速网络流量测量的重要方法,广泛应用于大流识别、流长分布估计等.本节主要从大流识别、流长分布估计、异常检测和超点检测应用角度介绍高速网络流量测量方法,并比较不同方法的优劣.

大流识别

  • 在互联网中,少量的大流占据了网络流量的大部分,它们对于网络计费、流量工程等应用非常重要.在高速网络环境下,存在巨大的网络流,缓存所有流信息需要较大的内存.由于在路由器等网络设备中SRAM非常昂贵,而DRAM又无法达到线速的要求

  • 抽样技术已经广泛应用于大流识别.

  • 在流量测量中,每种流方法缺乏可扩展性.在高速链路上,网络流数是巨大的,绝大部分网络流量是由少数大流产生的,而少部分网络流量由多数小流产生.因此,减小小流的抽样率可能是避免误报的一种合理的策略.

流长分布估计

  • 流长分布对于流量建模和网络管理是非常重要的测度.
  • 流长分布有助于服务提供商推断网络的使用模式
  • 流长分布有助于检测引起全局的网络动力学模式变换的事件
  • 流长分布有助于检测各种互联网安全攻击.
  • 对于流长分布估计,简单的方法是使用一个由每个流的计数器构成的Hash表,跟踪所有的活跃流,通过计数器值估计流长分布.虽然该方法比较简单,但不适用于高速链路.
  • 另外一种方法是选择少量的分组,然后从抽样的流量推断流长分布[53],该算法能够从抽样数据获得尽可能多的信息,而它的估计精度受到低抽样率的影响.

异常检测

  • 对高速骨干网络流量进行实时监测、及时地发现网络流量异常并追踪定位异常源,并做出合理的响应,是保证网络有效运行的重要措施.

  • 异常检测主要分为两类:基于特征的检测和基于统计的检测.

  • 两类检测方法各有优、缺点:基于特征的检测方法的优点是能够准确地检测已知的异常,其缺点是不能检测未知的异常,同时需要预先设定特征库,特征库的规模将影响检测性能;

  • 基于统计的检测方法的优点是能够准确地检测已知的和未知的异常,同时不需要预先设定特征库.因此,基于特征的检测不适用于高速骨干网络.

  • 为了满足在高速网络环境下实时处理的要求,抽样与数据流技术已经成为可扩展互联网流量测量与异常检测的重要组成部分.

  • 在高速链路上,流抽样是非常有吸引力的、可扩展的获取流统计信息的测量方法.流抽样对网络异常检测的影响已经得到广泛的研究.

超点检测

在高速链路上实时、准确地检测网络安全事件,如DDoS攻击、端口扫描、蠕虫传播等,对网络安全和网络管理具有重要意义.这些安全事件具有类似的行为特征,如:端口扫描和蠕虫传播是由在短时间内源主机与不同目的主机建立大量的连接引起的,而DDoS攻击是由大量的主机泛洪到一个目的主机引起的.它们的共同特点是:源(目的)主机发送或接收到大量来自于不同目的(源)主机的连接.

  • 超点是指在测量时间内与大量源(目的)主机连接的目的(源)主机
  • 超点检测是指检测在测量时间内发送或接收大量流数的源(目的)主机.维护流存在的状态信息和地址的状态信息,是超点检测的难点.

高速网络流量测量技术的研究成果

  • 虽然分组抽样方法降低了存储和处理开销,但同时也给网络流量测量带来了许多不确定性,如降低异常检测的检测率、不准确的流的大小估计.由于构成网络流量的分组并不是孤立的,它们是为了完成应用功能而产生的,它们之间存在着一定的关联.因此,流抽样方法广泛应用于大流识别、流长分布、异常检测以及超点检测之中,均获得了较好的性能.尽管抽样方法产生了一个原始数据的代表子集,每个被抽样对象都确实存在于原始数据中,但是,从这些数据推断出的关于原始对象的结论却并不一定准确.如果能够从原始数据产生一些概要信息,这些信息能够支持一些常规的查询,而且其结果具有相同或者更好的准确性,同时,这种方法需要更小的存储或计算需求、具有更小的响应时间.于是,数据流方法应运而生.数据流方法具有执行一趟计算,而且只需要使用有限的计算和内存资源的特性,广泛应用于流长分布估计、熵估计、连接度估计等.
  • 实际上,每种网络流量测量方法是针对具体的应用而提出的,具有一定的局限性,因而,多种网络流量测量方法的有效结合,有助于提高算法的测量精度.
  • 两种分组抽样方法的结合分组抽样和流抽样方法的结合,抽样方法与数据流方法的结合,均有利于提高算法的性能.抽样方法和数据流方法相结合,已经应用于网络测量与网络安全之中.研究发现,抽样方法和数据流方法适用于捕获信息谱中不同和互补的区域,抽样方法和数据流方法的结合,能够恢复完整的信息.

讨 论

主要问题

  1. 抽样方法对数据进行有效压缩,同时又能保留流量的原始特征信息,有效地缓解了网络测量的处理和存储困难,然而估计却存在较大误差;
  2. 存储技术的发展滞后于高速链路速率的增长,导致无法满足一些网络应用的实时性要求;
  3. 网络流量测量的可扩展性问题,现有的许多网络测量方法往往是针对具体的应用需求,不能够扩展到高速网络环境,造成了许多资源的低效利用;
  4. 网络流量测量方法评价指标量化的问题,评价指标的合理量化值得深入研究;
  5. 小流的识别问题,在实际的网络环境中,许多攻击是由小流组成的,高速链路上网络流量中大部分是小流,无法实时地监测每个小流;
  6. 高速网络环境下并发连接度检测问题;
  7. 分布式网络测量问题;
  8. 高速链路上数据流入侵检测系统的构建问题.

发展趋势和未来的研究方向

  1. 可重构硬件成为网络设备未来的发展趋势,可重构技术使得网络流量测量与分析功能以组件的形式集成到网络设备中成为可能
  2. 无线网络的流量测量方法研究,现有的有线网络测量方法在无线网络测量中的适用性、可扩展性以及针对无线网络特性的新测量方法研究;
  3. 随着移动通信网络和Web技术的发展,以微博为代表的在线社交网络已成为人们信息共享和舆论传播的重要媒介,利用网络测量方法了解其网络拓扑特征与用户行为特征等基本属性,已成为网络流量测量研究与发展的趋势之一;
  4. 利用云计算平台强大的数据处理能力来处理海量网络流量,提高网络流量测量的效率,已成为网络流量测量研究与发展趋势之一;
  5. 网络流量测量方法应具有可扩展性的能力,以满足多种网络应用需求;
  6. 针对高速网络中节点连接度检测问题,在深入分析高速链路上数据流特性的基础上,设计出更高效的数据结构来组织数量庞大的并发连接记录,以支持更快的查询等操作;
  7. 针对现有的大部分抽样方法对小流估计存在的较大误差,自适应的抽样方法动态地调整抽样率,有利于提高估计精度;
  8. 抽样方法和数据流方法通常适合于获取信息谱中不同的和互补的信息域,抽样方法与数据流方法相结合,能够有助于恢复完全的信息;
  9. 针对小流的检测问题,可以通过流抽样和数据流方法减少处理和存储开销; 分布式网络测量实施;
  10. 构建适用于高速链路上的数据流入侵检测系统.

总 结

近年来,随着链路速率的提高和网络应用的多样化,巨大的数据流给网络流量测量与分析带来挑战,高速网络流量测量方法逐渐成为研究的热点之一.高速网络流量测量方法大致经历了一个“报文抽样-流抽样-数据流”的发展历程.高速网络流量测量方法的主要目标是:在保证一定准确性的前提下降低所需要的处理和存储开销.本文将高速网络流量测量方法分为抽样方法和数据流方法,在此基础上,介绍了抽样方法和数据流及其应用,利用统计学方法对获得的流量信息进行推断,分析了它们的各种网络统计信息量的精度、计算和存储复杂度,指出了它们的不足之处.提出了高速网络流量测量方法存在的主要问题、发展趋势以及未来的研究方向.

posted @ 2018-07-19 09:50  范加索尔拉  阅读(801)  评论(0编辑  收藏  举报