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

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

Info

Publication number
CN105323300A
CN105323300A CN201510229779.9A CN201510229779A CN105323300A CN 105323300 A CN105323300 A CN 105323300A CN 201510229779 A CN201510229779 A CN 201510229779A CN 105323300 A CN105323300 A CN 105323300A
Authority
CN
China
Prior art keywords
layer
packet
separated
protocol layer
array
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.)
Granted
Application number
CN201510229779.9A
Other languages
English (en)
Other versions
CN105323300B (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
Cavium LLC
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 Cavium LLC filed Critical Cavium LLC
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

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
    • 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
    • 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/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
PBBEthernet
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个分离的层的信息如同解析器引擎从单一层中进行的提取一样而被提取并且接着被级联回到最终结果。所提取的数据可以用于形成令牌或哈希输入。示例性的从数据包的数据提取在提交于【日期】的名称为“AMethodofExtractingDatafromPacketsandAnApparatusthereof”的美国专利申请序列号No.【代理人案卷号XPL-02100】,以及提交于【日期】的名称为“AMethodofFormingaHashInputfromPacketContentsandAnApparatusthereof”的美国专利申请序列号No.【代理人卷号XPL-02200】中有所讨论,其全部内容通过参考被并入于此。
当前的实施以降低的硬件成本有利地实现相同的功能。当前实施的序列可以被总结为:
(1)对进入数据包进行解析,并且标识每一个层的层类型以及每个层所结束的位置的偏移。该信息被存储在两个阵列中,即layerType[]和layerEndPtr[]。
(2)在解析结束时,将每一个layerType[]和可编程寄存器进行比较。所述可编程寄存器包括下述字段:
layerType:指示相对应输入所匹配的层类型;
splitLength:指示该层将被分离的位置的偏移;以及
newLayerType:指示新分离层的层类型值。
针对该比对的示例性的伪码如表1所示。
表1
解析器引擎为高度可配置的硬件解析器引擎,其就网络业务如何被解析提供类似软件的灵活性。图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 (31)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257352A (zh) * 2018-09-25 2019-01-22 广州虎牙信息科技有限公司 数据包解析方法、装置、电子设备和存储介质

Families Citing this family (2)

* 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

Citations (10)

* 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
CN101958902A (zh) * 2010-09-30 2011-01-26 北京锐安科技有限公司 一种网络数据包的解析方法与装置
CN102377803A (zh) * 2010-08-12 2012-03-14 华为技术有限公司 一种数据处理方法、装置和系统
US20120159132A1 (en) * 2010-12-16 2012-06-21 International Business Machines Corporation Accelerating Data Packet Parsing
EP2529528A1 (en) * 2010-01-28 2012-12-05 Thomson Licensing A method and apparatus for parsing a network abstraction-layer for reliable data communication
US20130326083A1 (en) * 1997-10-14 2013-12-05 Alacritech, Inc. Method and apparatus for processing received network packets on a network interface for a computer

Family Cites Families (150)

* 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
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
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
US8705533B1 (en) 2010-12-10 2014-04-22 Juniper Networks, Inc. Fast packet encapsulation using templates
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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326083A1 (en) * 1997-10-14 2013-12-05 Alacritech, Inc. Method and apparatus for processing received network packets on a network interface for a computer
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
EP2529528A1 (en) * 2010-01-28 2012-12-05 Thomson Licensing A method and apparatus for parsing a network abstraction-layer for reliable data communication
CN102377803A (zh) * 2010-08-12 2012-03-14 华为技术有限公司 一种数据处理方法、装置和系统
CN101958902A (zh) * 2010-09-30 2011-01-26 北京锐安科技有限公司 一种网络数据包的解析方法与装置
US20120159132A1 (en) * 2010-12-16 2012-06-21 International Business Machines Corporation Accelerating Data Packet Parsing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257352A (zh) * 2018-09-25 2019-01-22 广州虎牙信息科技有限公司 数据包解析方法、装置、电子设备和存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
US9479620B2 (en) Packet parsing and key generation in a network device
CN104881422B (zh) 用于生成查找和进行判定的引擎、方法和软件定义网络
US8681819B2 (en) Programmable multifield parser packet
US11729300B2 (en) Generating programmatically defined fields of metadata for network packets
US11258886B2 (en) Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
CN106790170B (zh) 一种数据包过滤方法及装置
US20160028860A1 (en) Method for parsing network packets having future defined tags
CN105282133B (zh) 从分组内容形成哈希输入的方法及其装置
WO2021168145A1 (en) Methods and systems for processing data in a programmable data processing pipeline that includes out-of-pipeline processing
US20140101751A1 (en) Hardware engine for high-capacity packet processing of network based data loss prevention appliance
CN105282134B (zh) 从分组提取数据的方法、网络交换机及解析器
US20150195387A1 (en) Methods and systems for flexible packet classification
TW201631935A (zh) 用於利用超級鍵生成並行查找請求的方法和裝置
EP3264716B1 (en) State transition compression mechanism to efficiently compress dfa based regular expression signatures
CN105282033B (zh) 允许报头层的扩展和塌缩以实现灵活修改的方法及其装置
CN105763296B (zh) 用于在处理资源之间调度网络帧的方法
CN117240947B (zh) 一种报文处理方法、装置及介质
US11356377B2 (en) Distribution method for a connection with multiple and heterogenous links
US20160212047A1 (en) Packet output controlling method and network device using same
KR20200080513A (ko) 네트워크 장치, 그리고 이를 이용한 네트워크 모니터링 제어 방법 및 시스템
TW201138397A (en) Methods and apparatus for protocol recognition

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