当前位置: 首页 > 专利查询>凯为公司专利>正文

从分组提取数据的方法及其装置制造方法及图纸

技术编号:12776767 阅读:65 留言:0更新日期:2016-01-27 19:37
用于从分组提取数据的装置的实施例涉及允许提取来自分组的字段的可编程的层命令。分组被拆分成个别层。每层被给予标识该层的唯一的层类型编号。基于层类型,每层被扩展成通用格式。每层具有对于该层通用的层命令的集合。每个层命令的字段是fieldOffset和fieldLen。这些层命令允许以可编程方式提取分组中的信息。来自每个协议层的提取的字段被级联以形成标志层。所有标志层被级联以形成用于进一步处理分组的最终标志。

【技术实现步骤摘要】

本专利技术涉及网络分组。更具体地,本专利技术涉及一种从分组提取数据的方法及其装置
技术介绍
为了处理网络分组、比如以太网分组,有必要从分组提取某些字段。在提取的字段中包含的值帮助判决应当如何处置分组。例如交换利用在以太网头部以内的48位MAC目的地地址来判决分组应当被发送到哪个端口。相似地,路由利用在IPv4层内包含的32位目的地IP地址。当前硬件解决方案利用固定的提取机制以从分组提取这样的信息。在实施时间进行对将提取的相关信息在分组内落在何处的确定。然而,当前硬件解决方案不能处置演进中的联网协议。
技术实现思路
用于从分组提取数据的装置的实施例涉及允许提取来自分组的字段的可编程的层命令。分组被拆分成个别层。每层被给予标识该层的唯一的层类型编号。基于层类型,每层被扩展成通用格式。每层具有对于该层通用的层命令的集合。每个层命令的字段是fieldOffset和fieldLen;fieldOffse指定将被提取的字段在所述经扩展的层内开始的偏移,fieldLen指定将从该指定的偏移提取的字节的数目。这些层命令允许以可编程方式提取分组中的信息。来自每个协议层的提取的字段被级联以形成标志层。所有标志层被级联以形成最终标志,该最终标志用于分组的进一步处理。在一个方面中,提供一种实施解析器引擎的方法。该方法包括:标识分组的协议层;基于协议层中的每个协议层的标识将该协议层扩展成通用格式;以及从经扩展的协议层选择内容,用以由此形成最终标志。在一些实施例中,分组的协议层中的每个协议层被基于协议层的唯一的层类型编号来标识。在一些实施例中,通用格式定义协议层能够具有的所有字段的超集。在一些实施例中,扩展协议层中的每个协议层包括:维持用于经扩展的协议层的位矢量,其中位矢量包括用于扩展的协议层的每个字节的每字节的位;对于每个有效字段的每个字节将位标记为可用,其中每个有效字段是在分组的协议层中存在的字段;以及对于每个无效字段的每个字节将位标记为不可用,其中每个无效字段是在分组的协议层中不存在的字段。在一些实施例中,该方法也包括使用压缩格式以表达经扩展的协议层。在一些实施例中,该方法也包括将来自通用层命令的集合的至少一个通用层命令应用于经扩展的协议层以从经扩展的协议层提取字段。用层命令中的每个通用层命令的字段是fieldOffset和fieldLen;fieldOffse指定将被提取的字段在所述经扩展的层内开始的偏移,fieldLen指定应当从该指定的偏移提取的字节的数目。在一些实施例中,通用层命令中的每个通用层命令的字段是软件定义的。在一些实施例中,该方法还包括:至少基于提取的字段形成标志层;以及至少基于该标志层形成最终标志。标志层是通过将提取的字段与来自经扩展的协议层的其它提取的字段放置在一起而无任何间隙来形成的。最终标志是通过将标志层与其它标志层放置在一起而无任何间隙来形成的。最终标志可以用于分组的进一步处理。在另一方面,提供一种实施网络交换机的方法。该方法包括:在网络交换机的传入端口接收分组;根据用于对应协议的通用格式来通式化分组的每个协议头部;对于每个通式化的协议头部,从通式化的协议头部提取一个或者多个字段;对于每个通式化的协议头部,级联来自通式化的协议头部的一个或者多个提取的字段,以形成标志层;以及级联所有标志层以形成最终标志。在一些实施例中,网络交换机包括:解析器引擎,被配置为通式化每个协议头部,从通式化的协议头部提取一个或者多个字段,级联来自通式化的协议头部的一个或者多个提取的字段以形成标志层,并且级联所有标志层以形成最终标志。在一些实施例中,通式化每个协议头部包括:解析器引擎确定协议头部的层类型和层类型的变体;解析器引擎基于层类型和变体检测在协议头部中缺少的字段;以及基于检测,解析器引擎将协议头部扩展成通用格式。在一些实施例中,提取一个或者多个字段包括将一个或者多个通用层命令应用于通式化的协议头部。通用层命令中的每个通用层命令的字段是fieldOffset和fieldLen;fieldOffse指定将被提取的字段在所述经扩展的层内开始的偏移,fieldLen指定应当从该指定的偏移提取的字节的数目。在一些实施例中,在接收分组之前,该方法包括经由软件对一个或者多个通用层命令中的每个通用层命令的字段进行编程。在一些实施例中,在接收分组之前,该方法包括:允许协议的通用格式的软件定义的映射;以及在网络交换机的存储器中存储软件定义的映射。在又一方面中,提供一种网络交换机。网络交换机包括:输入端口和输出端口,用于接收和发送分组。网络交换机也包括:存储器,用于存储协议的通用格式的软件定义的映射的集合,以及用于存储用于提取字段的通用层命令的集合。网络交换机也包括:解析器引擎,用于对分组执行头部通式化过程,用以根据软件定义的映射中的特定于对应协议的一个软件定义的映射来通式化分组的每个协议头部,以及用于从通式化的协议头部选择内容用以由此形成最终标志。可以对协议的不同变体、对不同协议或者二者使用头部通式化过程。在一些实施例中,在分组由解析器引擎处理之后,分组包括规范化的协议层。规范化的协议层中的每个规范化的协议层是根据用于对应协议的对应通用格式扩展了的协议层。在一些实施例中,解析器引擎还将来自通用层命令的集合之一的至少一个通用层命令应用于通式化的协议层中的每个通式化的协议层,以从通式化的协议层提取字段。在一些实施例中,通用层命令的集合之一是特定于对应协议的。在一些实施例中,通用层命令中的每个通用层命令的字段是软件定义的。在一些实施例中,提取的字段被与来自通式化的协议层的其它提取的字段级联以形成标志层。在一些实施例中,标志层与其它标志层级联以形成最终标志。在一些实施例中,最终标志被用于分组的进一步处理。在又一方面中,提供一种解析器引擎。解析器包括电路,该电路被配置为标识分组的协议层;基于协议层中的每个协议层的标识将该协议层扩展成通用格式;以及从经扩展的协议层选择内容,用以由此形成最终标志。在一些实施例中,分组的协议层中的每个协议层被基于协议层的唯一的层类型编号来标识。在一些实施例中,通用格式定义协议层能够具有的所有字段的超集。在一些实施例中,电路也被配置为将来自通用层命令的集合的至少一个通用层命令应用于经扩展的协议层,用以从经本文档来自技高网...

