CN1606291A - 网络处理加速器 - Google Patents
网络处理加速器 Download PDFInfo
- Publication number
- CN1606291A CN1606291A CNA200410083506XA CN200410083506A CN1606291A CN 1606291 A CN1606291 A CN 1606291A CN A200410083506X A CNA200410083506X A CN A200410083506XA CN 200410083506 A CN200410083506 A CN 200410083506A CN 1606291 A CN1606291 A CN 1606291A
- Authority
- CN
- China
- Prior art keywords
- network
- packet
- mentioned
- processing unit
- processor
- 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.)
- Pending
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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Abstract
本发明提供一种网络装置,可以不招致处理器的增大化而使数据包处理速度得到提高。具有网络接口,用来对网络接收或发送数据包;网络处理器,用来进行将接收的数据包传送给下一个传送目标所需的处理;表存储器,对用于该传送的处理时被参照的表格进行存储;高速缓存器,存储上述网络处理器的处理结果;网络处理加速器,参照该高速缓存器,对接收的数据包进行用于传送的处理,对于与上述网络处理器已处理的接收数据包和目标地址相同的接收数据包,通过上述网络处理加速器来进行用于传送的处理。
Description
技术领域
本发明涉及一种与面向大容量数据包的低延迟交换系统的路由器和转换器等网络装置构成方法有关的技术。另外,还涉及一种与在网络装置上实施数据包请求处理的网络处理器数据包处理方式有关的技术。特别是涉及对网络装置上的IP(Internet Protocol)数据包以及MAC(Media Access Control)帧处理有效的技术。
背景技术
在通信领域,为了将多个网络间加以连接,普遍使用路由器和转换器等网络装置。网络装置用来查找所接收数据包的目标地址,决定数据包的传送目标,向指定的传送目标传送数据包。世界上由网络所收发的数据包总量不断增大,网络装置的数据包传送性能也需要随着业务量的增大使之不断提高。
图2表示以往网络装置的结构示例。在图2中,网络装置具备输入方网络接口部12、输入方网络处理器15、输入方网络处理器用表存储器16、输入方转换接线器接口14、转换接线部40、输出方网络接口部22、输出方网络处理器25、输出方网络处理器用表存储器26以及输出方转换接线器接口24等。在此,网络处理器是指用于数据包传送处理被专门化后的网络装置专用处理器。
输入方网络接口部12用来从网络接收数据包,将所接收到的数据包在输入方网络处理器15中进行处理。上述网络处理器15参照表存储器16中的路由选择表,根据检索结果从输入方转换接线器接口14向转换接线器40的相应端口传送数据包。从转换接线器40接收到数据包后的输出方转换接线器接口24,在输出方网络处理器25中实施QoS(Quality Of Service)控制等必要的数据包处理,从输出方网络接口部22向网络发送数据包。还存在使输入方和输出方成一体的网络装置。
为了决定数据包的传送目标,需要检索表存储器内所存储的路由选择表。一般情况下路由选择表很大,路由选择表的检索处理是网络装置传送数据包时成为瓶颈的处理。因而,已开发出各种使网络处理器本身的动作速度高速化所需的技术,例如有,将实施数据包处理的内置处理器多处理化、多线程体系结构的采用以及将数据包处理VLIW化等的技术。
另一方面,还开发出采用加速器使网络处理器动作高速化的技术,例如在特开平05-199230号公报(美国专利第5,434,863号)以及特开2001-86149号公报中,阐述出辅助主处理器使路由选择处理高速化的技术。另外,在特开2002-271363号公报以及特开2002-281072号公报中阐述出下述技术,即采用加速器来进行路由选择表检索以外的处理器处理(例如,IPsec、VPN、NAT以及无效数据包检测等),减轻主处理器的负载,以此间接使路由选择表检索得以高速化。
专利文献1
特开平05-199230号公报
专利文献2
特开2001-086149号公报
专利文献3
特开2002-271363号公报
专利文献4
特开2002-281072号公报
专利文献5
特愿2003-048730号公报
采用下述以往的方法,难以开发与现实状况业务量增加相适应的网络装置,上述以往的方法通过使网络处理器本身高速化,使网络装置的数据包处理速度实现高速化。原因是,网络处理器的高速化导致网络处理器的大型化,产生与消耗电力增加和散热相伴的动作不佳等问题。
发明内容
因此,本发明的第1课题在于,提供的数据包处理技术,可以不招致处理器的增大化而使数据包处理速度得到提高。
另外,本发明的第2课题在于,解决随着该新数据包处理技术所附带产生的问题的至少一个。
在既要避免网络处理器的大型化又要使数据包传送处理高速化的方面,被称为进程高速缓存的技术大有前途。在该技术中,记录对接收数据包的处理结果所用的高速缓存器被设置于网络处理器内。进程高速缓存器用来在装入网络处理器内部的处理器中只对由网络处理器最先处理的数据包进行处理,记录其处理结果,对以后判断为相同的数据包将进程高速缓存器中所记录的结果使用于接收数据包。据此,减少网络处理器中所内置的内置处理器上的处理,提高网络处理器的数据包处理速度。
另一方面考虑到,由于采用进程高速缓存这种结构体系,因而附带产生下面的课题。
1)在采用进程高速缓存结构体系的网络处理器中,由内置处理器来实施处理速度难以提高的数据包处理,剩余处理速度易于提高部分的处理则由网络处理器后半部分的逻辑电路来实施。网络装置内的数据包传送处理被分成需要同时进行外部存储器参照的高级程序处理之处理也就是给网络处理器的负载大的处理,以及处理器的负载比较小的处理。作为负载大的处理来说,有路由选择表检索、地址转换表检索及协议处理等。作为负载比较小的处理来说,有标题信息的附加、删除、替换及修改之类的位串操作处理等。
如果是向高速缓存器登录过一次处理结果的数据包和目标地址相同的数据包,则可以利用登录内容,来实现只是位串操作的高速处理,而未登录的数据包必须由内置处理器进行处理速度难以提高部分的处理。因此,在频繁出现大量未登录数据包相继到达的状况的场合下,只是内置处理器则数量不足,存在处理不完的可能性。
2)在网络处理器的内置处理器中,在从开始处理未登录到处理结果记录用高速缓存器中的数据包直至登录到处理结果记录用高速缓存器中为止的期间内,存在作为相同处理结果的数据包到达一个以上的可能性。此时,由于到达的数据包尚未全部登录到处理结果记录用高速缓存器中,因而不能利用处理结果记录用高速缓存器的登录数据。
为了解决上述1)所记载的问题,使用下述结构的网络装置。也就是说,该网络装置具备:网络接口,用来对网络接收或发送数据包;第1处理器,用来进行将接收数据包传送给下一个传送目标所需的处理;表存储器,用来存储在进行该用于传送的处理时所参照的表格;高速缓存器,用来存储该第1处理器的处理结果;第2处理器,用来参照该高速缓存器对接收数据包进行用于传送的处理,对于进行过上述高速缓存器中所存储处理结果的数据包和目标地址相同的接收数据包,参照上述高速缓存器中所存储的处理结果,对该接收数据包使之进行用于传送的处理。
为了解决上述2)所示的问题,设置高速缓存故障处理部来构成网络装置或网络处理加速器,以便在发生高速缓存故障的场合下,也可以在不向网络处理器传送数据包的状况下进行数据包的传送处理。具体而言,其具备下述两种装置,一种用来管理向外部网络处理器处理委托过程中的数据包,另一种用来从发生高速缓存故障的数据包识别与处理委托过程中的数据包相同处理结果被期待的接收数据包并加以管理,有关已向网络处理器进行处理委托的数据包,则等待来自网络处理器的回答,进行接收数据包的处理。据此,不用向网络处理器新委托处理,就可以对发生高速缓存故障后的数据包进行处理。
由于以本发明的网络处理加速器作为网络装置的数据包处理部加以使用,因而可以实现数据包处理速度快的网络装置。
附图说明
图1是本发明实施方式1中采用网络处理加速器和外置网络处理器所构成的网络装置框图。
图2是采用以往网络处理器所构成的网络装置框图。
图3是本发明实施方式1或4中网络处理加速器内部的框图。
图4是网络处理加速器的数据包处理流程图。
图5是进程(process)高速缓存部的逻辑图。
图6是进程高速缓存器的数据结构示例。
图7是网络处理加速器高速缓存故障处理部的框图。
图8是网络处理加速器发生高速缓存故障后的数据包处理流程图。
图9表示的是以固定大小的队列来管理网络处理加速器高速缓存故障处理部的多重故障表。
图10表示的是以连接表方式来管理网络处理加速器高速缓存故障处理部的多重故障表。
图11表示的是以CAM或者全相联存储器来管理网络处理加速器高速缓存故障处理部的多重故障表。
图12是网络处理加速器发生高速缓存故障后的数据包处理流程图。
图13是本发明实施方式2中采用内置有网络处理器或者内置处理器的网络处理加速器并且不采用外置网络处理器所构成的网络装置框图。
图14是本发明实施方式3中采用内置有网络处理器或者内置处理器的网络处理加速器并且也采用外置网络处理器所构成的网络装置框图。
图15是本发明实施方式2或3中内置有网络处理器或内置处理器的网络处理加速器内部框图。
图16是本发明实施方式4中在网络处理加速器和外置网络处理器之间采用一个以上的网络处理加速器所构成的网络装置框图。
图17是本发明实施方式5中在输入方和输出方共用网络处理加速器并连接外置网络处理器所构成的网络装置框图。
图18是本发明实施方式5中使输入方和输出方共用的网络处理加速器内部框图。
图19是说明本发明原理动作所用的附图。
具体实施方式
下面,通过实施例来表示更为详细的内容。
(实施例1)
在图1中,表示本实施例的网络装置结构示例。
网络装置包括:网络接口部12,用来从网络收发数据包;输入方转换接线器接口14,用来将数据包发送到转换接线器等;转换接线器40,用来交换数据包;输出方转换接线器接口24,用来从转换接线器等接收数据包;网络处理加速器13,用来在输入方实施数据包处理;网络处理器15;表存储器16,是上述网络处理器15进行参照所用的;网络处理加速器23,用来在输出方实施数据包处理;网络处理器25;表存储器26,是上述网络处理器25进行参照所用的;等。此外,还有到主处理器的接口等,用来按照网络处理器和网络处理加速器的请求实施处理。
下面,说明图1所示的网络装置中基本数据包处理的动作。首先,在网络装置的网络接口部12上,从网络接收光信号或电信号,将其变换成网络处理加速器13所支持的第2层的数据链路层帧和第3层的网路层数据包加以传送。在图1中,虽然只表示出一个网络,但是也可以对一个网络接口部12连接多个网络。
到达网络处理加速器13后的数据包,需要进行伴随处理速度提高、外部存储器的参照较困难的高级程序处理,例如路由表检索、地址转换表检索以及协议处理等,同时还需要处理速度较为易于提高的位串操作处理,例如标题信息的附加、删除、替换及修改之类的处理。
网络处理加速器13设置进程高速缓存器,用来预先记录上述处理速度难以提高的数据包处理结果。进程高速缓存器具备高速缓存器和参照高速缓存器所需的各种装置。详细状况将在下面予以说明。从网络接口部12所接收的数据包,若判定为可以利用进程高速缓存器中所登录的处理结果,则只由网络处理加速器13来实施处理速度易于提高的剩余数据包处理,将其发送到输入方转换接线器接口14。网络处理加速器13为了避免因外部连接存储器参照的影响而使数据包处理速度低速化的状况,而内置对所接收到的数据包加以保持所用的数据包存储器,但是作为任选件也有下述装置,该装置具有在外部和网络处理加速器13高速进行数据包收发的数据包存储器。
网络处理加速器13在从网络接口部12接收到数据包,该数据包为处理速度难以提高部分的数据包处理结果未被登录到进程高速缓存器中的数据包的场合下,为了获得上述处理速度难以提高部分的数据包处理结果,而向与外部连接的网络处理器15传送上述数据包。向网络处理器15进行传送的数据包格式为,在网络处理加速器13从网络接口部12所接收的格式之前附加网络处理加速器13在内部利用的专用标题。在上述专用标题中,例如包含数据包的整理号和标记等,以便在从网络处理器15回复来处理结果时,可以立刻判断是哪个数据包的处理结果,该标记表示准备向网络处理器15委托的处理内容。
另外,将网络处理加速器获取数据包的接口部配线数设为NAin,将网络处理器获取数据包的接口部配线数设为NPin,并将上述网络处理器发送数据包的接口部配线数设为NPout,此时NPin和NPout依赖于利用的网络处理器。通常情况下,NPin=NPout的关系是成立的。另外,如果本实施例1的结构是图2所示的以往结构,则在配置网络处理器的位置上配置网络处理加速器,因此为了保证与以往结构之间的配线数互换性其根本是设为NAin=NPin。但是,在网络处理器所接收的数据包数与网络处理加速器从网络所接收的数据包数相比非常少的场合下,如同NPin与NPout之和成为NAin程度那样,也就是说还可以采用输入输出配线数少的网络处理器,或者采用网络处理加速器来构成,该网络处理加速器其网络处理器的输入输出配线数总计与以往相同且NAin与以往比成为2倍。
另外,将网络处理加速器获取数据包的接口部带宽设为BWAin,将网络处理器获取数据包的接口部带宽设为BWPin,并将上述网络处理器发送数据包的接口部带宽设为BWPout,此时BWPin和BWPout依赖于利用的网络处理器。通常情况下,BWPin=BWPout的关系是成立的。上述网络处理加速器命中进程高速缓存器的数据包不需要向上述网络处理器委托处理,因此采用BWPin<BWAin的带宽就足够。
网络处理器15若接收到数据包,则进行必要处理之中的处理速度难以提高部分的处理。必要的处理具有下述方法,即参照上述网络处理加速器13所附加的标题加以进行的方法,以及不管标题的有无都按照网络处理器15的程序加以进行的方法。无论如何,网络处理器15都进行网络处理加速器13不直接进行的数据包处理。作为网络处理加速器13不直接进行的数据包处理,例如有参照表存储器16中所存储变换表的数据包路径检索(路由选择表检索)、从IPv4(Internet Protocol Version 4)地址向IPv6(Internet ProtocolVersion 6)地址的变换、从IPv6地址向IPv4地址的变换、从IPv4地址向其它IPv4地址的变换、从IPv6地址向其它IPv6地址的变换、MPLS(Multi Protocol Label Switching)和VLAN(Virtual LocalArea Network)等标号的追加、交换、删除等以及RIP(RoutingInformation Protocol)和OSPF(Open shortest Path First)等的协议处理等。在此,对进行上述各种变换处理所用的变换表加以存储的存储器,很多情况下为每种变换表设置专用的表存储器。例如,路由选择表检索用的表存储器以及从IPv6地址向IPv4地址的变换表存储器等。采用上述协议处理和其它处理在网络处理器15中处理不完部分的数据包处理,通过PCI接口等网络处理器15内所装的接口由主处理器进行处理。不需要进行网络处理加速器作为功能所具有且数据包处理速度易于提高的标题附加、删除、替换及修改等处理。
网络处理器15在作为任选件没有内置对从网络处理加速器13所发送的数据包加以保持所用的数据包存储器的场合,或者虽已内置但数量少的场合下,也有时在外部具有数据包存储器。
网络处理器15在实施必要的数据包处理之后,将网络处理加速器13所利用的专用标题附加到处理结果中将其发送给网络处理加速器13。在上述专用标题中,包含从网络处理加速器13传送该数据包时的整理号以及处理结果的格式等。在上述处理结果的格式中,存在将已处理数据包的整体以及已处理数据包之中只是标题部分向进程高速缓存器进行登录的格式其本身等。无论哪一种格式,都可以通过网络处理器的程序进行修改。
网络处理加速器13若从网络处理器15接收到处理结果,则将上述处理结果登录到进程高速缓存器中,与此同时对相应的数据包使用处理结果,实施标题的附加、删除、替换及修改等处理,此后附加转换接线器40用的标题向输入方转换接线器接口14发送已处理数据包。
到转换接线器40的输入方转换接线器接口14将数据包发送到转换接线器40,结束输入方的数据包处理。
在转换接线器40上连接有多个对来自网络的输入方数据包进行处理的部分,该部分由网络处理加速器13、网络处理器15、表存储器16以及转换接线器接口14等构成。另外,在转换接线器40上连接有多个对发给网络的输出方数据包进行处理的部分,该部分与来自上述网络的输入方数据包进行处理的部分数目相同。对发给上述网络的输出方数据包进行处理的部分由网络处理加速器23、网络处理器25、表存储器26以及转换接线器接口24等构成。在转换接线器40中,参照所接收到数据包中附加的转换接线器40用标题,将其传送到相应的转换接线器40的输出端口。
在网络装置的输出方从转换接线器40,通过输出方转换接线器接口24来接收数据包。
在网络装置的输出方,从转换接线器接口24朝向网络接口部12的方向实施与上述网络装置的输入方处理相同的处理,通过网络接口部12将数据包或帧变换成光信号或电信号发送给网络。
还有,虽然未图示,但是本实施例的网络处理加速器及网络处理器具备向基片上安装所用的配线用插头,和构成网络装置的其它设备相互通过与配线插头连接的配线相连接。例如,在图1的网络处理加速器13向基片上安装时,多个配线用插头施加到网络处理加速器13上,多个配线插头的一部分被分配到网络接口部12、输入方转换接线器接口14以及网络处理器15。这对于输入方网络处理器23和其它设备来说,也是相同的。
下面,有关网络处理加速器的内部结构示例,予以详细说明。由于在输入方和输出方都可以利用同一个的网络处理加速器,因而此处采用网络处理加速器13进行说明。
在图3中,表示图1所示网络处理加速器13的内部结构示例。网络处理加速器13包括:输入接口101,用来从外部接收数据包将其变换成可在内部处理的格式;数据包存储器107,用来保持所接收到的数据包;数据包解析部102,用来进行所接收到数据包的解析,只提取内部处理所需要的信息;进程高速缓存参照部103,用来按照由上述数据包解析部102所生成的提取信息参照进程高速缓存器,根据其结果对数据包的处理路径进行变更;高速缓存故障处理部104,用来对没有被登录到进程高速缓存器中的数据包进行处理;后处理部105,用于通过位串操作来进行数据包标题的附加、删除、替换、修改及数据包的再构成;输出接口部106,用来将已处理数据包输出到网络处理加速器13的外部;输入输出变换器108,用来变换向网络处理器的输入输出格式,该网络处理器与外部连接;等。此外,还有PCI等与主处理器之间的接口等。输入输出变换器108也兼作与外置的网络处理器连接所用的接口功能。作为具备这种接口功能的优点,有可以对所连接的网络处理器进行交换。例如,在未登录到进程高速缓存器中的数据包相继大量到达的状况发生频率有所增加等的场合下,可以通过将所连接的网络处理器交换成处理速度快的设备,使之相适应。在安装上如同上面所说明的那样,是通过将加到芯片上的配线插头一部分变成与网络处理器之间的连接专用来实现的。
再者,也可以对一个网络处理加速器通过接口来连接多个网络处理器。这种场合下,在接口上使之具有转换功能,以转换一个加速器和多个网络处理器之间的连接。作为连接的转换方法,有每次接收数据包都依次转换连接的方法。这种场合下,需要设置对数据包进行计数所用的计数器。由于本方式可以简单实现,因而在成本方面存在有利的优点。
或者,也可以使转换器具有负载分散功能。这种场合下,虽然存在提高所连接多个网络处理器的动作效率的优点,但是接口的功能变得复杂,因此在成本方面是不利的。
在图4中表示,与图3所示网络处理加速器13的动作有关的流程。
首先,利用输入接口101,从外部以第2层或第3层的格式来接收数据包,将其变换成可在网络处理加速器内部处理的格式。(S101(图4流程上的号码))。
接着,将所接收到的数据包保持到配置于同一芯片上的大容量数据包存储器107中,与此同时在数据包解析部102中扫描数据包,确定从第2层依次到必要层为止的标题信息位置,提取必要部分(S102)。
为了高速进行这种解析和提取,例如有这种方法,这就是使桶式移位器、屏蔽逻辑电路及比较器以流水线的方式组合加以实施的方法。由于帧和数据包标题信息中所包含的各种字段采用整数字节的大小来构成,因而如果移位和屏蔽能以字节为单位来实施就足够。为了实际的提取,例如准备32字节到64字节左右的提取用总线,在该总线上设置多个屏蔽逻辑电路和桶式移位装置,具备对决定下一个提取部分所需的判定加以进行的比较器,在最后部设置使提取信息结合所用的锁存器。桶式移位装置如果成为使1、2、4、8、16、32字节的移位逻辑电路组合后的装置,则可以实现64字节以内的自由移动。屏蔽逻辑电路是为了直至特定的字节都加以屏蔽所使用的,以不在已提取部分上增加其以上的移位。
若使该提取用总线通过数据包,则上述屏蔽逻辑电路和桶式移位装置的每一组,都可以在提取用总线宽度的范围内提取一部分。在数据包的标题部分比提取用总线宽度大的场合下,可以按照提取用总线宽度来分割准备进行提取的数据包标题长度,实现所截取的整数部分之处的提取。例如,对于提取IPv4数据包的协议号、发送源IP地址及目标IP地址的情形来说,由于发送源IP地址字段和目标IP地址字段是连续的,只有协议号字段相隔,因而可以采用2组的屏蔽逻辑电路和桶式移位装置进行提取。虽然能够有各种各样的提取方式,但是只要有4到6组左右上述屏蔽逻辑电路和桶式移位装置,则对提取就足够。
作为任选件存在下述方法,即不从数据包解析结果来唯一决定移位量、屏蔽量,而在屏蔽逻辑电路、桶式移位装置的附近设置对移位量、屏蔽量的模式进行程序控制后的存储器,根据数据包解析结果来参照该存储器,以决定屏蔽量、桶式移位量。根据上面所述,从数据包的标题信息提取必要的信息。
在此,图5表示进程高速缓存器的内部结构。在下面的说明中,将从接收数据包的标题信息所提取到的必要信息称为提取信息的提取标题712。另外,在此为了方便将通过数据包解析所得到的数据包类型、给数据包存储器107的指针信息以及其它网络处理加速器的内部信息称为内部标题711。在此为了方便将给上述提取标题附加上述内部标题后的信息称为权标(token)713。
进程高速缓存器由标记部302、有效位部303、数据部304构成,另外,在图5中包含地址生成部301、比较器305及选择部306的用虚线框住的区域相当于所谓的高速缓存器和与高速缓存器相关的逻辑电路。标记部302记录有处理结果已登录数据包权标713的内部标题711一部分和提取标题712的全部。有效位部303记录有表示相关标记部302的数据以及表示数据部304的数据有效·无效状态的信息。数据部304用来对具有数据包处理结果信息的权标加以记录。
在图6中表示出数据部304的结构。数据部304各项目的格式不需要相同,而能够放入各种各样的数据模式。例如,某个项目可以在替换后作为内部标题包含目标端口341及其它内部标题342,并在替换后作为提取标题包含IPv4的目标IP地址343、发送源IP地址344、QoS信息347、TCP目标端口345及TCP发送源端口346,而某个项目也可以包含VLAN信息348及第7层信息349如URL(Uniform ResourceLocator)等。另外,某个项目也可以具有MPLS信息350、351,或者包含IPv6的目标IP地址352及发送源IP地址353等。记录于数据部304中的数据为替换权标713的信息。
虽然根据权标713的内部标题711一部分如第3层的协议类型等和提取标题712的全部,由地址生成部301来参照进程高速存储器,但是提取标题712例如除IPv4的发送源IP地址及目标IP地址之外还包含各种各样的信息,因此例如具有40字节到64字节左右的长度。与该长度相当的存储器项目数成为2的320次方到512次方和不现实的巨大值,因此需要在由地址生成部301对提取标题712进行缩减之后,参照高速缓存器。
例如,将N设为1以上的整数,将A设为0或1并且将进程高速缓存器的项目数设为2的(2N+A)次方的项目,这种场合下可以利用下述三种方式等,一是从提取标题712的发送源IP地址低位取出N位并从目标IP地址的低位取出N+1位使之组合来生成地址,二是从目标IP地址的低位取出(2N+A)位来生成地址,三是对于提取标题712的整体利用CRC(Cyclic Redundancy Check)运算的剩余项将提取标题712缩减为2N+A位来生成地址。通过以上述任一种方法从权标713所生成的地址,来访问进程高速缓存器(S103),通过比较器305对从标记部302得到的值和原来的权标712进行比较,如果相一致并且标记为有效(有效位303的值为有效),则认为在进程高速缓存器中已登录该数据包信息,如果上述比较为不一致或者标记为无效(有效位303的值为无效),则认为该数据包信息未登录(S104)。
在图5中,虽然进程高速缓存器是作为对数据包唯一确定项目分配位置的直接映像方式来表示的,但是也存在对数据包使用n-way组关联方式的方法,该组关联方式用来将项目的分配位置作为n处加以确定。使用n-way组关联方式的场合,是n处全部的分配处所已填满的情形,在登录新的数据包处理结果的场合下,为了选择涂改的项目,而给予用来决定LRU(Least Reacently Used)位和FIFO(First InFirst Out)位等进行重写所需的项目之信息位,该LRU用来表示在进程高速缓存器中最不被利用的项目,该FIFO用来表示最早的项目。
在已登录该数据包信息也就是命中进程高速缓存器的场合(从S104向YES方向分支)下,通过选择部306替换成权标723(S105),该权标723除包含于权标内部标题711中的整理号和给数据包存储器的指针信息等各权标原有信息之外,还包含内部标题721及包含了地址变换结果等的提取标题722,该内部标题721包含已登录到进程高速缓存器中的目标端口号等。
在命中进程高速缓存器之后,由后处理部105根据包含于权标内部标题中的数据包存储器指针信息,从数据包存储器107读出原来的数据包,按照权标的内部标题信息,将权标的提取标题信息使用于原来的数据包来重新组装数据包(S106),按照权标的内部标题信息,重写数据包标题的一部分(S107),通过输出接口部106将变换成数据包输出目标格式后的数据包发送(S108)。
在进程高速缓存器103中未登录该数据包信息也就是进程高速缓存器中发生故障的场合(从S104向NO方向分支)下,向高速缓存故障处理部104传送权标723,实施高速缓存故障处理(S110)。这种场合下,权标723与访问到进程高速缓存器之前的权标713相同。
在图7中,将有关图3所示的高速缓存故障处理部104结构的一个示例,予以说明。采用图8的流程图,有关高速缓存故障处理部104的动作,予以说明。
高速缓存故障处理部104包括:第一表格401(此处,为了方便称为初始故障表initial-miss),用来管理向外部网络处理器处理委托中的数据包;第二表格402(此处,为了方便称为多重故障表denical-miss),用来在不向外部网络处理器提出处理委托的状况下,保持与上述初始故障表401中所管理的数据包相同处理结果被期待的数据包;输出格式变换部403,用来给数据包附加整理号和表示处理委托内容的标记等专用标题,将其变成使之向外部网络处理器传送的格式;第三表格404(此处,为了方便称为处理信息表),用来接收数据包处理结果并加以管理;已处理权标生成部405,用来将已处理的数据包信息使用于权标;等。
若接收到未向高速缓存器登录处理结果的数据包,则图3的网络处理加速器开始图4流程图的步骤S110所示的高速缓存故障处理。首先,进程高速缓存器103向高速缓存故障处理部104发送权标。高速缓存故障处理部104若接收到权标,则参照初始故障表401,查验该权标是否已登录(图8的S201)。
在该权标已登录到初始故障表401中的场合(从S201向NO方向分支)下,只将在多重故障表402中表示该权标内部标题之内各权标所具有的整理号和原来的数据包信息所用的给数据包存储器107的指针信息等原有信息,向多重故障表402进行登录,不向外部网络处理器提出数据包处理委托,而暂时结束处理(S204)。
多重故障表402可以禁止将得出同一处理结果的数据包发送给外部网络处理器,使施加到外部网络处理器的负载减少。虽然多重故障表402被认为有各种各样的构成方法,但是在本实施例中,对于有代表性的结构示例在下面示例出3种左右。
在进程高速缓存器中发生故障后的权标未被登录到初始故障表401的场合(从S201向NO方向分支)下,向初始故障表401登录该权标(S202)。然后,按照权标的内部标题信息参照数据包存储器107将原来的数据包取出,输出格式变换部403附加标题信息将其发送到输入输出变换器108,该标题数据包含向与外部连接的网络处理器委托处理所需的处理内容和数据包的整理号等。输入输出变换器108将数据包变换成可从网络处理加速器13输出的MAC帧等第2层和IP数据包等第3层之类的格式,向与外部连接的网络处理器委托处理(S203)。
有关与外部连接的网络处理器的处理,如同上面在图1所示的网络装置中所说明的那样。
在图8中已说明,从开始高速缓存故障动作直至向外部网络处理器委托数据包处理的步骤为止的动作。因此,下面将有关从外部网络处理器收到所委托的数据包处理结果之后的高速缓存故障处理部的动作,采用图12所示的流程图予以说明。
在图12中表示出,网络处理加速器在通过输入输出格式变换器108接收到来自外部网络处理器的已处理数据包信息之后高速缓存故障处理部104中的处理步骤。
高速缓存故障处理部104查验所接收到的标题信息(S301),如果所接收到的数据包为无效(在S301中向NO方向分支),则再次向外部网络处理器提出同一数据包的处理委托(S310)。如果所接收到的数据包为有效(在S301中向YES方向分支),则将已处理数据包信息登录到处理信息表404中,将对应的信息登录到进程高速缓存器中(S303)。在进程高速缓存器的构成为直接映像方式的场合下,若在登录项目中已加入有效项目,则按原状态进行重写并登录。在进程高速缓存器的构成为n-way组关联方式的场合下,虽然向空白的way项目进行登录,但是在n-way的全部已填满时决定原来登录LRU等位信息的项目,在其项目上重写该信息,该LRU用来确定应重写的位置。
另外,在与已处理数据包相当的初始故障表401的项目中使用处理结果,也就是说实施权标替换操作将其发送到后处理部104(S304),该权标替换操作与在进程高速缓存器103中命中的情况下所实施的相同。
再者,多重故障表402也进行扫描以确认该项目存在的有无(S305),如果找到该项目(向S305的NO方向分支),则在多重故障表402最初的该项目中与初始故障表401该项目的必要信息一起,实施与上述相同的权标替换操作将其发送到后处理部104(S320),删除多重故障表402的该项目(S321)。
此后,从多重故障表402直至该项目不存在为止反复进行该S305、S320及S321的工作,若该项目已不存在(向S305的YES方向分支),则从初始故障表401删除该项目,结束与该数据包有关的一系列高速缓存故障处理(S306)。
还有,作为一个结构示例,初始故障表401也可以分别为每个项目具有一个超时计数器。若从向外部网络处理器发送数据包开始超过预先所设定的阈值,则外部网络处理器作为数据包丢失后的处理,再次将该数据包的处理委托给外部网络处理器。
由于具备高速缓存故障处理部,因而可以减少向与外部连接的网络处理器的无用处理委托。另外,由于在从上述网络处理器收到处理结果之后,可以给相应数据包的全部使用处理结果,因而可以在已登录到进程高速缓存器中也就是与命中进程高速缓存器相同的状态下,对在进程高速缓存器中发生故障的数据包处理进行处理。
在图9、10及11中,表示3种图7所示的多重故障表代表结构示例。虽然不管采用哪种方法,直至为多重故障表402所准备的可利用于该数据包(权标)的项目不存在为止,都能够保持该权标,但是若将项目使用完,则此后到达的数据包(权标)被废除。
图9所示的多重故障表402是在将初始故障表401的项目数设为N时具有与N相等数目的队列之结构示例,在图9中各队列的长度设为M。初始故障表401具有表示是否也在多重故障表402中保持高速缓存故障权标的位。高速缓存故障处理部104对权标进行接收,若找到与初始故障表401相同的权标,则将其登录到与初始故障表401项目对应的多重故障表402队列的空白项目中。在相应的多重故障表402队列中没有空白项目的场合下,将与该权标对应的数据包废除。
在处理信息表404中存在对应权标处理结果的场合下,给多重故障表402所对应队列的全部项目依次使用上述处理结果,从所使用的项目按顺序打开多重故障表402的项目。
图10所示的多重故障表402是以链接表方式所构成的示例。在初始故障表401的各项目中,作为链接表具有:标题信息,表示一组项目在多重故障表402上的开始位置;尾部信息,表示结束位置。多重故障表402的项目具有链接信息,表示是否存在相同的权标。虽然链接信息用来在最初登录时预先写下END这样的表示在多重故障表402上不存在下一个相同权标的状态之信息,但是在下一个相同权标到达时,在最初项目的上述END部分上重写下述指针信息,也重写初始故障表401相当项目的尾部信息将链接表不断延长,上述指针信息表示登录下一个相同权标所用的多重故障表402上项目的尾部位置。再者,设置对全体·标题信息和全体·尾部信息加以管理所用的全体·标题·尾部管理表420,通过上述全体·标题·尾部管理表420来掌握多重故障表402整体上的所利用项目起点位置和项目最末尾位置,该全体·标题信息表示多重故障表402整体上的起点,该全体·尾部信息表示最末尾。
在处理信息表404中存在对应的权标处理结果的场合下,搜寻对应的初始故障表401项目号中所记录的多重故障表402的连接信息,对相应的项目权标使用上述处理结果,从所使用的项目按顺序打开多重故障表402的项目。在上述打开使多重故障表402整体上的项目起点位置及最末尾位置改变的场合下,也修改全体·标题·尾部管理表420的全体·标题信息和全体·尾部信息。
图11所示的多重故障表402是由CAM或全相联存储器(fullyassociative memory)所构成的示例。初始故障表401具有计数器,用来表示在多重故障表中保持有几个高速缓存故障权标。高速缓存故障处理部104对权标进行接收,若在初始故障表401中找到相同的权标,则选择多重故障表402上的空白项目加以登录,将上述计数器增加1。该项目的选择对于初始故障表401的项目号和上述项目号,是通过表示第几个已到达多重故障表402的号码的组合来决定的。由于多重故障表402是CAM或者全相联存储器,因而项目分配位置本身在CAM或全相联存储器总项目数之中自由决定。在CAM或全相联存储器中没有空白项目的场合下,将与该权标对应的数据包废除。
在处理信息表404中存在对应权标处理结果的场合下,对多重故障表402的项目使用上述处理结果,从所使用的项目按顺序打开多重故障表402的项目,该多重故障表402的项目是对应初始故障表401的项目号和整数K的组合所表示的。在此,上述整数K是从零到登录于相当初始故障表401项目中的计数器所示的值。
接着返回图3,有关高速缓存故障处理部104的后部结构、动作,予以说明。后处理部105具有:权标723,表示命中进程高速缓存器103信息被替换;路径,用来获取权标723,该权标表示在进程高速缓存器103中发生故障通过高速缓存故障处理部104由外部网络处理器进行处理并且已替换信息。
后处理部105根据所接收到权标的内部标题信息,对数据包存储器107进行访问,取出原来的数据包,按照权标的内部标题信息使用权标来替换提取标题的内容,进行数据包的再构成、标题信息的附加、删除、替换及修改等,例如IPv4的TTL(Time To Live)修改和HeaderChecksum计算等(返回图4的流程,是S106)。后处理部105也与数据包解析部102相同需要高速性,因此使用与数据包解析部102相同使桶式移位装置和屏蔽逻辑电路以流水线方式组合加以实施的方法。
最后,在输出接口部106中,将数据包变换成可发送的格式加以输出。此时,如果在网络处理加速器的前端连接着转换接线器,则将转换接线器用的标题信息附加到数据包中。例如,虽然包含转换接线器的端口号,但是它包含于权标中的内部标题内,因此可以对其进行利用。如果连接着网络接口,则变换成其网络接口所支持的第2层或第3层的格式加以输出。还有,在输出目标网络接口具有多个出口的场合下,仍然利用权标中的内部标题内含有的端口号来决定出口的网络接口(S107)。
上面,已说明对根据本发明的网络处理加速器加以利用的网络装置及网络处理加速器其本身的一个实施例。本说明归根结底是一个实施例的说明,并不用来限定本发明的范围,而可以对各种各样的异例加以使用。
实施例2
作为实施例2在图13中表示网络装置的结构示例,该网络装置采用将处理器或者现有网络处理器安装到同一个芯片上的网络处理加速器,不在外部连接网络处理器。这种结构的网络处理加速器在图3输入输出变换器的位置上装载内置处理器,或者在输入输出变换器前端的同一芯片内装载现有的网络处理器。
虽然对于基本的数据包处理流程,与实施例1相同,但是在网络处理加速器的进程高速缓存器中发生高速缓存故障的数据包,通过装载于网络处理加速器中的内置处理器或者网络处理器,来进行处理。有关高速缓存故障处理部的构成,实施例1的方法可以按原样使用。
向设置于外部的表存储器16、26进行访问的是,网络处理加速器13、23所内置的内置处理器或者网络处理器。
作为在实施例2的结构上安装处理器加以使用的优点,由于应登录到进程高速缓存器的数据包处理也可以由同一芯片上的处理器部分来实施,因而可以将所处理的数据包发送给网络处理加速器的外部网络处理器,并且减少从外部网络处理器进行接收的内务操作。作为在实施例2的结构上安装现有网络处理器加以使用的优点,不需要设置与上述现有网络处理器之间接口部分的输入输出插头。
还有,作为在实施例2的结构上安装处理器或者现有网络处理器加以使用的缺点,需要将芯片面积也分配给上述处理器用。
实施例3
作为实施例3,在图14中表示网络处理加速器的结构示例,该网络处理加速器采用内置处理器或者安装有内置网络处理器的网络处理加速器,也在外部连接网络处理器。在图15中表示,在这种结构的网络装置上所使用的网络处理加速器的结构示例。在与图3的网络处理加速器之间结构上的较大差异是,具有内置处理器120或内置网络处理器130,高速缓存处理部104在内置处理器120和输入输出变换器108的双方具有接口,并且输入输出变换器108具有向外部连接网络处理器所用的接口和到芯片上所装载网络处理器130的接口。
虽然内置处理器120和内置网络处理器130可以具有任一方,但是即便具有双方也可以。
虽然对于基本的数据包处理流程,与实施例1相同,但是在网络处理加速器的进程高速缓存器中发生高速缓存故障的数据包,通过装载于网络处理加速器中的内置处理器120或者网络处理器130来进行处理。在由这些处理器正进行处理的过程中到达新的高速缓存故障数据包的场合下,通过输入输出变换器104向外部网络处理器提出数据包处理委托。有关高速缓存故障处理部的构成,实施例1的方法可以按原样使用。
向设置于外部的表存储器16、26进行访问的是,网络处理加速器13、23所内置的内置处理器或者网络处理器,以及与外部连接的网络处理器15、25。需要表存储器16、26用的判优程序,用来进行控制以不使来自双方的访问产生冲突。
作为在实施例3的结构上安装处理器加以使用的优点,由于在内置处理器进行处理的处理器数对于进程高速缓存器中发生故障的数据包已足够之时,可以只在网络处理加速器内部实施全部的处理,因而能够减少与芯片外部之间的数据包收发内务操作,除此之外在内置处理器的数据包处理速度不足时,可以在外部扩充追加网络处理器以补充不足的部分。作为在实施例3的结构上安装现有网络处理器加以使用的优点,列举出可以不新设计内部处理部这一点。
还有,作为实施例3的结构上安装处理器或者现有网络处理器加以使用的缺点,需要将芯片也分配给上述处理器用。另外,由于也需要与外部连接的和现有网络处理器之间的接口,因而需要上述接口部分的面积及输入输出插头。
实施例4
作为实施例4在图16中表示网络装置的结构示例,该网络装置在网络处理加速器13、23的输入输出变换器前端进一步连接网络处理加速器32、33的输入接口部及输出接口部,在网络处理加速器32、33的输入输出变换器前端连接网络处理器。在图16中,虽然是2层网络处理加速器的结构,但是可以在网络处理加速器13(或23)和网络处理加速器32(或33)之间进一步连接网络处理加速器,将其继续分层构成。在该结构示例中所使用的网络处理加速器如同实施例2、3那样不需要在内部装安装处理器,但是安装也可以。
若在离外置网络处理器最远且位于最上层的网络处理加速器中发生高速缓存故障,则通过输入输出变换器给相当于下层的芯片发送该数据包。在下层是网络处理加速器的场合下,如果在此再次查到进程高速缓存器并命中,则将其命中数据发送给上层的网络处理加速器。如果发生故障,则直至到达网络处理器为止反复向下层发送该数据包。
在最下层的网络处理器中,与实施例1、2、3相同实施数据包处理,将结果发送给上层的网络处理加速器。
表示向设置于中层的网络处理加速器的进程高速缓存器进行登录的示例。从下层发送来的数据包处理结果不向中层网络处理加速器的进程高速缓存器进行登录,而总是向最上层的进程高速缓存器进行登录。在最上层的进程高速缓存器中,在相当的项目已满时,如果下层是网络处理加速器,则选取该项目的一个,将其项目的数据向下层的进程高速缓存器驱赶,为最新的数据分配项目。再者,如果下层进程高速缓存器的该项目已满,不能登录所驱赶的数据,则再次选择该项目的一个,将其项目的数据向下层的进程高速缓存器驱赶,为不从上层所驱赶来的数据而循环反复分配项目。如果下层是网络处理器,则在网络处理加速器的进程高速缓存器中,只重写该数据。
另外,设置于中层的网络处理加速器后处理部,不需要最上层网络处理加速器的后处理部那种发送数据包的再组装工作。上层只能将下述标题贴到向进程高速缓存器进行登录格式的权标上加以发送,上述标题包含可识别的数据包整理号等。
作为实施例4结构的优点列举出,可以按照所连接网络处理加速器的数目增加进程高速缓存器的总容量,存储大量的数据包处理结果。各网络处理加速器的进程高速缓存器可以看成在通常处理器中所说的那种分层高速缓存器,即使在相当于第一高速缓存器的最上位进程高速缓存器中发生故障,如果通过相当于第二高速缓存器的下一个网络处理加速器的进程高速缓存器予以命中,或者通过更下层次的进程高速缓存器予以命中,则也可以不通过最下层的网络处理器进行数据包处理。
作为实施例4结构的缺点列举出,按照所连接网络处理加速器的数目使网络装置的部件费用升高。另外,实施例4将从最下层网络处理加速器的进程高速缓存器直至将该数据传送到最上层为止的时间设为A,并且在最上层网络处理加速器上直接连接网络处理器,将从网络处理器直至将该数据传送到网络处理加速器为止的时间设为B,此时只在A<B的范围内是有效的。
实施例5
作为实施例5在图17中表示网络装置的结构示例,该网络装置装载网络处理加速器35,用来在单个芯片上对来自网络的输入方和输出方数据包进行处理。该网络处理加速器35在同一芯片上具有输入方和输出方各自独立的输入接口151、161、数据包解析部152、162、进程高速缓存部153、163、后处理部154、164、输出接口155、165以及数据包存储器156、166,但是由通用的高速缓存故障处理部140对在各自的进程高速缓存部中发生故障的数据包(权标)进行处理,通过通用的输入输出变换器141向外部网络处理器15提出数据包处理委托。
在共用的高速缓存故障处理部140中除追加输入方数据包和输出方数据包的管理标记之外,还进行与实施例1所示网络处理加速器的高速缓存故障处理部104相同的处理。
作为实施例5结构的优点,可以使网络装置的部件件数减少。
还有,作为实施例5结构的缺点,由于网络处理加速器对网络具有输入方和输出方双方的逻辑电路,因而与只具有哪一方逻辑电路的网络处理加速器相比,容易减小芯片面积。
实施例6
在图19中表示,只使用一个网络处理器和加速器来构成网络装置的实施例。对于各个设备的结构·动作,与实施例1所说明的相同。如同本实施例那样,在原理上也可以使输入方和输出方合并来构成网络装置。如同图1所示的装置那样,虽然与在输入方转换接线器接口和输出方转换接线器接口上独立设置加速器13和网络处理器15的情形相比动作变慢,但是因为结构变得简单,所以在制造成本方面是有利的。
也可以取代网络处理器15而采用广泛应用的CPU在软件方面实现数据包传送处理。这种场合下,需要外部控制器,用来在CPU起动时安装数据包处理用的软件。
还有,与实施例1相同,在基片上安装加速器13、网络处理器15及表存储器16后各设备间的连接是通过各设备上所给予的配线插头来进行的。
产业上的可利用性
对于进程高速缓存器的命中(hit)率为90%来说,可以构成具有下述峰值数据包处理速度的网络装置,该峰值数据包处理速度是与网络处理加速器所连接网络处理器的10倍。对于进程高速缓存器的命中率为50%来说,也获得网络处理器2倍的峰值数据包处理速度。此时,网络处理加速器需要以这种速度来进行位串操作的能力,该速度与比网络处理器高速的速率相应,但是一般情况下如果只是位串操作则不需要复杂的程序处理,因此可以通过硬件来实现。
本发明的网络处理加速器可以辅助性地采用以往的高级网络处理器,来构成超过上述高级网络处理器数据包处理速度的高速网络装置。另外,可以辅助性地采用低级的网络处理器,来构成相当于中级的网络装置使之价格低廉。
Claims (26)
1.一种网络装置,其特征为:具有
网络接口,用来对网络接收或发送数据包;
网络处理器,用来进行将接收的数据包传送给下一个传送目标所需的处理;
表存储器,对用于该传送的处理时被参照的表格进行存储;
高速缓存器,存储上述网络处理器的处理结果;
网络处理加速器,参照该高速缓存器,对接收的数据包进行用于传送的处理,
对于与上述网络处理器已处理的接收数据包和目标地址相同的接收数据包,通过上述网络处理加速器来进行用于传送的处理。
2.一种网络装置,其特征为:具有
网络接口,用来对网络接收或发送数据包;
第1处理器,用来进行将接收数据包传送给下一个传送目标所需的处理;
表存储器,对用于该传送的处理时被参照的表格进行存储;
高速缓存器,用来存储该第1处理器的处理结果;
第2处理器,用来参照该高速缓存器对接收数据包进行用于传送的处理,
对于与进行了上述高速缓存器中存储的处理结果的数据包和目标地址相同的接收数据包,参照上述高速缓存器中存储的处理结果,对该接收数据包进行用于传送的处理。
3.根据权利要求1记载的网络装置,其特征为:
进一步具有:第1网络处理加速器,内置有第1高速缓存器;第2网络处理加速器,内置有第2高速缓存器;第1网络处理器,与上述第1网络处理加速器连接;第2网络处理器,与上述第2网络处理加速器连接;转换接线器;与该转换接线器连接的输入方转换接线器接口和输出方转换接线器接口;
上述第1网络处理加速器配置于上述网络接口和上述输入方转换接线器接口之间,并且上述第2网络处理加速器配置于上述网络接口和上述输出方转换接线器接口之间。
4.根据权利要求1记载的网络装置,其特征为:
上述网络处理器内置于上述网络处理加速器中。
5.根据权利要求1记载的网络装置,其特征为:
上述网络处理器内置上述表存储器。
6.根据权利要求1记载的网络装置,其特征为:
在上述网络处理器和上述网络处理加速器之间,连接有多个不同的网络处理加速器。
7.根据权利要求1记载的网络装置,其特征为:具有
网络处理加速器,内置高速缓存器;
网络处理器,与该加速器连接;
转换接线器;
输入方转换接线器接口和输出方转换接线器接口,与该转换接线器连接,
在该输入方转换接线器接口和输出方转换接线器接口之间,共用上述网络处理加速器。
8.根据权利要求3记载的网络装置,其特征为:
由同一个网络处理加速器来构成上述第1网络处理加速器和上述第2网络处理加速器,
由同一个网络处理器来构成上述第1网络处理器和上述第2网络处理器。
9.根据权利要求1记载的网络装置,其特征为:
进一步具有多个网络处理器,
具有接口部,用来转换该多个网络处理器和上述网络处理加速器之间的连接。
10.根据权利要求1记载的网络装置,其特征为:
具有数据包存储器,外加在上述网络处理加速器或上述网络处理器上,用来暂时存储接收数据包。
11.根据权利要求10记载的网络装置,其特征为:
在上述网络处理加速器和上述网络处理器中独立地具备上述外置的数据包存储器。
12.根据权利要求1记载的网络装置,其特征为:
在上述网络处理加速器的获取数据包的接口部的配线数NAin、上述网络处理器的获取数据包的接口部的配线数Npin、以及上述网络处理器的发送数据包的接口部的配线数NPout之间,NPin+NPout>NAin的关系成立。
13.根据权利要求1记载的网络装置,其特征为:
在上述网络处理加速器的获取数据包的接口部的配线数NAin、上述网络处理器的获取数据包的接口部的配线数NPin以及上述网络处理器的发送数据包的接口部的配线数NPout之间,NPin=NPout的关系成立。
14.根据权利要求1记载的网络装置,其特征为:
在上述网络处理器获取数据包的接口部的配线数NPin
和上述网络处理器的发送数据包的接口部配线数NPout之间,NPin+NPout=NAin的关系成立。
15.根据权利要求1记载的网络装置,其特征为:
在上述网络处理加速器的获取数据包的接口部带宽BWAin和上述网络处理器的获取数据包的接口部带宽BWPin之间,BWPin<BWAin的关系成立。
16.根据权利要求1记载的网络装置,其特征为:
在上述网络处理器的获取数据包的接口部带宽BWPin
和上述网络处理器的发送数据包的接口部带宽BWPout之间,BWPin=BWPout的关系成立。
17.一种网络处理加速器,其特征为:具有
输入接口部,用来接收数据包;
数据包存储器,用来暂时保持接收数据包;
数据包解析部,用来从接收数据包截取必要的部分,作为提取信息;
高速缓存器,用来存储接收数据包传送处理所需要的处理结果;
判断装置,参照该高速缓存器来判定是否存在应对接收数据包使用的处理结果;
输出接口部,用来发送V数据包。
18.根据权利要求17记载的网络处理加速器,其特征为:具备
处理装置,用来在应对接收数据包执行的处理结果不存在于上述高速缓存器中的发生了高速缓存故障的场合下,对该高速缓存故障进行处理;
NP用接口,用来与网络处理器连接。
19.根据权利要求18记载的网络处理加速器,其特征为:
对上述高速缓存故障进行处理的装置,具有
内置处理器,用来进行上述接收数据包的传送处理;
接口,是该内置处理器参照传送处理所需要的路由选择表所用的。
20.根据权利要求19记载的网络处理加速器,其特征为:
在上述内置处理器不能进行上述接收数据包的传送处理的场合下,将该接收数据包传送到上述NP用接口。
21.根据权利要求19记载的网络处理加速器,其特征为:
内置了网络处理器。
22.根据权利要求18记载的网络处理加速器,其特征为:
共用对上述高速缓存故障加以处理所用的装置,此外的上述数据包解析装置、上述高速缓存器相关装置以及上述发送数据包生成装置等由输入方和输出方独立地具有。
23.一种网络处理器,具有对数据包处理结果进行高速缓存的装置,其特征为:
在这种网络处理器等中,具有
第一表格,用来在上述高速缓存器中不存在相应信息时对数据包加以管理;
第二表格,用来在上述高速缓存器中不存在相应信息的状况下,对被期待与上述第一表格中所登录的数据包相同处理结果的第二个以后的数据包加以管理,
准备只与管理高速缓存故障数据包的上述第一表格的项目数目相同数目的上述第二表格,各自的上述第二表格的项目数目全部为一定的相同值。
24.一种网络处理器,具有对数据包处理结果进行高速缓存的装置,其特征为:
在这种网络处理器等中,具有
第一表格,用来在上述高速缓存器中不存在相应信息时对数据包加以管理;
第二表格,用来在上述高速缓存器中不存在相应信息的状况下,对被期待与上述第一表格中所登录数据包相同处理结果的第二个以后的数据包加以管理,
以链接表方式来管理上述第二表格。
25.一种网络处理器,具有对数据包处理结果进行高速缓存的装置,其特征为:
在这种网络处理器等中,具有
第一表格,用来在上述高速缓存器中不存在相应信息时对数据包加以管理;
第二表格,用来在上述高速缓存器中不存在相应信息的状况下,对被期待与上述第一表格中所登录数据包相同处理结果的第二个以后的数据包加以管理,
利用CAM(Content Addressable Memory)或者全相联存储器来管理上述第二表格。
26.一种网络处理加速器,其特征为:具有
接口部,用来接收数据包;
数据包存储器,用来暂时保持接收数据包;
数据包解析部,用来从接收数据包截取必要的部分将其作为提取信息;
高速缓存器,用来存储接收数据包传送处理所需要的处理结果;
地址生成装置,用来按照上述提取信息参照上述高速缓存器;
判断装置,用来判定按照上述提取信息参照上述高速缓存器后的结果,在高速缓存器中是否存在相应信息;
再构筑装置,用来在上述高速缓存器中存在相应信息时,按照上述该信息来重新构筑数据包;
第一表格,用来在上述高速缓存器中不存在相应信息时对数据包加以管理;
第二表格,用来在上述高速缓存器中不存在相应信息的状况下,对被期待与上述第一表格中所登录数据包相同处理结果的第二个以后的数据包加以管理;
接口部,用来向外部网络处理器发送数据包和必要的信息,该外部网络处理器用来以程控的方式实施上述第一表格中所登录的高速缓存故障数据包的处理;
接口部,用来从上述外部网络处理器接收已处理数据包和追加信息;
登录装置,用来将上述已处理数据包和处理结果信息登录到上述高速缓存器;
对上述第二表格中所登录的该数据包使用上述处理结果的装置;
打开已处理的上述第一表格及第二表格的项目的装置;
根据上述已处理数据包或上述处理结果信息生成发送数据包的装置;
接口部,用来传送已处理的数据包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003346519A JP2005117206A (ja) | 2003-10-06 | 2003-10-06 | ネットワークプロセッサアクセラレータ |
JP2003346519 | 2003-10-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1606291A true CN1606291A (zh) | 2005-04-13 |
Family
ID=34386372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200410083506XA Pending CN1606291A (zh) | 2003-10-06 | 2004-10-08 | 网络处理加速器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7440457B2 (zh) |
JP (1) | JP2005117206A (zh) |
CN (1) | CN1606291A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103415836A (zh) * | 2010-12-16 | 2013-11-27 | 国际商业机器公司 | 加速数据包解析的网络处理器及方法 |
CN103828313A (zh) * | 2011-09-27 | 2014-05-28 | 日本电气株式会社 | 网络系统、前端单元和控制消息传输速率降低方法 |
CN103858394A (zh) * | 2011-10-05 | 2014-06-11 | 日本电气株式会社 | 负载降低系统和负载降低方法 |
CN111031055A (zh) * | 2019-12-19 | 2020-04-17 | 山东方寸微电子科技有限公司 | 一种IPsec加速装置及实现方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4483535B2 (ja) | 2004-11-05 | 2010-06-16 | 株式会社日立製作所 | ネットワーク装置 |
US20060161647A1 (en) * | 2004-12-22 | 2006-07-20 | Waldemar Wojtkiewicz | Method and apparatus providing measurement of packet latency in a processor |
JP4630262B2 (ja) * | 2006-11-21 | 2011-02-09 | 日本電信電話株式会社 | キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム |
US7990867B1 (en) | 2007-05-03 | 2011-08-02 | Xilinx, Inc. | Pipeline for processing network packets |
US7788402B1 (en) | 2007-05-03 | 2010-08-31 | Xilinx, Inc. | Circuit for modification of a network packet by insertion or removal of a data segment |
US7817657B1 (en) * | 2007-06-14 | 2010-10-19 | Xilinx, Inc. | Circuit for processing network packets |
JP4941557B2 (ja) | 2007-06-27 | 2012-05-30 | 富士通株式会社 | メモリアクセス制御装置 |
US9009293B2 (en) * | 2009-11-18 | 2015-04-14 | Cisco Technology, Inc. | System and method for reporting packet characteristics in a network environment |
US9015318B1 (en) | 2009-11-18 | 2015-04-21 | Cisco Technology, Inc. | System and method for inspecting domain name system flows in a network environment |
US9148380B2 (en) * | 2009-11-23 | 2015-09-29 | Cisco Technology, Inc. | System and method for providing a sequence numbering mechanism in a network environment |
US8792495B1 (en) | 2009-12-19 | 2014-07-29 | Cisco Technology, Inc. | System and method for managing out of order packets in a network environment |
US8937942B1 (en) * | 2010-04-29 | 2015-01-20 | Juniper Networks, Inc. | Storing session information in network devices |
US8787303B2 (en) | 2010-10-05 | 2014-07-22 | Cisco Technology, Inc. | Methods and apparatus for data traffic offloading at a router |
US9003057B2 (en) | 2011-01-04 | 2015-04-07 | Cisco Technology, Inc. | System and method for exchanging information in a mobile wireless network environment |
US8792353B1 (en) * | 2011-06-14 | 2014-07-29 | Cisco Technology, Inc. | Preserving sequencing during selective packet acceleration in a network environment |
US8948013B1 (en) | 2011-06-14 | 2015-02-03 | Cisco Technology, Inc. | Selective packet sequence acceleration in a network environment |
US8743690B1 (en) | 2011-06-14 | 2014-06-03 | Cisco Technology, Inc. | Selective packet sequence acceleration in a network environment |
US8737221B1 (en) | 2011-06-14 | 2014-05-27 | Cisco Technology, Inc. | Accelerated processing of aggregate data flows in a network environment |
EP2751962A4 (en) * | 2011-08-29 | 2015-01-07 | Nec Corp | COMMUNICATION SYSTEM, CONTROL DEVICE, NODE, NODE CONTROL METHOD, AND PROGRAM |
CN107872545B (zh) * | 2017-09-26 | 2022-12-06 | 中兴通讯股份有限公司 | 一种报文传输方法及装置、计算机可读存储介质 |
US10785163B2 (en) * | 2019-02-27 | 2020-09-22 | International Business Machines Corporation | Maintaining a queuing policy with multipath traffic |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5434863A (en) | 1991-08-30 | 1995-07-18 | Hitachi, Ltd. | Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected |
JP4481517B2 (ja) | 2001-03-19 | 2010-06-16 | 株式会社日立製作所 | インターネットワーク装置及びインターネットワーク方法 |
JP3199051B2 (ja) * | 1999-02-10 | 2001-08-13 | 日本電気株式会社 | キャッシュを有するルータの方路決定装置及びプログラムを記録した機械読み取り可能な記録媒体 |
KR20020055287A (ko) * | 2000-12-28 | 2002-07-08 | 구자홍 | 라우터 장치의 패킷 라우팅 방법 |
JP3873639B2 (ja) | 2001-03-12 | 2007-01-24 | 株式会社日立製作所 | ネットワーク接続装置 |
US7079539B2 (en) * | 2001-12-21 | 2006-07-18 | Agere Systems Inc. | Method and apparatus for classification of packet data prior to storage in processor buffer memory |
JP2004260532A (ja) | 2003-02-26 | 2004-09-16 | Hitachi Ltd | ネットワークプロセッサ |
-
2003
- 2003-10-06 JP JP2003346519A patent/JP2005117206A/ja active Pending
-
2004
- 2004-10-04 US US10/956,089 patent/US7440457B2/en not_active Expired - Fee Related
- 2004-10-08 CN CNA200410083506XA patent/CN1606291A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103415836A (zh) * | 2010-12-16 | 2013-11-27 | 国际商业机器公司 | 加速数据包解析的网络处理器及方法 |
CN103415836B (zh) * | 2010-12-16 | 2015-12-16 | 国际商业机器公司 | 加速数据包解析的网络处理器及方法 |
CN103828313A (zh) * | 2011-09-27 | 2014-05-28 | 日本电气株式会社 | 网络系统、前端单元和控制消息传输速率降低方法 |
US9608924B2 (en) | 2011-09-27 | 2017-03-28 | Nec Corporation | Network system, front-end unit and control message transmission rate reducing method |
CN103828313B (zh) * | 2011-09-27 | 2017-05-24 | 日本电气株式会社 | 网络系统、前端单元和控制消息传输速率降低方法 |
CN103858394A (zh) * | 2011-10-05 | 2014-06-11 | 日本电气株式会社 | 负载降低系统和负载降低方法 |
CN103858394B (zh) * | 2011-10-05 | 2016-08-31 | 日本电气株式会社 | 负载降低系统和负载降低方法 |
CN111031055A (zh) * | 2019-12-19 | 2020-04-17 | 山东方寸微电子科技有限公司 | 一种IPsec加速装置及实现方法 |
CN111031055B (zh) * | 2019-12-19 | 2021-10-12 | 山东方寸微电子科技有限公司 | 一种IPsec加速装置及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US7440457B2 (en) | 2008-10-21 |
US20050074005A1 (en) | 2005-04-07 |
JP2005117206A (ja) | 2005-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1606291A (zh) | 网络处理加速器 | |
CN1431805A (zh) | 数据包交换系统、方法,路由设备,数据包结构和产生方法 | |
CN1254056C (zh) | 多协议标签转换网络系统 | |
CN1885822A (zh) | 一种网络处理器 | |
CN113934660A (zh) | 加速网络分组处理 | |
CN108270676B (zh) | 一种基于Intel DPDK的网络数据处理方法及装置 | |
CN100338915C (zh) | 报文镜像方法及具有报文镜像功能的网络设备 | |
CN1848804A (zh) | 基于mpls te隧道的数据报文传输方法和节点设备 | |
CN1976313A (zh) | 高性能路由器bgp路由协议分布并行实现方法 | |
CN1376351A (zh) | 分组网络连接 | |
CN1992676A (zh) | 在通信网络中多个业务路径之间的转发状态共享 | |
CN1878130A (zh) | 一种数据转发方法 | |
CN1520110A (zh) | 对转发信息进行动态管理的分布式路由器及其方法 | |
CN1859170A (zh) | 一种实现跨域路由分离的方法 | |
CN1921453A (zh) | Mpls有序方式下lsp中间节点标签分配方法及装置 | |
US11909632B2 (en) | Distributed label assignment for labeled routing protocol routes | |
CN1781293A (zh) | 用于修改从源传输到目的地的数据的系统和方法 | |
CN1946061A (zh) | 一种快速处理报文的方法及装置 | |
CN1499796A (zh) | 通信控制系统,通信控制方法,可适用于该系统和方法的路由控制器和路由器 | |
CN1753389A (zh) | 波长路由光网络的实时软抢占方法 | |
CN100481816C (zh) | 用于在通信网络路由器中用来选择路由信息的设备 | |
CN1440168A (zh) | 一种IPv4网络接入层次式交换网络的方法 | |
CN1852248A (zh) | 一种数据转发实体转发数据帧的方法 | |
CN1604558A (zh) | 路由迭代系统及其方法 | |
CN1251457C (zh) | 集中的交换和路由选择处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |