CN105323300B - 针对层信息的可配置提取处理大协议层的方法以及设备 - Google Patents

针对层信息的可配置提取处理大协议层的方法以及设备 Download PDF

Info

Publication number
CN105323300B
CN105323300B CN201510229779.9A CN201510229779A CN105323300B CN 105323300 B CN105323300 B CN 105323300B CN 201510229779 A CN201510229779 A CN 201510229779A CN 105323300 B CN105323300 B CN 105323300B
Authority
CN
China
Prior art keywords
layers
protocol layers
array
layer
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510229779.9A
Other languages
English (en)
Other versions
CN105323300A (zh
Inventor
V·阿南德
T·丹尼尔
P·泰文德兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaiwei International Co
Marvell Asia Pte Ltd
Original Assignee
Marvell Asia Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Marvell Asia Pte Ltd filed Critical Marvell Asia Pte Ltd
Publication of CN105323300A publication Critical patent/CN105323300A/zh
Application granted granted Critical
Publication of CN105323300B publication Critical patent/CN105323300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本公开涉及针对层信息的可配置提取处理大协议层的方法以及设备。用于处理大协议层的装置的实施例涉及优化字段选择电路的实施。该实施为解析数据包中的硬件解析器引擎提供类似软件的灵活性。所述实施限制每一层的大小并且将任何超过该大小的层分离为更小的层。所述解析器引擎如同其从非分离的层提取数据一样从分离的层提取数据,并且接着将所提取的数据级联为最终结果。

Description

针对层信息的可配置提取处理大协议层的方法以及设备
技术领域
本发明涉及一种网络数据包。更具体地,本发明涉及一种针对层信息的可配置提取处理大协议层的方法以及设备。
背景技术
网络数据包包括多个业务层或协议层,其中每一个层都与其他层独立。虽然传统的硬件实施提供解析能力,但是传统的硬件实施不够灵活并且资源低效。这种不灵活性和低效性的一个限制是各个层的最大长度。这种限制由必须被构建在硬件中的字段选择电路所支配。进入硬件的逻辑与最大层长度成正比。例如,为了从层中以可编程的方式提取“T”总字节,其中该层可以具有“L”字节的大小,该层所需要的字节MUX的总数为T*(L:1)个MUX。由此,“L”越大,字段选择电路的大小就越大,这就增加了硬件成本。如果解析器引擎能够处理数据包中的多个层,那么总MUX结构成本就是字段选择电路的大小乘以解析器引擎所支持的层的数目。
发明内容
用于处理大协议层的装置的实施例涉及优化字段选择电路的实施。这种实施在解析数据包时为硬件解析器引擎提供类似软件的灵活性。该实施限制每一层的大小并且将任何超出该大小的层分离为较小的层。解析器引擎如同从非分离层提取数据一样从分离的层提取数据并且接着将所提取的数据级联为最终的结果。
在一个方面,提供一种实施解析器引擎的方法。该方法包括:基于协议层将数据包的层进行分离,使得数据包的协议层的每一个都分隔开。在一些实施例中,将数据包的层分离包括将数据包的每个协议层的层类型存储在第一阵列中并且将数据包的每一个协议层所结束的位置的偏移存储在第二阵列中。
所述方法包括进一步将数据包的协议层中具有大于预定大小的大小的协议层的每一个分离为多个层。基于进一步的分离对第一阵列和第二阵列进行更新。在一些实施例中,预定大小为软件限定的。
所述方法包括处理所有的分离层。在一些实施例中,处理所有的分离层包括将分离层的每一层归纳为通用格式并且从所归纳的分离层的每一层选择内容。在一些实施例中,从所归纳的分离层的每一层选择内容包括将来自通用命令集合中的至少一个应用到所归纳的分离层从而从所归纳的分离层提取字段。在一些实施例中,通用命令集合中的每一个都与协议层中的特定字段无关。
在一些实施例中,所述方法包括来自处理的级联结果被加以级联从而形成令牌,其中所述令牌被用于数据包的进一步处理。
在一些实施例中,所述方法包括将位矢量应用到来自处理的结果从而形成针对哈希函数的输入,其中所述哈希函数的输出是标识数据包应当采用等价多径路由中的哪个等价多径路由的唯一签名。
在另一方面,提供一种实施解析器引擎的方法。所述方法包括基于协议层将数据包的层进行分离从而使得数据包的协议层的每一个都分隔开。
所述方法还包括保持与协议层的每一个的层类型以及协议层的每一个所结束的位置的偏移有关的信息。在一些实施例中,与层类型有关的信息存储在第一阵列中,与偏移有关的信息存储在第二阵列中。
所述方法还包括将数据包的协议层中任何具有大于预定大小的大小的协议层进一步分离为第一部分和第二部分,其中第一部分具有预定大小。预定大小为软件限定的。
所述方法还包括基于进一步的分离对信息进行更新。在一些实施例中,对信息进行更新包括:将与第一部分和第二部分的层类型有关的信息存储在第一阵列的序列元素中,并且将与第一部分和第二部分的偏移有关的信息存储在第二阵列的序列元素中。
所述方法还包括:基于确定第二部分具有大于预定大小的大小,对第二部分重复进一步分离的步骤和更新的步骤。
所述方法还包括处理所有的分离层。在一些实施例中,在处理之前,将分离层的每一个归纳为通用格式。在一些实施例中,处理分离层包括从所归纳的层中提取数据。
在另一个方面,提供了一种实现网络交换机的方法。所述方法包括基于协议层对数据包进行解析,由此初始化第一阵列和第二阵列。在一些实施例中,解析数据包包括标识数据包中的每一层的层类型,将每一层的层类型存储在第一阵列中,标识数据包中每一层所结束的位置的偏移,并且将每一层所结束的位置的偏移存储在第二阵列中。在一些实施例中,所述方法包括将第一阵列和第二阵列存储在网络交换机的存储器中。
所述方法还包括:将第一阵列的每个元素与可编程寄存器进行比较,以确定与该元素相关联的层是否需要被分离。在一些实施例中,可编程寄存器包括:层类型(layerType)字段,其指示何者与相对应的输入相匹配;分离长度(splitLength)字段,其指示相对应的层应当以其而被分离的偏移;以及新层类型(newLayerType)字段,其指示新分离层的层类型值。在一些实施例中,在对数据包进行解析之前,该方法包括经由软件对层类型字段、分离长度字段以及新层类型字段进行编程。
所述方法还包括,基于确定与该元素相关联的层需要被分离,来分离该层。
所述方法还包括:根据分离来对第一阵列和第二阵列进行更新,并且从与第一阵列的每个元素相关联的层提取数据。
在一些实施例中,所述方法包括将所提取的数据结合以由此形成最终结果。在一些实施例中,将位矢量应用到来自逻辑AND运算的结果,其中对来自层的所提取的数据以及位掩码应用逻辑AND运算中的每一个。
在另一个实施例中,提供一种解析器引擎。该解析器引擎包括:电路,其被配置为基于协议层对数据包的层进行分离,使得数据包的协议层的每一个被分隔开,进一步将数据包的协议层中具有大于预定大小的大小的每个协议层分离为多个层,并且对所有的分离层进行处理。
在一些实施例中,保持与协议层的每一个的层类型以及协议层的每一个所结束的位置的偏移有关的信息。在将数据包的协议层中具有大于预定大小的大小的每个协议层进一步分离为多个层后,对该信息进行更新。
在一些实施例中,所述电路还被配置为:将来自处理的结果加以级联从而形成令牌,其中所述令牌被用于数据包的进一步处理。
在一些实施例中,所述电路还被配置为:将位矢量应用到来自处理的结果,以形成针对哈希函数的输入。
附图说明
如附图所说明的,从以下关于本发明示例性实施例的更为具体的描述,前述内容将会变得明显,其中贯穿各个示图的相同的参考标号指代相同的部分。所列附图未必按照比例绘制,其关注点在于阐释本发明的实施例。
图1图示了根据本发明的一些实施例的解析器引擎的方法。
图2图示了根据本发明的一些实施例的解析器引擎的另一方法。
图3图示了根据本发明的一些实施例的网络交换机的方法。
具体实施方式
在下面的描述中,列出了各种细节用于解释。然而,本领域的技术人员应当意识到,本发明可以无需使用这些特定的细节而实施。这样,本发明并不意在限于所示出的实施例,而是应当被赋予与这里所描述的原则和特征相一致的最宽广的范围。
用于处理大协议层的装置的实施例涉及一种优化字段选择电路的实施。这种实施在解析数据包时为硬件解析器引擎提供类似软件的灵活性。该实施限制每一层的大小并且将超过该大小的任何层分离为较小的层。解析器引擎如同从非分离层提取数据一样从分离的层提取数据并且接着将所提取的数据级联为最终的结果。
例如网络交换机的网络设备能够对网络业务进行切换/路由。所述网络交换机包括至少一个输入/进入端口和至少一个输出/出去端口,用于接收和发送数据包。在一些实施例中,网络交换机还包括解析器和重写器。解析器可以包括一个或多个解析器引擎,以识别网络数据包的内容,并且重写器可以包括一个或多个重写引擎,以在数据包被从网络交换机发送出去之前对数据包进行修改。解析器引擎(多个解析器引擎)以及重写器引擎(多个重写器引擎)是灵活的并且在可编程的基础上进行操作。
网络交换机还包括用于存储网络交换机所使用的数据的存储器。例如,存储器存储在实施中所使用的至少两个阵列,以保持对分离层的跟踪。对于另一个例子,存储器存储通用命令集合,以从协议头部中提取字段。对于又一个示例而言,存储器还存储计数和统计信息。
在以太网中,数据包包括多个协议层。每一个协议层承载不同的信息,一些公知的层的例子有:
Ethernet
PBB Ethernet
ARP
IPV4
IPV6
MPLS
FCOE
TCP
UDP
ICMP
IGMP
GRE
ICMPv6
VxLAN
TRILL
CNM
理论上说,协议层可以按照任何的顺序出现。然而,仅会出现这些层的一些公知的组合。这些层的有效组合的一些例子有:
Ethernet
Ethernet,ARP
Ethernet,CNM
Ethernet,FCoE
Ethernet,IPV4
Ethernet,,IPV4,ICMP
Ethernet,IPV4,IGMP
对于数据包解析操作,数据包被分解为层。这种分离是基于例如上面所列的公知的层来完成的。正如上面所解释的,在传统的硬件实施中,为了以可编程的方法从层中提取“T”总数字节,其中该层可以具有的大小为“L”字节,该层所需要的字节MUX的总数为T*(L:1)个MUX。由此,“L”越大,字段选择电路的大小就越大,这就增加了硬件成本。
当前的实施优化了解析器引擎的字段选择电路。当前的实施依赖于关于字节处理顺序的假定。典型地,解析器引擎的字节输出顺序与字节在进入层中出现的顺序相匹配。例如,如果将选择字节1、字节3和字节5,那么字节出现的顺序就是1、3、5,而不是3、1、5或5、3、1或任何其他这样的组合。基于这种假定,所需要的MUX的总数不再是T*(L:1),而是(L:1)+(L-1:1)+(L-2:1)+(L-3:1)+…+(T:1),假设T<L。
由于硬件的成本与层“L”的长度成正比,当前的实施限制了其所要支持的“L”的大小并且将任何超过长度“L”的层分离为N个较小的层。来自N个分离的层的信息如同解析器引擎从单一层中进行的提取一样而被提取并且接着被级联回到最终结果。所提取的数据可以用于形成令牌或哈希输入。示例性的从数据包的数据提取在提交于【日期】的名称为“AMethod of Extracting Data from Packets and An Apparatus thereof”的美国专利申请序列号No.【代理人案卷号XPL-02100】,以及提交于【日期】的名称为“A Method ofForming a Hash Input from Packet Contents and An Apparatus thereof”的美国专利申请序列号No.【代理人卷号XPL-02200】中有所讨论,其全部内容通过参考被并入于此。
当前的实施以降低的硬件成本有利地实现相同的功能。当前实施的序列可以被总结为:
(1)对进入数据包进行解析,并且标识每一个层的层类型以及每个层所结束的位置的偏移。该信息被存储在两个阵列中,即layerType[]和layerEndPtr[]。
(2)在解析结束时,将每一个layerType[]和可编程寄存器进行比较。所述可编程寄存器包括下述字段:
layerType:指示相对应输入所匹配的层类型;
splitLength:指示该层将被分离的位置的偏移;以及
newLayerType:指示新分离层的层类型值。
针对该比对的示例性的伪码如表1所示。
表1
Figure BDA0000713178750000081
解析器引擎为高度可配置的硬件解析器引擎,其就网络业务如何被解析提供类似软件的灵活性。图1图示了根据本发明的一些实施例的解析器引擎的方法100。解析器引擎是网络交换机的一部分并且标识网络数据包的内容。在步骤105,基于协议层将数据包的层进行分离,使得数据包的协议层的每一个都分隔开。数据包的每一个协议层的层类型存储在第一阵列中,即layerType[]。数据包的每一协议层结束的位置的偏移存储在第二阵列中,即layerEndzptr[]。
在步骤110,数据包的协议层中具有大于预定大小的大小的每个协议层被进一步分离为多个层。第一阵列和第二阵列基于进一步的分离。预定大小为软件限定的。
在步骤115,对所有的分离层进行处理。在一些实施例中,分离层的每一个被归纳为通用格式。从归纳的分离层的每一个选择内容。在一些实施例中,通用命令集合中的至少一个被应用到所归纳的分离层,由此从所归纳的分离层提取字段。在一些实施例中,通用命令集合中的每一个都与协议层中的特定字段无关。在一些实施例中,来自处理的结果被加以级联以形成令牌,所述令牌被用于数据包的进一步处理。可替代地,将位矢量应用到来自处理的结果以形成针对哈希函数的输入,其中所述哈希函数的输出是标识数据包应当采用等价多径路由中的哪个等价多径路由的唯一签名。
图2图示了根据本发明的一些实施例的解析器引擎的另一方法200。在步骤205,基于协议层将数据包的层进行分离,使得数据包的协议层的每一个都分隔开。
在步骤210,保持与协议层的每一个的层类型以及协议层的每一个所结束的位置的偏移有关的信息。与层类型有关的信息存储在第一阵列(例如,layerType[])中。与偏移有关的信息存储在第二阵列(例如,layerEndzptr[])中。
在步骤215,将数据包的协议层中任何具有大于预定大小的大小的协议层进一步分离为第一部分和第二部分,其中第一部分具有预定大小。预定大小为软件限定的。
在步骤220,基于进一步的分离来对信息进行更新。将与第一部分和第二部分的层类型有关的信息存储在第一阵列的序列元素中。将与第一部分和第二部分的偏移有关的信息存储在第二阵列的序列元素中。
在步骤225,基于确定第二部分具有大于预定大小的大小,对第二部分重复步骤215和步骤220;以及
在步骤230,处理所有的分离层。在一些实施例中,在步骤230之前,将分离层的每一个归纳为通用格式。在一些实施例中,处理分离层包括从所归纳的层中提取数据。
图3图示了根据本发明的一些实施例的网络交换机的方法300。在步骤305,基于协议层对数据包进行解析。根据解析,初始化第一阵列(例如,layerType[])和第二阵列(例如,layerEndzptr[])。当数据包被解析时,数据包中的每一层的层类型被标识并且存储在第一阵列中,数据包中每一层所结束的位置的偏移被标识并且存储在第二阵列中。第一阵列和第二阵列被存储在网络交换机的存储器中。
在步骤310,将第一阵列的每个元素与可编程寄存器进行比较,以确定与该元素相关联的层是否需要被分离。可编程寄存器包括:层类型(layerType)字段,其指示何者与相对应的输入相匹配;分离长度(splitLength)字段,其指示相对应的层应当以其而被分离的偏离;以及新层类型(newLayerType)字段,其指示新分离层的层类型值。典型地,在步骤305之前,经由软件对层类型字段、分离长度字段以及新层类型字段进行编程。
在步骤315,基于确定与该元素相关联的层需要被分离,来分离该层。
在步骤320,根据分离,对第一阵列和第二阵列进行更新。
在步骤325,从与第一阵列的每个元素相关联的层提取数据。在一些实施例中,将所提取的数据结合以由此形成最终结果。可替代地,将位矢量应用到来自逻辑AND运算的结果,其中对来自层的所提取的数据和位掩码应用逻辑AND运算中的每一个。
该实施依赖于这样一种假定,即解析器引擎的字节输出顺序与字节在进入层中出现的顺序相匹配,从而有利地优化解析器引擎的字段选择电路。任何超出预定大小的层被分离为较小的层。解析器引擎如同从非分离层提取数据一样从分离层提取数据并且接着将所提取的数据级联为最终结果。
本领域普通技术人员将会认识到,还存在其他的用途和优势。虽然参照多个特定细节对本发明进行了描述,但本领域普通技术人员应当认识到,本发明可以实施为其他的特定形式,而不会背离本发明的精神。由此,本领域普通技术人员将会理解到,本发明不限于前述的说明性细节,而应当由所附的权利要求来限定。

Claims (32)

1.一种实施解析器引擎的方法,所述方法包括:
利用所述解析器引擎将数据包的头部进行分离,所述头部具有多个协议层,其中所述分离基于所述协议层,使得所述头部的所述协议层中的每个协议层都被分隔开;
利用所述解析器引擎将所述头部的所述协议层中具有大于预定大小的大小的每个协议层进一步分离为多个层子段;以及
利用所述解析器引擎处理所有的所述子段。
2.根据权利要求1所述的方法,其中将数据包的层分离包括:将所述数据包的每个协议层的层类型存储在第一阵列中并且将所述数据包的每个协议层所结束的位置的偏移存储在第二阵列中。
3.根据权利要求2所述的方法,其中进一步分离所述数据包的每个层包括:基于所述进一步的分离,更新所述第一阵列和所述第二阵列。
4.根据权利要求1所述的方法,其中处理所有的所述子段包括:
将所述子段中的每一子段归纳为通用格式;以及
从所归纳的子段中的每一子段选择内容。
5.根据权利要求4所述的方法,其中从所归纳的子段中的每一子段选择内容包括:将来自通用命令集合中的至少一个通用命令应用到所归纳的子段,以由此从所归纳的子段提取字段。
6.根据权利要求5所述的方法,其中所述通用命令集合中的每一个通用命令对所述协议层中的特定字段不可知。
7.根据权利要求1所述的方法,进一步包括:级联来自所述处理的结果以形成令牌,其中所述令牌被用于所述数据包的进一步处理。
8.根据权利要求1所述的方法,进一步包括:将位矢量应用到来自所述处理的结果,以形成针对哈希函数的输入。
9.根据权利要求1所述的方法,其中所述数据包具有本体,并且所述数据包的所述分离包括所述头部的分离,由此形成所述头部的分隔的部分,并且所述协议层的所述进一步的分离包括将所述头部的所述分隔的部分分离成子部分。
10.一种实施解析器引擎的方法,所述方法包括:
利用所述解析器引擎将数据包的头部进行分离,所述头部具有多个协议层,其中所述分离基于所述协议层,使得所述头部的所述协议层中的每个协议层都被分隔开;
保持与所述协议层中的每个协议层的层类型以及所述协议层中的每个协议层所结束的位置的偏移有关的信息;
将所述头部的所述协议层中任何具有大于预定大小的大小的协议层进一步分离为第一部分和第二部分,其中所述第一部分具有所述预定大小;
基于所述进一步的分离,对所述信息进行更新;
基于确定所述第二部分具有大于所述预定大小的大小,对所述第二部分重复所述进一步分离的步骤和所述更新的步骤;以及
处理所有的所分离的层。
11.根据权利要求10所述的方法,其中将与所述层类型有关的信息存储在第一阵列中,并将与所述偏移有关的信息存储在第二阵列中。
12.根据权利要求11所述的方法,其中更新所述信息包括:
将与所述第一部分和所述第二部分的层类型有关的信息存储在所述第一阵列的序列元素中;以及
将与所述第一部分和所述第二部分的偏移有关的信息存储在所述第二阵列的序列元素中。
13.根据权利要求10所述的方法,进一步包括:在保持信息之前,软件限定所述预定大小。
14.根据权利要求10所述的方法,进一步包括:在处理之前,将所分离的层中的每一层归纳为通用格式。
15.根据权利要求14所述的方法,其中处理所分离的层包括从所归纳的层中提取数据。
16.一种实施网络交换机的方法,所述方法包括:
对数据包的头部进行解析,所述头部具有多个协议层,其中所述解析基于所述协议层,由此分隔开所述头部的所述协议层的每一协议层并且初始化第一阵列和第二阵列;
将所述第一阵列的每个元素与可编程寄存器进行比较,以确定与所述元素相关联的协议层中的一个协议层是否需要被分离;
基于确定与所述元素相关联的所述协议层中的所述一个协议层需要被分离,来分离所述协议层中的所述一个协议层;
根据所述分离,对所述第一阵列和所述第二阵列进行更新;以及
从与所述第一阵列的每个元素相关联的所述协议层提取数据。
17.根据权利要求16所述的方法,其中对数据包进行解析包括:
标识所述数据包中的所述协议层中的每一协议层的层类型;
将所述协议层中的每一协议层的所述层类型存储在所述第一阵列中;
标识所述数据包中所述协议层中的每一协议层所结束的位置的偏移;以及
将所述协议层中的每一协议层所结束的位置的所述偏移存储在所述第二阵列中。
18.根据权利要求16所述的方法,其中所述可编程寄存器包括:
层类型字段,其指示何者与相对应的输入相匹配;
分离长度字段,其指示所述协议层中的相对应的协议层应当以其而被分离的偏移;以及
新层类型字段,其指示新分离层的层类型值。
19.根据权利要求18所述的方法,进一步包括:在对数据包进行解析之前,经由软件对所述层类型字段、所述分离长度字段以及所述新层类型字段进行编程。
20.根据权利要求16所述的方法,进一步包括:将所述第一阵列和所述第二阵列存储在所述网络交换机的存储器中。
21.根据权利要求16所述的方法,进一步包括:将所提取的数据结合以由此形成最终结果。
22.根据权利要求16所述的方法,进一步包括:将位矢量应用到来自逻辑AND运算的结果,其中对来自所述协议层中的一个协议层的所提取的数据和位掩码应用所述逻辑AND运算中的每一个。
23.一种网络交换机,包括:
输入端口和输出端口,用于接收和发送数据包,所述数据包中的每个数据包具有包括多个协议层的头部;
存储器,用于存储第一阵列和第二阵列以保持对所述协议层的跟踪;以及
解析器引擎,用于将数据包的头部分离为所述协议层,以用于将所述协议层中的任何超过预定大小的协议层进一步分离为多个子层,并且用于从所有的所述子层提取数据。
24.根据权利要求23所述的网络交换机,其中所述预定大小是软件限定的。
25.根据权利要求23所述的网络交换机,其中所述解析器引擎将所提取的数据进一步级联以形成令牌,其中所述令牌被用于所述数据包的进一步处理。
26.根据权利要求23所述的网络交换机,其中所述解析器引擎进一步:
对用于所述子层中的每个子层的所提取的数据以及位掩码应用逻辑AND运算;以及
将位矢量应用到来自所述逻辑AND运算的结果,以形成哈希函数的输入。
27.根据权利要求26所述的网络交换机,其中所述哈希函数的输出是标识所述数据包应当采用等价多径路由中的哪个等价多径路由的唯一签名。
28.一种解析器引擎,包括电路,所述电路被配置为:
对数据包的头部进行分离,所述头部具有多个协议层,其中所述分离基于所述协议层,使得所述头部的所述协议层中的每个协议层被分隔开;
将所述头部的所述协议层中具有大于预定大小的大小的每个协议层进一步分离为多个子层;以及
处理所有的所述子层。
29.根据权利要求28所述的解析器引擎,其中保持与所述协议层中的每个协议层的层类型以及所述协议层中的每个协议层所结束的位置的偏移有关的信息。
30.根据权利要求29所述的解析器引擎,其中在将所述数据包的所述协议层中具有大于预定大小的大小的每个协议层进一步分离为多个子层后,对所述信息进行更新。
31.根据权利要求28所述的解析器引擎,其中所述电路还被配置为将来自所述处理的结果加以级联以形成令牌,其中所述令牌被用于所述数据包的进一步处理。
32.根据权利要求28所述的解析器引擎,其中所述电路还被配置为:将位矢量应用到来自所述处理的结果,以形成针对哈希函数的输入。
CN201510229779.9A 2014-06-19 2015-05-07 针对层信息的可配置提取处理大协议层的方法以及设备 Active CN105323300B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/309,763 US10616380B2 (en) 2014-06-19 2014-06-19 Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US14/309,763 2014-06-19

Publications (2)

Publication Number Publication Date
CN105323300A CN105323300A (zh) 2016-02-10
CN105323300B true CN105323300B (zh) 2021-02-09

Family

ID=54870779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510229779.9A Active CN105323300B (zh) 2014-06-19 2015-05-07 针对层信息的可配置提取处理大协议层的方法以及设备

Country Status (4)

Country Link
US (2) US10616380B2 (zh)
CN (1) CN105323300B (zh)
HK (1) HK1220832A1 (zh)
TW (1) TW201618516A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10498654B2 (en) * 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
US9985904B2 (en) 2015-12-29 2018-05-29 Amazon Technolgies, Inc. Reliable, out-of-order transmission of packets
CN109257352A (zh) * 2018-09-25 2019-01-22 广州虎牙信息科技有限公司 数据包解析方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341129B1 (en) * 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US6356951B1 (en) * 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US7187694B1 (en) * 2002-03-29 2007-03-06 Pmc-Sierra, Inc. Generic packet parser
US7293113B1 (en) * 2003-05-28 2007-11-06 Advanced Micro Devices, Inc. Data communication system with hardware protocol parser and method therefor
US7568047B1 (en) * 2004-04-30 2009-07-28 Nortel Networks Limited Method and apparatus for adaptive service label management

Family Cites Families (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361372A (en) * 1991-12-27 1994-11-01 Digital Equipment Corporation Memory management for data transmission networks
US5805808A (en) 1991-12-27 1998-09-08 Digital Equipment Corporation Real time parser for data packets in a communications network
US5793954A (en) 1995-12-20 1998-08-11 Nb Networks System and method for general purpose network analysis
US5729712A (en) 1996-01-26 1998-03-17 Unisys Corporation Smart fill system for multiple cache network
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US5951651A (en) 1997-07-23 1999-09-14 Lucent Technologies Inc. Packet filter system using BITMAP vector of filter rules for routing packet through network
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6330251B1 (en) 1998-05-30 2001-12-11 Alcatel Canada Inc. Method and apparatus for data extraction from a bit stream
US7333484B2 (en) 1998-08-07 2008-02-19 Intel Corporation Services processor having a packet editing unit
FI106504B (fi) * 1998-10-06 2001-02-15 Nokia Networks Oy Datan segmentointimenetelmä tietoliikennejärjestelmässä
US6442169B1 (en) 1998-11-20 2002-08-27 Level 3 Communications, Inc. System and method for bypassing data from egress facilities
JP2000196672A (ja) 1998-12-28 2000-07-14 Toshiba Corp ネットワ―ク間中継装置
US6606301B1 (en) 1999-03-01 2003-08-12 Sun Microsystems, Inc. Method and apparatus for early random discard of packets
JP2000253061A (ja) 1999-03-01 2000-09-14 Hitachi Ltd データ配送方法
US6789116B1 (en) 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US7159030B1 (en) * 1999-07-30 2007-01-02 Intel Corporation Associating a packet with a flow
US7038993B2 (en) 1999-12-02 2006-05-02 Matsushita Electric Industrial Co., Ltd. Optical disc medium having a plurality of sector groups, a recording method thereof and recorder
JP3613102B2 (ja) 1999-12-14 2005-01-26 日本電気株式会社 フレーム構成方法、フレーム構成装置およびフレーム構成転送システム
ATE319249T1 (de) 2000-01-27 2006-03-15 Ibm Verfahren und vorrichtung für klassifizierung von datenpaketen
US6831917B1 (en) 2000-05-10 2004-12-14 Cisco Technology, Inc. Network address translation for multicast virtual sourcing
JP4099930B2 (ja) 2000-06-02 2008-06-11 株式会社日立製作所 ルータ装置及びvpn識別情報の設定方法
US20020076142A1 (en) 2000-08-21 2002-06-20 Song Qi Wang Optical switch and switching network
GB0023169D0 (en) 2000-09-20 2000-11-01 Ibm Message parsing in message processing systems
US7389527B2 (en) 2000-10-11 2008-06-17 Broadcom Corporation Cable modem system and method for supporting extended protocols
US6952425B1 (en) 2000-11-14 2005-10-04 Cisco Technology, Inc. Packet data analysis with efficient and flexible parsing capabilities
GB2371705B (en) 2001-01-30 2003-04-23 3Com Corp Network switch with mutually coupled look-up engine and network processor
GB0107882D0 (en) 2001-03-29 2001-05-23 Ibm Parsing messages with multiple data formats
CN101026586A (zh) 2001-04-06 2007-08-29 艾利森电话股份有限公司 用于voip无线终端的系统和方法
US6944168B2 (en) 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US6904057B2 (en) * 2001-05-04 2005-06-07 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
DE10131561A1 (de) 2001-06-29 2003-01-16 Nokia Corp Verfahren zur Übertragung von Anwendungspaketdaten
US7017162B2 (en) 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7277957B2 (en) 2001-07-17 2007-10-02 Mcafee, Inc. Method of reconstructing network communications
US20030037154A1 (en) 2001-08-16 2003-02-20 Poggio Andrew A. Protocol processor
US7580408B2 (en) 2001-11-21 2009-08-25 Alcatel Lucent Configurable packet processor
US7236501B1 (en) 2002-03-22 2007-06-26 Juniper Networks, Inc. Systems and methods for handling packet fragmentation
US20030195973A1 (en) 2002-04-11 2003-10-16 Raymond Savarda Methods, systems, and computer program products for processing a packet with layered headers using a data structure that positionally relates the layered headers
JP2003308206A (ja) 2002-04-15 2003-10-31 Fujitsu Ltd プロセッサ装置
US20050232303A1 (en) 2002-04-26 2005-10-20 Koen Deforche Efficient packet processing pipeline device and method
US7277426B2 (en) 2002-05-24 2007-10-02 Mosaid Technologies, Inc. Method and apparatus for reordering entries in a multi probe lookup
US7408957B2 (en) 2002-06-13 2008-08-05 International Business Machines Corporation Selective header field dispatch in a network processing system
ATE538430T1 (de) 2002-07-04 2012-01-15 Koninkl Philips Electronics Nv Sich automatisch anpassende virtuelle tastatur
US6996651B2 (en) 2002-07-29 2006-02-07 Freescale Semiconductor, Inc. On chip network with memory device address decoding
WO2004023762A1 (en) * 2002-09-06 2004-03-18 Infineon Technologies Ag A parser for parsing data packets
US7191241B2 (en) 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7367052B1 (en) 2002-12-04 2008-04-29 Cisco Technology, Inc. Access list key compression
US7415596B2 (en) 2003-01-24 2008-08-19 Gigafin Networks, Inc. Parser table/production rule table configuration using CAM and SRAM
US20050281281A1 (en) 2003-01-24 2005-12-22 Rajesh Nair Port input buffer architecture
US7706363B1 (en) 2003-06-11 2010-04-27 Radlan Computer Communications, Ltd Method and apparatus for managing packets in a packet switched network
US7043518B2 (en) * 2003-07-31 2006-05-09 Cradle Technologies, Inc. Method and system for performing parallel integer multiply accumulate operations on packed data
US20050047406A1 (en) 2003-08-25 2005-03-03 Susan Hares Nested components for network protocols
GB0320957D0 (en) 2003-09-08 2003-10-08 Qinetiq Ltd Document authentication
US7685436B2 (en) 2003-10-02 2010-03-23 Itt Manufacturing Enterprises, Inc. System and method for a secure I/O interface
WO2005036834A1 (ja) 2003-10-10 2005-04-21 Fujitsu Limited 統計情報採取方法及び装置
US7085907B2 (en) 2004-02-17 2006-08-01 International Business Machines Corporation Dynamic reconfiguration of memory in a multi-cluster storage control unit
US7411957B2 (en) 2004-03-26 2008-08-12 Cisco Technology, Inc. Hardware filtering support for denial-of-service attacks
US7385984B2 (en) 2004-03-30 2008-06-10 Extreme Networks, Inc. Packet processing system architecture and method
US7646770B1 (en) 2004-03-30 2010-01-12 Extreme Networks, Inc. Systems for supporting packet processing operations
US7822032B1 (en) 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US8289973B2 (en) 2004-04-05 2012-10-16 Verizon Business Global Llc System and method for indicating classification of a communications flow
US7586851B2 (en) 2004-04-26 2009-09-08 Cisco Technology, Inc. Programmable packet parsing processor
JP4392294B2 (ja) 2004-06-15 2009-12-24 株式会社日立製作所 通信統計収集装置
JP4156568B2 (ja) 2004-06-21 2008-09-24 富士通株式会社 通信システムの制御方法、通信制御装置、プログラム
US7474619B2 (en) * 2004-07-22 2009-01-06 International Business Machines Corporation Method and apparatus for providing fragmentation at a transport level along a transmission path
CN101112056B (zh) 2005-01-31 2012-07-18 英国电讯有限公司 对信息进行编码的方法
US7463630B2 (en) 2005-02-18 2008-12-09 Broadcom Corporation Multi-part parsing in a network device
US7756124B2 (en) 2005-03-23 2010-07-13 Hewlett-Packard Development Company, L.P. Encapsulating packets for network chip conduit port
US7414975B2 (en) 2005-03-24 2008-08-19 Ixia Protocol stack
US7570661B2 (en) * 2005-06-14 2009-08-04 Microsoft Corporation Script-based parser
US7603474B2 (en) 2005-10-05 2009-10-13 Microsoft Corporation Efficient endpoint matching using a header-to-bit conversion table
JP4340653B2 (ja) 2005-12-16 2009-10-07 日本電信電話株式会社 通信処理装置及び通信処理方法
JP4887897B2 (ja) 2006-05-12 2012-02-29 富士通株式会社 パケット伝送装置、パケット転送方法及びパケット伝送システム
US8437369B2 (en) 2006-05-19 2013-05-07 Integrated Device Technology, Inc. Packets transfer device that intelligently accounts for variable egress channel widths when scheduling use of dispatch bus by egressing packet streams
US9143585B2 (en) 2006-07-07 2015-09-22 Wi-Lan Inc. Method and system for generic multiprotocol convergence over wireless air interface
US7710959B2 (en) 2006-08-29 2010-05-04 Cisco Technology, Inc. Private VLAN edge across multiple switch modules
CN101563908B (zh) 2006-12-19 2013-01-09 国际商业机器公司 分析网络流的装置和方法
US7822875B1 (en) 2006-12-22 2010-10-26 Marvell International Ltd. Method for flexible modifications to a packet
EP3041195A1 (en) 2007-01-12 2016-07-06 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format
IL220238A (en) 2007-03-12 2014-03-31 Marvell Israel Misl Ltd A method and system for determining the location of fields in information units
US7802009B2 (en) 2007-06-26 2010-09-21 Microsoft Corporation Automatic reverse engineering of message formats from network traces
US8054744B1 (en) 2007-10-25 2011-11-08 Marvell International Ltd. Methods and apparatus for flow classification and flow measurement
US8112800B1 (en) 2007-11-08 2012-02-07 Juniper Networks, Inc. Multi-layered application classification and decoding
CN101286215A (zh) 2008-02-22 2008-10-15 山东中创软件工程股份有限公司 同时支持人工流和自动流的工作流引擎
CN101237419A (zh) 2008-03-07 2008-08-06 北京航管科技有限公司 航空电信网空地通信中的报头压缩方法
US8825592B2 (en) 2008-03-12 2014-09-02 Web Access, Inc. Systems and methods for extracting data from a document in an electronic format
US7843919B2 (en) 2008-03-20 2010-11-30 International Business Machines Corporation Ethernet virtualization using a network packet alteration
JP4962394B2 (ja) 2008-04-21 2012-06-27 富士通株式会社 パケット転送制御装置およびパケット転送制御方法
JP2009272912A (ja) 2008-05-08 2009-11-19 Fujitsu Ltd Ipデータ処理装置
KR101456563B1 (ko) 2008-05-14 2014-10-31 삼성전자주식회사 멀티 홉 릴레이 환경에서 대역폭 할당 요청과 할당 방법 및시스템
US8040807B2 (en) 2008-09-05 2011-10-18 Cisco Technology, Inc. QoS on bonded channels of a shared access cable network
CN101686102A (zh) 2008-09-27 2010-03-31 上海瑞高信息技术有限公司 移动多媒体广播的数据压缩
US7872993B2 (en) 2008-10-30 2011-01-18 Alcatel Lucent Method and system for classifying data packets
US8234369B2 (en) 2008-12-23 2012-07-31 Verizon Patent And Licensing Inc. Web page response monitoring
US8208430B2 (en) 2008-12-23 2012-06-26 Movik Networks Transparent interaction with multi-layer protocols via selective bridging and proxying
US9064058B2 (en) 2008-12-24 2015-06-23 Nuon, Inc. Virtualized PCI endpoint for extended systems
US8902886B2 (en) 2009-04-23 2014-12-02 International Business Machines Corporation Canonicalization of network protocol headers
US8111704B2 (en) 2009-06-26 2012-02-07 Intel Corporation Multiple compression techniques for packetized information
US8335884B2 (en) * 2009-07-10 2012-12-18 Brocade Communications Systems, Inc. Multi-processor architecture implementing a serial switch and method of operating same
CN101621469B (zh) 2009-08-13 2012-01-04 杭州华三通信技术有限公司 数据报文存取控制装置和方法
CN101694627B (zh) 2009-10-23 2013-09-11 天津大学 基于可配置处理器的编译器系统
US9008082B2 (en) 2009-12-07 2015-04-14 Telefonaktiebolaget L M Ericsson (Publ) Handling data packets received at a routing node
EP2337274B1 (en) 2009-12-17 2014-03-05 Alcatel Lucent Method for processing a plurality of data and switching device for switching communication packets
CN101777791B (zh) 2009-12-18 2012-05-23 深圳市科陆电子科技股份有限公司 一种同时兼容多种电力负控系统通信协议的方法及其系统
WO2011078108A1 (ja) 2009-12-21 2011-06-30 日本電気株式会社 マルチプロセッサ環境におけるパターンマッチング方法、及び装置
US8743877B2 (en) 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
KR101644215B1 (ko) * 2010-01-28 2016-08-09 톰슨 라이센싱 신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치
US8654784B2 (en) * 2010-03-11 2014-02-18 Microsoft Corporation Multi-stage large send offload
US8472438B2 (en) 2010-04-23 2013-06-25 Telefonaktiebolaget L M Ericsson (Publ) Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network
US8576713B2 (en) 2010-04-23 2013-11-05 Ixia Traffic generator with priority flow control
EP2567524B1 (en) 2010-05-03 2019-06-26 Nokia Technologies Oy Protocol overhead reduction
CN101854361B (zh) 2010-05-21 2012-09-26 南京邮电大学 一种基于物联网的下一代互联网协议报头压缩方法
US8804733B1 (en) 2010-06-02 2014-08-12 Marvell International Ltd. Centralized packet processor for a network
US8537815B2 (en) 2010-06-17 2013-09-17 Apple Inc. Accelerating data routing
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
CN102377803B (zh) * 2010-08-12 2013-02-27 华为技术有限公司 一种数据处理方法、装置和系统
CN101958902B (zh) * 2010-09-30 2013-11-27 北京锐安科技有限公司 一种网络数据包的解析方法
US8705533B1 (en) 2010-12-10 2014-04-22 Juniper Networks, Inc. Fast packet encapsulation using templates
US8854996B2 (en) * 2010-12-16 2014-10-07 International Business Machines Corporation Accelerating data packet parsing
US8681819B2 (en) * 2011-01-31 2014-03-25 International Business Machines Corporation Programmable multifield parser packet
US8750333B2 (en) 2011-02-14 2014-06-10 Telefonaktiebolaget Lm Ericsson (Publ) Backwards-compatible approach to fields of a protocol layer
EP2690831A4 (en) 2011-03-23 2014-12-10 Nec Corp COMMUNICATION CONTROL SYSTEM, COMMUNICATION NODES AND COMMUNICATION CONTROL METHOD
US8873557B2 (en) 2011-04-08 2014-10-28 Gigamon Inc. Systems and methods for packet de-duplication
TW201246867A (en) 2011-05-06 2012-11-16 Ralink Technology Corp Packet processing accelerator and method thereof
EP2715601A1 (en) 2011-06-01 2014-04-09 Security First Corp. Systems and methods for secure distributed storage
US8570713B2 (en) 2011-06-29 2013-10-29 General Electric Company Electrical distribution system including micro electro-mechanical switch (MEMS) devices
CN102353894B (zh) 2011-08-26 2013-08-14 哈尔滨工业大学 基于参考向量和位掩码的soc的测试方法
CN102970150A (zh) 2011-09-01 2013-03-13 日电(中国)有限公司 用于数据中心的可扩展组播转发方法和设备
US9590820B1 (en) 2011-09-02 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improving load balancing in overlay networks
US8645763B2 (en) 2011-09-12 2014-02-04 Microsoft Corporation Memory dump with expanded data and user privacy protection
US8521905B2 (en) 2011-12-22 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) System for flexible and extensible flow processing in software-defined networks
US8711860B2 (en) 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
US9565120B2 (en) 2012-01-30 2017-02-07 Broadcom Corporation Method and system for performing distributed deep-packet inspection
CN103597794B (zh) 2012-02-16 2016-08-17 阿尔卡特朗讯公司 用于提供关于数据数组关联的信息以及用于转发数据数组的设想
US9282173B2 (en) 2012-02-17 2016-03-08 Viavi Solutions Inc. Reconfigurable packet header parsing
US9225635B2 (en) 2012-04-10 2015-12-29 International Business Machines Corporation Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization
US8929220B2 (en) 2012-08-24 2015-01-06 Advanced Micro Devices, Inc. Processing system using virtual network interface controller addressing as flow control metadata
US9055004B2 (en) 2012-09-18 2015-06-09 Cisco Technology, Inc. Scalable low latency multi-protocol networking device
EP3276977B1 (en) 2012-10-17 2020-04-29 Sony Corporation Data processing device, data processing method, and program
WO2014070883A2 (en) 2012-10-30 2014-05-08 Jds Uniphase Corporation Method and system for identifying matching packets
US20140153443A1 (en) 2012-11-30 2014-06-05 International Business Machines Corporation Per-Address Spanning Tree Networks
US9219694B2 (en) 2013-03-15 2015-12-22 Wisconsin Alumni Research Foundation Content addressable memory with reduced power consumption
US9769701B2 (en) 2013-06-14 2017-09-19 Texas Instruments Incorporated Header compression for wireless backhaul systems
US20140369363A1 (en) 2013-06-18 2014-12-18 Xpliant, Inc. Apparatus and Method for Uniquely Enumerating Paths in a Parse Tree
CN103347013B (zh) 2013-06-21 2016-02-10 北京邮电大学 一种增强可编程能力的OpenFlow网络系统和方法
US9444914B2 (en) * 2013-09-16 2016-09-13 Annapurna Labs Ltd. Configurable parser and a method for parsing information units
US9590914B2 (en) 2013-11-05 2017-03-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
US9363178B2 (en) 2013-12-18 2016-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
US9620213B2 (en) 2013-12-27 2017-04-11 Cavium, Inc. Method and system for reconfigurable parallel lookups using multiple shared memories
US9379963B2 (en) 2013-12-30 2016-06-28 Cavium, Inc. Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine
US9628382B2 (en) 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
US9823925B2 (en) 2014-03-28 2017-11-21 Intel Corporation Instruction and logic for a logical move in an out-of-order processor
CN104010049B (zh) 2014-04-30 2017-10-03 易云捷讯科技(北京)股份有限公司 基于sdn的以太网ip报文封装方法及网络隔离和dhcp实现方法
US9742694B2 (en) 2014-06-19 2017-08-22 Cavium, Inc. Method of dynamically renumbering ports and an apparatus thereof
US9274799B1 (en) 2014-09-24 2016-03-01 Intel Corporation Instruction and logic for scheduling instructions
US20170048144A1 (en) 2015-08-13 2017-02-16 Futurewei Technologies, Inc. Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341129B1 (en) * 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US6356951B1 (en) * 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US7187694B1 (en) * 2002-03-29 2007-03-06 Pmc-Sierra, Inc. Generic packet parser
US7293113B1 (en) * 2003-05-28 2007-11-06 Advanced Micro Devices, Inc. Data communication system with hardware protocol parser and method therefor
US7568047B1 (en) * 2004-04-30 2009-07-28 Nortel Networks Limited Method and apparatus for adaptive service label management

Also Published As

Publication number Publication date
TW201618516A (zh) 2016-05-16
US11258886B2 (en) 2022-02-22
CN105323300A (zh) 2016-02-10
HK1220832A1 (zh) 2017-05-12
US20200195761A1 (en) 2020-06-18
US20150373165A1 (en) 2015-12-24
US10616380B2 (en) 2020-04-07

Similar Documents

Publication Publication Date Title
US11258886B2 (en) Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US9154586B2 (en) Method for parsing network packets having future defined tags
CN105282133B (zh) 从分组内容形成哈希输入的方法及其装置
WO2013148048A1 (en) Systems and methods for modifying network packets to use unrecognized headers/fields for packet classification and forwarding
CN105282134B (zh) 从分组提取数据的方法、网络交换机及解析器
CN105207984B (zh) 使用连续字节来表示通用格式报头的方法及其装置
CN105282137B (zh) 将分组拆分成各层以供修改且之后将层拼接的方法及装置
CN105187330B (zh) 使用唯一分组标识符来标识分组结构的方法及网络交换机
US10397113B2 (en) Method of identifying internal destinations of network packets and an apparatus thereof
CN105323192B (zh) 将分组修改成通用格式用于实现可编程修改的方法及装置
CN105282033B (zh) 允许报头层的扩展和塌缩以实现灵活修改的方法及其装置
CN105282136B (zh) 使用通用修改指令来实现分组的灵活修改的方法及其装置
CN105763296B (zh) 用于在处理资源之间调度网络帧的方法
JP2018093276A (ja) フレーム処理装置および方法、並びにプログラム
JP2006246302A (ja) パケットフィルタ装置、およびそれを用いた装置、並びに、パケットフィルタ方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1220832

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: California, USA

Applicant after: Cavium, Inc.

Address before: California, USA

Applicant before: Cavium, Inc.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20200424

Address after: Singapore City

Applicant after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Applicant before: Kaiwei international Co.

Effective date of registration: 20200424

Address after: Ford street, Grand Cayman, Cayman Islands

Applicant after: Kaiwei international Co.

Address before: California, USA

Applicant before: Cavium, Inc.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant