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

使用连续字节来表示通用格式报头的方法及其装置制造方法及图纸

技术编号:12612530 阅读:65 留言:0更新日期:2015-12-30 11:25
本公开涉及使用连续字节来表示通用格式报头的方法及其装置。用于修改分组报头的装置的实施例涉及重写引擎,重写引擎以该协议特有的通用格式表示分组的每个协议报头,以实现分组的可编程修改,从而产生在修改分组报头时的硬件和软件灵活性。软件在用于各种协议的硬件表中对通用格式进行编程。重写引擎能够从协议报头检测缺失字段并且能够将协议报头扩展成最大大小,使得协议报头包含该协议的所有可能字段。无论协议报头对应于协议的哪个变体,字段中的每个字段都具有相同偏移。经扩展的协议报头由独立于协议报头的大小的数据结构表示。

【技术实现步骤摘要】

本专利技术涉及分组报头修改。更具体地,本专利技术涉及一种使用连续字节来表示通用 格式报头的方法及其装置。
技术介绍
网络分组经由因特网使用的协议、比如传输控制协议/网际协议/以太网协议 (TCP/IP/以太网)承载数据。典型交换机能够在向目的地或者向另一交换机发送出分组之 前修改传入的分组的各种字段。出于各种原因而修改传入的分组,比如分组将被转发到何 处、目的地支持的协议、分组的优先级、协议报头的传入格式等。由于网络协议正在演变,协 议报头的一个或者多个字段可以是可任选的,这使交换机的硬件变复杂,因为在协议报头 内的给定的字段可能不总是处于固定的偏移。 在分组的修改期间,现有技术的交换机线性地处理分组中的每个协议层。这样的 处理会产生与网络有关的性能问题,包括时延,这可能使实现方式过度提供处理资源。
技术实现思路
用于修改分组报头的装置的实施例涉及重写引擎,重写引擎以该协议特有的通用 格式表不分组的每个协议报头,以实现分组的可编程修改,从而产生在修改分组报头时的 硬件和软件灵活性。软件在用于各种协议的硬件表中对通用格式进行编程。重写引擎能够 从协议报头检测缺失字段并且能够将协议报头扩展成最大大小,使得协议报头包含该协议 的所有可能字段。无论协议报头对应于协议的哪个变体,字段中的每个字段都具有相同偏 移。扩展的协议报头由独立于协议报头的大小的数据结构表示。 在一个方面中,提供一种重写引擎的方法。该方法包括从传入的分组的协议报头 检测缺失字段。基于检测,该方法也包括将协议报头扩展成用于对应协议的通用格式。通 用格式包括对应协议可以具有的所有可能字段。该方法也包括针对扩展的协议报头维护数 据结构。数据结构包括第一字段和第二字段,其中第一字段指示从扩展的协议报头的开始 起的连续有效字节的数目,而第二字段是指示在扩展的协议报头中的连续有效字节之后的 每个字节的有效性的位矢量。 在一些实施例中,维护数据结构包括:针对在连续有效字节之后的每个无效字段 的每个字节,将位矢量的位标注为不可用,以及针对在连续有效字节之后的每个有效字段 的每个字节,将位矢量的位标注为可用。 在另一方面中,提供一种表示扩展的协议报头的方法。该方法包括获得扩展的协 议报头。扩展的协议报头是根据用于对应协议的通用格式而被一般化的传入的分组的协议 报头。 在一些实施例中,重写引擎通过从协议报头检测缺失字段以及基于检测根据通用 格式扩展协议报头来使协议报头一般化。 在一些实施例中,通用格式包括协议的所有可能字段,其中无论协议报头对应于 协议的哪个变体,字段中的每个字段都具有相同偏移。 该方法也包括维护扩展的协议报头的表示。表示是包括第一字段和第二字段的数 据结构。在一些实施例中,第一字段是连续_字节字段,而第二字段是位矢量字段。 该方法也包括:将第一字段设置成从扩展的协议报头的开始起的连续有效字节 的数目,针对在连续有效字节之后的每个无效字段的每个字节将第二字段的位标注为不可 用,其中每个无效字段是在传入的分组的协议报头中不存在的字段,以及针对在连续有效 字节之后的每个有效字段的每个字节将第二字段的位标注为可用,其中每个有效字段是在 传入的分组的协议报头中存在的字段。 在又一方面中,提供一种网络交换机的方法。该方法包括:在网络交换机的传入端 口处接收分组,以及根据用于对应协议的通用格式来使分组的协议报头一般化。 在一些实施例中,网络交换机包括被配置为使协议报头一般化的重写引擎。 在一些实施例中,使协议报头一般化包括:重写引擎从分组的协议报头检测缺失 字段;以及基于检测,重写引擎将协议报头扩展成通用格式。 该方法也包括在独立于协议报头的大小的数据结构中表示经一般化的协议报头。 在一些实施例中,数据结构包括连续_字节字段和位矢量字段,其中连续_字节字段表示从 协议报头的开始起的连续有效字节的数目,而位矢量字段是协议报头的每字节的位表示。 在一些实施例中,该方法还包括:通过向经一般化的协议报头应用至少一个命令 来修改经一般化的协议报头,去除修改的协议报头的所有无效字节以形成新报头,以及经 由网络交换机的传出端口发送出具有新报头的分组。在一些实施例中,修改协议报头包括 基于传出端口的出口端口类型向命令表进行索引以确定至少一个命令。 在一些实施例中,该方法还包括从经一般化的协议报头提取至少一个字段。 在一些实施例中,该方法在接收传入的分组之前还包括:允许协议的通用格式的 由软件定义的映射;以及在网络交换机的存储器中存储由软件定义的映射。 在又一方面中,提供一种网络交换机。网络交换机包括:输入端口和输出端口,用 于接收和发送分组;存储器,用于存储协议的通用格式的由软件定义的映射的集合;以及 重写引擎,对分组执行报头一般化过程以根据对应协议特有的由软件定义的映射之一来使 分组中的每个分组的每个协议报头一般化。通常,在独立于协议报头的大小的数据结构中 表不经一般化的协议报头。 可以在协议的不同变体上使用报头一般化过程。相似地,可以在不同协议上使用 报头一般化过程。 在一些实施例中,在分组中的每个分组由重写引擎处理之后,分组包括规范化的 协议层。规范化的协议层中的每个规范化的协议层是根据该协议的对应通用格式扩展的协 议层。在一些实施例中,数据结构包括连续_字节字段和位矢量字段,其中连续_字节字段 表示从协议报头的开始起的连续有效字节的数目,而位矢量字段是协议报头的每字节的位 表不。 在一些实施例中,重写引擎是灵活的并且在可编程基础上操作。重写引擎基于输 出端口的出口端口类型向命令表进行索引,命令表向重写引擎告知将向每个分组的每个报 头应用的一个或者多个命令。存储器存储命令集合,其中在命令集合中包括该一个或者多 个命令。 在一些实施例中,网络交换机也包括解析器引擎。解析器引擎标识分组的内容。解 析器引擎是灵活的并且在可编程基础上操作。【附图说明】 前文将从如附图中所示本专利技术的示例实施例的以下更具体描述中变清楚,在附图 中,相似标号贯穿不同视图指代相同部分。附图未必按比例、代之以着重于图示本专利技术的实 施例。 图1图示分组的示例协议层组合。 图2图示根据本专利技术的一些实施例的本地协议表的示例结构。 图3图示根据本专利技术的一些实施例的网络交换机的示例方法。 图4图示根据本专利技术的一些实施例的网络交换机的另一示例方法。 图5图示根据本专利技术的一些实施例的将传入的分组的层进行报头扩展成通用格 式的图。 图6A-6B图不根据本专利技术的一些实施例的协议报头的不例一般化。 图7A-7C图不根据本专利技术的一些实施例的协议报头的另一不例一般化。 图8A-8C图示根据本专利技术的一些实施例的协议报头的又一示例一般化。 图9A-9F图示根据本专利技术的一些实施例的协议报头的示例修改。 图10A-10E图示根据本专利技术的一些实施例的协议报头的另一示例修改。 图11图示根据本专利技术的一些实施例的重写引擎的方法。 图12图示根据本专利技术的一些实施例的网络交换机的又一方法。 图13图示根据本专利技术的一些实施例的网络交换机的又一方法。 图14图示根据本专利技术的一些实施例的网络交换机的又一方法。 图15图示根据本专利技术的一些实施例的网络交换机的又一方法。 图16图示根据本专利技术的一些实施例的重写引擎的另一方法。 图本文档来自技高网...

【技术保护点】
一种重写引擎的方法,所述方法包括:从传入的分组的协议报头检测缺失字段;基于所述检测,将所述协议报头扩展成用于对应协议的通用格式,其中所述通用格式包括所述对应协议可以具有的所有可能字段;以及针对经扩展的协议报头维护数据结构,其中所述数据结构包括第一字段和第二字段,其中所述第一字段指示从所述经扩展的协议报头的开始起的连续有效字节的数目,并且所述第二字段是指示在所述扩展的协议报头中的所述连续有效字节之后的每个字节的有效性的位矢量。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:C·辛格V·阿南德
申请(专利权)人:凯为公司
类型:发明
国别省市:美国;US

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

1