網絡測量中基於Sketch方法的調查
目錄
- LD Sketch
- SeqHash
- What’s New
- reversible sketch
- Count-Sketch和Count-min sketch
- Diamond Sketch: Accurate Per-flow Measurement
- Finding top-k elements in data streams
- 附錄
- Bloom filter
- Quotient Filter and Cascade Filter
- 總結
LD Sketch
- 應用:網絡流中的
- 異常檢測
- heavy hitters檢測
- heavy changers檢測
- 優點:準確度、可擴展性
- 特點:
- 利用基於計數和sketch的技術
- 並行式架構(合並分布的流)
- 分為本地檢測和分布檢測
- 由兩種啟發式增強方法
- [1]
SeqHash
- 應用:
- 入侵防禦
- 大流檢測
- heavy hitters/changers 恢復
- 優點:快速精確,資源開銷小(僅略大於理論值)
- [2]
What’s New
在流量之間找到絕對的、相對的和可變的差異。
- 利用sketch來記錄流量
- 優點:
- 迅速
- 空間開銷小
- [3]
reversible sketch
流量變化檢測,異常檢測 並不能保存流量的關鍵信息(IP etc.),難以恢復異常流量的關。推斷流的關鍵信息
- 特點:
- 以很小的內存開銷,記錄包的信息,
- 確定變化(異常)的流,以及流的關鍵信息
- [6]
Count-Sketch和Count-min sketch
- 有相似性能
- 應用:高速流的統計
- 優點;
- 空間開銷小
- 速度較快
- [7]
Diamond Sketch: Accurate Per-flow Measurement
for Real IP Streams
- 針對skewed IP流,sketch的測量空間效率低,Diamond Sketch為每個流動態分配sketch數。
- 優點:提升了測量的精確度並保持一定的速度。
- [8]
Finding top-k elements in data streams
- 應用:檢測數據流中最常見元素
- 優點:
- 空間開銷小
- 速度快
- [9]
附錄
Bloom filter
- Bloom Filter(BF)是一種空間效率很高的隨機數據結構,它利用位數組很簡潔地表示一個集合
- 歷史:Bloom-Filter,即布隆過濾器,1970年由Bloom中提出。
- 應用:用於檢索一個元素是否在一個集合中。
- 特點:Bloom Filter有可能會出現錯誤判斷,但不會漏掉判斷。
- 適用場景:Bloom Filter”不適合那些“零錯誤的應用場合。而在能容忍低錯誤率的應用場合下,Bloom Filter比其他常見的算法(如hash,折半查找)極大節省了空間。
- 優點:是空間效率和查詢時間都遠遠超過一般的算法,
- 缺點:是有一定的誤識別率和刪除困難。
- 更多詳細信息,可見[10][11]
Quotient Filter and Cascade Filter
- Quitient Filter 和Cascade Filter算法由Bender等人設計,是一個空間效率高的概率性數據結構
- 應用:用於檢索一個元素是否在一個集合中。
- 優點:對插入、查詢、刪除操作由高吞吐量,比Bloom Filter高了兩個數量級。
- 更多詳情見[12][13]
總結
- 基於sketch的方法以計數/統計為主,常用於大流/異常流量檢測,也可以根據測量結果恢復出包的關鍵信息。
- 主要優點:
- 節省空間資源
- 速度較快
- 主要缺點:
- 不精確
- 計算開銷較大
參考文獻:
[1] A hybrid local and distributed sketching design for accurate and scalable heavy key detection in network data streams
[2] Sequential hashing: A flexible approach for unveiling significant patterns in high speed networks
[3] What’s New: Finding Significant Differences in Network Data Streams
[6] Reversible Sketches: Enabling Monitoring and Analysis Over High-Speed Data Streams
[7] An improved data stream summary: the count-min sketch and its applications
[8] Diamond Sketch: Accurate Per-flow Measurement
[9] Finding top-k elements in data streams
[10] https://www.cnblogs.com/zhxshseu/p/5289871.html
[11] https://en.wikipedia.org/wiki/Bloom_filter
[12] https://en.wikipedia.org/wiki/Quotient_filter
[13] Don’t Thrash: How to Cache your Hash on Flash
網絡測量中基於Sketch方法的調查