匹配模式

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

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

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. System.Data.Entity.Internal.AppConfig"的类型初始值设定项引发异常

    在学习EF code First的小案例的时候,遇见了这个异常 <configSections> <!-- For more information on Entity Framew ...

  2. 在CentOS 7+ 安装Kubernetes入门(单Master)

    TL;DR; ***,***,***,重要的事情说三次.如果不会***,这篇文章就没有看下去的意义.作为一个技术人员如果不愿意折腾,很难有所作为.作为一个单纯的技术人员,最好把心思放在技术上,做到真正 ...

  3. c_数据结构_链表

    #include<stdio.h> #include<stdlib.h> #define ERROR 0 #define OK 1 #define OVERFLOW -2 ty ...

  4. html5的audio实现高仿微信语音播放效果

    效果图 前台大体呈现效果图如下: 点击就可以播放mp3格式的录音.点击另外一个录音,当前录音停止! 思路 关于播放动画,这个很简单,我们可以用css3的逐帧动画来实现.关于逐帧动画,我之前的文章也写过 ...

  5. HDU4343Interval query 倍增

    去博客园看该题解 题意 给定n个区间[a,b),都是左闭右开,有m次询问,每次询问你最多可以从n个区间中选出多少[L,R]的子区间,使得他们互不相交. n,m<=10^5. 区间下标<=1 ...

  6. 040 Http与RPC

    一直在说,但是没有系统的文档理解过. 1.本质 目前有很多Java的RPC框架,有基于Json的,有基于XML,也有基于二进制对象的. 他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HT ...

  7. 使用 PySide2 开发 Maya 插件系列二:继承 uic 转换出来的 py 文件中的类 Ui_Form

    使用 PySide2 开发 Maya 插件系列二:继承 uic 转换出来的 py 文件中的类 Ui_Form 开发环境: Wing IDE 6.1 步骤1: 打开 Wing IDE,创建一个新的 pr ...

  8. maven聚合工程无法install

    对于maven聚合工程,有时候执行maven命令进行mvn clean install时会出一些莫名奇妙的错误: 一直报告找不到符号,仔细看了项目源代码也不知道是什么原因.首先确保项目所在路径为英文路 ...

  9. POJ 1330 Nearest Common Ancestors (模板题)【LCA】

    <题目链接> 题目大意: 给出一棵树,问任意两个点的最近公共祖先的编号. 解题分析:LCA模板题,下面用的是树上倍增求解. #include <iostream> #inclu ...

  10. Git 日常工作中使用的命令记录

    前言   这篇文章主要是介绍我在使用Git中的有一些忘记了,但是很重要的命令. 20190424 Git 历史信息 username 和 email 更改 git config alias.chang ...