DPI全称为“Deep Packet Inspection”,称为“深度包检测”。DPI技术在分析包头的基础上,增加了对应用层的分析,是一种基于应用层的流量检测和控制技术。当IP数据包、TCP或UDP数据流经过基于DPI技术的流量管理系统时,该系统通过深入读取IP包载荷的内容来对OSI 7层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行×××操作。

针对不同的协议类型,DPI识别技术可划分为以下三类:

(1) 基于“特征字”的识别技术:不同的应用通常依赖于不同的协议,而不同的协议都有其特殊的“指纹”,这些“指纹”可能是特定的端口、特定的字符串或者特定的 bit 序列。

(2) 应用层网关识别技术:某些业务的控制流和业务流是分离的,业务流没有任何特征。应用层网关需要先识别出控制流,并根据控制流的协议通过特定的应用层网关对其进行解析,从协议内容中识别出相应的业务流。

(3) 行为模式识别技术:行为模式识别技术基于对终端已经实施的行为进行分析,判断出用户正在进行的动作或者即将实施的动作。

DFI(Deep/Dynamic Flow Inspection,深度/动态流检测)与DPI进行应用层的载荷匹配不同,采用的是一种基于流量行为的应用识别技术,即不同的应用类型体现在会话连接或数据流上的状态各有不同。

由于DPI技术与DFI技术实现机制不同,故它们在实现效果上各有优点,表现在如下几个方面:

(1) DFI处理速度相对快:采用DPI技术由于要逐包进行拆包操作,并与后台数据库进行匹配对比;采用DFI技术进行流量分析仅需将流量特征与后台流量模型比较即可。

(2) DFI维护成本相对较低:基于DPI技术的带宽管理系统,总是滞后新应用,需要紧跟新协议和新型应用的产生而不断升级后台应用数据库,否则就不能有效识别、管理新技术下的带宽,提高模式匹配效率;而基于DFI技术的系统在管理维护上的工作量要少于DPI系统,因为同一类型的新应用与旧应用的流量特征不会出现大的变化,因此不需要频繁升级流量行为模型。

(3) 识别准确率方面各有千秋:由于DPI采用逐包分析、模式匹配技术,因此,可以对流量中的具体应用类型和协议做到比较准确的识别;而DFI仅对流量行为分析,因此只能对应用类型进行笼统分类,如对满足P2P流量模型的应用统一识别为P2P流量。如果数据包是经过加密传输的,则采用DPI方式的流控技术则不能识别其具体应用,而DFI方式的流控技术则不受影响,因为应用流的状态行为特征不会因加密而根本改变。