匹配模式

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

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

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. EF大数据批量处理 EntityFrameWork下增加扩展方法

    为EF操作方法添加扩展方法 BulkInsert 大致设计方式为 通过当前DbContext 获取当前连接字符串,调用连接字符串获取当前实体的所有字段及字段属性,映射到DataTable中 在调用Sy ...

  2. 【CF666E】Forensic Examination

    题解: 熟练掌握了后缀自动机后大部分题目应该都比较容易想 首先对t建立广义后缀自动机 然后我们可以用线段树合并处理出每个点每个串出现的次数,然后求出最大值 匹配的时候比较巧妙 我们离线处理 对于同一个 ...

  3. 创建和使用动态链接库(转)vs2008 vs2010

    最近在用c++使用dll,找了好久,下面有个例子.我用的是vs2010,第二个验证过没有问题! vs2008http://wenku.baidu.com/view/e2f64a3b87c2402891 ...

  4. 【Android】android:windowSoftInputMode属性详解

    activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一]当有焦点产生时,软键盘是隐藏还是显示 [二]是否减少活动 ...

  5. python 进阶读书笔记2 -- python魔法函数

    #!/usr/bin/env python# -*- coding: utf-8 -*- class student: def __init__(self, name_list): self.stud ...

  6. Codeforces 1111D Destroy the Colony 退背包 (看题解)

    第一次知道这种背包还能退的.... 我们用dp[ i ]表示选取若干个物品重量到达 i 的方案数. 如果我们g[ i ]表示不用第 x 个物品的, 然后选若干其他的物品到达 i 的方案数. if(i ...

  7. Flask--Web From 表单

    需要拓展支持 1.Flask-WTF是WTForms项目的Flask框架扩展,我们将用他来帮助我们处理web表单 2.pip install Flask-WTF 配置WTF(不知道为什么,但是好像必须 ...

  8. P1063 能量项链 区间dp

    题目描述 在MarsMars星球上,每个MarsMars人都随身佩带着一串能量项链.在项链上有NN颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一 ...

  9. img-html-2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 躲不掉的 lambda 表达式

    lambda 表达式是 Java8 的新特性,虽说都发布很久了,但是不到万不得已是肯定不会研究这个的,现在就是那不得不学习的时候了. 本文主要说一下什么 lambda 表达式.Java 中为什么要有 ...