深度报文检测方法、装置、网络设备及系统的制作方法

文档序号:7851774阅读:277来源:国知局
专利名称:深度报文检测方法、装置、网络设备及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种深度报文检测方法、装置、网络设备及系统。
背景技术
深层包检测技术,(Deep Packet Inspection, DPI)技术是一种基于应用层的流量检测和控制技术,当IP数据包、TCP (Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据包协议)数据流通过基于DPI技术的带宽管理系统时,该系统通过深入读取IP包载荷的内容来对OSI (Open System Interconnect,开放式系统互联)七层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照
系统定义的管理策略对流量进行整形操作。面对日益增长的P2P (Peer-to-Peer,点对点技术)业务流,DPI技术被认为是对付网络多业务所带来的管理和控制挑战的有效方法。在DPI技术中,以基于关键字的识别技术最为基础,应用最为广泛。DPI的关键就在于,它要不断地在格式不定的数据包中判断出各种关键字,实现这一过程的基础技术就是模式匹配,通俗地讲,就是字符串匹配,即从数据中搜索是否存在目标字符串。目前,模式匹配可分为单模式匹配算法和多模式匹配算法。其中,单模式匹配算法指在目标串中I次扫描只能对I个模式串进行匹配的算法,对于单模式匹配算法,如果要匹配多个模式,那么有几个模式就需要几趟遍历。最常用的单模式匹配算法有KMP(Knuth-Morris-PrattAlgorithm)算法、BM(Boyer-More)算法、RK算法等;多模式匹配算法指在目标串中I次扫描可同时对多个模式串进行匹配的算法,与单模式匹配算法相比,多模式匹配算法的优势在于一趟遍历可以对多个模式进行匹配,从而大大提高了匹配效率。目前最常用的多模式匹配算法有AC(Aho-Corasick)算法和AC-BM算法。由于现有的DPI技术需要对网络数据包7层内容进行扫描和计算,性能开销十分大,在一些对性能十分敏感的网络设备如汇聚网关、核心路由器中如果打开DPI功能,其性能往往降低到原有吞吐量的10% 20%。因此如何提升DPI技术的性能,是各个DPI设备制造商关键竞争力所在。DPI技术由于需要支持成百上千协议的关键字匹配,因此高效的多模式关键字匹配算法是DPI重中之重的核心技术。现有技术中常见的DPI匹配过程为在DPI系统在接收到网络报文之后,首先对IP报文进行L3层(网络层)和L4层(传输层)的信息匹配,即IP地址和端口信息的匹配;如果未能查询到相关的匹配,那么将进行多模关键字匹配;如果多模式匹配未能匹配到任何关键字,那么进行其他匹配过程(如对协议格式的匹配,或针对加密协议的解密匹配等)的处理。由于多模式关键字匹配由于需要对整个网络报文进行扫描,性能消耗巨大。大量的统计表明,多模式关键字匹配阶段成了 DPI匹配中的主要性能瓶颈之一(约占总DPI匹配性能消耗的三分之一左右)。目前,随着P2P文件共享应用技术的出现,其流量已超过HTTP (HypertextTransport Protocol,超文本传送协议)流量成为互联网上的主流量,然而现在有很多的P2P协议采用加密协议进行封装,从而消除关键字以避免DPI检测,因此传统的基于关键字匹配的DPI技术已经对这种P2P加密流量失效。这就导致了每一个P2P加密网路报文在进行多模式关键字匹配时都需要扫描整个报文但却无法匹配到任何关键字。根据大量的测试统计表明,对于当前的网络流量,多模式关键字匹配的成功率只占10%左右,这意味着90%的多模式关键字匹配的性能消耗是无意义的,导致系统的性能十分低下。

