基于交换的网络处理器的制作方法

文档序号:7669040阅读:149来源:国知局
专利名称:基于交换的网络处理器的制作方法
技术领域
本发明涉及网络处理领域,更具体地说,涉及网络路由器、防火墙、带宽管理器以及交换机领域。
背景技术
当前计算机通信系统使用网络,诸如Internet,将数据从一台计算机传送到另一台计算机。将传送的数据分成称为数据包的较小数据块。将每个数据包通过传送计算机放在网络上,其中将由接收数据包并确定地址的一个或多个路由器或交换机处理每个包数据,该地址表示需要将数据包传送到何处,以便可由适当的接收计算机接收。路由器通过将搜索请求经总线发送到搜索引擎或内容可寻址存储器(CAM)来确定适当的目的地址。然而,路由器寻找数据包的地址所需的处理时间受总线的带宽的限制。
增加可用于地址搜索的带宽需要替换将路由器连接到搜索引擎的该常规总线。另外,在路由器处对数据包执行许多修改需要由路由器以当前不可用的速率存取数据包。同时也存取会话/状态存储器,以便路由器可是对话认知的,这对于具有有限带宽的常规路由器是不可能的。对有限带宽总线问题的一个体系结构解决方案是使用多CPU(中央处理单元)网络处理器。然而,该解决方案太慢以至不能充分地执行地址搜索,并且换算(scale)得不太好。对该问题的共享存储器解决方案是不适当的,因为它受存储器带宽的限制。不希望使用许多专用处理器的解决方案,因为这些处理器很难连接和编程。

发明内容
在此公开了一种基于交换的网络处理器。该基于交换的网络处理器包括至少一个包剖析器、搜索以及修改调度程序,其用于解析数据包、开发对搜索引擎的需要,以及基于搜索结果调度将在数据包上执行的修改。该处理器还包括几个搜索资源,其中每个能同时执行多个搜索。包括多个数据包器以便同时修改几个数据包。还提供核心交换机以便将来自剖析器的搜索请求转换到搜索资源,将来自搜索资源的搜索响应转换到剖析器,以及在剖析器和数据包修改器间转换修改请求和响应。该核心交换机还包括响应包接收、用于传送操作的时间表或基于对包内容存取的指令,将包数据转换到包缓冲存储器中或之外。可将搜索请求和修改请求包括在指令包中。指令包也可包含包数据或经包指针对包数据的间接引用。在一个实施例中,包指针包括对目前在基于交换的网络处理器中的每个包来说唯一的包标识符,以及包括指定包中的单元的偏移量。该基于交换的处理器也可包括会话状态存储设备,以及能用来允许根据与一组包,例如,包括在传输控制协议(TCP)会话中的包有关的会话和状态变量,来处理包的会话/状态存取指令。


