阅读基于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%20filter/6630926
阅读基于sketch的软件定义网络测量数据平面硬件模型的更多相关文章
- 网络测量中基于Sketch方法的调查
目录 LD Sketch SeqHash What's New reversible sketch Count-Sketch和Count-min sketch Diamond Sketch: Accu ...
- 软件定义网络基础---SDN数据平面
主要介绍SDN架构和转发模型 一:传统网络设备 (一)传统设备控制平面和数据平面 (二)数据平面的任务 数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成 (三)传统网络数据平面数 ...
- 《软件定义网络:SDN与OpenFlow解析》
<软件定义网络:SDN与OpenFlow解析> 基本信息 原书名:SDN: Software Defined Networks 原出版社: O'Reilly Media 作者: (美)Th ...
- SDN:软件定义网络
近期高级网络课的小组任务是在老师给定的范围内自选方向主题研究并做展示报告.我们组选了sdn.原以为这东西会是工业界无人问津的概念化产品,Google了一下却发现事实上sdn挺火的,因为它可能带来的可扩 ...
- openflow 和 sdn (软件定义网络) 原理和教程
OpenFlow概述 OpenFlow简介 通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议.OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTa ...
- SDN前瞻 该来的来了!SDN 软件定义网络
SDDC:Software Defined Data Center 软件定义数据中心,全数据中心软件化. 在我们接触SDN概念之前,服务器虚拟化,软件虚拟化技术已经是非常成熟了.如果网络能够被虚拟化, ...
- SDN前瞻 软件定义网络的一些概念
SDN的核心:可编程性 SDN的思想:SOA面向服务 面向服务的体系结构(service-oriented architecture SOA) 使网络连接的大量计算机易于合作,以 服务 而不是人工交互 ...
- 软工之词频统计器及基于sketch在大数据下的词频统计设计
目录 摘要 算法关键 红黑树 稳定排序 代码框架 .h文件: .cpp文件 频率统计器的实现 接口设计与实现 接口设计 核心功能词频统计器流程 效果 单元测试 性能分析 性能分析图 问题发现 解决方案 ...
- 什么是SDN(软件定义网络)(转载)
软件定义网络(Software Defined Network, SDN)在InfoWorld于2011年11月公布的将影响未来10年的十项新技术中排名第二.2012年7月,SDN代表厂商Nicira ...
随机推荐
- jquery each遍历判断返回false方法
在jquery each中遍历返回false失效,解决办法,用变量解决: var num = 0; $(".box").find("input[type='text']& ...
- bzoj一句话题解
发现好多人都在搞这个...本人也想来试试(Solved刚到70就搞这个靠不靠谱啊喂).会更新的.嗯. 1000-1029 1000 A+B problem (这个还需要一句话吗?). 1001 狼抓兔 ...
- C语言——无向带权图邻接矩阵的建立
#include <stdio.h> #include "Graph.h" #define MAX_INT 32767 /* #define vnum 20 #defi ...
- 给大家分享下坐标转换的代码的JS和Python两个版本的源码【转】
/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09).国测局坐标(火星坐标,GCJ02).和WGS84坐标系之间的转换 */ /** * 百度 ...
- 微服务架构之spring cloud feign
在spring cloud ribbon中我们用RestTemplate实现了服务调用,可以看到我们还是需要配置服务名称,调用的方法 等等,其实spring cloud提供了更优雅的服务调用方式,就是 ...
- Rxjava学习(一基础篇)
一.Rxjava跟EventBus的区别 RxJava 是一个响应式编程框架,通过一种扩展的观察者设计模式来实现异步操作. 跟AsyncTask和Handler类似,但是比AsyncTask和Hand ...
- qt 拖放dropEvent
1.拖放操作分为两个截然不同的动作: 拖动和放下. 拖动通过 void dragEnterEvent(QDragEnterEvent * event); 来实现. 放下通过 void dropEven ...
- JMeter测试WEB性能入门
一.JMeter介绍 1.Apache JMeter是什么 Apache JMeter 是Apache组织的开放源代码项目,是一个100%纯Java桌面应用,用于压力测试和性能测量.它最初被设计用于W ...
- .NET的那些事儿(9)——C# 2.0 中用iTextSharp制作PDF(基础篇) .
该文主要介绍如何借助iTextSharp在C# 2.0中制作PDF文件,本文的架构大致按照iTextSharp的操作文档进行翻译,如果需要查看原文,请点击一下链接:http://itextsharp. ...
- JavaScript学习---JavaScript深入学习
对象的概念 对象分类[3种]: ECMScript(JS自己的对象), BOM(浏览器对象) DOM(文档对象,操作HTML的) 11种内置对象: Array ,String ...