A Sophisticated Packet Forwarding Scheme with Deep Packet Inspection in an OpenFlow Switch

来源:International Conference on Software Networking

发表时间:2016

针对问题

  • support an extended view of the OpenFlow architecture by inspecting not only the packet header but also the payload information in the packets.
  • 交换机不能根据有效载荷的特性实现网络流量的分类和负载均衡。
  • 传入虚拟交换机的数据包应该发送到外部中间件或者运行DPI模块的虚拟机, 该过程可能需要额外处理。
  • 传入交换机的数据包与内核空间中的任何流表都不匹配,则会将其传到user space造成数据包I/O开销。

解决方案

  • 通过修改Open vSwitch(OVS)的源代码,将DPI功能添加到OVS,并与DPDK相结合。
  • 使用AC-BM算法中的多模式匹配概念快速检测预定义的字符串模式及其在数据包中的位置。
  • 使用DPDK,让OVS将I/O数据包复制到自己的user space,并直接缓存每个CPU内核的进程,无需内核干预。
  • 为了通过分析日志来利用统计信息,使用商业日志服务器LogPresso将大量日志在短时间内读取和写入数据库中。

贡献有哪些

  • 在虚拟OpenFlow交换机中实现DPI模块。
  • 通过操作日志服务器和监视应用来处理通过交换机的流量。

相关工作

  • 中间盒有限制,难以用网络管理工具控制中间盒流量按想要的序列流动。SIMPLE 和FlowTags引入了标签处理,它使用数据包中的标签来表示中间盒的序列。 此方法提供了一种更简单的方法来控制中间盒之间的流量路径。 但是,当修改数据包包头时,它们可能很难控制路径,并且它们的方法还需要对中间框进行复杂的修改以定义标记。
  • Intel-QOSMOS描述了加速DPI的各种方法

Deep Packet Inspection based Application-Aware Traffic Control for Software Defined Networks

来源:Global Communications Conference

发表时间:2016

针对问题
  • 当前的OpenFlow只能匹配OSI模型中的1层到4层信息,包括入口端口,广域网(WLAN),IP地址和TCP / UDP。难以将应用层(L7)的特征映射到流表。
  • , only information derived from TCAM is considered when flow table generated.
  • 在资源受限和动态拓扑的场景中,多路径转发不能运用在不稳定的通信链路。
  • 在数据平面中实现应用感知可能降低网络节点的性能,当匹配每个分组特性时耗时过大造成网络拥塞将不满足QoS需求。

解决方案

  • 通过扩展流表的结构,将深度包检测(DPI)无缝地引入SDN的控制平面。L7信息映射到流量控制策略。
  • 在交换机中设计并部署了根据流量行为进行流量分类和匹配的机制。
  • 使用序metadata来标记流量行为。
  • 为了提高应用感知模块的效率,数据包只有在第一次到达时才会被发送到SDN控制器进行识别。
  • 方案分为数据聚合,元数据匹配,行为识别,流表生成和流量优化几步。为了组件之间信息交换,提出了基于publisher/subscriber的中间件。

主要贡献

  • 应用感知功能无缝地集成到SDN控制平面中,大大增强网络的可见性,进而可以以更细粒度的的方式控制整个网络,提高吞吐量,改善延迟和抖动等网络性能.
  • 在SDN控制器上实现基于publisher/subscriber的中间件,加速组件之间的信息交换。

不足之处

Deep Packet Inspection Management Application in SDN

来源:International Conference on Computing and Communications Technologies (ICCCT)

发表时间:2016

主要内容

创建一个DPI的应用程序

架构

  • JMS基础设施:用于发送/接收数据包信息的消息流。
  • 数据分析引擎:用于分析应应用数据特征。
  • MongoDB数据库(非关系型):将分析结果信息存入数据库。
  • 用户可自定义阈值,当流达到阈值是触发SNMP警报。
  • DPI管理应用程序:提供控制/阻止网络中的数据流量的规定;通过OpenDaylight控制器公开的RESTful API为OVS导出新流的功能;以定义的时间间隔自动触发数据提取过程,以获取最新的网络应用程序流量。

应用程序及其内部模块的详细视图

模块说明
  • Application Dashboard:a)实时提供应用程序使用情况;b)实时流量检测计数
  • JMS消息处理程序:a)实现从交换机读取JSON元数据的客户端;b)发送流配置消息到ODL以控制网络
  • 数据分析引擎:a)MongoDB聚合分析,用于对应用程序特征进行分组的MangoDB聚合分析;b)基于时间间隔的分析
  • SNMP支持:Trap support as part of reaching threshold configured by the user
  • 数据存储:用于存储交换机DPI插件检测到的应用程序流量,后者将用于聚合的进一步数据分析
  • 图形支持
  • JSON解析器/构建器:用构建和解析于Controller和应用的JSON数据流
  • 测试实用程序