本发明将通过例子来示例说明,但不限于附图的图形,其中相同的参考数字表示相似的元件,其中图1表示基于交换的网络处理器的一个实施例的例子。
图2表示用来识别会话的会话状态存储的一个实施例的例子。
图3表示由基于交换的网络处理器使用的核心交换机的一个实施例的例子。
图4示例说明搜索响应解析机制的一个实施例。
图5表示用于基于状态的包处理的方法的一个实施例的例子。
图6表示使用基于交换的网络处理器来处理包的方法的一个实施例的例子。
具体实施例方式
在此公开了基于交换的网络处理器。该基于交换的网络处理器包括包剖析器、用于解析数据包、开发用于与包有关的处理规则的搜索以及基于该规则调度将在包上执行的修改的搜索和修改调度程序。该处理器还包括几个搜索资源,每个能同时搜索一个处理规则。包括多个包修改器以便同时修改几个包。还提供核心交换机以便将搜索请求从剖析器转换到搜索资源、将搜索响应从搜索资源转换到剖析器,以及在剖析器和包修改器间转换修改请求和响应。该基于交换的处理器还包括能用来允许处理器认知会话的会话状态存储设备。
该基于交换的网络处理器包括作为搜索资源的高速缓冲联想存储器(associative memory),以便可由交换机使用大的策略数据库(policy database)来处理包。例如,可在实现使用基于交换的处理器实现策略的相同系统中实现非常大的路由表。而且,可寻址会话认知(有状态的)应用,以便通过多个包可识别和保持会话或状态,即,处理器可是会话认知的。可使用基于交换的处理器执行另外的修改特征。例如,可执行多协议标记交换(MPLS)、压入、弹出、合并、使用期限(TTL)递减以及Internet协议(IP)校验和再计算修改。同时,可由基于交换的处理器执行使用对IPSEC(IP安全)“可变”字段、支持源路由以及IP校验和再计算的修改加密扩展。该处理器也可使用用于IP分割以及重组的工具来执行加密或统一资源定位器(URL)交换。可执行每个包的多个搜索以及复杂的包搜索。可由处理器支持的另外的特征包括URL搜索以及多字段抽取功能。基于交换的网络处理器也能以高速率,诸如OC-192支持复杂的应用。因此,基于交换的网络处理器也可用来改进路由器、防火墙、带宽管理器、交换机或线路卡的性能。
图1中示出了基于交换的网络处理器100的一个实施例的例子。处理器100从网络,诸如局域网(LAN)或广域网的输入线,通过网络接口102接收包,该网络接口102可以是例如MAC或帧调节器接口。接口102通过核心交换机140将包发送到包剖析器、搜索和修改调度程序110。剖析器110通过核心交换机140向搜索资源150发出搜索请求,以便定位用于包的适当的处理规则。包剖析器110也可向包指定包识别符(ID)并将其转发给包存储设备120。搜索资源150对搜索请求产生一个或多个搜索响应,并将该响应发送给核心交换机140。核心交换机140将该响应传递给包剖析器110。包剖析器110基于搜索响应发出一个或多个包修改请求,并将该修改请求经核心交换机140发送给包修改器160。配置每个包修改器160以便通过应用与对包的修改请求相应的指令来修改包,如下所述,以及经交换机140将修改后的包发送回剖析器110或包修改设备120。包存储设备120接收修改后的包并经核心交换机140将修改后的包发送给交换机结构接口106,该接口106将包传送到基于交换的网络处理器100之外的将包转换到网络的适当的输出线上的交换机结构。主处理器接口104提供主处理器170和基于交换的处理器100间的接口,以便主处理器170可控制基于交换的处理器100。例如,主处理器170向基于交换的网络处理器100提供信息以便该基于交换的网络处理器能充分地处理异常包。接口设备115允许处理器100的各组件发送和接收数据。
基于交换的处理器100能基于复杂的规则,通过从包抽取信息来解析包。该处理器能通过查看从包抽取的数据来分类包。而且,该处理器能通过插入或重写包含在包内的数据来标记包或将标记应用于包上。例如,包剖析器110接收一个包。剖析器110在该包上执行一个或多个解析和分类操作。可由剖析器使用解析操作来设置用于包的会话标识符,且分类操作可使用该会话标识符来确定该包是否属于现有的会话。会话是在网络上从一台计算机传送到另一台计算机的一组包。会话可具有与用来确定两台计算机间的连接的开始部分有关的包。例如,开始部分可用来识别传送计算机,以便来自传送计算机的包可通过防火墙并由接收计算机接收。会话也可具有与会话的中间部分有关的包。这些包可包含传送到接收计算机的数据。会话也可具有与用来结束两台计算机间的连接的结束部分有关的包。
可将会话标识符包括在每个包中。剖析器110设置会话标识符、读取标识符数据以及将该标识符数据与存储在会话存储设备130和135中的会话标识符比较。如果接收的包的标识符与一个存储设备130或135之一中的标识符匹配,那么剖析器110确定该包属于与数据库中的匹配标识符有关的会话。如果包的会话标识符在会话存储数据库中没有匹配,那么该包可自动创建新会话。或者,在由基于交换的网络处理器100通知主处理器170异常(未匹配的会话标识符)后,主处理器170可创建与会话标识符有关的新会话。在许多协议(例如,TCP/IP)中,可通过多个字段的组合来标识会话。例如,源和目的IP地址以及TCP端口号可识别TCP/IP会话。因此会话标识可包括多字段抽取以及查找最终组合数据。
例如,当接收包时,执行(抽取/查找)多个与会话无关的分类操作以便确定该包属于哪一会话。每个包将或是新会话(未知的查找结果)的一部分或是现有会话的一部分。新会话包可自动创建会话环境或当主处理器170创建新会话时停止。基于交换的网络处理器100可通过维护可用会话/状态数据库项表或清单,并指定可用来存取会话/状态数据库的会话索引来执行自动创建新会话,以便创建一个新会话而不用联系主处理器170。主处理器170可在该主处理器从基于交换的网络处理器100接收包括无匹配会话标识符的消息后创建新会话。主处理器170将该无匹配会话标识符与可通过该基于交换的网络处理器100传送到目的地址的会话的数据库进行比较。如果会话标识符与允许通过基于交换的网络处理器100传送的会话相应,那么主处理器170发送指令以便创建至基于交换的网络处理器100的新会话。
图2表示用来识别会话的会话状态存储器的一个实施例的例子。交换机接口115接收请求以便识别来自核心交换机140的一个会话。由请求队列210存储该请求直到会话状态存储器130的高速缓冲存储控制器220能处理它为止。该高速缓冲存储控制器在高速缓冲存储器230中搜索与搜索请求匹配的会话。如果找到匹配,将匹配信息从存储器230发送到控制器220。如果未找到匹配,控制器通过存储器接口115搜索在片外存储器中存储的会话表135,以便确定会话表中的会话是否与搜索请求匹配。如果找到匹配,那么将匹配信息发送到控制器220。控制器将来自高速缓冲存储器230或表135的匹配信息发送到响应队列250,然后,响应队列将该信息通过交换机140发送给剖析器110。
可由基于交换的网络处理器,通过提供存储描述基于行为的会话状态的状态/下一状态表135的机制,以及通过创建和破坏存储在设备130中的会话状态数据来寻址会话认知。可与包存储无关地增加会话/状态存储。允许处理器100认知会话准许处理器100执行指令来存取和修改会话/状态存储设备130,从而为处理器提供用于分配和释放会话/状态存储的机制。例如,也可执行递增和增加指令来保持会话统计信息。同样,也可由处理器100执行改变状态的指令(例如,会话→状态=连接;)。因为处理器100是会话认知的,所以该处理器可检验状态作为分类过程的一部分(例如,如果状态等于x,那么执行y)。例如,可由剖析器110使用会话标识符以通过确定与包会话标识符相应的会话已经准许通过防火墙来允许包通过包含基于交换的网络处理器100的防火墙设备。
剖析器110可基于包的内容进一步分类包。剖析器110可使用一个或多个规则来设置包中的信息以及从包抽取信息。通过与来自包的信息有关的一个或多个处理策略规则来控制对包的进一步处理。每个处理规则可是会话状态机,该会话状态机是基于会话变量和包内容的选择语句。会话状态机也可包括描述包修改以及有关会话变量的操作的指令。可通过转向和调用/返回机制提供对嵌套会话(例如,IP上的TCP)的支持。
在剖析器110设置和从包抽取信息后,该剖析器可开发搜索请求来查找与抽取的信息有关的处理规则,以便进一步处理包。通过核心交换机140将用于该包或对象类型的搜索请求发送到用于对象类型的一个或多个搜索资源150-1至150-n。每个搜索资源150可基于搜索请求,搜寻大规则150的至少一部分以便找出适当的规则。可由每个搜索资源150使用用于搜索存储器,诸如内容可寻址存储器(CAM)超高速缓存的高速缓冲存储接口系统151,以便可按非常大的统计快速搜索系统来执行资源。
在找到具有最高优先级的处理规则后,将与该规则有关的指令数据以及规则的优先级经交换机140从搜索资源150传送到剖析器110。如果多个搜索资源用不同优先级响应,则核心交换机将最高优先级响应传递给包剖析器110。处理规则可包括将在包上执行的一个或多个修改。例如,该规则可包括表示将添加或从包删除一个字段的逻辑。该插入或删除逻辑可用来封装或解封装包、改变URL、改变IP地址或改变端口号。当执行该逻辑时,可引起包被封装。
通过将定义基于偏移量的包以便实现字段抽取的包偏置变量的原理(concept)与封装原理结合,每个包(正在处理时)可与用于每个封装的多个会话存储区、一个偏置变量以及一个会话/状态数据块关联。因此,在IP包上的TCP上的文件传输协议(FTP)在会话存储中将具有三个会话数据块,一个用于每个封装。每个封装可与单独的偏置以及单独的状态变量关联,这允许处理器100单独地处理每个封装。
处理规则也可包含指定功能,诸如拷贝包或包的一部分、分离包或合并包的相关数据。包复制可用于桥接器中的多播复制和广播功能。合并和分离功能可用于IP分割和重组。
处理规则也可指定通过拷贝包模板,然后修改可用来创建新包的拷贝来生成新包的功能。处理规则也可具有递增或递减包中的字段值、或重新计算校验和值的功能。
可将处理规则以及相应的包从剖析器110经交换机140传送到包修改器160。包修改器160基于处理规则修改包的内容,以及将修改后的包经交换机140返回给剖析器110。如果包需要进一步处理,剖析器可调度对包的另外的搜索或另外的修改。
因此,基于交换的网络处理器100的包修改器或硬件编辑块160-1至160n可用来解决特定的包修改问题。由硬件编辑块160解决的修改允许处理器从慢通路(slow path)处理器170去除大部分“重负”,因为处理规则能由块160执行来修改包。例如,硬件块160可包括能用来封装和解封装包、改变URL和IP地址以及端口号的字段插入/删除逻辑。编辑块160也可执行拷贝包或部分包、分离包以及合并包的功能,这是用于IP分割和重组的基础。拷贝包模板并且然后修改该拷贝可由硬件编辑块160执行,并且这是用于创建包的基础。块160也可执行用于包中递增和递减字段以及重计算校验和的修改功能。连接到慢通路接口104的慢通路处理器170也可用来处理异常包。
图3表示用在基于交换的网络处理器100中的核心交换机140的一个实施例的例子。由处理器使用的核心交换机140可包括诸如时分多路复用(TDM)单元纵横交换(crossbar)310的交换机结构。核心交换机140还包括输入队列设备330以便从处理器100的其他部分接收诸如数据包和其他信息的元素。将输入队列330中每个元素的状态发送给交换机调度程序320。该交换机调度程序320包括诸如为处理设备的逻辑,例如将该逻辑配置成捕获用于每个元素的输入队列状态,并调度该元素经过纵横交换310的适当的目的地和时间。交换机140还包括也从其他网络设备接收数据元素的输出队列设备340,并将每个元素的输出队列状态发送给调度程序320。交换机调度程序320使输出队列340中的数据在适当的单元和时间经过纵横交换310。
核心交换机140能使用交换机调度程序320执行搜索多播特征,该交换机调度程序320了解哪个交换机端口连接到了特定的对象类型搜索资源150。将用于具体对象类型的搜索请求多播到这些搜索资源150。交换机从该资源接收响应,且交换机调度程序320使最高优先级响应返回剖析器110。使用消息等级来存取核心交换机140的特定特征。包剖析器、搜索和修改调度程序110对各个搜索和修改资源150和160生成消息。交换机搜索请求特征是至搜索类型(对象类型)的多播,并允许多个搜索设备并行运行搜索。搜索请求可包含用来协调多个搜索响应的搜索顺序号。当特定类型的搜索设备将对搜索的响应(即使它们不包含相关数据)发送给交换机140时确定交换机搜索响应。交换机收集各响应,并决定共享公共搜索请求顺序号的响应之间的优先级。
例如,剖析器110将搜索请求发送给交换机140,在此处,接收该请求并由交换机输入队列330保存直到交换机调度程序320使该请求从队列330经纵横交换310传递到一个或多个搜索资源。交换机可将搜索请求多播给多个搜索设备150,以便该设备能并行运行搜索。搜索标识符,诸如搜索顺序号可与搜索请求包含在一起。
接收搜索请求的每个搜索设备150基于该请求执行搜索并确定搜索响应。搜索设备150可以是执行存储器内容搜索以找出响应的CAM超高速缓冲设备。搜索标识符也可同搜索响应包含在一起。将响应连同标识符一起发送给交换机输出队列340。交换机调度程序320使用标识符来识别和收集对指定搜索的响应。在输出队列340接收用于指定搜索的响应后,交换机调度程序320可决定多个搜索响应中的优先级,并将具有最高优先级的响应经纵横交换310发送给剖析器。
例如,匹配值可与每个响应相关,其中匹配值表示搜索请求和搜索响应之间的相似度。与最高匹配值有关的响应可是最高优先级响应。
图4示例说明交换机调度程序320的搜索响应解决机制400的一个实施例。从存储在搜索ID分配设备410中的搜索ID库为每个搜索请求401指定搜索标识符(ID),诸如顺序号。搜索ID的数量可用来限定能被发出而没有搜索响应的搜索请求的最大数量。当在分配设备410中没有可用于新搜索请求的搜索ID时,断言搜索流控制信号402以防止剖析器110将更多请求发送给设备400。将搜索ID传递给搜索资源150作为来自设备400的搜索请求406的部分。搜索资源150也返回搜索ID作为该搜索响应的部分。当核心交换机140中的设备400接收搜索响应408-N时,将该响应存储在由搜索资源号和搜索ID寻址的存储器420的搜索响应存储单元415-N中。当用于搜索ID的指定数量的响应存在于存储器420中时,准备由响应判优设备430选择一个响应。例如,当存储器接收到用于指定搜索ID的所有搜索响应时,设备430选择具有最高优先级的响应490。如果一个或多个响应准备判优时,将用于准备判优的最早响应的最高优先级响应返回给剖析器110并且使用再循环ID信号480将相应的搜索ID再循环回分配设备410。
交换机140也可从剖析器110接收执行请求,包括包或包分段。存取核心交换机140的特定特性以便使用消息等级执行请求。(具有包或包分段)的执行请求是可支撑负载平衡方案的单播消息。例如,可将消息传送给具有最短输入队列的执行资源160。该消息可包含将被修改的包分段或可包含整个包。负载平衡功能可用来定标到较高数据率,以便可增加多个平行的处理执行资源160以增加速度。因为负载平衡可是基于修改的背压机制,故可将请求处理动作的消息发送给具有最短输入队列的处理资源160。
例如,交换机140可在输入队列330从剖析器110接收执行请求。调度程序320可识别具有可用来实现执行请求的小队列请求的执行资源160。交换机调度程序可检测输入队列中用于每个执行资源160的多个数据。可将具有在其输入队列中的最小数据量的执行资源识别为具有最短输入队列的执行资源。然后,当调度程序320使请求经纵横交换310传递到被识别的执行资源160时,该被识别的执行资源然后可从交换机接收执行请求。
在执行资源160在包或包分段上执行请求后,该资源将响应发送给交换机输出队列340。来自执行资源的响应包括修改的包或修改的包分段。(具有包分段的)执行响应是由执行单元160返回的结果。执行响应可用作队列和输出机制120的部分。对队列或输出结果的响应允许包剖析器、搜索和修改调度程序在包存储设备120中再循环包缓冲器资源。因此,执行响应可表示用于由包存储器120接收的包的队列单元和调度时间。
如果包不需要进一步处理,可将该包从剖析器110经交换机140发送到包存储器120中的包输出队列。由会话特定变量控制包次序。可提供指令来锁定和解锁会话。可挂起用于锁定的会话的正处理的包,当它们的处理尝试执行锁定指令时。按它们尝试锁定会话的顺序,在包存储器120的会话锁定队列中排队被挂起的包。在当前包执行解锁指令时,可重新陈述会话锁定队列中的下一个包。会话锁定队列可使用定时器函数。该定时器期满函数为会话状态机提供单独的(不是包未驱动的)入口点。可提供指令来创建会话锁定队列、重新排序锁定队列中的包、刷新锁定队列以及破坏锁定队列。当刷新会话锁定队列时,可将包引下线(drop)、传送到输出队列或调度以用于进一步处理。
图5表示用于基于状态的包处理的一个实施例的例子。当开始会话处理时,分配会话/状态存储器,510。创建会话锁定队列以便控制处理包的顺序,520。执行锁定和解锁指令以便存取存储在会话状态存储器中的信号量来挂起和重启动包的处理,530。为处理包而执行包处理指令,诸如锁定队列创建、包插入、包删除、队列刷新或队列破坏,540。当完成会话处理时,重新分配会话/状态存储器,550。
图6表示使用基于交换的网络处理器来处理包的方法的一个实施例的例子。在剖析器接收包,610。在该剖析器产生包请求,620。将包请求经交换机从剖析器传送到包资源,630。基于该请求,在包资源产生响应,640。经交换机将该响应传送到剖析器,650。包请求可是包搜索请求、包修改请求或会话标识请求。包响应可是搜索响应、包修改或会话标识符。包资源可是包修改器、包搜索设备、或会话设备,如上所述。
已经描述了基于交换的网络处理器。该基于交换的网络处理器允许用户实现数百万数据库入口而不会为了硅和大的集成板面积而花费数千美元。这种对扩充总线的基于交换的替换增加了用于搜索的带宽,并允许执行要求存取包的更高带宽的大量包修改。同时,要求非常高的带宽的对会话/状态存储器的存取是基于交换的处理器的一个特征。简单处理单元与充当基于规则的指令调度程序的会话认知剖析器/分类器的基于交换的互连可象交换机结构那样定标(scale)。
本发明的这些和其他实施例可根据在此描述的教导来实现,在这些教导内做出的不脱离本发明的更广泛的精神和范围的各种修改和改变应当是显而易见的。因此,说明书和附图应视为示例性的而不是限定意义上的,本发明仅根据权利要求书来限定。
权利要求
1.一种装置,包括剖析器,用于接收包并生成包搜索请求;多个搜索资源,每个搜索资源确定对该包搜索请求的搜索响应;以及交换机,用于从剖析器接收包搜索请求并将该包搜索请求多播到该多个搜索资源。
2.如权利要求1所述的装置,其特征在于该交换机进一步被配置成用来从多个搜索资源中的每一个接收搜索响应、从接收的搜索响应选择一个搜索响应,以及将该选定的响应传送给剖析器。
3.如权利要求2所述的装置,其特征在于该剖析器进一步被配置成用来基于搜索响应生成用于包的修改请求。
4.如权利要求3所述的装置,进一步包括多个包修改器,每个包修改器被配置成用来使用所述修改请求修改包。
5.如权利要求4所述的装置,其特征在于交换机被配置成用来将修改请求从剖析器传送到具有最短队列的包修改器。
6.如权利要求5所述的装置,其特征在于交换机进一步被配置成用来将修改过的包从包修改器传送到剖析器。
7.一种装置,包括剖析器,用于接收包并生成包请求;多个包资源,每个包资源基于包请求生成包响应;以及交换机,用于从剖析器接收包请求并将该包请求传送到多个包资源中的至少一个。
8.如权利要求7所述的装置,其特征在于包请求是从由包搜索请求、包修改请求、以及会话标识请求所组成的组中选择的。
9.如权利要求7所述的装置,其特征在于交换机进一步被配置成用来从多个包资源的至少一个接收包响应,并将该包响应传送给剖析器。
10.如权利要求9所述的装置,其特征在于包响应是从由搜索响应、包修改以及会话标识符组成的组中选择的。
11.如权利要求9所述的装置,其特征在于包资源是从由包修改器、包搜索设备以及会话设备组成的组中选择的。
12.一种装置,包括第一装置,用于接收包并生成包请求;第二装置,用于基于包请求生成包响应;以及第三装置,用于从所述第一装置接收包请求以及将该包请求传送到所述第二装置。
13.如权利要求12所述的装置,其特征在于包请求是从由包搜索请求、包修改请求、以及会话标识请求组成的组中选择的。
14.如权利要求12所述的装置,其特征在于所述第三装置进一步包括用来从所述第二装置接收包响应,并将该包响应传送给所述第一装置的装置。
15.如权利要求12所述的装置,其特征在于包响应是从由搜索响应、包修改以及会话标识符组成的组中选择的。
16.如权利要求12所述的装置,其特征在于所述第二装置是从由包修改器、包搜索设备以及会话设备组成的组中选择的。
17.一种方法,包括在剖析器接收包;在该剖析器产生包请求;以及使用交换机将来自剖析器的包请求传送到包资源。
18.如权利要求17所述的方法,进一步包括基于包请求,使用包资源来生成包响应。
19.如权利要求17所述的方法,其特征在于包请求是从由包搜索请求、包修改请求、以及会话标识请求组成的组中选择的。
20.如权利要求17所述的方法,进一步包括使用交换机将来自包资源的包响应传送给剖析器。
21.如权利要求17所述的方法,其特征在于包响应是从由搜索响应、包修改以及会话标识符组成的组中选择的。
22.如权利要求17所述的方法,其特征在于包资源是从由包修改器、包搜索设备以及会话设备组成的组中选择的。
23.一种用于基于状态的包处理的方法,包括当开始会话处理时,分配会话/状态存储器;创建会话锁定队列来控制处理包的顺序;执行锁定和解锁指令来存取存储在会话状态存储器中的信息量,以便挂起和重启包的处理;执行一个指令用于包的处理,该指令是从由锁定队列创建、包插入、包删除、队列刷新以及队列破坏组成的组中选择的;以及当完成会话处理时,重新分配会话/状态存储器。
全文摘要
一种基于交换的网络处理器。该基于交换的网络处理器包括包剖析器、搜索和修改调整程序,其用于解析数据包、开发对与该包有关的处理规则的搜索,以及基于规则调度将在包上执行的修改。该处理器还包括几个搜索资源,每个搜索资源能同时搜索一个处理规则。该处理器包括多个包修改器以便同时修改几个包。还提供核心交换机以将搜索请求从剖析器转换到搜索资源,将搜索响应从搜索资源转换到剖析器以及在剖析器和包修改器间转换修改请求和响应。基于交换的处理器还包括能用来允许处理器认知会话的会话状态存储设备。
文档编号H04L12/56GK1493132SQ01820184
公开日2004年4月28日 申请日期2001年11月7日 优先权日2000年11月7日
发明者亚历克斯·E·汉德森, 沃尔特·E·克罗夫特, E 克罗夫特, 亚历克斯 E 汉德森 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1