[发明专利]一种分层协议的识别方法和装置有效
| 申请号: | 201010601736.6 | 申请日: | 2010-12-22 |
| 公开(公告)号: | CN102546548A | 公开(公告)日: | 2012-07-04 |
| 发明(设计)人: | 朱娜;吴锦花;刘晓波 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
| 代理公司: | 北京元本知识产权代理事务所 11308 | 代理人: | 秦力军 |
| 地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分层 协议 识别 方法 装置 | ||
技术领域
本发明涉及通信领域的一种协议识别技术,尤其涉及一种应用层分层协议的识别技术。
背景技术
协议识别目的是识别网络传输中所使用的应用层协议类型。准确识别网络传输中的应用层协议类型,对提高网络服务质量、进行入侵检测、带宽控制和计费管理等都具有重要意义。
传统的协议识别是基于端口映射机制实现,这种识别能达到较高的速率,但是随着网络的发展,其缺陷也越来越明显。目前,大量协议采用动态端口通信,此类协议的产生,使得基于端口映射机制的传统协议识别已无能无力。随着协议识别研究的不断深入,协议识别越来越趋向于采用正则表达式。基于正则表达式的协议识别是基于Payload特征识别的一种,它首先基于报文体的检测需要,分析报文中的内容,根据预先定义的正则表达式,对报文体中的内容进行匹配,寻找匹配项,并确定报文所属的应用层协议,从而判定整个流所属的应用协议类型,对于较复杂的协议需要通过多个报文的匹配来完成协议识别过程。
图1是根据正则表达式进行协议识别的架构示意图。首先通过分析报文的应用层数据,统计网络实际通信过程中该协议出现频率最高且特有的字段作为该协议的特征,然后把提取的协议特征转换为正则表达式,将报文与正则表达式进行匹配,匹配成功后直接归为某种协议。
随着网络应用和私有协议的发展,衍生出很多基于标准应用协议的更深层应用协议,形成了应用协议的分层关系,如图2所示,将应用层协议由浅至深分为底层应用协议、上层应用协议等多个层次。在一次交互过程中,常需要多个应用层协议相互协作,完成数据传输。而原有的正则表达式匹配协议识别方法是在报文与正则表达式匹配成功后直接将整个流归为某种应用协议,即该流只能归为底层应用协议,对于分层协议而言,因为上层应用协议特征一般存在于后续报文中,这就造成协议误识别率的增大。例如STUN协议(Simple Traversal of UserDatagram Protocol through Network Address Translators(NATs),NAT的UDP简单穿越)是一种网络协议,用于两个同时处于NAT路由器之后的主机之间建立UDP通信,很多VoIP服务采用NAT协议进行NAT网关以及防火墙穿越。因为VoIP服务需要进行多包正则表达式匹配,STUN只需要单包正则表达式匹配,如果使用现有的正则表达式匹配机制,第一个报文到达后进行正则表达式匹配,报文匹配成功后,该流归类为STUN协议,后续报文不再进行正则表达式匹配,因此,无法进行深层的VoIP协议匹配识别,造成协议识别的不精确。
发明内容
本发明的目的在于提供一种分层协议的识别方法和装置,通过分层协议的暂缓识别机制,解决了协议识别不精确的技术问题。
根据本发明的一个方面,提供的一种分层协议的识别方法包括:
A)匹配引擎将接收的报文进行正则表达式匹配处理,得到报文所属的应用层协议;
B)利用应用层协议分层关系进行应用层协议判定处理,判定所述应用层协议是否存在上层应用协议;
C)当不存在上层应用协议时,进行协议归类处理,将报文归类为所述应用层协议;
D)当存在上层应用协议时,进行暂缓识别,并对后续报文进行正则表达式匹配处理和应用层协议判定处理,直至对后续报文进行协议归类处理。
其中,所述步骤D)包括:
D1)将接收的后续报文进行正则表达式匹配处理,若存在的上层应用协议匹配失败,则进行协议归类处理,将后续报文归类到前一报文所属的应用层协议,否则,进行应用层协议判定处理,判定匹配成功的所述上层应用协议是否仍存在上层应用协议;
D2)若不存在,仅进行协议归类处理,将后续报文归类为匹配成功的所述上层应用协议;
D3)若存在,则重复执行步骤D1和D2。
其中,执行所述步骤A前,还包括:
根据应用层协议的特征和关系,建立应用层协议分层关系,并将所述应用层协议分层关系保存至所述匹配引擎。
上述应用层协议分层关系的分层协议包括STUN协议和/或MSN VoIP协议和/或HTTP协议。
根据本发明的另一个方面,提供的一种分层协议的识别装置包括:
匹配模块,用于将接收的报文进行正则表达式匹配处理,得到报文所属的应用层协议;
判定模块,用于利用应用层协议分层关系进行应用层协议判定处理,判定应用层协议是否存在上层应用协议;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010601736.6/2.html,转载请声明来源钻瓜专利网。





