现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

DPI深度包检测技术及其作用

2018-04-22 20:31 工业·编程 ⁄ 共 2266字 ⁄ 字号 暂无评论

DPI 全称为“Deep Packet Inspection”,称为“深度包检测”。所谓“深度”是和普通的报文分析层次相比较而言的,“普通报文检测”仅分析IP包的层4 以下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型,而DPI 除了对前面的层次分析外,还增加了应用层分析,识别各种应用及其内容。

DPI技术原理

DPI 的技术关键是高效的识别出网络上的各种应用。

普通报文检测是通过端口号来识别应用类型的。如检测到端口号为80时,则认为该应用代表着普通上网应用。而当前网络上的一些非法应用会采用隐藏或假冒端口号的方式躲避检测和监管,造成仿冒合法报文的数据流侵蚀着网络。此时采用L2~L4层的传统检测方法已无能为力了。

DPI 技术就是通过对应用流中的数据报文内容进行探测,从而确定数据报文的真正应用。因为非法应用可以隐藏端口号,但目前较难以隐藏应用层的协议特征。

DPI的识别技术可以分为以下几大类:

(1)基于“特征字”的识别技术

不同的应用通常依赖于不同的协议,而不同的协议都有其特殊的指纹,这些指纹可能是特定的端口、特定的字符串或者特定的Bit 序列。基于“特征字”的识别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定业务流承载的应用。

根据具体检测方式的不同,基于“特征字”的识别技术又可以被分为固定位置特征字匹配、变动位置的特征匹配以及状态特征匹配三种技术。

通过对“指纹”信息的升级,基于特征的识别技术可以很方便的进行功能扩展,实现对新协议的检测。

DPI的关键在于,它要不断地在格式不定的数据包中判断出各种特征字,实现这一过程的基础技术就是模式匹配(Pattern-Matching)。通俗地讲,就是字符串匹配,即从数据中搜索是否存在目标字符串。通常,目标字符串采用正则表达式(Regular Expression)标准语法来描述。

如:Bittorrent 协议的识别,通过反向工程的方法对其对等协议进行分析,所谓对等协议指的是peer与peer之间交换信息的协议。对等协议由一个握手开始,后面是循环的消息流,每个消息的前面,都有一个数字来表示消息的长度。在其握手过程中,首先是先发送19,跟着是字符串“BitTorrent protocol”。那么“19BitTorrent Protocol”就是Bittorrent的“特征字”。

(2)应用层网关识别技术

某些业务的控制流和业务流是分离的,业务流没有任何特征。这种情况下,我们就需要采用应用层网关识别技术。

应用层网关需要先识别出控制流,并根据控制流的协议通过特定的应用层网关对其进行解析,从协议内容中识别出相应的业务流。

对于每一个协议,需要有不同的应用层网关对其进行分析。

如SIP、H323协议都属于这种类型。SIP/H323通过信令交互过程,协商得到其数据通道,一般是RTP格式封装的语音流。也就是说,纯粹检测RTP流并不能得出这条RTP流是那通过那种协议建立的。只有通过检测SIP/H323的协议交互,才能得到其完整的分析。

(3)行为模式识别技术

行为模式识别技术基于对终端已经实施的行为的分析,判断出用户正在进行的动作或者即将实施的动作。行为模式识别技术通常用于无法根据协议判断的业务的识别。例如:SPAM(垃圾邮件)业务流和普通的Email业务流从Email的内容上看是完全一致的,只有通过对用户行为的分析,才能够准确的识别出SPAM业务。

以上三种识别技术分别用于不同类型协议的识别,无法相互替代。而华为公司在应用DPI 技术部署DPI 系统时采用了多业务控制网关MSCG分层DPI 解决方案,综合运用了这三种技术,在检测效率和灵活性方面均达到最优。

DPI 技术的应用

利用DPI 技术在IP网络中部署DPI 系统可实现网络运营中的业务识别、业务控制和业务统计三大功能。

业务识别

一般而言,对于业务识别有两种方法,一种是对运营商开通的合法业务,另外一种是运营商需要进行监管的业务。

前者可以通过业务流的五元组来标识,如VOD业务,其业务流的地址是属于VOD服务器网段的地址,其端口是一个固定的端口。系统一般采用ACL的方式,识别出该类业务。

后者需求DPI技术,通过前述的业务识别方法,通过对IP数据包的内容进行分析,通过特征字的查找或者业务的行为统计,得到业务流的类型。

业务控制

通过DPI 技术识别出各类业务流之后,根据网络配置的组合条件,如用户、时间、带宽、历史流量等,对业务流进行控制。控制方法包括:正常转发、阻塞、限制带宽、整形、重标记优先级等。

为了便于业务的运营,业务控制策略一般集中配置在策略服务器中,用户上线后动态下发。

业务统计

DPI 的业务统计功能是为了直观的统计网络的业务流量分布和用户的各种业务使用情况,从而更好的发现促进业务发展和影响网络正常运营的因素,为网络和业务优化提供依据。如:发掘对用户有吸引力的业务、验证业务提供水平是否达到了用户的服务等级协议SLA、统计分析出网络中的攻击流量占多少比例、多少用户正在使用某种游戏业务、哪几种业务最消耗网络的带宽和哪些用户使用了非法VOIP等等。

DPI 技术的发展

可以看出,DPI 的检测技术和网络上非正常应用的反检测是矛和盾的关系。前面谈到的DPI技术不是静止不变的,随着检测技术的发展,非正常应用的隐藏技术也在演进。如对数据部分加密、隐藏特征字和通过隧道技术躲避检测等等。

DPI 技术在发展中将不断调整上述的检测方法,从而达到比较高的检测精度。

总之,DPI 技术将逐渐在安全、业务控制等方面广泛应用,为运营商精细控制和运营网络提供一种利器。

给我留言

留言无头像?