SDN+DPI文献阅读(2)
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数据流
- 测试实用程序
不足
- 没为数据分析添加机器学习算法