一种数据包的快速解析方法技术

技术编号:3522719 阅读:474 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据包的快速解析方法,采用基于查找表的专用集成电路实现技术,对数据包头信息进行有效的解析和抽取。其步骤为:①数据包解析及信息抽取:依据数据包头定位和信息抽取操作表,对数据包进行解析和信息抽取处理,并生成数据包信息关键字。②数据包查找关键字生成:完成数据包的解析和信息抽取之后,依据用户指定的查找关键字生成规则,生成查找关键字。本发明专利技术通过修改规则表的相应内容可以达到修改对数据包的具体解析方法和定义新的协议头类型处理方法,其灵活性和可扩展性很强。同时,采用多级流水线并行处理的方式,很大程度上减少了数据包的解析处理周期,获得了对数据报文的高速处理。

【技术实现步骤摘要】

【技术保护点】
一种数据包的快速解析方法,包括数据包头定位和信息抽取操作表和查找关键字生成规则表,数据包头定位和信息抽取操作表由协议头定位及信息抽取表,协议映射表和下层协议索引表组成,协议头定位及信息抽取表用于存放对数据包中各种协议头的处理方法,其中包括起始位置的定位方法和数据包头信息抽取方法,协议映射表用于存放系统能支持的各种协议的编码,下层协议索引表用于存放各类下层协议在协议头定位及信息抽取表中的索引值;查找关键字生成规则表用于存放查找关键字的生成方法;该方法包括以下步骤:   (一)对数据包头的解析和信息的抽取,具体步骤包括:(1)初始化每一级的协议头定位及信息抽取表、协议映射表、下层协议索引表和查找关键字生成规则表;(2)判断被处理是否是数据包的第一个协议头,如果是,则取系统默认的初始化协议头 类型索引值和初始化协议头位置值;否则,取出在处理上层协议头时得到的下层协议头的位置值和下层协议头的索引值;(3)用步骤(2)中得到的协议头的索引值去查找协议头定位及信息抽取表,得到当前数据包的处理规则;(4)如果表中的全局操 作表项的值标识处理完成,则数据包解析和数据抽取操作结束,进入步骤(二),否则,同时进行步骤(5)、(6)和(7),完成后进入步骤(2);(5)依据定位规则给下层协议头定位,其步骤如下:(5.1)判断协议头中协议长度域是否存在 ,如果存在,则抽取这个长度域的数据,否则,按照表格中的内容分两种情况,一是多协议标签交换协议,采用专用的处理方式,二是固定长度的协议,则取预先定义好的协议头长度;(5.2)依据下面的公式(1)计算下层协议头的起始位置:下层协 议头起始位=本层协议头起始位+本层协议头长度(1)(6)确定下层协议的类型,其步骤为:(6.1)判断协议头中下层协议类型域是否存在,不存在则采用预先定义好的协议头索引;否则抽取协议类型域的数据,并继续执行以下步骤(6.2 )、步骤(6.3)和步骤(6.4):(6.2)用步骤(6.1)得到的协议类型域的数据查找协议映射表,得到协议的映射值a,b,c,d;(6.3)把协议映射值a,b,c,d通过公式(2)计算得到偏移地址:offset=a *2^α+b*2^β+c*2^λ+d*2^μ(2)其中,αβλμ通过查找协议头定位及信息抽取表得到;(6.4)将上述偏移地址与...

【技术特征摘要】

【专利技术属性】
技术研发人员:杨宗凯黄建钟名奇
申请(专利权)人:华中科技大学
类型:发明
国别省市:83[中国|武汉]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1