匹配模式

根据规则的特点,可以分为两种

  • 特征字符串模式:特征字符串模式实现方法简单,将流量的特征字符串提取出来即可进行流识别,不过此种方式描述性较差,需要将流量特征进行遍历,才可以将流量全部识别出来,通常使用“正则表达式”来概括性描述,正则表达式将可能出现的形式进行囊括遍历,此种方式有较强的描述能力,但是识别性能较差,对设备的性能消耗很大。
  • 特定比特流模式:主要是对应用层载荷信息及数据流信息进行识别,此类信息是以十六进制或者二进制形式描述应用层的信息,规则描述性较差,但匹配效率很高。

DPI主要检测的几个层面

  • 基于三、四层信息识别 : 三、四层信息主要是IP地址和PORT信息,将数据包的IP地址与业务服务 器IP地址进行匹配,若匹配到,则可确定其业务类型及名称,常用业务口地址 需长期收集和动态更新。根据公知端口来区分具体的业务,如服务器端口为80 为HTTP业务,端口号为21即为FTP业务,110即为邮件业务等。
  • 基于单包DPI : 单个数据包可以解析到七层信息,通过报文中的关键字符串识别业务,如多 数APP利用HTTP承载报文HOST、URI字段的信息;报文中还有一类重要的 指纹信息,如微信载荷中的0x00100001相对固定,可以作为微信应用的特征来 匹配。
  • 基于多包DPI : 多包DPI即根据同一个数据流汇总多个数据包的关联规律识别[19]。挖掘多 个数据包的七层信息并进行关联识别,通常和单包DPI方式联合识别,如连接建立后连续发3个载荷为100字节的包,或3个包的第一个字节分别为01、02、003,此类规则信息可以作为整个流的特征。
  • 基于DFI
    DFI是根据多个数据流的统计特征和连接行为识别的,统计特征是分析数据流参数,如包长度分布、包达到间隔、流大小、流连续时间、流空闲时间、信令包与数据包的比例掣;连接行为包含分析通信模式,如所使用的协议个数,
    连接的主机数目,连接的端口数等。

DPI主要功能

  • 业务识别: 业务识别是DPI最基本、最重要的功能,即能够在网络流量中准确辨别出所承载的业务类型。业务识别主要分为对运营商开通的合法业务和运营商需要进行监管的业务进行识别。其中第一类业务可以通过五元组来进行识别,此类业务IP地址和端口固定。第二种需要通过DPI技术来进行深度检测,通过解析数据包来确定业务具体内容和信息。
  • 业务控制:通过深度包检测将业务识别出来之后,可以根据既定的策略对网络进行配置,从而对业务流实现控制,主要包括转发流向、限制带宽、阻断、整形、丢弃 等处理。
  • 业务统计 深度包检测技术的业务统计功能是基于识别结果的,对一定时间内的流量行 为进行统计,如流量流向、业务占比、访问网站TOPN等。统计应用类型的使 用比率调整该业务的服务优先级,统计用户正在使用哪种业务进行视频播放、即 时通讯、购物支付以及游戏娱乐,也可以统计出消耗网络带宽的非法P2P、VOIP 业务等等。

DPI接入方式

  • 串接方式: 直接将DPI设备以串接的方式部署在网络链路之间。串接方式以直连的形 式接入,不需要进行网络连接配置,直接通过数据链路层二层透传,串接方式对 设备性能和可靠性都有很高的要求。串接方式的优点在于较好的网络控制, 能够及时对流量进行阻断和整形。但是该种方式也引入了故障点的缺陷,为增强 设备的可靠性,通常在设备前段加入光路保护器,从而减小在设备升级或故障时对现网的影响。

  • 并接方式 : 并接方式是采用分光器等设备将网间的信号镜像到旁路的DPI设备当中, 并不影响原链路的数据传输。采用并接方式,通常用于业务的识别和统计,上网 日志的留存等,在网络控制方面,只能通过干扰的方式进行流量控制,不能对网 络流量进行直接的控制和管理。同时,并接方式对TCP和UDP采用不同的控制策略。对于TCP流,并接方式通过发送reset或6n分组,终止连接来进行控 制。而对于UDP流而言,主要是发送伪造分组,劣化通信质量来进行网络干扰。 并接方式可靠性高,对现网业务无任何影响,设备性能要求低,可以适度缓存流 量进行识别即可,没有转发的需求。

