概要

  • 硬件实现
  • 基于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骨干网流量数据对原型系统进行的评估结果表明,该原型系统使用极其有限的硬件资源实现了对较大规模网络流量的实时测量,同时具备较好的测量精度。

实现

相关工作

阅读基于sketch的软件定义网络测量数据平面硬件模型的更多相关文章

  1. 网络测量中基于Sketch方法的调查

    目录 LD Sketch SeqHash What's New reversible sketch Count-Sketch和Count-min sketch Diamond Sketch: Accu ...

  2. 软件定义网络基础---SDN数据平面

    主要介绍SDN架构和转发模型 一:传统网络设备 (一)传统设备控制平面和数据平面 (二)数据平面的任务 数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成 (三)传统网络数据平面数 ...

  3. 《软件定义网络:SDN与OpenFlow解析》

    <软件定义网络:SDN与OpenFlow解析> 基本信息 原书名:SDN: Software Defined Networks 原出版社: O'Reilly Media 作者: (美)Th ...

  4. SDN:软件定义网络

    近期高级网络课的小组任务是在老师给定的范围内自选方向主题研究并做展示报告.我们组选了sdn.原以为这东西会是工业界无人问津的概念化产品,Google了一下却发现事实上sdn挺火的,因为它可能带来的可扩 ...

  5. openflow 和 sdn (软件定义网络) 原理和教程

    OpenFlow概述 OpenFlow简介 通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议.OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTa ...

  6. SDN前瞻 该来的来了!SDN 软件定义网络

    SDDC:Software Defined Data Center 软件定义数据中心,全数据中心软件化. 在我们接触SDN概念之前,服务器虚拟化,软件虚拟化技术已经是非常成熟了.如果网络能够被虚拟化, ...

  7. SDN前瞻 软件定义网络的一些概念

    SDN的核心:可编程性 SDN的思想:SOA面向服务 面向服务的体系结构(service-oriented architecture SOA) 使网络连接的大量计算机易于合作,以 服务 而不是人工交互 ...

  8. 软工之词频统计器及基于sketch在大数据下的词频统计设计

    目录 摘要 算法关键 红黑树 稳定排序 代码框架 .h文件: .cpp文件 频率统计器的实现 接口设计与实现 接口设计 核心功能词频统计器流程 效果 单元测试 性能分析 性能分析图 问题发现 解决方案 ...

  9. 什么是SDN(软件定义网络)(转载)

    软件定义网络(Software Defined Network, SDN)在InfoWorld于2011年11月公布的将影响未来10年的十项新技术中排名第二.2012年7月,SDN代表厂商Nicira ...

随机推荐

  1. python中静态方法(@staticmethod)和类方法(@classmethod)的区别

    一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法. 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用. 这有利于组织代码,把某些应 ...

  2. 洛谷 P2469 [SDOI2010]星际竞速 解题报告

    题目描述 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的梦想,来自杰森座α星的悠悠也是其中之一. 赛车大赛的赛场由N颗行星和M条双向星际航路构成,其 ...

  3. Http请求超时的一种处理方法

    URLConnection类常见的超时处理就是调用其setConnectTimeout和setReadTimeout方法: setConnectTimeout:设置连接主机超时(单位:毫秒) setR ...

  4. 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)

    下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数: DWORD WINAPI ThreadProc(    while(!bTerminate)    {        // 从 ...

  5. Mybatis学习第四天——Mybatis与Spring整合

    主要介绍mapper配置与mapper的扫描配置,使用dao层的配置这里不多说. 1.导包 1.1 Mybatis的jar包 1.2 Spring的jar包 1.3 Spring与Mybatis整合包 ...

  6. Mybatis学习第四天——一对一&&一对多

    两表关系: 1.Mybatis中一对一关系 <!-- 两表联查,通过相同属性user_id left join 表示以左边的表为主表 --> <select id="fin ...

  7. Android 退出app,后台推送的服务也停止了,怎么可以做到不停止后台服务呢?

    service粘性等的那4种方式试了,三星的可以,小米老款手机可以,新款不行,华为新款也不行,还有魅族什么的,都不行,新款的手机上都有一个安全中心,只有在安全中心里面添加上允许app自启动才可以 怎么 ...

  8. Java基础之PDF文件的合并

    1.首先下载一个jar包:pdfbox-app-1.7.1.jar 2.代码如下: package com; import java.io.File; import java.io.IOExcepti ...

  9. maven(17)-自动发布到远程linux服务器

     发布方式 手工方式:需要做一系列的工作,包括打WAR包,上传到服务器,重启服务器,删除旧文件等 自动方式:一条命令完成以上所有过程 服务器环境 centos7.3和tomcat8,关于cento ...

  10. android 实现微信分享多张图片的功能

    昨天公司老大通知客户改需求了,原来的微信分享改成分享多张图片,然后屁颠屁颠跑到微信平台看了以后 心里千万只草泥马狂奔而过,微信平台没有提供分享多张的SDK有木有啊,我们只能自己调用系统自带的分享功能实 ...