基于Sketch的网络测量方法介绍
阅读转载于https://www.sdnlab.com/22685.html
一、背景
SDN(Sofeware Defined Networking):转控分离。控制器具有全局视野,可对网络进行调度、制度策略,实时提供网络信息,有利于sketch的应用实施;
网络测量:抽样技术和数据流技术两种方法。其中数据流技术利用散列将庞大的信息压缩到较小的空间内,目前被广泛应用的是基于sketch的网络测量方法;
sketch:一种基于散列的数据结构,可在高速网络环境中,实时地存储流量特征信息,只占用较小的资源;目前主要有ReversibleSketch、OpenSketch、Sketchvisor等相关改进及实现。
二、Sketch原理
是基于散列的数据结构,设置散列函数,将具有相同散列值得键值数据存入相同的桶中,以减少空间开销。桶中的数据值作为测量结果,是真实值的近似。
注:散列(Hash):将元素通过一个函数转换为整数,使得该整数可以尽量唯一地代表这个元素;其中这个函数即为散列函数。
利用开辟二维地址空间、多重散列等技术减少散列冲突,以提高结果的准确率。
Count-Min sketch:分类的思想-->将具有相同哈希值的网络流归为一类,并使用一个计数器计数;
- 如何处理包
Count-Min sketch由多个哈希函数(f1...fn)和一张二维表组成。二维表的每个存储空间维护了一个计数器,其中每个哈希函数分别对应二维表中的每一行。

有几个哈希函数就要计算几次,取这m个计数器中的最小值作为测量值。
- 设计考量
测量值偏大——>哈希冲突;
允许有误差——>估计值;
设置多个哈希函数——>减少哈希值的冲突,以减少误差;
哈希函数个数——>需要权衡测量精度和准确度。
基于sketch的方法,利用散列技术对网络流进行粗粒度的分类,得出测量的估计值,满足高速环境下实时测量的需求,节约计算和空间的开销。
三、Sketch研究热点
- Sketch的数据结构
Count-Min sketch:分类的思想;设置多个散列函数来减少散列冲突,取最小值;<Cormode G, Muthukrishnan S. An improved data stream summary: the count-min sketch and its applications. [J] Springer Journal of Algorithm, 2004, LNCS 2976,pp. :29-38>
Reversible sketch:根据测量信息推出信息的来源;
<SCHWELLER R, GUPTA A, PARSONS E, et al. Reversible sketches for efficient and accurate change detection over network data streams[C]//Proceeding of the 2004 ACM SIGCOMM Conference on Internet Measurement. 2004: 207-212.>
SeqHash:应用于入侵检测、大流检测,快速且资源开销小;
<Bu T, Cao J, Chen A, et al. Sequential hashing: A flexible approach for unveiling significant patterns in high speed networks[J] Computer Networks 54 (2010) 3309-3326.>
top-k:应用于检测数据流中最常见的元素。
<Homem N, Carvalho J P . Finding top-k elements in data streams [J] Information Sciences, 2010, 180 (2010) : 4958–4974>
- 基于Sketch的测量框架
NSID'13的OpenSketch:首次将sketch应用在SDN中;
<YU M, JOSE L, MIAO R. Software defined traffic measurement with OpenSketch[C]//Presented as Part of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 13). 2013: 29-42.>
LD-Sketch:结合基于计数的方法和基于Sketch的方法,用于检测heavy hitter和heavy changers,保持了一定的准确度和稳定性;
<] Huang Q, P. C. Lee P. A hybrid local and distributed sketching design for accurate and scalable heavy key detection in network data. streams.[C]//Proceeding of the 2014 IEEE INFOCOMM conference. 2014: 298-315.>
Sketchvisor:是基于sketch的测量框架,将过载流量导入Fast Path,完成高速环境下测量;

<Huang Q, Jin X, P. C. Lee P, et al. SketchVisor: Robust Network Measurement for Software Packet Processing[C]//Proceedings of the 2017 ACM SIGCOMM Conference, 2017: 113-126.>
SketchLearn:通过解耦资源配置和精确度的参数,利用自动统计推断提取流量数据;
<Huang Q , P. C. Lee P, Bao Y. SketchLearn: Relieving User Burdens in Approximate Measurement with Automated Statistical Inference[C] //Proceedins of the 2018 ACM SIGCOMM Conference, 2018: 576-590.>
ElasticSketch:根据环境动态调整的测量框架。
<Yang T, Jiang J, Liu P, et al. Elastic Sketch: Adaptive and Fast Network-wide Measurements[C]//Proceeding of the 2018 ACM SIGCOMM Conference, 2018:561-575>

浙公网安备 33010602011771号