DPI(DeepPacketInspection)深度包检测技术
⼀、DPI 技术产⽣的背景
近年来,⽹络新业务层出不穷,有对等⽹络(Peer-to-Peer,简称 P2P)、VoIP、流媒体、Web TV、⾳视频聊天、互动在线游戏和虚拟现实等。这些新业务的普及为运营商吸纳了⼤量的客户资源,同时也对⽹络的底层流量模型和上层应⽤模式产⽣了很⼤的冲击,带来带宽管理、内容计费、信息安全、舆论管控等⼀系列新的问题。尤其是 P2P、VoIP、流媒体等业务。当前 P2P 业务的流量已占互联⽹数据流量的50%-70%,如果再加上流媒体等业务,新业务的数据流量是相当巨⼤的,这打破了以往“⾼带宽、低负载”的 IP ⽹络 QoS 提供模式,在很⼤程度上加重了⽹络拥塞,降低了⽹络性能,劣化了⽹络服务质量,妨碍了正常的⽹络业务的开展和关键应⽤的普及。同时,P2P 的⼴泛使⽤也给⽹络的信息安全监测管理带来了极⼤的挑战。
由于 P2P 流量的带宽吞噬特性,简单的⽹络升级扩容是⽆法满⾜运营商数据流量增长需要的,加上⽹络设备缺乏有效的技术监管⼿段,不能实现对 P2P/WEB TV 等新兴业务的感知和识别,导致⽹络运营商对⽹络的运⾏情况⽆法有效管理。
传统的⽹络运维管理,往往通过设备⽹管实现对⽹元级的管理,后来发展⾄⽹络级管理,可以对上层的简单应⽤进⾏管控,⽽这些应⽤级管控技术⼤多采⽤简单⽹络管理协议 SNMP 或者基于端⼝的流量识别进⾏进⾏分析和管理。
因此,如何深度感知互联⽹/移动互联⽹业务,提供应⽤级管控⼿段,构建“可运营、可管理”的⽹络,成为运营商关注的焦点。
⼆、DPI 技术介绍
DPI 技术是⼀种基于应⽤层的流量检测和控制技术,称为“深度包检测”。所谓“深度”是和普通的报⽂分析层次相⽐较⽽⾔的,普通报⽂检测仅分析 IP 包的4层以下的内容,包括源地址、⽬的地址、源端⼝、⽬的端⼝以及协议类型。
传统IP头部报⽂分析
⽽ DPI 除了对前⾯的层次分析外,还增加了应⽤层分析,识别各种应⽤及其内容。当 IP 数据包、TCP 或 UDP 数据流通过基于 DPI 技术的带宽管理系统时,该系统通过深⼊读取 IP 包载荷的内容来对 OSI 七层协议中的应⽤层信息进⾏重组,从⽽得到整个应⽤程序的内容,然后按照系统定义的管理策略对流量进⾏整形操作。
DPI技术对应⽤特征的分析
OSI七层协议:
OSI是⼀个开放性的通信系统互连参考模型,他是⼀个定义得⾮常好的协议规范。OSI模型有7层结构,每层都可以有⼏个⼦层。
OSI 的7层从上到下分别是 7.应⽤层、6.表⽰层、5.会话层、4.传输层、3.⽹络层、2.数据链路层、1.物理层;其中⾼层(即7、
6、5、4层)定义了应⽤程序的功能,下⾯3层(即3、2、1层)主要⾯向通过⽹络的端到端的数据流。
基于 DPI 技术的带宽管理解决⽅案与我们熟知的防病毒软件系统在某些⽅⾯⽐较类似,即其能识别的应⽤类型必须为系统已知的,以⽤户熟知的BT为例,其Handshake的协议特征字为“BitTorrent Protocol”;换句话说,防病毒系统后台要有⼀个庞⼤的病毒特征数据库,基于 DPI 技术的带宽管理系统也要维护⼀个应⽤特征数据库。当流量经过时,通过将解包后的应⽤信息与后台特征数据库进⾏⽐较来确定应⽤类型;⽽当有新的应⽤出现时,后台的应⽤特征数据库也要更新才能具有对新型应⽤的识别和控制能⼒。
这⾥需要提⼀下UTM(Unified Threat Management),UTM 实现原理采⽤的⽅法就是DPI,这种⽅法将下载、电⼦邮件传输以及压缩的⽂档与全⾯且连续更新的预定义攻击签名数据库进⾏⽐较和匹配。利⽤这些签名可以实时扫描并检测、阻⽌通过⽹络传输的变型的(Packed)可执⾏⽂件和宏病毒⽂件,以实现 UTM 的功能。
三、DPI 技术原理
DPI 的技术关键是⾼效的识别出⽹络上的各种应⽤。普通报⽂检测是通过端⼝号来识别应⽤类型的。如检测到端⼝号为 80 时,则认为该应⽤代表着普通上⽹应⽤。⽽当前⽹络上的⼀些⾮法应⽤会采⽤隐藏或假冒端⼝号的⽅式躲避检测和监管,造成仿冒合法报⽂的数据流侵蚀着⽹络。此时采⽤ L2 ~ L4 层的传统检测⽅法已⽆能为⼒了。DPI 技术就是通过对应⽤流中的数据报⽂内容进⾏探测,从⽽确定数据报⽂的真正应⽤。因为⾮法应⽤可以隐藏端⼝号,但⽬前较难以隐藏应⽤层的协议特征。DPI 的识别技术可以分为以下⼏⼤类:
1. 基于“特征字”的识别技术不同的应⽤通常依赖于不同的协议,⽽不同的协议都有其特殊的指纹,这些指纹可能是特定的端⼝、特定的字
符串或者特定的Bit 序列。基于“特征字”的识别技术通过对业务流中特定数据报⽂中的“指纹”信息的检测以确定业务流承载的应⽤。根据具体检测⽅式的不同,基于“特征字”的识别技术⼜可以被分为固定位置特征字匹配、变动位置的特征匹配以及状态特征匹配三种技术。
通过对“指纹”信息的升级,基于特征的识别技术可以很⽅便的进⾏功能扩展,实现对新协议的检测。如:Bittorrent 协议的识别,通过反向⼯程的⽅法对其对等协议进⾏分析,所谓对等协议指的是 Peer 与 Peer 之间交换信息的协议。对等协议由⼀个握⼿开始,后⾯是循环的消息流,每个消息的前⾯,都有⼀个数字来表⽰消息的长度。在其握⼿过程中,⾸先是先发送 19,跟着是字符串“BitTorrent protocol”。那么“19BitTorrent Protocol”就是Bittorrent的“特征字”。
2. 应⽤层⽹关识别技术某些业务的控制流和业务流是分离的,业务流没有任何特征。这种情况下,我们就需要采⽤应⽤层⽹关识别技
术。应⽤层⽹关需要先识别出控制流,并根据控制流的协议通过特定的应⽤层⽹关对其进⾏解析,从协议内容中识别出相应的业务流。对于每⼀个协议,需要有不同的应⽤层⽹关对其进⾏分析。如 SIP、H323 协议都属于这种类型。SIP/H323 通过信令交互过程,
我要评论