[发明专利]用于通用协议解析的参数获取和通用协议解析方法及装置有效
申请号: | 201010578874.7 | 申请日: | 2010-11-29 |
公开(公告)号: | CN102143148A | 公开(公告)日: | 2011-08-03 |
发明(设计)人: | 陈建;邹嵘;周洪;胡新宇;罗之丹 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 通用 协议 解析 参数 获取 方法 装置 | ||
技术领域
本发明涉及网络通信技术,尤其涉及一种用于通用协议解析的参数获取和通用协议解析方法及装置。
背景技术
网络中,通信的双方基于标准的协议进行通信。网络协议解析是指通过程序分析网络数据包的协议头和尾,从而了解信息和相关的数据包在产生和传输过程中的行为。从本质上说,网络通信的双方,通信的过程就是一个对网络数据包根据标准的协议进行报文解析的过程。网络设备的协议解析通常是基于协议栈的方式进行的。协议栈是一个分层的解析系统,每一层处理相应的头后,剥离头部数据向上层投递,直到应用层。在应用层根据具体的应用类型,由对应的应用处理模块对应用协议进行字段分析,看是否匹配一些预定的条件,从而提取出一些有价值的字段。
现有协议解析时,通常是采用定位分界符-比较字段-保存内容这一过程。其中,分界符随着协议的不同而不同,例如,HTTP、RTSP等协议,“/r/n”表示一个字段的结束,而SIP中以空格、“;”作为分界符。比较字段是指找出需要的字段,例如在SIP报文中需要的字段为INVITE和transport,则需要通过比较找到INVITE字段和transport字段,之后,将INVITE字段和transport字段对应的内容保存。重复上述过程直到报文结束或满足预设的结束条件。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:基于协议栈的协议解析方法要求对待解析的协议都单独编码处理。由于新的应用协议层出不穷,基于协议栈的解析的方法维护工作量很大,扩展性存在问题,支持新协议解析需要的周期长。非通用的解析方法增加了用硬件方式实现的难度,在性能上存在瓶颈。
发明内容
本发明实施例是提供一种用于通用协议解析的参数获取和通用协议解析方法及装置,用以解决现有技术中对待解析的协议需要单独处理引起的问题,实现对所有协议的通用解析。
一方面,本发明实施例提供了一种用于通用协议解析的参数获取方法,包括:
读入需要匹配的协议字段对应的正则表达式,所述正则表达式中至少包含起始点子规则和结束点子规则;
根据所述起始点子规则和结束点子规则,编译形成状态跳转表和规则配对表,所述状态跳转表中保存输入的字符与跳转到的状态的对应关系,所述规则配对表中保存所述状态跳转表中的接受态与所述起始点子规则或所述结束点子规则的对应关系。
另一方面,本发明实施例提供了一种通用协议解析方法,包括:
获取待解析的报文;
根据预先设定的状态跳转表,对所述待解析的报文进行正则表达式匹配,获取匹配到的匹配规则对应的状态编号和字符的位置信息;
根据预先设定的规则配对表,获取与所述状态编号对应的匹配规则,根据所述匹配规则和位置信息及缓存的待解析的报文,输出需要的字段,所述匹配规则为起始点子规则或结束点子规则。
一方面,本发明实施例提供了一种用于通用协议解析的参数获取装置,包括:
读入模块,用于读入需要匹配的协议字段对应的正则表达式,所述正则表达式中至少包含起始点子规则和结束点子规则;
编译模块,用于根据所述起始点子规则和结束点子规则,编译形成状态跳转表和规则配对表,所述状态跳转表中保存输入的字符与跳转到的状态的对应关系,所述规则配对表中保存所述状态跳转表中的接受态与所述起始点子规则或所述结束点子规则的对应关系。
另一方面,本发明实施例提供了一种通用协议解析装置,包括:
报文过滤器,用于获取待解析的报文;
匹配模块,用于根据预先设定的状态跳转表,对所述待解析的报文进行正则表达式匹配,获取匹配到的匹配规则对应的状态编号和字符的位置信息;根据预先设定的规则配对表,获取与所述状态编号对应的匹配规则,根据所述匹配规则和位置信息及缓存的待解析的报文,输出需要的字段,所述匹配规则为起始点子规则或结束点子规则。
由上述技术方案可知,本发明实施例通过对需要解析的协议字段用正则表达式描述,并根据正则表达式中的起始点子规则和结束点子规则得到用于协议解析的状态跳转表和规则配对表,可以得到要解析报文中匹配起始点子规则和结束点子规则的部分,并进一步得到需要解析的协议字段,无需根据各协议的特点获取对应的分界符,可以实现对协议的通用处理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010578874.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:卷扬机的驱动控制装置
- 下一篇:一种MOS场效应晶体管