报文识别方法及装置制造方法及图纸

技术编号:14894470 阅读:67 留言:0更新日期:2017-03-29 09:48
本发明专利技术实施例公开了一种报文识别方法及装置,其特征在于,所述方法包括:接收数据报文;提取数据报文中待识别的字段;采用至少2级流水线分析所述待识别的字段。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种报文识别方法及装置。
技术介绍
随着家庭对数据带宽业务需求增大,比如网络电视IPTV、在线直播、高清视频、无线智能设备接入等,上下行带宽各10G的终端接入设备逐步研发,在这种大流量、高带宽的背景下,如何高速识别数据报文将显得尤为重要。以太网是当前应用最普遍的局域网技术,以太网数据报文帧格式网络中最常见的是EthernetⅡ、Ethernet802.3SAP、Ethernet802.3SNAP,以上三种格式封装的具体协议报文类型众多,要想识别具体的数据报文类型,就要考虑包长,分析包内容提取关键字段,如何高速准确地识别数据包内容,成为提高网络传输速率,细分带宽业务,满足不同用户宽带需求的重要技术。目前主要识别数据报文方法是串行识别报文,只有当上一个报文完全分析完后才启动下一个报文的识别,识别效率低,不能满足高速宽带业务。当然在某些情况下,发现在进行报文识别时,有些报文是无法被识别。
技术实现思路
有鉴于此,本专利技术实施例期望提供的报文识别方法及装置,能够至少部分解决报文识别效率低的问题或部分解决某些报文无法被识别的问题。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术实施例第一方面提供一种报文识别方法,所述方法包括:接收数据报文;提取数据报文中待识别的字段;采用至少2级流水线分析所述待识别的字段。基于上述方案,所述采用至少2级流水线识别所述待识别的字段,包括:采用第1级流水线分析所述报文的目的地址DA、源地址SA及虚拟局域网VLAN层数;采用第2级流水线分析所述报文的封装格式以太网类型;采用第3级流水线分析所述报文是否有携带通过以太网传输点对点协议PPPoE封装格式头及网络协议IP头;采用第4级流水线分析所述报文的遵循的协议类型;采用第5级流水线根据所述第1级流水线至第4级流水线的分析结果,输出数据报文编码。基于上述方案,所述采用至少2级流水线分析所述待识别的字段,包括:第n级流水线识别后,输出已识别字节数的位置偏移量和所述待识别的字段;第n+1级流水线接收所述位置偏移量和所述待识别的字段,从所述第n级流水线输出的已识别字节数的位置偏移量对应的偏移位置开始识别所述待识别的字段;所述n为不小于1的整数;所述第n级流水线是所述第n+1级流水线的前一级流水线。基于上述方案,所述方法还包括:在接收所述数据报文之后,将所述数据报文存储先入先出队列;所述提取数据报文中待识别的字段,包括:从所述先入先出队列中取出待识别的报文,并提取所述待识别报文的待识别字段。基于上述方案,所述提取数据报文中待识别的字段,包括:判断所述数据报文的报文长度;当所述数据报文长度大于指定长度时,提取所述数据报文前N个字节作为所述待识别的字段;所述N等于所述指定长度对应的字节数。基于上述方案,所述提取数据报文中待识别的字段,还包括:当所述数据报文的长度不大于所述指定长度时,将所述数据报文整个视为所述待识别的字段。基于上述方案,所述方法还包括:获取自定义识别规则;根据所述自定义识别规则识别所述数据报文,形成识别结果;根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文。基于上述方案,所述获取自定义识别规则,包括:从所述自定义识别规则获取掩码、匹配方式提取数据的起始位置;所述根据所述自定义识别规则识别所述报文,形成识别结果,包括:从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节;所述M1和所述M2均为不小于1的整数;将提取的字节与所述掩码进行运算,获得待匹配的数据;将所述待匹配的数据按照所述匹配方式与匹配数据表进行匹配,形成识别结果;所述根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文,包括:当所述识别结果表明所述待匹配的数据与所述匹配数据表中的数据相匹配时,确定所述数据报文为满足所述自定义规则的自定义报文。基于上述方案,所述获取自定义识别规则,还包括从所述自定义识别规则中获取规则有效使能位;所述根据所述自定义识别规则识别所述报文,形成识别结果,还包括:根据所述规则有效使能位的信息,确定所述自定义识别规则是否有效;所述从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节,包括:当判断出所述自定义识别规则有效时,从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节。本专利技术实施例第二方面提供另一种报文识别方法,所述方法还包括:获取自定义识别规则;根据所述自定义识别规则识别数据报文,形成识别结果;根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文。基于上述方案,所述获取自定义识别规则,包括:从所述自定义识别规则获取掩码、匹配方式提取数据的起始位置;所述根据所述自定义识别规则识别所述报文,形成识别结果,包括:从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节;所述M1和所述M2均为不小于1的整数;将提取的字节与所述掩码进行运算,获得待匹配的数据;将所述待匹配的数据按照所述匹配方式与匹配数据表进行匹配,形成识别结果;所述根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文,包括:当所述识别结果表明所述待匹配的数据与所述匹配数据表中的数据相匹配时,确定所述数据报文为满足所述自定义规则的自定义报文。基于上述方案,所述获取自定义识别规则,还包括从所述自定义识别规则中获取规则有效使能位;所述根据所述自定义识别规则识别所述报文,形成识别结果,还包括:根据所述规则有效使能位的内容,确定所述自定义识别规则是否有效;所述从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节,包括:当判断出所述自定义识别规则有效时,从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节。本专利技术实施例第三方面提供一种报文识别装置,所述装置包括:接收单元,用于接收数据报文;提取单元,用于提取数据报文中待识别的字段;第一识别单元,用于采用至少2级流水线分析所述待识别的字段。基于上述方案,所述第一识别单元,具体用于采用第1级流水线分析所述报文的目的地址DA、源地址SA及虚拟局域网VLAN层数;采用第2级流水线分析所述报文的封装格式以太网类型;采用第3级流水线分析所述报文是否有携带通过以太网传输点对点协议PPPoE封装格式头及网络协议IP头;采用第4级流水线分析所述报文的遵循的协议类型;采用第5级流水线根据所述第1级流水线至第4级流水线的分析结果,输出数据报文编码。基于上述方案,所述第一识别单元,具体用于第n级流水线识别后,输出已识别字节数的位置偏移量和所述待识别的字段;及第n+1级流水线接收所述位置偏移量和所述待识别的字段,从所述第n级流水线输出的已识别字节数的位置偏移量对应的偏移位置开始识别所述待识别的字段;所述n为不小于1的整数;所述第n级流水线是所述第n+1级流水线的前一级流水线。基于上述方案,所述装置还包括:存储单元,用于在接收所述数据报文之后,将所述数据报文存储先入先出队列;所述提取单元,具体用于从所述先入先出队列中取出待识别的报文,并提取所述待识别报文的待识别字段。基于上述方案,所述提取单元,具体用于判断所述数据报文的报文长度;当所述数据报文长度大于指定长度时,提取所述本文档来自技高网...

