[发明专利]一种网络数据包的解析方法与装置有效
申请号: | 201010500546.5 | 申请日: | 2010-09-30 |
公开(公告)号: | CN101958902A | 公开(公告)日: | 2011-01-26 |
发明(设计)人: | 李亚峰 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余功勋 |
地址: | 100044 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 数据包 解析 方法 装置 | ||
技术领域
本发明涉及一种新型的解析网络数据包的方法与装置,尤其涉及一种针对大流量下的复杂数据包的解析方法和装置。
背景技术
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。如图1所示,根据OSI体系结构,将网络上的数据包分成了七层,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。根据另外一种体系结构TCP/IP,则将网络上的数据包分成4层,包括数据链路层,网络层,传输层,应用层。TCP/IP本身也是一组不同层次上的多个协议的组合。无论是OSI,TCP/IP或者其他网络模型,都将网络上的数据包进行分层。每一层的输出都是下一层的输入,每一层对上一层的输出数据进行本层协议封装(或拆封)之后,再发送到下一层去。
对网络数据包的解析就是,根据当前网络设备的需求,将数据包从底层开始逐层往上解析,直到找到特定层,在这个过程中,可以根据协议,获得被解析层协议的相关信息,可以根据这些信息对数据包进行各种操作。由于网络数据包每一层都包含了不止一种协议,因此网络数据包的解析,一方面是对各种层进行解析,另一方面是对同一层不同协议的解析。
数据包解析是各种网络设备的基本功能之一,广泛用于各类通信终端和传输设备,如网卡,路由器,防火墙,分流设备,网络加速卡等各种产品领域。领域的不同,对数据包解析的要求也不一样。有的网络设备要求将数据包解析到应用层,有的网络设备只需要将数据包解析到链路层。
对网络数据包的解析有基于软件的解析和基于硬件的解析。从硬件设备上来分类,网络数据包的解析有基于传统CPU,NP(Network Processor,即网络处理),ASIC(即专用芯片),FPGA(Field Programmable Gate Array,即可编程逻辑门阵列)等。
从网络数据包的解析思想分类,有串行解析数据包和并行解析数据包两种方法。
基于NP解析数据包,是串行解析数据包方法的典型应用。NP在解析数据包时,由于采用串行结构,在同一时刻只能对一个数据包进行唯一的操作,只有在当前操作完成后,才可以对该数据包进行下一步操作,或者对下一个数据包进行操作。采用串行方法解析数据包,在深度解析数据包上存在优势,通过编程就可以达到对数据包的深度解析,但是由于串行结构一个时刻只能进行一次操作,因此在大流量的数据包接入情况下,很难做到线速的解析网络数据包。
基于FPGA解析数据包,是并行解析数据包方法的典型应用。采用并行方法解析数据包,并行解析方法,往往采用多个解析功能模块同时运作,达到在同一个时刻,可以对数据包同时做多项操作,或对多个数据包做多项操作,对数据包的解析能够达到最大效率。因此在大流量数据包接入情况下,也能较容易的达到线速解析数据包,但是由于采用多操作同步进行,并且所有数据包都会经过相同的操作,因此深度解析能力较差,不够灵活,所能解析的数据包种类较少。
随着网络的发展,网络数据包的协议种类也在增加,一方面在已有数据包层次上增加了许多新类型的协议,一方面是在传统层之间,出现了新的数据层。同时,由于光纤技术和通信技术的发展,网络上的数据流量也在不断增大,因此,现在对网络设备解析网络数据包的能力要求也在大大提高。
显然,随着技术的发展,迫切需要一种即能够线速解析网络数据包,又能支持解析大多数数据包协议的方法。
发明内容
针对上述解析网络数据包方法所存在的问题和不足,本发明的目的是提供一种网络数据包的解析方法和装置。本发明的方法能够在保证线速解析数据包的前提下,最大限度的支持解析多种类型数据包,并且在以后出现新型协议后,能够实现无缝升级。
本发明是这样实现的:一种网络数据包的解析方法,包括以下步骤:
1)根据当前网络环境,配置并行解析网络数据包装置,根据需求,调用各标准协议解析模块,将其串联成数据解析链
2)将线路上的数据接入,通过ASIC(Application Specific Integrated Circuit,即特定用途集成电路)完成物理层的解析,将网络上的串行比特数据流分离成数据链路层的数据包,以并行数据流的形式送入数据包解析装置
3)将数据链路层的数据包接入数据解析链,根据配置,可以得知当前数据链路层的协议类型,根据数据链路层协议类型,将数据包体进行处理寄存后输出
4)根据数据链路层协议,提取当前数据包位于数据链路层包头内的相关信息,与经过数据链路层解析后的数据包体同步输出
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010500546.5/2.html,转载请声明来源钻瓜专利网。