CN1610338A - 用于加速分组处理的方法 - Google Patents
用于加速分组处理的方法 Download PDFInfo
- Publication number
- CN1610338A CN1610338A CN200410095932.5A CN200410095932A CN1610338A CN 1610338 A CN1610338 A CN 1610338A CN 200410095932 A CN200410095932 A CN 200410095932A CN 1610338 A CN1610338 A CN 1610338A
- Authority
- CN
- China
- Prior art keywords
- header
- cache
- extension header
- grouping
- extension
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/167—Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
IPv6已经发展为IPv4的改进升级。尽管IPv6在诸如寻址和路由选择的某些领域提供了相当多的改进,它已经消除了互联网报头长度字段。结果,对已经加入了扩展包头的分组进行处理以获得上层报头信息会导致较慢的处理速度。本发明通过高速缓存与报头选项字段的长度相关的信息来处理这一问题,该报头选项字段也被称为扩展包头。当接收到IPv6分组流,且如果该分组报头包括扩展报头,则对所述高速缓存信息的复查可以避免处理步骤,并且因此加速分组处理。
Description
技术领域
本发明涉及通信系统,更具体而言涉及分组处理方案,其中使用高速缓存来快速访问分组流中的上层报头。
背景技术
在下面的讨论中,互联网协议-第6版(IPv6)和多字段分类(MFC)被作为特定参照。然而,可以理解,本发明的概念不限制于IPv6和MFC,而且所描述的实现方式只是作为示范。
IPv6作为改进发展,克服了IPv4中的一些限制。特别地,IPv4的路由选择和寻址的限制对基于32位字段限制的可用地址配置而言是实际的限制。而IPv6将地址字段增加到128位。这可以支持更多级的寻址层次及更多数量的可寻址节点。另外,一些IPv4报头字段已被撤销从而减少分组处理的处理成本,并且限制IPv6报头的带宽成本。IPv6已具有了这样的新的能力,即能够标记属于特殊业务流量的分组,对于该业务流量,发送器请求基于服务或实时处理的质量的特殊处理。另外,增加可选择的互联网层信息到分组的机制已经改变了。在IPv4中,这可以通过作为IPv4报头一部分的选项字段来完成。IPv4报头中的互联网报头长度(IHL)字段表明这些额外的字段及基本报头的长度。然而,由于IHL字段的长度,仅仅有限数量的选项可以被加到分组。在IPv6中,利用扩展报头增加了互联网层信息。这些报头增加到IPv6报头和上层报头之间的IPv6分组上。每一个扩展报头包含识别下一个报头类型的字段,并且未使用与IPv4的IHL类似的字段,而是由IPv6指定所述扩展报头中每一个扩展报头的长度。这允许不限定数量的扩展报头被加到IPv6分组上。
图1示出了包括流标记字段的IPv6报头格式。
常规分组处理典型地需要来自于上层报头的字段。作为处理这种数据的许多例子中的一个,多字段分类(MFC),通常基于5-元组<源IP,目的IP,源端口,目的端口,协议>来分类分组。当使用选项或扩展报头时,到达上层报头以检索分组处理所必需的数据变得困难并且昂贵。
对于IPv4,用选项处理分组是简单的,因为前述IHL字段可以被用来略过整个IPv4报头,包括任何附加选项,以到达上层报头。
对于IPv6,由于IPv6报头没有像IPv4中的IHL那样的可以被用来立刻到达上层报头的字段,对于包含扩展报头的分组而言,到达上层报头显然更加困难。一个现有技术解决方案是顺序遍历扩展报头。因为每一个扩展报头的长度被存储在该扩展报头本身中,看来这似乎是最明显的解决方案。于是,如果在到达上层报头和进行常规分组处理之前,需要遍历大量的扩展报头,IPv6分组处理将会变得昂贵。这个成本看起来甚至更不必要,因为IPv6扩展报头的存在并不必然意味着从节点需要特殊处理。一些扩展报头包含仅仅与目的节点相关的信息,并且可以被所有在途节点完全忽略。事实上,只有逐跳及路由器扩展报头与所有的节点有关,并且后者只有当到达的分组去往节点时才被加以应用。幸运的是,RFC2460指定逐跳扩展报头为IPv6报头之后的第一扩展报头。这样节点能简单通过检查目的地址和IPv6报头的下一个报头字段来迅速确定是否需要用于分组的特殊处理。
一个可选择的先前方法是简单地将在分组分类中使用的字段限制为来自所述IP报头的字段,从而不需要检查上层报头。对于MFC,这将标准5-元组分类减化为3-元组分类。由于限制使用在MFC关键字中的字段对于IPv6意味着对节点通路安全性的改变被控制,因而这并不是非常普及的选项。这样,必须随后为IPv6开发一组新的规则,因为有时从上层报头读取所有的字段是不方便的。正因为如此,限制在分组分类中使用的字段并不被认为是有竞争力的解决方案。
发明内容
简而言之,本发明涉及对关于在分组流内使用的扩展报头的长度的信息所进行的高速缓存,以便加速对流中的随后分组的处理。在一个示范性的实施例中,该分组流包括IPv6分组。
因此,依照本发明的第一方面,提供一种访问分组流中上层报头的方法,它包括下列步骤:响应于包含扩展报头的分组,基于存在于该报头中的字段建立高速缓存关键字,并且执行对高速缓存项的高速缓存查找;以及响应于相应高速缓存项的找到,使用该高速缓存项并行读取扩展报头以到达和读取在所述上层报头中的字段。
依照本发明的第二方面,提供一种用于执行MFC以过滤分组流的系统,包括:响应于包含扩展报头的IPv6分组报头的装置,用于基于存在于所述报头中的字段建立高速缓存关键字,并且执行对高速缓存项的高速缓存查找;以及响应于相应高速缓存项的找到的装置,用于使用该高速缓存项并行读取扩展报头以到达和读取所述上层报头中的字段。
附图说明
现在将参照附图更详细地描述本发明,其中:
图1示出了IPv6报头格式;
图2示出了到达IPv6分组的上层报头所需的操作顺序;
图3A和3B示出了使用串行和并行处理的存储器访问的比较;以及
图4A到4G示出了使用了选项的扩展报头查找的时间轴。
具体实施方式
当节点接收到分组,将检查所述IPv6报头。对于没有扩展报头的分组将使用常规的分组处理技术进行处理。这意味着处理这些分组的唯一额外成本是对扩展报头的检查。对于具有逐跳扩展报头的分组,或去往包含选路报头的节点的分组,可以在这一点上启动由该报头指定的特殊处理。
对于具有扩展报头的分组,所述节点将使用包含在所述IPv6报头中的信息来建立关键字,以便执行高速缓存查找。这个关键字的格式对于所有分组可以是相同的,或者以IPv6报头中的字段的存在或值为基础。举例来说,对于具有非零流标记的分组,可以使用元组<IPv6.源IP,IPv6.流标记>,或<IPv6.源IP,IPv6.流标记,IPv6.下一个报头>。对于具有零流标记的分组,可以使用元组<IPv6.源IP,IPv6.目的IP>,或<IPv6.源IP,IPv6.目的IP,IPv6.下一个报头>。
当进行高速缓存查找时,所述来自报头的信息可以被用于读取列表中的第一扩展报头。如果在高速缓存中没有找到项,所述节点进而使用扩展报头长度和扩展报头的下一个报头字段顺序遍历扩展报头的列表。顺序遍历后,预期在相同流中有更多的分组具有相似扩展报头,用于遍历扩展报头的数据被置于高速缓存中。然而,如果找到了高速缓存项,所述节点使用来自第一扩展报头的信息和高速缓存的数据,以并行读取每一个余下的扩展报头。这允许所述节点能够快速地遍历所述扩展报头,并且其将到达上层报头,或者,如果没有高速缓存足够的数据,则继续顺序遍历最后的扩展报头。如果发现高速缓存的数据在扩展报头并行遍历中的任意一个点是错误的,该节点必须从数据错误的点顺序遍历剩余的扩展报头。在这种情况下,预期相同流中的额外分组具有相似格式,高速缓存将被更新,以反映当前分组中的扩展报头。
图2概括了上面描述的算法。应当注意,如果在读取IPv6报头后,得知在该分组中没有扩展报头,则不进行高速缓存查找。这样,在没有使用了扩展报头的分组的情况下,将只有很小的,如果有的话,执行这些优化所带来的负担。
图3示出了遍历扩展报头关联表与使用加速算法之间在存储器访问中的不同。在所示的情形中,通过一次存储器访问减少了分组处理等待时间。图3A示出了在报头的顺序遍历中使用的存储器访问。如图3B所示,并行处理包括步骤2b中与第一扩展报头的复查并行的对高速缓存的检查。
本发明有几个可选择的实施例。第一实施例是识别,并且对“不可预知”流作出反应的能力。这将被用来检测扩展报头不断变化的流。如果识别到这种流,将很清楚高速缓存的数据将可能是错误的,并且进行顺序遍历更为有效,而不必试图进行并行遍历。另外,对于这种流而言,更新高速缓存来反映当前分组的格式将是不必要的。标记“不可预知”的流可以是手动配置的结果,也可以基于对流的观测动态地确定。
第二实施例具有指定高速缓存项为“困难的”的能力。这将表明流中的大多数分组将被使用高速缓存数据正确地解释,并且如果该高速缓存数据与所述分组不匹配,该高速缓存将不被更新。这将防止单独的分组改变高速缓存数据。如前所扩展的内容,这个特征可以被手工激活或作为流观测的结果激活。通过指定在高速缓存失败的情况下只有在特定数量的失败之后才更新高速缓存中的数据,可以增强该扩展。
第三实施例也高速缓存一些上层报头信息,比如协议及源和目的端口。当高速缓存信息被接收到,该协议信息与包含在IPv6报头中的信息相结合,可以被用来立即开始分组分类,比如MFC。当该分类完成时,剩余的高速缓存信息可以被用来快速遍历扩展报头,并且用于验证高速缓存的协议信息与所述分组的相应信息是否匹配。如果两组信息匹配,那么该分类有效。但是,如果来自于高速缓存的信息是错误的,分类需要用来自于所述上层报头的正确信息加以重复。在最坏的情况下,存在一个额外分类成本,但是在最好的情况下这允许分组分类与扩展报头遍历并行地完成,并且能通过分组分类需要的等待时间而减少整个分组处理等待时间。
更进一步的实施例是高速缓存在常规分组处理期间执行的其它分类和查找的结果的能力。举例来说,所述MFC和正向查找的结果可以加入到所述高速缓存。使用该实施例,只有流中的第一分组需要完全分类,而流中的后续分组能使用来自高速缓存的这个分类结果。
本发明提供了优于先前讨论的现有技术的解决方案。由于大部分扩展报头对于大多数节点不需要特别处理,本发明减少了与处理含有扩展报头的IPv6分组相关的成本。还可以快速到达上层报头,从而分组处理得以继续。
关于对现有的MFC元组的使用,因为上层报头可以被迅速定位,在分组分类中使用的字段相对于用于IPv4的相应字段保持不变。这意味着现有的安全策略能够以IPv4中的相同方式应用到IPv6。
由于需要从高速缓存读取数据,并行加载扩展报头信息的代价会导致整个存储带宽的微小增加,但是该增加只发生于包含扩展报头的分组。
图4示出了并行加载直到6个扩展报头所对应的时间轴。实线条表示遍历扩展报头的最好情况。虚线条示出了如果高速缓存信息是错误时遍历扩展报头的绝对最坏情况。从图4A到4G可以看出,在遍历报头最好情况下,可以从包括了如虚线条所显示的顺序报头查找的处理中节约相当多的时间。
高速缓存可以通过许多方式实现。可能的实现方式包括使用内容寻址存储器(CAM)或通过使用散列表。也许最明显的方法是使用现有的CAM。使用CAM作为高速缓存有它的优点和缺点。主要的优点是,通过使用CAM,大多数的,如果不是全部,来自所述关键字的比特可以被用于执行查找,使得当与关键字匹配时只有非常低或为零的机会存在冲突,这取决于所述精确执行。这意味着仅会发生非常少的归因于从CAM获得错误信息的失配。CAM实现的不利方面,除了CAM昂贵且受空间约束之外,CAM查找需要两个存储器访问以完成高速缓存查找。第一个访问为写入,即为CAM提供所述关键字和指令以执行查找。第二个访问为读取,即从CAM检索结果。
除了使用CAM,还可以选择使用散列表来实现所述高速缓存。这种实现方式具有一定的优势,因为它没有花费宝贵和昂贵的CAM空间。由于散列表查找执行的速度,这种实现与CAM实现相比可能至少一样快且肯定更廉价。散列表实现的不利方面在于,与CAM实现相比,当与关键字匹配时,有更大的发生冲突的可能性。
取决于所述高速缓存实现的精确程度,当与关键字匹配时,发生冲突是可能的。这是没有使用所述关键字的所有比特作为到所述高速缓存的索引的结果。其后果是需要进行进一步处理以解决该冲突。在某些实现中,解决这些冲突的成本可能高于归因于错误的高速缓存信息的顺序遍历扩展报头所带来的成本。在这些情况中,简单假设冲突不发生是有益的。最终结果可能是高速缓存和分组数据间失配频率的增加,但是在处理中总体上减少。对于散列表实现,额外的益处就是减少了散列表项的大小,因为需要用来解决冲突的信息不再需要了。散列表项大小的减小有效地增加了在所述表中的项的数量,或节约了存储资源。
正如前面讨论的,为了建立关键字以索引到高速缓存,高速缓存方法使用了来自于报头的字段。存储在高速缓存中的信息是被认为是分组中的信息的副本。因为这个副本,必须注意确认高速缓存数据与分组中的数据匹配。为了做到这一点,最低限度扩展报头的长度必须被高速缓存从而可以加载扩展报头以确认其与高速缓存数据匹配。如果这个确认没有执行,恶意主机可能建立合法流,为了绕过一些安全机制而修改该流中的后续分组。作为例子,可以假设简单地高速缓存所有扩展报头的整个长度的实现方式。当所述流中包含多个扩展报头的第一分组到达时,这些扩展报头被顺序遍历,并且在高速缓存中加入项。在该分组上执行MFC,并且该分组被接收。流中的另一个分组到达,并且读出高速缓存数据。整个扩展报头的偏移量被用于读取所谓的上层报头,但是其实际上是与所述第一分组的相应报头相同的伪报头。执行MFC,并且接受该分组。扩展报头已经被顺序读取后,将会清楚地了解到该第二分组比第一分组有更少的扩展报头,并且真正的上层报头在该分组中的位置比高速缓存数据指定的要靠前。
尽管本发明的特殊实施例可以被描述和说明,很明显地,对于本领域的技术人员而言,在不背离本发明基本概念的情况下可以做出各种改变。但是,可以理解的是,这种改变将落入后附权利要求所界定的发明的全部范围之内。
Claims (23)
1.一种访问分组流中上层报头的方法,包括下列步骤:
a)响应于包含扩展报头的分组报头,建立高速缓存关键字并且执行对高速缓存项的高速缓存查找;并且
b)响应于相应高速缓存项的找到,使用该高速缓存项并行读取扩展报头,以到达并读取所述上层报头中的字段。
2.如权利要求1所述的方法,其中所述分组流包括IPv6分组。
3.如权利要求2所述的方法,其中所述高速缓存查找在包含了扩展报头长度的表上执行,并使用了包含基于存在于所述IPv6报头中的字段的元组。
4.如权利要求3所述的方法,包括下列步骤:当执行所述高速缓存查找时,读取扩展报头组中的第一扩展报头,以进一步减少分组处理时间。
5.如权利要求1所述的方法,其中如果没有找到高速缓存项,执行所述扩展报头的顺序读取,以及高速缓存关于这些扩展报头长度的信息,用于处理相同流中的后续分组。
6.如权利要求1所述的方法,包括步骤:检测具有逐跳和选路扩展报头的分组,并且确定是否需要这些分组的选项处理。
7.如权利要求6所述的方法,其中,响应于不包含扩展报头的分组,读取所述上层报头,而不执行高速缓存查找。
8.如权利要求1所述的方法,其中,如果所述扩展报头经常变化而导致错误的高速缓存数据,则顺序遍历这些扩展报头。
9.如权利要求8所述的方法,其中,使用手动配置检测所述经常变化的扩展报头。
10.如权利要求8所述的方法,其中,基于对所述分组流的观测,动态确定所述经常变化的扩展报头。
11.如权利要求1所述的方法,其中,如果所述高速缓存数据与所述分组不匹配,则不更新所述高速缓存项。
12.如权利要求11所述的方法,其中,所述高速缓存与所述分组不匹配的检测可以被手动激活。
13.如权利要求11所述的方法,其中,所述高速缓存与所述分组不匹配的检测是基于流观测被激活的。
14.如权利要求1所述的方法,其中,高速缓存来自所述上层报头的信息。
15.如权利要求14所述的方法,其中,所述高速缓存信息包括协议以及源和目的端口识别。
16.如权利要求1所述的方法,其中,高速缓存在常规分组处理过程中执行的分类和查找的结果。
17.一种用于访问分组流中上层报头的系统,包括:
响应于包含扩展报头的分组报头,用于建立高速缓存关键字,并执行对高速缓存项的高速缓存查找的装置;以及
响应于相应高速缓存项的找到,用于使用该高速缓存项并行读取扩展报头,以到达并读取所述上层报头中的字段的装置。
18.如权利要求17所述的系统,其中分组流包括IPv6分组。
19.如权利要求18所述的系统,其中用于执行高速缓存查找的装置,并行检测来自所述报头的用于读取第一扩展报头的信息。
20.如权利要求19所述的系统,其中如果没有找到高速缓存项,用于读取扩展报头的装置则顺序遍历所述报头。
21.如权利要求17所述的系统,包括这样的装置,其在某些情况下指定将不使用所述高速缓存数据以试图加速分组处理。
22.如权利要求17所述的系统,进一步包括高速缓存上层报头信息的装置。
23.如权利要求22所述的系统,其中所述上层报头信息包括协议,以及源和目的端口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/691,515 | 2003-10-24 | ||
US10/691,515 US7571242B2 (en) | 2003-10-24 | 2003-10-24 | Method for accelerated packet processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1610338A true CN1610338A (zh) | 2005-04-27 |
CN1610338B CN1610338B (zh) | 2011-04-27 |
Family
ID=34394547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410095932.5A Expired - Fee Related CN1610338B (zh) | 2003-10-24 | 2004-10-25 | 用于加速分组处理的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7571242B2 (zh) |
EP (1) | EP1526699B1 (zh) |
JP (1) | JP2005130502A (zh) |
CN (1) | CN1610338B (zh) |
AT (1) | ATE388567T1 (zh) |
DE (1) | DE602004012210T2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101411136B (zh) * | 2006-04-03 | 2012-07-18 | 极进网络有限公司 | 利用超过cam关键字长度的表索引执行查表操作的方法 |
WO2012167477A1 (zh) * | 2011-07-13 | 2012-12-13 | 华为技术有限公司 | 一种IPv6报文处理方法及装置 |
US8345657B2 (en) | 2006-08-23 | 2013-01-01 | Alcatel Lucent | Method and device of transmitting and parsing data in wireless communication network |
CN101594306B (zh) * | 2008-05-30 | 2013-09-18 | 英特尔公司 | 为分组报头提供前缀 |
CN109150584A (zh) * | 2018-07-04 | 2019-01-04 | 北京中创腾锐技术有限公司 | 一种基于smid指令的为网络分组分类提供加速支持的方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512085B2 (en) * | 2004-06-24 | 2009-03-31 | International Business Machines Corporation | Method for multicast tunneling for mobile devices |
US8447898B2 (en) | 2005-10-28 | 2013-05-21 | Microsoft Corporation | Task offload to a peripheral device |
US7664088B2 (en) | 2005-12-08 | 2010-02-16 | Electronics And Telecommunications Research Institute | Method for providing QoS using flow label in providing multimedia service in IPv6 network and system applying the same |
US20120047573A1 (en) * | 2010-08-17 | 2012-02-23 | Richard Jeremy Duncan | Methods and apparatus for detecting invalid ipv6 packets |
CN103181134B (zh) * | 2011-10-20 | 2015-09-09 | 华为技术有限公司 | 用于发送和接收IPv6数据包的方法和装置 |
US9531847B2 (en) * | 2014-05-22 | 2016-12-27 | International Business Machines Corporation | Skipping and parsing internet protocol version 6 (IPv6) extension headers to reach upper layer headers |
TW201919370A (zh) * | 2017-11-03 | 2019-05-16 | 財團法人資訊工業策進會 | 網路品質控管系統及網路品質控管方法 |
DK3618389T3 (da) | 2018-08-27 | 2020-11-09 | Ovh | Systemer og fremgangsmåder til at drive en netværksindretning |
PL3618355T3 (pl) | 2018-08-27 | 2021-02-08 | Ovh | Systemy i sposoby obsługiwania urządzenia sieciowego |
US10979542B2 (en) * | 2018-08-28 | 2021-04-13 | Vmware, Inc. | Flow cache support for crypto operations and offload |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5842040A (en) * | 1996-06-18 | 1998-11-24 | Storage Technology Corporation | Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units |
US6173364B1 (en) * | 1997-01-15 | 2001-01-09 | At&T Corp. | Session cache and rule caching method for a dynamic filter |
US6084855A (en) * | 1997-02-18 | 2000-07-04 | Nokia Telecommunications, Oy | Method and apparatus for providing fair traffic scheduling among aggregated internet protocol flows |
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 |
US6483804B1 (en) * | 1999-03-01 | 2002-11-19 | Sun Microsystems, Inc. | Method and apparatus for dynamic packet batching with a high performance network interface |
US6453360B1 (en) * | 1999-03-01 | 2002-09-17 | Sun Microsystems, Inc. | High performance network interface |
JP2002077262A (ja) * | 2000-09-01 | 2002-03-15 | Hitachi Ltd | 情報中継装置 |
US7269663B2 (en) * | 2001-09-28 | 2007-09-11 | Intel Corporation | Tagging packets with a lookup key to facilitate usage of a unified packet forwarding cache |
CN1150731C (zh) * | 2002-02-01 | 2004-05-19 | 清华大学 | 基于内容可寻址存储器的高速路由查找系统 |
JP3952860B2 (ja) * | 2002-05-30 | 2007-08-01 | 株式会社日立製作所 | プロトコル変換装置 |
-
2003
- 2003-10-24 US US10/691,515 patent/US7571242B2/en not_active Expired - Fee Related
-
2004
- 2004-10-21 JP JP2004306402A patent/JP2005130502A/ja not_active Withdrawn
- 2004-10-22 DE DE602004012210T patent/DE602004012210T2/de active Active
- 2004-10-22 AT AT04300708T patent/ATE388567T1/de not_active IP Right Cessation
- 2004-10-22 EP EP04300708A patent/EP1526699B1/en not_active Not-in-force
- 2004-10-25 CN CN200410095932.5A patent/CN1610338B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101411136B (zh) * | 2006-04-03 | 2012-07-18 | 极进网络有限公司 | 利用超过cam关键字长度的表索引执行查表操作的方法 |
US8345657B2 (en) | 2006-08-23 | 2013-01-01 | Alcatel Lucent | Method and device of transmitting and parsing data in wireless communication network |
CN101594306B (zh) * | 2008-05-30 | 2013-09-18 | 英特尔公司 | 为分组报头提供前缀 |
WO2012167477A1 (zh) * | 2011-07-13 | 2012-12-13 | 华为技术有限公司 | 一种IPv6报文处理方法及装置 |
CN103004166A (zh) * | 2011-07-13 | 2013-03-27 | 华为技术有限公司 | 一种IPv6报文处理方法及装置 |
CN103004166B (zh) * | 2011-07-13 | 2015-08-19 | 华为技术有限公司 | 一种IPv6报文处理方法及装置 |
CN109150584A (zh) * | 2018-07-04 | 2019-01-04 | 北京中创腾锐技术有限公司 | 一种基于smid指令的为网络分组分类提供加速支持的方法 |
CN109150584B (zh) * | 2018-07-04 | 2022-02-25 | 北京中创腾锐技术有限公司 | 一种基于simd指令的为网络分组分类提供加速支持的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20050089030A1 (en) | 2005-04-28 |
ATE388567T1 (de) | 2008-03-15 |
CN1610338B (zh) | 2011-04-27 |
EP1526699B1 (en) | 2008-03-05 |
EP1526699A1 (en) | 2005-04-27 |
JP2005130502A (ja) | 2005-05-19 |
DE602004012210D1 (de) | 2008-04-17 |
US7571242B2 (en) | 2009-08-04 |
DE602004012210T2 (de) | 2009-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1610338B (zh) | 用于加速分组处理的方法 | |
JP4727594B2 (ja) | コンテンツ・ベースの情報検索アーキテクチャー | |
CN1270487C (zh) | 用于三重内容可寻址存储器(tcam)表管理的方法和设备 | |
US7783654B1 (en) | Multiple string searching using content addressable memory | |
US7760720B2 (en) | Translating native medium access control (MAC) addresses to hierarchical MAC addresses and their use | |
US7167471B2 (en) | Network processor with single interface supporting tree search engine and CAM | |
US7415463B2 (en) | Programming tree data structures and handling collisions while performing lookup operations | |
US7415472B2 (en) | Comparison tree data structures of particular use in performing lookup operations | |
US7969758B2 (en) | Multiple string searching using ternary content addressable memory | |
US7349415B2 (en) | Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match | |
CN100547976C (zh) | 用于标识反向路径转发信息的方法和装置 | |
US7577151B2 (en) | Method and apparatus for providing a network connection table | |
US6922410B1 (en) | Organization of databases in network switches for packet-based data communications networks | |
US20010028650A1 (en) | Programmable network | |
US7599364B2 (en) | Configurable network connection address forming hardware | |
WO2003079618A2 (en) | System and method for longest prefix match internet protocol lookup | |
CN1606294A (zh) | 改进的用于路由器的访问控制列表机制 | |
US20030016653A1 (en) | Method and system for providing a symmetric key for more efficient session identification | |
US7561585B2 (en) | Manufacture and method for accelerating network address translation | |
US7249216B2 (en) | Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method | |
US7154892B2 (en) | Method and apparatus for managing LPM-based CAM look-up table, and recording medium therefor | |
US11394686B1 (en) | Dynamic network address translation using prediction | |
US20090210382A1 (en) | Method for priority search using a tcam |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110427 Termination date: 20191025 |