发明内容
本发明的实施例提供一种深度报文检测方法、装置、网络设备及系统,能够在关键字匹配前识别出无需进行匹配的报文,提高了关键字匹配的效率,从而提升了系统的性能。本发明的实施例采用如下技术方案本发明实施例提供一种深度报文检测方法,包括
在接收到网络报文后,对所述网络报文进行网络层和传输层的信息匹配;当所述网络报文的网络层和传输层的信息无法匹配时,判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布;当所述网络报文的应用层数据的多个字节对应的码值符合均匀分布时,跳过对所述网络报文的关键字匹配;当所述网络报文的应用层数据的多个字节对应的码值不符合均匀分布时,对所述网络报文进行关键字匹配。本发明实施例提供一种深度报文检测装置,包括匹配单元,用于在接收到网络报文后,对所述网络报文进行网络层和传输层的信息匹配;随机性验证单元,用于当所述网络报文的网络层和传输层的信息无法匹配时,判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布;所述匹配单元还用于当所述网络报文的应用层数据的多个字节对应的码值符合均匀分布时,跳过对所述网络报文的关键字匹配;当所述网络报文的应用层数据的多个字节对应的码值不符合均匀分布时,对所述网络报文进行关键字匹配。本发明实施例还提供一种移动网络设备,包括数据接收装置、业务处理装置以及数据发送装置,其特征在于,所述移动网络设备还包括所述的深度报文检测装置。本发明实施例还提供一种通信系统,包括无线基站、通用分组无线业务服务支持节点,所述通信系统还包括所述移动网络设备。本发明实施例还提供一种通信系统,包括无线基站、无线网络控制器、通用分组无线业务服务支持节点、通用分组无线业务网关服务节点以及业务控制网关,所述通信系统还包括所述深度报文检测装置。本发明实施例还提供一种固定网络设备,包括数据接收装置、业务处理装置以及数据发送装置,所述固定网络设备还包括所述的深度报文检测装置。本发明实施例还提供一种通信系统,包括宽带接入设备,其特征在于,所述通信系统还包括所述固定网络设备。本发明实施例还提供一种通信系统,包括宽带接入设备、宽带接入服务器、业务控制网关,所述通信系统还包括所述深度报文检测装置。本发明的实施例提供一种深度报文检测方法、装置、网络设备及系统,通过判断网络报文的应用层数据的多个字节对应的码值是否符合均匀分布,在关键字匹配前就识别出无需进行匹配的报文,这样大大避免了网络报文的无效匹配,提高了关键字匹配的效率,从而提升了系统的性能。


为了更清楚地说明本发明实施 例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的一种深度报文检测方法的流程示意图;图2为本发明另一实施例提供的一种深度报文检测方法的流程示意图;图3为本发明实施例提供的一种深度报文检测装置的结构示意图;图4为本发明另一实施例提供的一种深度报文检测装置的结构示意图;图5为本发明另一实施例提供的另一种深度报文检测装置的结构示意图;图6为本发明实施例提供的一种移动网络设备的结构示意图;图7a为本发明实施例提供的一种通信系统的结构示意图;图7b为本发明实施例提供的另一种通信系统的结构示意图;图7c为本发明实施例提供的又一种通信系统的结构示意图;图7d为本发明实施例提供的再一种通信系统的结构示意图;图7e为本发明实施例提供的再一种通信系统的结构示意图;图8为本发明实施例提供的一种固定网络设备的结构示意图;图9a为本发明另一实施例提供的一种通信系统的结构示意图;图9b为本发明另一实施例提供的另一种通信系统的结构示意图;图9c为本发明另一实施例提供的又一种通信系统的结构示意图;图9d为本发明另一实施例提供的再一种通信系统的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种深度报文检测方法,如图I所示,该方法包括S101、在接收到网络报文后,对网络报文进行网络层和传输层的信息匹配。其中,在一种实现方式下,对网络报文进行网络层和传输层的信息匹配即对网络报文进行网络层的IP地址与传输层的端口的匹配。S102、当网络报文的网络层和传输层的信息无法匹配时,判断网络报文的应用层数据的多个字节对应的码值是否符合均匀分布。其中,在一种实现方式下,可以采用卡方检验算法来判断网络报文的应用层数据的多个字节对应的码值是否符合均匀分布。应当理解的是,还可以采用其他类型的均匀分布的验证算法,本发明实施例对此不作限定。在不同的实现方式下,所述网络报文的应用层数据的多个字节包括所述网络报文的应用层数据的前n个字节,或者,所述网络报文的应用层数据的后n个字节,且n小于所述网络报文的应用层数据的总字节数。其中,所述网络报文的应用层数据的多个字节对应的码值包括所述网络报文的应用层数据的多个字节对应的ASCII码值。S103、当网络报文的应用层数据的多个字节对应的码值符合均匀分布时,跳过对网络报文的关键字匹配;当网络报文的应用层数据的多个字节对应的码值不符合均匀分布时,对网络报文进行关键字匹配。本发明实施例的深度报文检测方法中,如果采用卡方检验算法判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布,则具体的过程可以包括

根据所述网络报文的应用层数据的多个字节对应的码值的属性获取所述网络报文的应用层数据的多个字节对应的码值的随机性因子,所述随机性因子用于表示所述网络报文的应用层数据的多个字节对应的码值的分布随机特性,所述码值的属性包括第i个字节对应的码值的出现次数,所述网络报文的应用层数据相关的多个字节对应的码值的平均出现次数;根据所述随机性因子判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布。进一步的,在一种实现方式下,前述根据所述随机性因子判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布的过程可以包括将所述网络报文的应用层数据的多个字节对应的码值的随机性因子与阈值门限进行比较;当所述网络报文的应用层数据的多个字节对应的码值的随机性因子大于阈值门限时,则网络报文的应用层数据的多个字节对应的码值不符合均匀分布;当所述网络报文的应用层数据的多个字节对应的码值的随机性因子小于或等于阈值门限时,则网络报文的应用层数据的多个字节对应的码值符合均匀分布。进一步的,本发明实施例的深度报文检测方法中,如果对网络报文的关键字匹配无法匹配成功时,还包括对网络报文进行其他类型匹配,其他类型匹配包括协议格式的匹配或加密协议的解密匹配。本发明的实施例提供的深度报文检测方法可以应用于移动网络或者固定网络,对于移动网络,该深度报文检测方法的执行主体可以包括但不限于无线网络控制器(RadioNetwork Controller, RNC)、通用分组无线业务网关支持节点(Gateway GPRS SupportNode, GGSN)或业务控制网关(Service Control Gateway, SCG);对于固定网络,该深度报文检测方法的执行主体可以包括但不限于宽带接入服务器(宽带接入服务器(BroadbandRemote Access Server, BRAS)/ 业务路由器(Service Router, SR))或业务控制网关(Service Control Gateway, SCG)。可见,本发明的实施例提供的深度报文检测方法,通过判断网络报文的应用层数据的多个字节对应的码值是否符合均匀分布,在关键字匹配前就识别出无需进行关键字匹配的报文,这样大大避免了网络报文的无效匹配,提高了关键字匹配的效率,从而提升了系统的性能。本发明的另一实施例提供一种深度报文检测方法,如图2所示,该方法包括S201、在接收到网络报文后对网络报文进行网络层和传输层的信息匹配,当网络报文的网络层和传输层的信息无法匹配时执行步骤S202 ;否则,执行步骤S207。具体的,以DPI (Deep Packet Inspection,深度报文检测)系统为例,通常在接收到网络报文后,首先要进行OSI (Open System Interconnection,开放系统互连)的第三层L3信息和第四层L4信息的匹配,也就是网络层的IP信息和传输层的端口信息的匹配,例如DNS (Domain Name System,域名系统)协议的端口 53或HTTP协议的端口 80等。S202、获取网络报文的应用层数据的多个字节对应的码值。例如,目前,通过对P2P加密报文的流量的分析,发现这些网络报文各个字节的ASCII (American Standard Code for Information Interchange,美国信息互换标准代石马)码值几乎都是随机的,每个字节的ASCII码值在
的区间内形成均匀分布,而其他一些如HTTP协议的网络报文各个字节ASCII码值则基本集中在区间[32,126]。因此,如果在进行多模式匹配前识别出接收到的网络报文的应用层数据的各字节的ASCII码值是否符合均匀分布,就可以判断该网络报文是否为加密报文。由于对可实现性的考虑,以及加密报文的每个字节ASCII码值在
的区间内为均匀分布,可以抽取该网络报文的多个字节对应的码值,该多个字节的可以是网络报文应用层数据的前n个字节的或者是网络报文的应用层数据的后n个字节。一般情况下,抽取该网络报文的前n个字节,而且n小于该报文的多个字节总数。而后通过随机性验证方法进行检验,该随机性验证方法可以是卡方检验算法。另外,对于n的取值,则取决于随机性验证方法和对整体性能影响的综合考虑得出。S203、获取网络报文的应用层数据的多个字节对应的码值的随机性因子。具体的,由于抽取的多个字节为网络报文应用层数据的前n个字节,所以可以根据如下第一公式计算该前n个字节对应的码值的随机性因子
权利要求
1.一种深度报文检测方法,其特征在于,所述方法包括 在接收到网络报文后,对所述网络报文进行网络层和传输层的信息匹配; 当所述网络报文的网络层和传输层的信息无法匹配时,判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布; 当所述网络报文的应用层数据的多个字节对应的码值符合均匀分布时,跳过对所述网络报文的关键字匹配;当所述网络报文的应用层数据的多个字节对应的码值不符合均匀分布时,对所述网络报文进行关键字匹配。
2.根据权利要求I所述的深度报文检测方法,其特征在于,所述判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布包括 采用卡方检验算法判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布。
3.根据权利要求2所述的深度报文检测方法,其特征值在于,所述采用卡方检验算法判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布包括 根据所述网络报文的应用层数据的多个字节对应的码值的属性获取所述网络报文的应用层数据的多个字节对应的码值的随机性因子,所述随机性因子用于表示所述网络报文的应用层数据的多个字节对应的码值的分布随机特性,所述码值的属性包括第i个字节对应的码值的出现次数,所述网络报文的应用层数据相关的多个字节对应的码值的平均出现次数; 根据所述随机性因子判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布。
4.根据权利要求3所述的深度报文检测方法,其特征在于,所述根据所述随机性因子判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布包括 将所述网络报文的应用层数据的多个字节对应的码值的随机性因子与阈值门限进行比较; 当所述网络报文的应用层数据的多个字节对应的码值的随机性因子大于阈值门限时,则网络报文的应用层数据的多个字节对应的码值不符合均匀分布; 当所述网络报文的应用层数据的多个字节对应的码值的随机性因子小于或等于阈值门限时,则网络报文的应用层数据的多个字节对应的码值符合均匀分布。
5.根据权利要求3或4所述的深度报文检测方法,其特征在于,所述根据所述网络报文的应用层数据的多个字节对应的码值的属性获取所述网络报文的应用层数据的多个字节对应的码值的随机性因子,包括 获取所述网络报文的应用层数据的多个字节对应的码值,n为所述多个字节的数量,且n小于所述网络报文的应用层数据的总字节数; 根据如下第一公式计算所述网络报文的应用层数据的多个字节对应的码值的随机性因子;y V<£h£L 八—/ , (' r I O 其中R为随机性因子,n为所述网络报文的应用层数据的多个字节的字节个数,Ci为第i个字节对应的码值的出现次数,C为所述网络报文的应用层数据的多个字节对应的码值的平均出现次数。
6.根据权利要求4所述的方法,其特征在于,所述阈值门限是根据如下公式计算得到的T = x;(n-i}, 其中T为阈值门限,n为所述网络报文的应用层数据的多个字节的字节个数,a为显著性水平,所述阈值门限用于表示符合均匀分布的限值。
7.根据权利要求I至6任一项所述的方法,所述网络报文的应用层数据的多个字节包括所述网络报文的应用层数据的前n个字节,或者,所述网络报文的应用层数据的后n个字节,且n小于所述网络报文的应用层数据的总字节数。
8.根据权利要求I至7任一项所述的方法,其特征在于,所述网络报文的应用层数据的多个字节对应的码值包括所述网络报文的应用层数据的多个字节对应的ASCII码值。
9.根据权利要求I至8任一项所述的深度报文检测方法,其特征在于,如果对所述网络报文的关键字匹配无法匹配成功时,所述方法还包括 对所述网络报文进行其他类型匹配,所述其他类型匹配包括协议格式的匹配或加密协议的解密匹配。
10.根据权利要求I至9任一项所述的深度报文检测方法,其特征在于,所述对所述网络报文进行网络层和传输层的信息匹配包括 对所述网络报文进行网络层的IP地址与传输层的端口的匹配。
11.一种深度报文检测装置,其特征在于,所述装置包括 匹配单元,用于在接收到网络报文后,对所述网络报文进行网络层和传输层的信息匹配; 随机性验证单元,用于当所述网络报文的网络层和传输层的信息无法匹配时,判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布; 所述匹配单元还用于当所述网络报文的应用层数据的多个字节对应的码值符合均匀分布时,跳过对所述网络报文的关键字匹配;当所述网络报文的应用层数据的多个字节对应的码值不符合均匀分布时,对所述网络报文进行关键字匹配。
12.根据权利要求11所述的深度报文检测装置,其特征在于,所述随机性验证单元具体用于 采用卡方检验算法判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布。
13.根据权利要求12所述的深度报文检测装置,其特征在于,所述随机性验证单元包括 随机因子获取子单元,用于根据所述网络报文的应用层数据的多个字节对应的码值的属性获取所述网络报文的应用层数据的多个字节对应的码值的随机性因子,所述随机性因子用于表示所述网络报文的应用层数据的多个字节对应的码值的分布随机特性,所述码值的属性包括第i个字节对应的码值的出现次数,所述网络报文的应用层数据相关的多个字节对应的码值的平均出现次数; 均匀分布验证子单元,用于根据所述随机性因子判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布。
14.根据权利要求13所述的深度报文检测装置,其特征在于,所述均匀分布验证子单元具体用于 将所述网络报文的应用层数据的多个字节对应的码值的随机性因子与阈值门限进行比较; 当所述网络报文的应用层数据的多个字节对应的码值的随机性因子大于阈值门限时,则网络报文的应用层数据的多个字节对应的码值不符合均匀分布; 当所述网络报文的应用层数据的多个字节对应的码值的随机性因子小于或等于阈值门限时,则网络报文的应用层数据的多个字节对应的码值符合均匀分布。
15.根据权利要求13或14所述的深度报文检测装置,其特征在于,所述随机因子获取子单元具体用于 获取所述网络报文的应用层数据的多个字节对应的码值,n为所述多个字节的数量,且n小于所述网络报文的应用层数据的总字节数; 根据如下第一公式计算所述网络报文的应用层数据的多个字节对应的码值的随机性因子;
16.根据权利要求14所述的深度报文检测装置,其特征在于,所述装置进一步包括 阈值门限计算单元,用于根据如下公式计算得到阈值门限,所述阈值门限用于表示符合均匀分布的限值 其中T为阈值门限,n为所述网络报文的应用层数据的多个字节的字节个数,a为显著性水平。
17.根据权利要求11-16任一项所述的深度报文检测装置,其特征在于,如果对所述网络报文的关键字匹配无法匹配成功时,所述匹配单元还用于 对所述网络报文进行其他类型匹配,所述其他类型匹配包括协议格式的匹配或加密协议的解密匹配。
18.根据权利要求11-17任一项所述的深度报文检测装置,其特征在于,所述匹配单元具体用于 在接收到网络报文后,对所述网络报文进行网络层的IP地址与传输层的端口的匹配,以及用于对所述网络报文进行关键字匹配,以及用于对所述网络报文进行其他类型匹配,所述其他类型匹配包括协议格式的匹配或加密协议的解密匹配。
19.一种移动网络设备,包括数据接收装置、业务处理装置以及数据发送装置,其特征在于,所述移动网络设备还包括如权利要求11至18任一项所述的深度报文检测装置。
20.根据权利要求19所述的移动网络设备,其特征在于,所述移动网络设备包括无线网络控制器、通用分组无线业务网关服务节点或业务控制网关。
21.一种通信系统,包括无线基站、通用分组无线业务服务支持节点,其特征在于,所述通信系统还包括 如权利要求19或20所述的移动网络设备。
22.一种通信系统,包括无线基站、无线网络控制器、通用分组无线业务服务支持节点、通用分组无线业务网关服务节点以及业务控制网关,其特征在于,所述通信系统还包括如权利要求11至18任一项所述的深度报文检测装置。
23.一种固定网络设备,包括数据接收装置、业务处理装置以及数据发送装置,其特征在于,所述固定网络设备还包括如权利要求11至18任一项所述的深度报文检测装置。
24.根据权利要求23所述的固定网络设备,其特征在于,所述固定网络设备包括 宽带接入设备、宽带接入服务器、业务控制网关。
25.—种通信系统,包括宽带接入设备,其特征在于,所述通信系统还包括如权利要求23或24所述的固定网络设备。
26.—种通信系统,包括宽带接入设备、宽带接入服务器、业务控制网关,其特征在于,所述通信系统还包括如权利要求11至18任一项所述的深度报文检测装置。
全文摘要
本发明实施例提供一种深度报文检测方法、装置、网络设备及系统,涉及通信领域,能够在关键字匹配前识别出无需进行匹配的报文,避免了网络报文的无效匹配,提高了关键字匹配的效率,从而提升了系统的性能。其方法为在接收到网络报文后,对所述网络报文进行网络层和传输层的信息匹配;当所述网络报文的网络层和传输层的信息无法匹配时,判断所述网络报文的应用层数据的多个字节对应的码值是否符合均匀分布;当所述网络报文的应用层数据的多个字节对应的码值符合均匀分布时,跳过对所述网络报文的关键字匹配;当所述网络报文的应用层数据的多个字节对应的码值不符合均匀分布时,对所述网络报文进行关键字匹配。
文档编号H04L29/06GK102780588SQ20121016038
公开日2012年11月14日 申请日期2012年5月22日 优先权日2012年5月22日
发明者夏伊·霍罗威茨, 梁标, 邱经忠 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1