【技术保护点】
一种报文识别方法,其特征在于,所述方法包括:接收数据报文;提取数据报文中待识别的字段;采用至少2级流水线分析所述待识别的字段。

【技术特征摘要】
1.一种报文识别方法,其特征在于,所述方法包括:接收数据报文;提取数据报文中待识别的字段;采用至少2级流水线分析所述待识别的字段。2.根据权利要求1所述的方法,其特征在于,所述采用至少2级流水线识别所述待识别的字段,包括:采用第1级流水线分析所述报文的目的地址DA、源地址SA及虚拟局域网VLAN层数;采用第2级流水线分析所述报文的封装格式以太网类型;采用第3级流水线分析所述报文是否有携带通过以太网传输点对点协议PPPoE封装格式头及网络协议IP头;采用第4级流水线分析所述报文的遵循的协议类型;采用第5级流水线根据所述第1级流水线至第4级流水线的分析结果,输出数据报文编码。3.根据权利要求1或2所述的方法,其特征在于,所述采用至少2级流水线分析所述待识别的字段,包括:第n级流水线识别后,输出已识别字节数的位置偏移量和所述待识别的字段;第n+1级流水线接收所述位置偏移量和所述待识别的字段,从所述第n级流水线输出的已识别字节数的位置偏移量对应的偏移位置开始识别所述待识别的字段;所述n为不小于1的整数;所述第n级流水线是所述第n+1级流水线的前一级流水线。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收所述数据报文之后,将所述数据报文存储先入先出队列;所述提取数据报文中待识别的字段,包括:从所述先入先出队列中取出待识别的报文,并提取所述待识别报文的待识别字段。5.根据权利要求1或2所述的方法,其特征在于,所述提取数据报文中待识别的字段,包括:判断所述数据报文的报文长度;当所述数据报文长度大于指定长度时,提取所述数据报文前N个字节作为所述待识别的字段;所述N等于所述指定长度对应的字节数。6.根据权利要求5所述的方法,其特征在于,所述提取数据报文中待识别的字段,还包括:当所述数据报文的长度不大于所述指定长度时,将所述数据报文整个视为所述待识别的字段。7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取自定义识别规则;根据所述自定义识别规则识别所述数据报文,形成识别结果;根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文。8.根据权利要求7所述的方法,其特征在于,所述获取自定义识别规则,包括:从所述自定义识别规则获取掩码、匹配方式提取数据的起始位置;所述根据所述自定义识别规则识别所述报文,形成识别结果,包括:从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节;所述M1和所述M2均为不小于1的整数;将提取的字节与所述掩码进行运算,获得待匹配的数据;将所述待匹配的数据按照所述匹配方式与匹配数据表进行匹配,形成识别
\t结果;所述根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文,包括:当所述识别结果表明所述待匹配的数据与所述匹配数据表中的数据相匹配时,确定所述数据报文为满足所述自定义规则的自定义报文。9.根据权利要求8所述的方法,其特征在于,所述获取自定义识别规则,还包括从所述自定义识别规则中获取规则有效使能位;所述根据所述自定义识别规则识别所述报文,形成识别结果,还包括:根据所述规则有效使能位的信息,确定所述自定义识别规则是否有效;所述从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节,包括:当判断出所述自定义识别规则有效时,从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节。10.一种报文识别方法,其特征在于,所述方法还包括:获取自定义识别规则;根据所述自定义识别规则识别数据报文,形成识别结果;根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文。11.根据权利要求10所述的方法,其特征在于,所述获取自定义识别规则,包括:从所述自定义识别规则获取掩码、匹配方式提取数据的起始位置;所述根据所述自定义识别规则识别所述报文,形成识别结果,包括:从所述提取数据的起始位置开始,进行M1次数据提取且每次提取M2个字节;所述M1和所述M2均为不小于1的整数;将提取的字节与所述掩码进行运算,获得待匹配的数据;将所述待匹配的数据按照所述匹配方式与匹配数据表进行匹配,形成识别结果;所述根据所述识别结果,判断所述数据报文是否为满足所述自定义规则的自定义报文,包括:当所述识别结果表明所述待匹配的数据与所述匹配数据表中的数据相匹配时,确定所述数据报文为满足所述自定义规则的自定义报文。12.根据权利要求11所述的方法,其特征在于,所述获取自定义识别规则,还包括从所述自定义识别规则中获取规则有效使能位;所述根据所述自定义识别规则识别所述报文,形成识别结果,还包括:根据所述规则有效使能位的内容,确定所述自定义识别规则是否有效;所...

【专利技术属性】
技术研发人员:李乐村
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东;44

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

1