DPI全称为“Deep Packet Inspection”,称为“深度包检测”。DPI技术技术在分析包头的基础上,增加了对应用层的分析,是一种基于应用层的流量检测和控制技术,当IP数据包、TCP或UDP数据流经过基于DPI技术的带宽管理系统时,该系统通过深入读取IP包载荷的内容来对OSI7层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行整形操作。针对不同的协议类型,DPI识别技术可划分为以下三类:
第一类是特征字的识别技术:不同的应用通常会采用不同的协议,而各种协议都有其特殊的指纹,这些指纹可能是特定的端口、特定的字符串或者特定的Bit序列。基于特征字的识别技术,正是通过识别数据报文中的指纹信息来确定业务所承载的应用。根据具体检测方式的不同,基于特征字的识别技术又可细分为固定特征位置匹配、变动特征位置匹配和状态特征字匹配三种分支技术。通过对指纹信息的升级,基于特征字的识别技术可以方便的扩展到对新协议的检测。
第二类是应用层网关识别技术:在业务中,有一类的控制流和业务流是分离的,如与7号信令相关的业务,其业务流没有任何特征,应用层网管识别技术针对的对象就是此类业务,首先由应用层网管识别出控制流,并根据控制流协议选择特定的应用层网关对业务流进行解析,从而识别出相应的业务流。对于每一个协议,需要不同的应用层网关对其进行分析。例如:H323、SIP等协议,就属于此类,其通过信令交互过程,协商得到其数据通道,一般是RTP格式封装的语音流,纯粹检测RTP流并不能确定这条RTP流是通过那种协议建立起来的,即判断其是何种业务,只有通过检测SIP或H232的协议交互,才能得到其完整的分析。
第三类是行为模式识别技术:在实施行为模式技术之前,运营商首先必须先对终端的各种行为进行研究,并在此基础上建立行为识别模型,基于行为识别模型,行为模式识别技术即根据客户已经实施的行为,判断客户正在进行的动作或者即将实施的动作。
行为模式识别技术通常用于那些无法由协议本身就能判别的业务,例如:从电子邮件的内容看,垃圾邮件和普通邮件的业务流两者间根本没有区别,只有进一步分析,具体根据发送邮件的大小、频率,目的邮件和源邮件地址、变化的频率和被拒绝的频率等综合分析,建立综合识别模型,才能判断是否为垃圾邮件。
这三类识别技术分别适用于不同类型的协议,相互之间无法替代,只有综合的运用这三大技术,才能有效的灵活的识别网络上的各类应用,从而实现控制和计费。
DFI(Deep/Dynamic Flow Inspection,深度/动态流检测)与DPI进行应用层的载荷匹配不同,采用的是一种基于流量行为的应用识别技术,即不同的应用类型体现在会话连接或数据流上的状态各有不同。
例如,网上IP语音流量体现在流状态上的特征就非常明显:RTP流的包长相对固定,一般在130~220byte,连接速率较低,为20~84kbit/s,同时会话持续时间也相对较长;而基于P2P下载应用的流量模型的特点为平均包长都在450byte以上、下载时间长、连接速率高、首选传输层协议为TCP等。DFI技术正是基于这一系列流量的行为特征,建立流量特征模型,通过分析会话连接流的包长、连接速率、传输字节量、包与包之间的间隔等信息来与流量模型对比,从而实现鉴别应用类型。
DPI与DFI优缺点分析
DFI处理速度相对快:采用DPI技术由于要逐包进行拆包操作,并与后台数据库进行匹配对比;采用DFI技术进行流量分析仅需将流量特征与后台流量模型比较即可,因此,目前多数基于DPI的带宽管理系统的处理能力达到线速1Gbit/s左右,而基于DFI的系统则可以达到线速10Gbit/s的流量监控能力,完全可以满足运营商需求;
DFI维护成本相对较低:基于DPI技术的带宽管理系统,总是滞后新应用,需要紧跟新协议和新型应用的产生而不断升级后台应用数据库,否则就不能有效识别、管理新技术下的带宽,提高模式匹配效率;而基于DFI技术的系统在管理维护上的工作量要少于DPI系统,因为同一类型的新应用与旧应用的流量特征不会出现大的变化,因此不需要频繁升级流量行为模型。
识别准确率方面各有千秋:由于DPI采用逐包分析、模式匹配技术,因此,可以对流量中的具体应用类型和协议做到比较准确的识别;而DFI仅对流量行为分析,因此只能对应用类型进行笼统分类,如对满足P2P流量模型的应用统一识别为P2P流量,对符合网络语音流量模型的类型统一归类为VOIP流量,但是无法判断该流量是否采用H.323或其他协议。如果数据包是经过加密传输的,则采用DPI方式的流控技术则不能识别其具体应用,而DFI方式的流控技术则不受影响,因为应用流的状态行为特征不会因加密而根本改变。