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简单通俗以自己的理解来将就是网络带宽的一种检测技术.既然是检测技术也就 ...
随机推荐
- IDEA上创建 Maven SpringBoot项目发布到Tomcat
概述 上篇记录了IDEA上创建Maven SpringBoot+mybatisplus+thymeleaf 项目,但是如何将SpringBoot发布到Tomcat,直接采用Maven 命令Clear- ...
- 【BZOJ2698】染色
题解: 首先比较显然的是查询每个点被覆盖的概率,算完之后概率m次方 既然是计数题 考虑容斥 我们会发现这样是求n长度的区间能存多少种 我们考虑直接递推 从n到n+1 多的方案数一定要覆盖n+1,所以就 ...
- awk常见用法
awk作为linux字符搜索,结果统计的实用工具,其在linux日常运维中有着很多的巧妙运用.下面就来技术一下刚刚学到的技巧 #awk命令统计文件夹下所有文件大小 ls -l |awk 'BEGIN ...
- python基础——字符串、编码、格式化
1.三种编码:ascii Unicode utf8 2.字符串和编码数字的两个函数:ord(字符转数字ord(‘A’)=65)和 chr(数字转字符chr(65)=A) 3.bytes存储编码,记住两 ...
- 关于appium-doctor运行时提示不是内部或外部的命令
1.一定要单独配置android_home (我之前是直接将D:\SDK\platform-tools;D:\SDK\tools;加到path里面会导致appnium-doctor运行时失败,原因为A ...
- Codeforces 1071C Triple Flips 构造
原文链接 https://www.cnblogs.com/zhouzhendong/p/CF1071C.html 题目传送门 - CF1071C 题意 给定一个长度为 n 的 01 数列,限定你在 $ ...
- Linux下的Sreen命令使用
详细的介绍请参看:http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html 一.简介 GNU Screen是一款由GNU计划开发的用于 ...
- 大数据小白系列——MR(1)
一部编程发展史就是一部程序员偷懒史,MapReduce(下称MR)同样是程序员们用来偷懒的工具. 来了一份大数据,我们写了一个程序准备分析它,需要怎么做? 老式的处理方法不行,数据量太大时,所需的时间 ...
- 微信小程序开发指南
https://developers.weixin.qq.com/miniprogram/introduction/#%E4%BA%A7%E5%93%81%E5%AE%9A%E4%BD%8D%E5%8 ...
- [MySQL] MySQL联表查询的执行顺序优化查询
SELECT t4.orgName, t3.projectName, t3.Partner, t1.type, COUNT(DISTINCT t1.imei) AS count FROM `t_tem ...