【技术保护点】
一种实施解析器引擎的方法,所述方法包括:标识分组的协议层;基于所述协议层中的每个协议层的标识将所述协议层中的每个协议层扩展成通用格式;以及从经扩展的协议层选择内容,用以由此形成最终标志。

【技术特征摘要】
2014.06.19 US 14/309,7261.一种实施解析器引擎的方法,所述方法包括:
标识分组的协议层;
基于所述协议层中的每个协议层的标识将所述协议层中的每个
协议层扩展成通用格式;以及
从经扩展的协议层选择内容,用以由此形成最终标志。
2.根据权利要求1所述的方法,其中所述分组的所述协议层中
的每个协议层被基于所述协议层的唯一层类型编号来标识。
3.根据权利要求1所述的方法,其中所述通用格式定义所述协
议层能够具有的所有字段的超集。
4.根据权利要求1所述的方法,其中扩展所述协议层中的每个
协议层包括:
维持用于经扩展的协议层的位矢量,其中所述位矢量包括用于所
述经扩展的协议层的每个字节的每字节的位;
对于每个有效字段的每个字节将位标记为可用,其中每个有效字
段是在所述分组的所述协议层中存在的字段;以及
对于每个无效字段的每个字节将位标记为不可用,其中每个无效
字段是在所述分组的所述协议层中不存在的字段。
5.根据权利要求4所述的方法,还包括使用压缩格式以表达所
述经扩展的协议层。
6.根据权利要求1所述的方法,还包括将来自通用层命令的集
合的至少一个通用层命令应用于经扩展的协议层,用以从所述经扩展
的协议层提取字段。
7.根据权利要求6所述的方法,其中所述通用层命令中的每个
通用层命令的字段是fieldOffset和fieldLen;fieldOffset指定将被提取
的字段在所述经扩展的层内开始的偏移,fieldLen指定应当从该指定
的偏移提取的字节的数目。
8.根据权利要求6所述的方法,其中所述通用层命令中的每个
通用层命令的字段是软件定义的。
9.根据权利要求6所述的方法,还包括:
至少基于所提取的字段形成标志层;以及
至少基于所述标志层形成所述最终标志。
10.根据权利要求9所述的方法,其中通过将所述提取的字段与
来自所述经扩展的协议层的其它提取的字段放置在一起而无任何间
隙,来形成所述标志层。
11.根据权利要求9所述的方法,其中通过将所述标志层与其它
标志层放置在一起而无任何间隙,来形成所述最终标志。
12.一种实施网络交换机的方法,所述方法包括:
在所述网络交换机的传入端口接收分组;
根据用于对应协议的通用格式来通式化所述分组的每个协议头
部;
对于每个通式化的协议头部,从所述通式化的协议头部提取一个
或者多个字段;
对于每个通式化的协议头部,级联来自所述通式化的协议头部的
所述一个或者多个提取的字段以形成标志层;以及
级联所有标志层以形成最终标志。
13.根据权利要求12所述的方法,其中所述网络交换机包括:
解析器引擎,配置为通式化每个协议头部,从所述通式化的协议头部
提取一个或者多个字段,级联来自所述通式化的协议头部的所述一个
或者多个提取的字段以形成标志层,并且级联所有标志层以形成最终
标志。
14.根据权利要求13所述的方法,其中通式化每个协议头部包
括:
所述解析器引擎确定所述协议头部的层类型和所述层类型的变
体;
所述解析器引擎基于所述层类型和所述变体从所述协议头部检
测缺少的字段;以及
基于所述检测,所述解析器引擎将所述协议头部扩展成所述通用
格式。
15.根据权利要求12所述的方法,其中提取一个或者多个字段
包括将一个或者多个通用层命令应用于所述通式化的协议头部。
16.根据权利要求15所述的方法,其中所述一个或者多个通用
层命令中的每个通用层命令的字段是fieldOffset和fieldLen;fieldOffset
指定将被提取的字段在所述经扩展的层内开始的偏移,fieldLen指定
应当从该指定的偏移提取的字节的数目。
17.根据权利要求15所述的方法,...

【专利技术属性】
技术研发人员:V·阿南德T·丹尼尔G·施密特
申请(专利权)人:凯为公司
类型:发明
国别省市:美国;US

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

1