DPI技术简介
匹配模式
根据规则的特点,可以分为两种
- 特征字符串模式:特征字符串模式实现方法简单,将流量的特征字符串提取出来即可进行流识别,不过此种方式描述性较差,需要将流量特征进行遍历,才可以将流量全部识别出来,通常使用“正则表达式”来概括性描述,正则表达式将可能出现的形式进行囊括遍历,此种方式有较强的描述能力,但是识别性能较差,对设备的性能消耗很大。
- 特定比特流模式:主要是对应用层载荷信息及数据流信息进行识别,此类信息是以十六进制或者二进制形式描述应用层的信息,规则描述性较差,但匹配效率很高。
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技术简介的更多相关文章
- Java Servlet 技术简介
Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...
- 【转】Android 防破解技术简介
http://www.cnblogs.com/likeandroid/p/4888808.html Android 防破解技术简介 这几年随着互联网的不断发展,Android App 也越来越多!但是 ...
- InfiniBand技术简介
InfiniBand技术简介 转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 随着CPU和通讯处理速度的 ...
- Windows NT 技术简介
Windows NT 技术简介 NT:New Technoly(新技术,因比DOS.WIN9X采用了很多新技术而得名) Windows NT基本介绍 WindowsNT是Microsoft推出的面向工 ...
- CSS border三角、圆角图形生成技术简介
http://www.zhangxinxu.com/wordpress/?p=794 一.前言 利用CSS的border属性可以生成一些图形,例如三角或是圆角.纯粹的CSS2的内容,没有兼容性的问题, ...
- FC总线技术简介
FC是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,解决了并行总线SCSI遇到的技术瓶颈,并在同一大的协议平台框架下可以映射更多FC-4上层协议.FC具备通道和网络 ...
- P2P技术简介
P2P技术简介 NAT( Network Address Translation)穿越(俗称打洞)技术 前言: p2p已经存在于我们生活的方方面面:我们通过下载在工具(比如迅雷,bitorent,各种 ...
- 常见爬虫/BOT 对抗技术简介(二)
上一篇文章分别从网络协议,Robots文件,JS渲染,行为分析等多方面讲了些“反爬虫”,“反-反爬虫”技术. 点击查看:<常见爬虫/BOT 对抗技术简介(一)> 本文将主要介绍各种IP地址 ...
- DFI、DPI技术
废话: 因为xxoo的缘故接触到这个设备.但是就是单纯的去看并没有去研究它是个啥玩意.刚才无聊就百度科普了一波. DFI以及DPI简单通俗以自己的理解来将就是网络带宽的一种检测技术.既然是检测技术也就 ...
随机推荐
- csv导入数据到mongodb3.2
mongoimport.exe -d paper -c paper K:\paper.csv --type csv -f id,name 数据库名 表名 文件所在位置 文件类型 ...
- [转]oracle分页用两层循环还是三层循环?
select t2.* from --两层嵌套 (select t.* , rownum as row_numfrom t where rownum <=20) t2 where t2.row_ ...
- memcached 配置
Memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的“键值对”存储,用于存储数据 ...
- jquery正则表达式验证(手机号、身份证号、中文名称)
这篇文章主要介绍了jquery正则表达式验证,实现手机号.身份证号.中文名称验证,感兴趣的小伙伴们可以参考一下 本文实例需要验证的内容:中文姓名.手机号.身份证和地址,验证方法分享给大家供大家参考,具 ...
- 创建自己的composer包
需求:在项目中输入 p($arr); 将会格式化输出 一.在GitHub上创建仓库 1.1这个仓库必须包含composer.json文件,内容如下. { "name": " ...
- JDK5的新特性之可变参数&Arrays.asList()方法
[代码] package com.hxl; import java.util.Arrays; import java.util.List; public class Test { public sta ...
- Java中String直接赋字符串和new String的区别(面试常考)
摘取自:https://www.cnblogs.com/guozhenqiang/p/5633269.html 解析Java中的String对象的数据类型 1. String是一个对象. 因为对象的 ...
- JavaEE 之 RESTful
1.RESTful a.定义:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等 ...
- 更新pip和setuptools
python -m pip install -U pip setuptools
- Codeforces 1037D【BFS】
<题目链接> 题目大意: 给你一颗树的所有边,这些边是无向的,然后给你一段BFS序列,BFS都以1为根节点,判断这段BFS序列是否合法. 解题分析: 就是模拟BFS,某个父亲节点的所有子节 ...