閱讀基於sketch的軟件定義網絡測量數據平面硬件模型
阿新 • • 發佈:2018-08-16
導致 分組 數據 png 規則 blog bloom 負責 提高
概要
- 硬件實現
- 基於sketch
- 功能:采集包數、流長數據,恢復五元組
- 重點:高速條件下性能較好,節省硬件資源
- 摘要: 提出一種基於sketch 數據結構的軟件定義測量數據平面硬件模型,並在以現場可編程邏輯門陣列(FPGA)為核心的可編程網絡設備NetMagic 上進行了實現。利用部署在硬件FPGA 高速SRAM 中的通用sketch 數據結構高效地采集數據平面流量數據,控制平面收集並緩存統計數據,提供給上層的測量應用使用。使用count-min sketch和2-universal散列函數實現了在高速流量下實時的分組處理和流量統計;使用Bloom filter 在控制平面恢復流量的原始5元組信息,解決了sketch數據結構的不可逆問題。使用CERNET 骨幹網流量數據對原型系統進行的評估結果表明,該原型系統使用極其有限的硬件資源實現了對較大規模網絡流量的實時測量,同時具備較好的測量精度。
背景
抽樣技術
- 通過選擇具有代表性的網絡流量數據分組子集,以該子集推斷總體流量的特征信息,可以直接降低流量數據的處理時間和設備內存的占用空間。
sketch
- 較小的內存空間
- 合適的sketch數據結構提高數據流算法的執行效率和估計精度
- 更新效率極高
sketch缺點
- IO性能要求要,sketch的數據結構一般需要在硬件的SRAM中實現
- 需要不同sketch組合實現,不同sketch數據結構、流字段、內存空間不同,這樣導致在硬件上實現的sketch數據結構的靈活程度非常有限,很難被不同的流量測量應用所復用。
- 即算法只對網絡流執行一次計算,且散列過程不可逆,因此,sketch無法保留原始流量的分組信息。
sdn測量
- 將控制平面從網絡設備的數據平面中剝離,大大增強了網絡管理的簡單性和靈活性
- 數據平面和控制平面相分離同時,意味著網絡流量測量的數據平面也和控制平面相分離,這大大增加了網絡流量測量的靈活程度
- 基於流的轉發規則也使對網絡流量進行更細粒度的測量成為可能
- 轉發至專門的測量服務器,可以將測量應用直接部署在控制器中
本文工作
- 提出了一種軟件定義測量數據平面硬件模型,並基於SDN化的FPGA設備NetMagic進行了原型實現和評估。
- 該數據平面模型部署在FPGA的板載SRAM 中,
- 實現了在線速下實時地統計流量的分組計數和流長計數。控制平面負責收集和緩存統計信息,提供給上層測量應用使用,並且能夠恢復被測流量的原始5元組信息
- 本文使用真實的骨幹網CERNET流量數據和異常檢測算法對該數據平面模型的測量效率和精度進行了評估,結果表明,該原型系統在對較大規模網絡流量進行異常檢測的測量任務中,使用非常有限的硬件資源達到了較好的測量精度。
- 使用count-min sketch和2-universal散列函數實現了在高速流量下實時的分組處理和流量統計
- 使用Bloom filter 在控制平面恢復流量的原始5元組信息,解決了sketch數據結構的不可逆問題。
- 使用CERNET骨幹網流量數據對原型系統進行的評估結果表明,該原型系統使用極其有限的硬件資源實現了對較大規模網絡流量的實時測量,同時具備較好的測量精度。
實現
相關工作
- OpenSketch
- UnivMon
- 都消耗了大量的硬件資源
- Count-Min sketch:https://www.cnblogs.com/vancasola/p/9457423.html
- Bloom filter:https://baike.baidu.com/item/bloom%20filter/6630926
閱讀基於sketch的軟件定義網絡測量數據平面硬件模型