不足

  • 没为数据分析添加机器学习算法

SDN+DPI文献阅读(2)的更多相关文章

  1. SDN+DPI文献阅读

    MultiClassifier: A combination of DPI and ML for application-layer classification in SDN 来源:Internat ...

  2. 文献阅读笔记——group sparsity and geometry constrained dictionary

    周五实验室有同学报告了ICCV2013的一篇论文group sparsity and geometry constrained dictionary learning for action recog ...

  3. 文献阅读 | The single-cell transcriptional landscape of mammalian organogenesis | 器官形成 | 单细胞转录组

    The single-cell transcriptional landscape of mammalian organogenesis 老板已经提了无数遍的文章,确实很nb,这个工作是之前我们无法想 ...

  4. SDN中的Heavy-Hitter测量文献阅读

    Heavy Hitter Detection and Identification in Software Defined Networking 来源:International Conference ...

  5. 空间插值文献阅读(Geostatistical approaches for incorporating elevation into the spatial interpolation of rainfall)

    空间插值技术应用必读论文---P. Goovaerts, Geostatistical approaches for incorporating elevation into the spatial ...

  6. 文献阅读方法 & 如何阅读英文文献 - 施一公(转)

    附: 如何看懂英文文献?(好) 看需求,分层次 如何总结和整理学术文献? Mendeley & Everything 如何在pdf文献上做笔记?福晰阅读器 自己感悟: 一篇专业文献通常会有几页 ...

  7. phd文献阅读日志-博一上学期

    为了记住并提醒自己阅读文献,进行了记录(这些论文都是我看过理解的),论文一直在更新中. 博一上学期: 1.week 6,2017.10.16 2014-Automatic Semantic Model ...

  8. RTCM32编解码中的一些概念及相关文献阅读

    1. IODC和 IODE ——  导航电文相关.iode/iodc是在GPS系统的ICD2中定义的参数,iode指星历数据事件,iodc指星钟数据事件. IOD 是 issue of data ,数 ...

  9. AutoML文献阅读

    逐步会更新阅读过的AutoML文献(其实是NAS),以及自己的一些思考 Progressive Neural Architecture Search,2018ECCV的文章: 目的是:Speed up ...

随机推荐

  1. noip斗地主

    题解: 5分钟看题 25分钟码完 然后调了一下 样例1s??? 好吧我把只出一张牌当成决策了.. 判断了一下前面没有出牌再考虑这个决策(是不是傻逼??) 交上去65 于是愉快的改状压 改到一半的时候想 ...

  2. 1000. A+B Problem

    Description Calculate a+b Input Two integer a,b (0<=a,b<=10) Output Output a+b Sample Input 1 ...

  3. Android动画模式

    在Android中,有两种动画模式:Tween Animation(渐变动画)和Frame Animation(帧动画).渐变动画是通过对场景里的对象不断做图像变换(平移.缩放.旋转等)来产生动画效果 ...

  4. Python_socketserver

    socketserver ----->> 服务器端的开发 socketserver:   实现服务器端同时处理多个请求 通过两个主要的类来处理网络请求: 服务类 请求处理类 一.服务类 1 ...

  5. Python_socket

    TCP : 可靠传输,不安全,UDP: 安全传输,不可靠 一台机器上有2^16-1=65535个端口(1-1024)保留自己开就1024往上 socket (套接字):也可以理解为它是一个管道,用于描 ...

  6. scrapy 基础使用以及错误方案

    原先用的是selenium(后面有时间再写),这是第一次使用scrapy这个爬虫框架,所以记录一下这个心路历程,制作简单的爬虫其实不难,你需要的一般数据都可以爬取到. 下面是我的目录,除了main.p ...

  7. Mysql8远程不能登录报错

    mysql8远程登录报错Client does not support authentication protocol requested by server; consider upgrading ...

  8. BZOJ4553/洛谷P4093 [HEOI2016/TJOI2016]序列 动态规划 分治

    原文链接http://www.cnblogs.com/zhouzhendong/p/8672434.html 题目传送门 - BZOJ4553 题目传送门 - 洛谷P4093 题解 设$Li$表示第$ ...

  9. JDK自带工具keytool生成ssl证书

    前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全. 百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具: ...

  10. 在github上创建新的分支(包括管理分支)

    考虑到前面的项目在master分支上,这个不是太友好,下面在只有master分支的基础上,新建一个dev分支 一:查看 1.查看本地分支 git branch 2.查看远程分支 git branch ...