CN1846409A - 用于基于传输控制协议话务流特征进行超高速缓存查找的设备和方法 - Google Patents
用于基于传输控制协议话务流特征进行超高速缓存查找的设备和方法 Download PDFInfo
- Publication number
- CN1846409A CN1846409A CNA2004800253368A CN200480025336A CN1846409A CN 1846409 A CN1846409 A CN 1846409A CN A2004800253368 A CNA2004800253368 A CN A2004800253368A CN 200480025336 A CN200480025336 A CN 200480025336A CN 1846409 A CN1846409 A CN 1846409A
- Authority
- CN
- China
- Prior art keywords
- grouping
- feature
- predefine
- behavior
- network
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种网络装置的分类系统包括高速缓冲存储器,其中响应会话中的第一个“频繁飞行者”分组,而存储TCP/IP分组的预定义特征和相关行为之间的映射。使来自那个会话的后续接收分组的所选择特征和预定义特征相关联,并且如果所选择的特征与预定义特征匹配,则将所存储的行为施加到已接收的分组上,从而减少后续分组所需要的处理。为超高速缓冲存储而选择的分组可以是数据分组。对于失配的特征,使用分类系统的完全分组搜索来确定要对所接收的分组施加的行为。
Description
技术领域
本发明一般涉及通信网络,特别涉及用于提高连接到所述网络的装置的数据管理能力的设备和方法。
背景技术
接下来的描述预先假定知道网络数据通信以及在这样的通信网络中使用的交换机、网络处理器、适配器、路由器等。特别地,描述中预先假设熟悉将网络操作分层的网络体系结构的ISO模型。基于ISO模型的典型体系结构是把网络操作分层的网络体系结构。基于ISO模型的典型体系结构从作为传送信号的物理通道或媒介的第1层(有时也标识为“L1”)向上扩展,经过第2、3、4层等,直到第7层,最后提及的是在链接到网络的计算机系统上运行的应用程序层。在这个文献中,提及L1、L2等是想指网络体系结构的对应层。该公开还预先假定了对在这样的网络通信中称为分组和帧的位串(bit string)的基本理解。
通信网络的一般模型可以包括一个或多个专用网,其通过防火墙或类似结构耦接到公用网络如更多的称为因特网的万维网(WWW)。连接到网络的装置(此后称为网络装置)之间的通信可主要发生在专用网内或者通过防火墙经由因特网到远程专用网。
为了在网络装置之间交换信息并且管理网络,需要一些类型的协议。可以将该协议表征为一套控制网络接入的规则,并且在某些情况下用于将网络保持在可操作条件。即使有一些标准协议,如可以用在专用网上的以太网、令牌网等,但大多数专用网络可使用所希望使用的任何协议管理。仅有的可能限制是,专用网络上的网络装置必须认识该协议,否则,该网络装置将不能令人满意地操作或通信。
因为专用协议缺乏统一性,所以进一步的讨论受限于在因特网上使用的公用协议。该公用协议称为TCP(传输控制协议)/IP(因特网协议)。这是用于在因特网上进行通信的公知协议。
诸如网络处理器的网络装置的一个性能度量,运行IP路由应用是基于在诸如一秒的设置时间间隔内所处理或分类的分组数。这反过来可以受所需要的分类类型的影响。为了路由分组的目的,可以将网络分类划分为第2层(L2)、第3层(L3)、第4层(L4)以及之上。每一层所需要的计算从L2到L4以及之上而增加。例如,L2分类可以简单到发现媒体接入控制(MAC)表格匹配。这个过程将需要比较MAC源地址(SA)或MAC目的地址(DA)分组和表格中的地址。更通常的方案是使用完全匹配算法、L2分类任务。L3分类可用于路由和其它L3功能。如果用于路由的目的,L3分类需要发现分组中的信息和数据库中的信息之间的最长前缀匹配。最长前缀匹配算法用于L3分类。该最长前缀匹配算法比完全匹配算法更复杂,并因此需要更多的计算时间。
L4分类包括诸如用可能复杂的调解范围等来实施过滤规则之类的复杂功能。这个类型的分类通常需要复杂算法,其使用相对长的时间间隔来处理分组。对于L4之上的查找或分类,处理分组的时间间隔甚至还增加。L4分类之上的处理指的是深分组处理。
鉴于上述,诸如网络处理器之类的网络装置的吞吐量(每秒钟所处理的分组数)取决于该装置所执行的查找或分类的类型。因此,当需要L3和更高层查找时,网络处理器的计算资源紧张。此外,经常需要网络处理器以每秒钟数百万分组来执行查找,这进一步使计算资源紧张。在网络处理器的资源紧张的情况下,其能够满足吞吐量需要、并同时处理L3和更高层查找的可能性变得相对低。因此,需要将使诸如网络处理器的网络装置能够保持吞吐量以便满足性能需要并同时处理L3和更高层查找的资源。
发明内容
第一方面,提供了一种用于管理通信网络中的话务(traffic)的方法,包括以下行为:(a)在网络装置中提供高速缓冲存储器(cache),其容纳与分组相关的最低限度(at least)预定义特征以及与所述预定义特征中所选择的特征配对的行为(action);(b)在所述网络装置中接收至少一个分组;(c)从所述已接收的分组特征中选择与该最低限度预定义特征类似的特征;(d)使从所述已接收的分组中选择的特征和预定义特征相关联(correlate);以及(e)使用关联的结果来处理已接收的分组。
优选地,所述处理包括:如果所述已接收的分组的特征与该最低限度预定义特征匹配,则对已接收的分组实施配对行为。
优选地,最低限度预定义特征包括因特网协议(IP)目的地址(DA)、IP源地址(SA)、传输控制协议(TCP)目的端口(DP)以及TCP源端口(SP)。
优选地,关联行为包括比较。
优选具有包括如下行为的方法:在存储器中提供与分组相关的预定义特征和要执行的行为的映射;接收将要分类的分组;使已接收的分组的所选择的特征和预定义特征相关联;并且如果所选择的特征与预定义特征匹配,则对所述接收分组执行所存储的行为。
优选地,关联行为包括比较。
优选地,预定义特征包括源地址(SA)、目的地址(DA)、源端口(SP)、和目的端口(DP)。
优选地,接收的分组包括数据分组。
优选地,所存储的与预定义特征相关的行为仅仅根据一组分组的第一分组更新。
优选地,对该组分组中第一分组之后的所有分组执行所存储的行为。
在第二方面,提供了一种系统,其包括处理器;以及高速缓冲存储器,可操作地耦接到所述处理器,所述高速缓冲存储器存储分组的预定义特征和行为之间的映射,其中所述处理器执行第一程序,其使所述处理器将所选择的分组的特征和预定义特征相关联,并且如果来自所选择的分组的特征与预定义特征匹配,则对所选择的分组实施与预定义特征相关的行为。
优选地,预定义特征包括源地址(SA)、目的地址(DA)、源端口(SP)、和目的端口(DP)。
优选地,处理器包括网络处理器。
该系统优选地还包括可操作地耦接到所述处理器的存储器,其中存储用于完全分组搜索的数据结构,其中所述处理器执行第二程序,其使所述处理器访问该数据结构,并且如果预定义特征和来自所选择的分组的特征之间发生失配,则对所选择分组实施所述数据结构中存储的行为。
优选地,所选择的分组包括所收的分组。
优选地,第二程序包括完全匹配算法。
优选地,第二程序包括最长前缀匹配算法。
优选地,第二程序包括软件管理树算法(Software Managed Treealgorithm)。
优选地,所述存储器在处理器内部。
优选地,所述存储器在处理器外部。
优选地,数据结构包括直接表格(Direct Table)和帕特丽夏(Patricia)树。
优选具有包括如下装置的系统:存储器,其存储分组的预定义特征和将要对所有特征值集的子集执行的行为之间的映射;以及控制器,其使已接收的分组中的特征和预定义特征相关联,并且如果该特征与预定义特征匹配,则对所述已接收的分组执行所述行为。
在第三方面,提供了一种包括计算机程序代码的计算机程序,当被加载到计算机系统并在其上执行时,使所述计算机系统执行根据第一方面的方法的所有步骤。
优选地,以包括在其上记录计算机程序的介质的程序产品的形式提供计算机程序,所述程序包括使已接收的分组的特征和表格中的特征的指令相关联,所述表格容纳所有可能特征值的子集;以及如果所接收的分组的特征和表格中的特征匹配,就对已接收的分组实施存储在所述表格中的行为的指令。
所述程序产品优选地还包括产生容纳所述特征和相关行为的表格的指令,并优选地还包括保留所述表格的指令。
优选地,进行保留的指令还包括删除老化的条目(entry)并插入新条目的指令。
优选地,在(b)中接收的所述至少一个分组满足成为属于相同会话的短脉冲串分组内的一个分组的频繁飞行者(Frequent Flyer)准则。
该系统优选地还包括可操作地耦接到存储器的老化机制,所述老化机制周期性地从所述存储器中删除老条目。
优选地,基于预定准则删除老条目。
优选地,预定义准则包括当所述存储器已满且有新条目需要添加时删除最近最少使用的条目。
这样优选地,提供了一种对通信网络中的分组进行分类的方法,包括以下行为:(a)接收网络装置中的分组;(b)确定存在于已接收的分组中的数据分组;(c)提供在其中存储了分组的预定义特征和与预定义特征中所选择的特征相关的行为的高速缓冲存储器;对于如此确定的每个数据分组,使所述每个数据分组的所选择的特征和所述高速缓冲存储器中的预定义特征相关联;并且对于所选择的特征与预定义特征之一匹配的每个数据分组,对所述每个数据分组强加与所述预定义特征之一相关的行为。
优选地,该分组包括TCP/IP分组。
优选地,确定行为还包括检查TCP报头中的控制位的行为;如果将所述控制位中所选择的位设置到第一状态,则检查IP报头中的长度字段以确定其值;将TCP报头中的数据偏移字段的值乘以4;以及从长度字段的值中减去相乘的结果。
优选地,第一状态包括逻辑“0”。
优选地,所选择的所述控制位中所选择的位包括SYN、FIN以及RST。本发明的实施例优选地提供加速器,其改善网络装置的查找能力,并且通过这么做,所述网络装置能够比迄今所可能的情况更有效地将分组分类。所述加速器可包括称为高速缓冲存储器的存储器,在其中存储了称为(在此描述的)四元组的TCP分组的特征。所述四元组包括因特网协议(IP)SA、IP DA、传输控制协议(TCP)源端口(SP)以及目的端口(DP)。也存储了与每个四元组有关的行为。匹配逻辑使已接收的分组中的四元组和高速缓冲存储器中的四元组相关联。如果发生匹配,则将高速缓冲存储器中与所述四元组相关的行为施加到已接收的分组中。如果没有发生匹配,则遵循用于对那个类型的分组进行分类的常规处理。提供了特定的方法和设备来填充并动态地老化流高速缓冲存储器。该高速缓冲存储器和相关的硬件和/或软件称为“流高速缓冲存储器”。
通过使用流高速缓冲存储器,网络处理器可以以快于迄今可能的速率对分组进行分类。
附图说明
现在将参考附图、仅作为例子给出本发明的优选实施例,其中:
图1示出其中网络装置实行本发明的讲述内容的通信网络的框图;
图2示出网络处理器的框图;
图3示出根据本发明的讲述内容的子系统(流高速缓冲存储器和控制器)的框图;
图4示出分组格式的图形表示;
图5示出TCP报头的格式;
图6示出IP报头的格式;
图7示出根据本发明的讲述内容在计算机上执行的程序的流程图;
图8示出根据本发明的讲述内容用于清空流高速缓冲存储器的流程图。
具体实施方式
本发明的优选实施例使用流高速缓冲存储器来加速通信网络中的分组分类,并因此提高所述网络装置在特定的单位时间内可以处理的分组数目。其对于TCP话务很适用,并因此将在该环境中描述。然而,这不应该是对本发明范围的限制,因为其对话务以脉冲串形式出现的任何通信协议都适用。例如,人们相信,DNS服务器之间UDP话务(协议17)脉冲串出现,并且也可以受益于流高速缓冲存储器。作为本发明的一般说明,一般的方案是识别一贯具有大多数集束(bundling)并仅仅从其进入到高速缓冲存储器的那些流。同样重要的是,对没有集束的那些分组类型避开高速缓冲存储器。
具有大多数集束的流或分组进入在相对短周期的时间间隔内出现的脉冲串包,并且在这个文献中称为“频繁飞行者(Frequent Flyer)”。
图1示出在其中使用了本发明的讲述的高度简化的网络100。该网络包括连接到因特网或其它网络102的多个边缘装置104。将每个边缘装置104连接到子网络106,其可以是使建筑物、校园等中的用户相互连接的专用网络。这样的子网络在本领域公知,并将不对其进行进一步描述。通过桥装置110将子网络106连接到另一个子网络。边缘装置104可以是路由器交换机或者用于这个类型的分组处理的任何其它网络装置。每一个边缘装置具有网络处理器108。根据装置类型,可以使用一个或多个网络处理器。桥装置110还可以包含用于执行路由功能的网络处理器108。在本领域中公知诸如104和110的网络装置的使用,所以将不再给出对这些实体的进一步描述。
图2示出图1所示的网络处理器的框图。该网络处理器执行包括根据本发明的讲述内容的那些应用的IP路由应用,并且当从因特网接收帧时将该帧分类。由网络处理器执行不同分类任务,包括第2层(发现MAC表格匹配)、第3层(发现用于路由的最长前缀匹配)、第4层(加强具有协议参数的可能复杂相交范围的过滤规则)、以及更高层查找(上至应用层,例如所谓的深分组处理)。诸如第4层分类的一些分类需要相对长的处理时间,因为其涉及复杂的算法。本发明提供了一种显著减少了执行第3层、第4层和更高层分类所需要的平均时间的设备和技术。虽然任何类型的网络处理器都可以用于执行本发明的优选实施例中的分类功能,这里使用了IBM开发和销售的PowerNP。该PowerNP是单片装置10,其包括集成在衬底上的多个功能单元。这些功能单元排列为上行配置(upside configuration)和下行配置(downsideconfiguration),其中上行配置(有时也称为“进路(Ingress)”)指的是涉及从数据传输网络入站到芯片(向上至或进入芯片)的数据的那些元件,而“下行”(有时也称为“出路(Egress)”)指的是功能为以出站方式从芯片向数据传送网络传送数据(远离芯片或者向下并进入网络)的那些元件。数据流遵循上行和下行配置的各个布置。因此,在图2的系统中有上行数据流和下行数据流。上行或进路配置部件包括入队出队调度UP(EDS-UP)逻辑16、多个多路复用的MAC-UP(PMM-UP)14、交换数据向上推进器(SMD-DN)18、系统接口SIF(20)、数据对准串行链路A(DASL A)22和数据对准串行链路B(DASLB)24。DASL A 22和DASL B 24将网络处理器连接到具有需要多个网络处理器的许多网络连接的系统中的交换机。
仍旧参考图2,在系统的下行(或出路)中示出的元件包括数据链接(DASL-A)26和DASL-B 28、系统接口SIF 30、交换数据推进器(SDM-DM)32、入队-出队-调度器EDS-DN 34、以及用于出路PMM-DN 36的多个多路复用MAC。网络处理器芯片10还包括多个内部静态存取存储器元件(S-RAM)、也称作出路调度器的话务管理调度器(TRAFFIC MGT SCHEDULER)40、以及嵌入式处理器复合体12。嵌入式处理器复合体包括用于执行分类功能的多个处理器和协处理器。通过各个数据移动单元(DMU)总线将接口装置38耦接到PMM 14和36。接口装置38可以为用于连接到网络(没有示出)的任何合适硬件设备,如以太网物理装置或异步传输模式(ATM)装置等。在美国专利6,404,752中给出了对PowerNP更详细的描述,通过参考将其全部合并于这个文献中。
如先前所述,在因特网上使用的协议是TCP/IP协议。结合使用这个协议的数据分组来描述本发明。TCP/IP协议具有在本发明中被称为“频繁飞行者”的某些分组,其一贯地以脉冲串形式出现。在网络处理器中,用包括相对于所接收的包所采取的行为的规则对每个处理器进行预编程,且与特定规则匹配。根据本发明的讲述内容,将频繁飞行者和它们的相关行为放在高速缓冲存储器中,并且可以基于存储在高速缓冲存储器中的信息处理脉冲串的后续成员。因而,增强了使用本发明的系统的吞吐量。
应该注意,如果在高速缓冲存储器中没有发现分组的匹配,就遵循为网络处理器提供的标准分类系统和方法。标准分类系统和方法比高速缓冲存储器需要更多的时间来处理分组。因此,高速缓冲存储器减少了与标准分类系统相关的执行时间(latency)。
图4示出了TCP/IP分组或帧400的图形表示,其包括报头部分402和有效载荷404。TCP/IP格式在本领域公知。因此,将仅进一步描述涉及本发明的格式部分。与本发明相关的格式部分是报头402。报头部分402包括TCP部分和IP部分二者。
图6示出了报头的IP部分的IP报头格式600。IP报头格式在本领域公知。因此,将仅描述报头中本发明感兴趣的那部分。与本发明有关的IP报头格式部分是标记为“协议”的子字段、标记为“IP源地址”的子字段、和标记为“IP目的地址”的子字段。如随后将论述的,源地址(SA)和目的地址(DA)是被称作四元组的四个参数中的两个,该四个参数将用作进入此后描述的流高速缓冲存储器控制器的条目(entry)。要注意,协议子字段也用于识别被传送的分组的类型(即,TCP)。
图5示出TCP报头格式500。TCP报头格式在本领域公知;因此,将仅描述在本发明中使用的那些字段。所使用的字段包括源端口(SP)和目的端口(DP)。如下文中将论述的,来自IP报头格式的SA和DA、以及来自IP TCP报头格式的SP、DP称为将在流高速缓冲存储器中使用的四元组。也感兴趣的是用符号502标识的控制键(key)。每个键是识别所传送的分组类型的一位字段。由发起分组的源装置设置该位。例如,如果将标记为SYN的键中的位设置为逻辑“1”,则该分组将是同步分组。由502标识的分组需要建立网络装置之间的会话。
图3示出根据本发明的讲述内容的流高速缓冲存储器系统300的功能框图。该流高速缓冲存储器系统包括有限尺寸的相关存储器,其存储流特征和对于流要采取的行为之间的映射。在本发明的一个实施例中,该特征是四元组的四个分量,即IP源地址(SA)、IP目的地址(DA)、TCP目的端口(DP)以及源端口(SP)。控制器32使来自所接收的分组的特征(四元组)和相关存储器的内容相关联。如果发现匹配,则将针对四元组存储的行为施加到或强加到帧或分组上。从流高速缓冲存储器系统300中提取信息(即将相对于分组采取的行为)远快于使用诸如最长前缀匹配或软件管理的树算法之类的传统算法来确定对分组采取什么样的行为。要注意,尽管描述覆盖了第3层和第4层处理,但是也可以通过级联来自分组报头的N个字段而扩展到包括第2层或其它层处理(OSI模型中的一个或多个层),以便产生“n元组”。例如,可以使用第2层的报头字段将第2层行为添加到本发明的第2层版本中。
为了使本发明有效,必须控制高速缓冲存储器的尺寸。如果高速缓冲存储器的尺寸太大,则可能实际上降低系统的性能。该高速缓冲存储器应该仅大到足够保留频繁飞行者的脉冲串持续期间的会话信息。实际因特网话务的实验示出这个间隔大约为1ms。可以使用这个间隔以及网络处理器处理的频繁飞行者分组速率来计算所需要的高速缓冲存储器尺寸。
理想地,高速缓冲存储器尺寸应该能够被包含在内部快速SRAM内并应该足够小以便在可用于处理分组的时间内搜索。要注意,更大的高速缓冲存储器可能需要更多的时间来搜索。
图7示出根据本发明的讲述内容的分组处理算法的流程图700。该算法在网络处理器中执行。优选地,使用本发明的讲述内容,仅数据帧将适合于处理,因为作为基于网络通路所支持的最大尺寸传送单元(MTU)将大消息分段为多个更小的分组的结果,该数据帧典型地以脉冲串方式传送。将不会对TCP/IP协议组中的其它分组(如SYN、FIN、或RST)进行超高速缓存,因为这些类型的连续分组典型地被所需要的网络通路的往返行程延迟而在时间上分开。可以通过检查TCP报头中的标志位502(图5)和IP报头中可能的长度字段和TCP报头中的数据偏移字段,来识别数据分组。标记位也称为控制位,二者在这个文献中可交换使用。具有SYN、FIN或RST标记设置中的任一个的那些分组不是数据分组。如果在TCP报头的控制标记字段中没有设置(即等于1)这些位值中任一个,则必须检查IP报头中的长度字段。紧接着,必须从这个值中减去TCP报头中的数据偏移字段(乘以4)。如果相减的结果大于零,则分组中存在数据。可替换地,可以选择一些大于0的其它值作为阈值。如果结果指示在TCP分组中有数据,则将该分组看作是数据分组,并因此是频繁飞行者。可替换地,作为第一步,仅可以将以太网报头中的长度字段与诸如1400字节的固定值比较。如果大于比较值,则将分组看作是数据分组。
再次参考图7,算法在开始框702中开始,并下传到接收分组的704。在接收分组之后,在框706中执行一些初始化检查,以便查看该分组是否是频繁飞行者并因此可超高速缓存。在框708中,检查该分组,以便通过检查IP和TCP报头来查看其是否是TCP分组。如果不是,则采取用于完全分组搜索的正常转发通路(框710)。在正常转发通路中,将分组转发到网络处理器的完全分组搜索机制。这个机制可以是完全匹配搜索算法、最长匹配前缀算法、或软件管理树算法。
参考框708,如果该分组是TCP/IP分组,则检查该TCP/IP分组(框712),以便查看该分组是否是根据上面给出的频繁飞行者准则的数据分组(框714)。如果不是,再次沿正常转发通路而行(框716)。如果其是数据分组(框714),则使用来自分组的四元组执行高速缓冲存储器查找(框718)。如果在高速缓冲存储器中发现匹配(框720),则实施高速缓冲存储器中存储的行为(框724)。避免了正常转发通路中涉及的查找。如果没有发现匹配(框720),则运用用于完全分组搜索的正常转发通路(框722)。另外,使用分组的四元组和对那个分组执行的行为将新高速缓冲存储器条目(框726)添加到高速缓冲存储器。
从上面的描述中显而易见的是,该高速缓冲存储器结合上面识别的结构和完全分组搜索算法而工作,以便提供更有效的分组分类系统。
高速缓冲存储器的内容必须周期性地改变,以便系统令人满意地工作。这意味着必须删除较老的条目,以便在高速缓冲存储器中为新条目让位。根据一个实施例,图8是老化算法的流程图800。该老化算法在网络处理器上执行,并周期性地从相关存储器中删除老条目。该程序始于框804,并下传到框805。框805启动控制流高速缓冲存储器老化的频率的期满定时器。这个定时器将对应于频繁飞行者的预期脉冲串间隔。在框806中,该过程等待检查时间间隔(小于脉冲串定时),然后将期满定时值缩减该检查时间间隔。在这一点上,检查第3层或第4层数据库的改变。如果在检查时间间隔期间已经改变,则高速缓冲存储器可以为无效,并应该被清空。在这种情况下,清空高速缓冲存储器(框810)。然后,处理从框805继续,开始新的期满定时。
在数据库没有改变的情况(框808)下,处理从框812继续。检查对期满定时器是否期满(达到零值)。如果定时已经期满,则检查高速缓冲存储器的每个条目(框814)。如果定时器没有期满,则处理从框806继续。从高速缓冲存储器中移除每个在先前的期满间隔期间还没有使用的条目(框816)。然后处理从框805继续,开始新的期满定时。
在替换实施例中,代替使用老化程序800,可以略微调整算法700,以便执行老化功能。在框726中,如果对于将添加的新高速缓冲存储器条目没有空间可用,则可以移除最近最少使用的高速缓冲存储器条目,并可以将新条目添加在其位置上。
通过使用流高速缓冲存储器对通信网络中的分组进行分类,而不是使用传统的算法和数据结构,对分组进行分类所需要的时间大大变短,且因此增强了系统吞吐量。
尽管已经描述了本发明的示范实施例,但是本领域的技术人员将容易理解,在不实质性脱离本发明的新讲述内容和高级使用的情况下,示范实施例中可能有许多改变。
Claims (10)
1、一种用于管理通信网络中的话务的方法,包括如下行为:
(a)在网络装置中提供高速缓冲存储器,其容纳与分组相关的最低限度预定义特征以及与所述预定义特征中所选择的特征配对的行为;
(b)在所述网络装置中接收至少一个分组;
(c)从所述已接收的分组特征中选择与该最低限度预定义特征类似的特征;
(d)使从所述已接收的分组中选择的特征和预定义特征相关联;以及
(e)使用关联的结果来处理已接收的分组。
2、根据权利要求1的方法,其中所述处理包括:如果所述已接收的分组的特征与该最低限度预定义特征匹配,则对已接收的分组实施配对行为。
3、根据权利要求1或权利要求2的方法,其中最低限度预定义特征包括因特网协议(IP)目的地址(DA)、IP源地址(SA)、传输控制协议(TCP)目的端口(DP)以及TCP源端口(SP)。
4、根据权利要求1至4中的任一个的方法,其中在(b)中接收的所述至少一个分组满足成为属于相同会话的短脉冲串分组内的一个分组的频繁飞行者准则。
5、一种系统,包括:
处理器;以及
高速缓冲存储器,可操作地耦接到所述处理器,所述高速缓冲存储器存储分组的预定义特征和行为之间的映射,其中所述处理器执行第一程序,其使所述处理器将所选择的分组的特征和预定义特征相关联,并且如果来自所选择的分组的特征与预定义特征匹配,则对所选择的分组实施与预定义特征相关的行为。
6、根据权利要求5的系统,其中预定义特征包括源地址(SA)、目的地址(DA)、源端口(SP)、和目的端口(DP)。
7、根据权利要求5或权利要求6的系统,还包括可操作地耦接到所述处理器的存储器,其中存储用于完全分组搜索的数据结构,其中所述处理器执行第二程序,其使所述处理器访问该数据结构,并且如果预定义特征和来自所选择的分组的特征之间发生失配,则对所选择分组实施所述数据结构中存储的行为。
8、根据权利要求7的系统,其中所述第二程序包括完全搜索算法、最长前缀匹配算法、或者软件管理树算法中的一个。
9、根据权利要求14的系统,其中所述数据结构包括直接表格和帕特丽夏树。
10、一种包括计算机程序代码的计算机程序,当被加载到计算机系统并在其上执行时,使所述计算机系统执行根据权利要求1至4中的任一个的方法的所有步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/622,007 | 2003-09-11 | ||
US10/662,007 US7464181B2 (en) | 2003-09-11 | 2003-09-11 | Method for caching lookups based upon TCP traffic flow characteristics |
PCT/EP2004/052068 WO2005025145A1 (en) | 2003-09-11 | 2004-09-07 | Apparatus and method for caching lookups based upon tcp traffic flow characteristics |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1846409A true CN1846409A (zh) | 2006-10-11 |
CN1846409B CN1846409B (zh) | 2010-12-22 |
Family
ID=34274001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800253368A Expired - Fee Related CN1846409B (zh) | 2003-09-11 | 2004-09-07 | 用于基于传输控制协议话务流特征进行超高速缓存查找的设备和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7464181B2 (zh) |
EP (1) | EP1665657A1 (zh) |
JP (1) | JP4591893B2 (zh) |
CN (1) | CN1846409B (zh) |
WO (1) | WO2005025145A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834777A (zh) * | 2009-03-11 | 2010-09-15 | 丛林网络公司 | 基于会话高速缓存的http加速 |
CN104641607A (zh) * | 2012-09-18 | 2015-05-20 | 思科技术公司 | 超低延迟多协议网络设备 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606248B1 (en) * | 2002-05-10 | 2009-10-20 | Altera Corporation | Method and apparatus for using multiple network processors to achieve higher performance networking applications |
US7787471B2 (en) * | 2003-11-10 | 2010-08-31 | Broadcom Corporation | Field processor for a network device |
US7848332B2 (en) * | 2004-11-15 | 2010-12-07 | Cisco Technology, Inc. | Method and apparatus for classifying a network protocol and aligning a network protocol header relative to cache line boundary |
US20060187919A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Two stage parser for a network |
US7961731B2 (en) * | 2005-03-31 | 2011-06-14 | Alcatel-Lucent Usa Inc. | Method and system for real-time detection of hidden traffic patterns |
US8301771B2 (en) * | 2005-10-26 | 2012-10-30 | Armstrong, Quinton Co. LLC | Methods, systems, and computer program products for transmission control of sensitive application-layer data |
JP4649315B2 (ja) * | 2005-11-02 | 2011-03-09 | キヤノン株式会社 | 通信装置及び通信方法 |
US7869411B2 (en) * | 2005-11-21 | 2011-01-11 | Broadcom Corporation | Compact packet operation device and method |
JP4232828B2 (ja) * | 2007-02-01 | 2009-03-04 | 沖電気工業株式会社 | アプリケーション分類方法、ネットワーク異常検知方法、アプリケーション分類プログラム、ネットワーク異常検知プログラム、アプリケーション分類装置、ネットワーク異常検知装置 |
US8724487B1 (en) * | 2010-02-15 | 2014-05-13 | Cisco Technology, Inc. | System and method for synchronized reporting in a network environment |
WO2012144987A1 (en) * | 2011-04-19 | 2012-10-26 | Hewlett-Packard Development Company, L.P. | Computing a performance characteristic of a network device |
JP5814830B2 (ja) * | 2012-03-05 | 2015-11-17 | Kddi株式会社 | フロー単位パケット転送のための宛先検索装置および検索方法 |
CN102984253B (zh) * | 2012-11-27 | 2015-10-14 | 山东中创软件工程股份有限公司 | 一种传输控制协议粘包处理方法及装置 |
US9553807B2 (en) * | 2014-12-24 | 2017-01-24 | Nicira, Inc. | Batch processing of packets |
US10015048B2 (en) | 2014-12-27 | 2018-07-03 | Intel Corporation | Programmable protocol parser for NIC classification and queue assignments |
US9825862B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Packet header field extraction |
US9826071B2 (en) * | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Configuring a switch for extracting packet header fields |
US9912774B2 (en) | 2015-12-22 | 2018-03-06 | Intel Corporation | Accelerated network packet processing |
US11223520B1 (en) | 2017-01-31 | 2022-01-11 | Intel Corporation | Remote control plane directing data plane configurator |
US10320954B2 (en) * | 2017-02-03 | 2019-06-11 | Microsoft Technology Licensing, Llc | Diffusing packets to identify faulty network apparatuses in multipath inter-data center networks |
US10694006B1 (en) | 2017-04-23 | 2020-06-23 | Barefoot Networks, Inc. | Generation of descriptive data for packet fields |
US11503141B1 (en) | 2017-07-23 | 2022-11-15 | Barefoot Networks, Inc. | Stateful processing unit with min/max capability |
CN107707487B (zh) * | 2017-09-20 | 2020-10-27 | 杭州安恒信息技术股份有限公司 | 一种网络业务流量的实时检索系统及实时检索方法 |
US10594630B1 (en) | 2017-09-28 | 2020-03-17 | Barefoot Networks, Inc. | Expansion of packet data within processing pipeline |
CN110149248B (zh) * | 2019-06-06 | 2020-03-03 | 杭州商湾网络科技有限公司 | 一种快速统计分析路由器流量的方法 |
US11956204B1 (en) * | 2022-12-23 | 2024-04-09 | Plume Design, Inc. | IPv4-in-IPv6 relaying systems and methods to preserve IPv4 public addresses |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5985160A (ja) * | 1982-11-08 | 1984-05-17 | Nippon Telegr & Teleph Corp <Ntt> | 通信装置デ−タ転送制御方式 |
EP0501613A3 (en) * | 1991-02-28 | 1993-09-01 | Hewlett-Packard Company | Heterogeneous software configuration management apparatus |
US5465342A (en) | 1992-12-22 | 1995-11-07 | International Business Machines Corporation | Dynamically adaptive set associativity for cache memories |
US5640531A (en) | 1993-06-22 | 1997-06-17 | Unisys Corporation | Enhanced computer operational system using auxiliary mini-cache for enhancement to general cache |
US5537609A (en) | 1993-06-22 | 1996-07-16 | Unisys Corporation | Mini cache operational module for enhancement to general cache |
US5781449A (en) * | 1995-08-10 | 1998-07-14 | Advanced System Technologies, Inc. | Response time measurement apparatus and method |
US5809233A (en) * | 1995-12-05 | 1998-09-15 | Lucent Technologies Inc. | Method of mapping from ATMARP to NHRP |
EP1012730A1 (en) * | 1996-01-31 | 2000-06-28 | Ipsilon Networks, Inc. | Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network |
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 |
JPH1070530A (ja) * | 1996-08-28 | 1998-03-10 | Oki Electric Ind Co Ltd | 情報転送システム、情報蓄積提供装置及び情報被提供装置 |
JP3068469B2 (ja) | 1996-08-28 | 2000-07-24 | 新潟日本電気株式会社 | 2次レベルキャッシュメモリシステム |
US6173364B1 (en) * | 1997-01-15 | 2001-01-09 | At&T Corp. | Session cache and rule caching method for a dynamic filter |
JPH10322392A (ja) * | 1997-05-16 | 1998-12-04 | Hitachi Ltd | パケットネットワークシステム及び通信制御装置 |
US6118760A (en) * | 1997-06-30 | 2000-09-12 | Sun Microsystems, Inc. | Management of entries in a network element forwarding memory |
US6119202A (en) | 1997-07-24 | 2000-09-12 | International Business Machines Corporation | Method and apparatus to interleave level 1 data cache line fill data between system bus and level 2 data cache for improved processor performance |
US6041053A (en) | 1997-09-18 | 2000-03-21 | Microsfot Corporation | Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards |
WO1999027684A1 (en) * | 1997-11-25 | 1999-06-03 | Packeteer, Inc. | Method for automatically classifying traffic in a packet communications network |
US6226267B1 (en) * | 1998-04-10 | 2001-05-01 | Top Layer Networks, Inc. | System and process for application-level flow connection of data processing networks |
US7100020B1 (en) * | 1998-05-08 | 2006-08-29 | Freescale Semiconductor, Inc. | Digital communications processor |
US6247061B1 (en) * | 1998-06-09 | 2001-06-12 | Microsoft Corporation | Method and computer program product for scheduling network communication packets originating from different flows having unique service requirements |
US6405257B1 (en) * | 1998-06-26 | 2002-06-11 | Verizon Laboratories Inc. | Method and system for burst congestion control in an internet protocol network |
US6526066B1 (en) * | 1998-07-16 | 2003-02-25 | Nortel Networks Limited | Apparatus for classifying a packet within a data stream in a computer network |
US6286052B1 (en) * | 1998-12-04 | 2001-09-04 | Cisco Technology, Inc. | Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows |
US6185221B1 (en) * | 1998-11-09 | 2001-02-06 | Cabletron Systems, Inc. | Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch |
US6381649B1 (en) * | 1999-02-05 | 2002-04-30 | Pluris, Inc. | Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds |
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 |
US6460120B1 (en) * | 1999-08-27 | 2002-10-01 | International Business Machines Corporation | Network processor, memory organization and methods |
US6404752B1 (en) * | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
US6577596B1 (en) * | 1999-11-30 | 2003-06-10 | Telefonaktiebolaget Ln Ericsson (Publ) | Method and apparatus for packet delay reduction using scheduling and header compression |
US6496935B1 (en) * | 2000-03-02 | 2002-12-17 | Check Point Software Technologies Ltd | System, device and method for rapid packet filtering and processing |
US6754662B1 (en) * | 2000-08-01 | 2004-06-22 | Nortel Networks Limited | Method and apparatus for fast and consistent packet classification via efficient hash-caching |
JP2002305541A (ja) * | 2001-04-04 | 2002-10-18 | Kddi Research & Development Laboratories Inc | メッシュ網におけるロードバランシング方法 |
CN1165184C (zh) * | 2001-05-08 | 2004-09-01 | 华为技术有限公司 | 一种适合实现路由器服务质量的综合业务中的调度方法 |
US7007095B2 (en) * | 2001-12-07 | 2006-02-28 | Redback Networks Inc. | Method and apparatus for unscheduled flow control in packet form |
JP3904922B2 (ja) * | 2001-12-28 | 2007-04-11 | 株式会社日立製作所 | トラヒックシェーパーおよび集線装置 |
CA2419767C (en) * | 2002-02-25 | 2011-01-04 | Olsonet Communications Corporation | Method for routing ad-hoc signals |
-
2003
- 2003-09-11 US US10/662,007 patent/US7464181B2/en not_active Expired - Fee Related
-
2004
- 2004-09-07 JP JP2006525824A patent/JP4591893B2/ja not_active Expired - Fee Related
- 2004-09-07 EP EP04766726A patent/EP1665657A1/en not_active Withdrawn
- 2004-09-07 CN CN2004800253368A patent/CN1846409B/zh not_active Expired - Fee Related
- 2004-09-07 WO PCT/EP2004/052068 patent/WO2005025145A1/en active Application Filing
-
2008
- 2008-08-08 US US12/188,333 patent/US8005989B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834777A (zh) * | 2009-03-11 | 2010-09-15 | 丛林网络公司 | 基于会话高速缓存的http加速 |
CN101834777B (zh) * | 2009-03-11 | 2015-07-29 | 瞻博网络公司 | 基于会话高速缓存的http加速 |
CN104641607A (zh) * | 2012-09-18 | 2015-05-20 | 思科技术公司 | 超低延迟多协议网络设备 |
CN104641607B (zh) * | 2012-09-18 | 2018-01-16 | 思科技术公司 | 一种用于做出超低延迟处理决策的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2005025145A1 (en) | 2005-03-17 |
US7464181B2 (en) | 2008-12-09 |
US20050060428A1 (en) | 2005-03-17 |
JP4591893B2 (ja) | 2010-12-01 |
US20080298244A1 (en) | 2008-12-04 |
CN1846409B (zh) | 2010-12-22 |
US8005989B2 (en) | 2011-08-23 |
JP2007534203A (ja) | 2007-11-22 |
EP1665657A1 (en) | 2006-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1846409A (zh) | 用于基于传输控制协议话务流特征进行超高速缓存查找的设备和方法 | |
CN101217464B (zh) | 一种udp数据包的传输方法 | |
US7688842B2 (en) | Method for in-place, lightweight Ack promotion in a wireless network environment | |
CN1315077C (zh) | 有效处理网络数据的系统和方法 | |
CN101047714B (zh) | 一种处理网络数据的方法及系统 | |
CN1150725C (zh) | 减少存储器访问次数的网络包发送查询的方法和装置 | |
CN1972240A (zh) | 快速包过滤处理方法及其装置 | |
US20050060418A1 (en) | Packet classification | |
WO2003017620A1 (en) | Protocol processor | |
CN1757220A (zh) | 检测极小分段攻击的装置和方法 | |
WO2000054467A1 (en) | System and method for distributing packet processing in an internetworking device | |
CN1606860A (zh) | 控制分组片段的地址翻译的方法和装置 | |
CN1539223A (zh) | 用于管理包分段的方法和设置 | |
CN1875585A (zh) | 利用mac限制来控制动态未知l2泛滥 | |
CN1802836A (zh) | 网络协议卸载引擎存储器管理 | |
CN110099115B (zh) | 一种透明调度转发的负载均衡方法及系统 | |
CN101030947A (zh) | 一种报文发送的方法和装置 | |
CN101494605A (zh) | 一种基于以太网驱动的数据转发方法和装置 | |
CN1703890A (zh) | 数据网络中识别和分析协议的方法 | |
CN1777148A (zh) | 一种路由表下一跳ip地址到mac地址解析方法 | |
CN1271833C (zh) | 无需ip重组分发分组的装置和方法 | |
EP1355472B1 (en) | Method and system to determine the most appropriate software layer after reception of a packet | |
CN1411217A (zh) | 利用缓存技术提高ip报文转发速度的方法 | |
CN1783890A (zh) | 提供互联网层地址给客户设备的方法 | |
CN104270263B (zh) | 一种tcp连接的维护方法和系统 |
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 |
Granted publication date: 20101222 |
|
CF01 | Termination of patent right due to non-payment of annual fee |