DPI存在问题

  • 网络建设是一个庞大而复杂的系统工程,在部署网络时,首先考虑的是业务的实现方案,而网络可视化方案被置后处理甚至不处理。等到有可视化的需求之后,再加装分光设备,这导致每次增加网络可视化设备都需要对现有网络进行改造,对业务和运维人员都是巨大的挑战。

  • 网络管理、应用管理、安全管理、业务平台等不同职能部门各自有不同的功能需求,各自规划自己的网络可视化方案,在同一条链路上,可能会部署多次,重复建设。

  • 应用分析仅需要提取特定的流量,而分光器不加区分,将所有流量全部复制给DPI设备,增加DPI设备压力,效率低下。虽然部署前置机之后对流量进行了选择性过滤,但是前置机的过滤规则是静态的,不能自动化调整,且一台前置机只能服务一种特定业务,造成资源的浪费。

  • 在网络建设前期,没有对网络可视化和应用可视化给予足够的重视,等有需求之后,再通过在网络节点上打补丁,解决架构上的问题,这种解决方案,存在众多通用性和兼容性等问题,实现效率低下。

  • 目前的DPI设备形式无法适应“大数据”“云计算”等新技术所提出的虚拟化的要求,无法适应网络云化的趋势。


参考文献《基于SDN深度包检测技术研究》--姚龙

DPI技术简介的更多相关文章

  1. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

  2. 【转】Android 防破解技术简介

    http://www.cnblogs.com/likeandroid/p/4888808.html Android 防破解技术简介 这几年随着互联网的不断发展,Android App 也越来越多!但是 ...

  3. InfiniBand技术简介

    InfiniBand技术简介   转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍         随着CPU和通讯处理速度的 ...

  4. Windows NT 技术简介

    Windows NT 技术简介 NT:New Technoly(新技术,因比DOS.WIN9X采用了很多新技术而得名) Windows NT基本介绍 WindowsNT是Microsoft推出的面向工 ...

  5. CSS border三角、圆角图形生成技术简介

    http://www.zhangxinxu.com/wordpress/?p=794 一.前言 利用CSS的border属性可以生成一些图形,例如三角或是圆角.纯粹的CSS2的内容,没有兼容性的问题, ...

  6. FC总线技术简介

    FC是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,解决了并行总线SCSI遇到的技术瓶颈,并在同一大的协议平台框架下可以映射更多FC-4上层协议.FC具备通道和网络 ...

  7. P2P技术简介

    P2P技术简介 NAT( Network Address Translation)穿越(俗称打洞)技术 前言: p2p已经存在于我们生活的方方面面:我们通过下载在工具(比如迅雷,bitorent,各种 ...

  8. 常见爬虫/BOT 对抗技术简介(二)

    上一篇文章分别从网络协议,Robots文件,JS渲染,行为分析等多方面讲了些“反爬虫”,“反-反爬虫”技术. 点击查看:<常见爬虫/BOT 对抗技术简介(一)> 本文将主要介绍各种IP地址 ...

  9. DFI、DPI技术

    废话: 因为xxoo的缘故接触到这个设备.但是就是单纯的去看并没有去研究它是个啥玩意.刚才无聊就百度科普了一波. DFI以及DPI简单通俗以自己的理解来将就是网络带宽的一种检测技术.既然是检测技术也就 ...

随机推荐

  1. C++类中的静态成员变量和静态成员函数的作用

    数据成员可以分为静态变量.非静态变量两种. 静态成员:静态类中的成员加入static 修饰符,即是静态成员,可以使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配 ...

  2. 【bzoj3747】[POI2015]Kinoman

    题解: 水题 从左向右维护以每一个作为右端点的最大值 线段树维护 代码: #include <bits/stdc++.h> using namespace std; #define rin ...

  3. 使用impala对kudu进行DML操作

    将数据插入 Kudu 表 impala 允许使用标准 SQL 语句将数据插入 Kudu 插入单个值 创建表: CREATE TABLE my_first_table ( id BIGINT, name ...

  4. jenkins(5): jenkins邮件报警配置

    参考:  https://blog.csdn.net/u013066244/article/details/78665075 1.  使用 增强版的邮件通知 1.1  安装插件 1.2.  系统配置 ...

  5. P1025 数的划分 dfs dp

    题目描述 将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的. 1,1,51,1,5;1,5,11,5,1;5,1, ...

  6. ActiveMQ挂了,重启一直无法将所有实例启起来的问题

    背景 2017年3月29日  下午2-3点时分,工单模块无法访问.跟踪日志发现,ActiveMQ连接不上导致整个工单模块瘫痪: 首先判断可能是系统需要然后尝试重启工单模块,重新启动工单模块,结果:重启 ...

  7. .net面试问答

    转载自:https://www.cnblogs.com/dingfangbo/p/5768991.html .net面试问答(大汇总)   原文://http://blog.csdn.net/weny ...

  8. Python 主、次(major,minor)版本号获取

    Python  主.次(major,minor)版本号获取 import sys sys.version_info sys.version_info.major sys.version_info.mi ...

  9. ClassLoader家族

    DexClassLoader可以加载外部的dex,而PathClassLoader只能加载内部的dex 双亲委托 ClassLoader(ClassLoader parentLoader,boolea ...

  10. 笔记-JS高级程序设计-BOM篇

    BOM提供了很多对象,用于访问浏览器的功能.这些功能与任何网页无关. 1BOM的核心对象是window,它代表浏览器的一个实例,它是通过JS访问浏览器窗口的一个借口,同时又是ECMAScript规定的 ...