阅读基于sketch的软件定义网络测量数据平面硬件模型
概要
- 硬件实现
- 基于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 filter/6630926