一种搜索处理装置及网络系统的制作方法

文档序号:7755302阅读:117来源:国知局
专利名称:一种搜索处理装置及网络系统的制作方法
技术领域
本发明涉及通信技术领域,特别是一种搜索处理装置及网络系统。
背景技术
Internet带领着人们迈入一个全新的信息时代,对人类社会的发展起着巨大的推 进作用。Internet是信息的载体,而实现Internet载体功能的除了众多的终端计算机和 数据服务器,更主要的是搭起这个“信息高速公路”的网络互连设备,如各级的路由器或交 换机。网络互连设备所完成的最核心的功能就是在路由表中为来自不同链路、去往不同目 的地的IP分组找到最佳的传送路由,又以同样的方式把分组送到下一跳的路由器,如此反 复,直到分组到达最终目的地。而为每个IP分组根据各自的目的地,在路由表里找到最佳 匹配路由的算法,是路由转发处理的关键技术。随着Internet应用需求的广泛、光接口技术的成熟,Internet链路带宽以超 Moore定律的速度增长。近年来,大约每2年链路上路由查找的吞吐量就需要翻一番才能适 应增长的需求。作为路由转发关键路径上的功能部件,路由查找引擎在性能上面临着巨大 的压力和挑战。现有技术中,网络处理器在进行IP分组转发时,首先要将待查找IPV4地址发送到 外部搜索处理装置,由外部搜索处理装置进行搜索处理后返回下一跳表的索引给网络处理 器,然后网络处理器利用该下一跳表的索引从保存于一个外部存储器的下一跳表中获取下 一跳信息(如出端口号、下一跳IP地址、链路权重等),来进行转发计算处理。从以上的现有技术的描述中可以发现,现有技术至少存在如下的问题网络处理器在一次IP分组转发计算的过程中,需要与外部装置(网络查找引擎、 外部存储器)进行多次请求_反馈的查询过程,而由于处理器和外部存储器的运行速度差 别,以及处理器访问外部设备受到的协议延迟,接口延迟,排队缓冲等方面的影响,会导致 系统延迟较大,从而影响数据转发性能。

发明内容
本发明的目的是提供一种搜索处理装置及网络系统,降低IP分组转发计算中获 取下一跳信息的时间,同时增加系统设计灵活度。为了实现上述目的,本发明实施例提供了一种搜索处理装置,其中,所述搜索处理 装置具有第一工作模式和第二工作模式,所述搜索处理装置包括存储单元、接口单元、第一 请求处理单元、第二请求处理单元以及第一结果处理单元,其中在第二工作模式下所述存储单元用于存储下一跳表;所述第一请求处理单元用于解析通过接口单元接收到的,由工作于第一工作模式 下的另一搜索处理装置发送的数据访问请求,获取下一跳表的索引;
所述第二请求处理单元用于根据下一跳表的索引从所述下一跳表中获取下一跳 fn息;所述第一结果处理单元用于将第二请求处理单元获取的下一跳信息通过所述接 口单元发送,供网络处理器进行路由计算。所述搜索处理装置具有第一工作模式和第二工作模式,所述搜索处理装置包括存 储单元、接口单元、第一请求处理单元、第二请求处理单元以及第一结果处理单元,其中在第二工作模式下所述存储单元用于存储下一跳表;所述第一请求处理单元用于解析通过所述接口单元接收到的,由工作于第一工作 模式下的另一所述搜索处理装置发送的数据访问请求,获取下一跳表的索引;所述第二请求处理单元用于根据下一跳表的索引从所述下一跳表中获取下一跳 fn息;所述第一结果处理单元用于将第二请求处理单元获取的下一跳信息通过所述接 口单元发送,供网络处理器进行路由计算。上述的搜索处理装置,其中,在第一工作模式下所述存储单元用于存储一路由表项数据;所述第一请求处理单元用于解析通过所述接口单元接收到的搜索请求,获取待查 找IP地址;所述第二请求处理单元用于根据所述待查找IP地址从所述路由表项数据中获取 匹配的下一跳表的索引;所述第一结果处理单元用于将所述下一跳表的索引封装到一数据访问请求后通 过所述接口单元发送,供工作于第二工作模式下的再一所述搜索处理装置获取下一跳信 肩、ο上述的搜索处理装置,其中,所述接口单元为高速串行接口或高速并行接口。上述的搜索处理装置,其中,所述存储单元为片内存储器,所述片内存储器包括多 个独立的片内存储器块,每个片内存储器块具有独立的地址和数据接口,供所述第二请求 处理单元进行并行访问。为了实现上述目的,本发明实施例还提供了一种网络系统,包括网络处理器,其 中,所述网络系统还包括至少一个工作于第一工作模式的搜索处理装置;以及至少一个工作于第二工作模式的搜索处理装置;所述工作于第一工作模式和第二工作模式的搜索处理装置均包括存储单元、接口 单元、第一请求处理单元、第二请求处理单元以及第一结果处理单元;工作于第一工作模式的搜索处理装置中的存储单元用于存储一路由表项数据,第 一请求处理单元用于解析通过接口单元接收到的由所述网络处理器发送的搜索请求,获取 待查找IP地址,第二请求处理单元用于根据所述待查找IP地址从所述路由表项数据中获 取匹配的下一跳表的索引,第一结果处理单元用于将所述下一跳表的索引封装到一数据访 问请求后通过所述接口单元发送到工作于第二工作模式下的搜索处理装置;工作于第二工作模式的搜索处理装置中的存储单元用于存储下一跳表,第一请求
6处理单元用于解析通过接口单元接收到的所述数据访问请求,获取下一跳表的索引,第二 请求处理单元用于根据下一跳表的索引从所述下一跳表中获取下一跳信息,第一结果处理 单元用于将第二请求处理单元获取的下一跳信息通过所述接口单元发送到所述网络处理
ο上述的网络系统,其中,所述接口单元为高速串行接口或高速并行接口。上述的网络系统,其中,所述存储单元为片内存储器,所述片内存储器包括多个独 立的片内存储器块,每个片内存储器块具有独立的地址和数据接口,供所述第二请求处理 单元进行并行访问。为了实现上述目的,本发明实施例还提供了一种搜索处理装置,其中,包括接口单元;用于存储路由表项数据的第一存储单元;用于存储下一跳表的第二存储单元;第三请求处理单元,用于通过解析从接口单元接收到搜索请求来获取待查找IP 地址;第四请求处理单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹 配的下一跳表的索引;第五请求处理单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳 fn息;第二结果处理单元,用于将所述下一跳信息封装后发送给网络处理器,供网络处 理器进行路由计算。上述的搜索处理装置,其中,所述第四请求处理单元具体包括第一子单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹配的下 一跳表的索引;第二子单元,用于将所述下一跳表的索引封装到一数据访问请求中;第五请求处理单元具体包括第三子单元,用于解析所述数据访问请求获取所述下一跳表的索引;第四子单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳信息。为了实现上述目的,本发明实施例还提供了一种网络系统,包括网络处理器,所述 网络系统还包括一搜索处理装置,所述搜索处理装置包括接口单元,与所述网络处理器连接;用于存储路由表项数据的第一存储单元;用于存储下一跳表的第二存储单元;第三请求处理单元,用于通过解析从接口单元接收到的,由所述网络处理器发送 的搜索请求来获取待查找IP地址;第四请求处理单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹 配的下一跳表的索引;第五请求处理单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳 fn息;第二结果处理单元,用于将所述下一跳信息封装后发送给所述网络处理器,供所述网络处理器进行路由计算。上述的网络系统,其中,所述第四请求处理单元具体包括第一子单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹配的下 一跳表的索引;第二子单元,用于将所述下一跳表的索引封装到一数据访问请求中;第五请求处理单元具体包括第三子单元,用于解析所述数据访问请求获取所述下一跳表的索引;第四子单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳信息。本发明实施例具有以下的有益效果本发明的搜索处理装置不仅可以配置成普通的搜索处理装置,同时还可以被配置 成存储芯片,且可以串行连接成为完整的查找-存储器访问链,使得网络处理器不用再与 外部设备进行很多次的交互,简化了网络处理器的路由查找过程;本发明的搜索处理装置还可以同时起到搜索和存储的作用,使得网络处理器可以 直接得到下一跳信息,减少了网络处理器与外部设备的交互次数,简化了网络处理器的路 由查找过程,同时降低了整个路由处理路径上的包延迟,提高了系统吞吐率;同时,由于搜索和存储采用了相同的芯片,能够最大程度的降低硬件设计复杂度, 减小硬件成本和功耗。具体的说通过搜索引擎空间和存储空间可以灵活配置,本发明可以使单个硬件平台适应不 同应用对路由转发的需求。如应用对路由表容量需求较少,则可以将多片搜索引擎中的一 部分配置成存储装置,从而降低了网络处理器上的存储器需求,降低了硬件的成本和功耗。


图1为本发明第一实施例的搜索处理装置的结构示意图;图2为本发明一种可能的模式配置指令的格式示意图;图3为本发明第一实施例的分别工作于第一工作模式和第二工作模式的搜索处 理装置A和搜索处理装置B与网络处理器之间的连接示意图;图4为本发明第一实施例的分别工作于第一工作模式和第二工作模式的级联的 搜索处理装置A和级联的搜索处理装置B与网络处理器之间的连接示意图;图5为本发明第一实施例的搜索请求的格式示意图;图6为本发明第一实施例的数据访问请求的格式示意图;图7为本发明第二实施例的搜索处理装置的结构示意图。
具体实施例方式本发明实施例中,提供一种搜索处理装置及网络系统,通过降低网络处理器与外 部装置之间交互的过程,降低IP分组转发计算中获取下一跳信息的时间。本发明第一实施例的搜索处理装置如图1所示,所述搜索处理装置工作于第一工 作模式或第二工作模式,所述搜索处理装置包括存储单元、接口单元、第一请求处理单元、 第二请求处理单元以及第一结果处理单元,其中在第二工作模式下,所述存储单元用于存储下一跳表,所述第一请求处理单元用于解析通过接口单元获取工作于第一工作模式下的另一搜索处理装置发送的数据访问请 求,获取下一跳表的索引,第二请求处理单元用于根据所述下一跳表的索引从所述下一跳 表中读取下一跳信息(如下一跳的出端口号,下一跳IP地址,链路权重等),所述第一结果 处理单元用于将所述下一跳信息通过所述接口单元发送,供网络处理器进行路由计算。在第一工作模式下,所述存储单元用于存储一路由表项数据,所述第一请求处理 单元用于解析通过接口单元接收到包括待查找IP地址的搜索请求,获取所述待查找IP地 址,所述第二请求处理单元用于根据所述待查找IP地址从所述路由表项数据中获取匹配 的下一跳表的索引,所述第一结果处理单元用于将所述下一跳表的索引封装到一数据访问 请求后通过所述接口单元发送,供工作于第二工作模式下的再一搜索处理装置获取下一跳 fn息;在此,在第一工作模式下,所述第一结果处理单元用于将所述下一跳表的索引封 装到一数据访问请求后通过所述接口单元发送,供工作于第二工作模式下的再一搜索处理 装置获取下一跳信息,该第一结果处理单元可能是直接或通过其他与之级联的搜索处理装 置发送到所述另一搜索处理装置;而在第二工作模式下,所述第一结果处理单元用于将所述下一跳信息通过所述接 口单元发送,供网络处理器进行路由计算,该第一结果处理单元可能是直接或通过其他与 之级联的搜索处理装置发送到网络处理器。当然,所述搜索处理装置可以工作于第一工作模式或第二工作模式,其需要一配 置模块,将其配置成工作于第一工作模式或第二工作模式。图1所示的各个模块之间通过内部数据总线及控制总线连接。该配置单元可以通过接口单元从外部接收的模式配置指令而进行工作模式的配 置,也可以是通过硬件设置开关来进行工作模式的配置。如图2所示,为其中一种可能的模式配置指令的格式示意图,包括编码字段Ctrl-word (这个是控制字字段),159位至152位,如0x10表示查找模 式(第一工作模式),Oxll表示存储模式(第二工作模式),0x12表示混合模式(第三工作 模式)。3种模式将在后续进行详细说明。混合模式指示字段(包括Onchip mem size和Offhip mem size),用于记录混合 模式下时用于存储的存储单元信息,如151位至120位记录片内RAM配置为存储模式的大 小,而119位至80位记录片外存储器配置为存储模式的大小;保留字段(Reserved),79位至0位,设置为0。下面以分别工作于第一工作模式和第二工作模式的搜索处理装置A和搜索处理 装置B来说明进行IP分组转发计算中获取下一跳信息的工作过程。如图3所示,网络系统中包括网络处理器以及工作于第一工作模式的搜索处理装 置A和工作于第二工作模式的搜索处理装置B,其中网络处理器在接收到IP分组后,将IP分组的待查找IP地址封装到搜索请求中, 发送给工作于第一工作模式的搜索处理装置A,由于搜索处理装置A的工作于第一工作模 式下,所以搜索处理装置A中的第一请求处理单元解析通过接口单元接收到的搜索请求 后,获取所述待查找IP地址,所述第二请求处理单元用于根据所述待查找IP地址从所述路 由表项数据中获取匹配的下一跳表的索引,并由第一结果处理单元用于将所述下一跳表的索引封装到一数据访问请求后,通过所述接口单元发送到工作于第二工作模式下的搜索处 理装置B ;搜索处理装置B在第二工作模式下,其存储单元中存储有下一跳表,搜索处理装 置B中的第一请求处理单元解析通过接口单元从工作于第一工作模式下的搜索处理装置 A中接收到的数据访问请求,获取下一跳表的索引,第二请求处理单元根据所述下一跳表的 索引从所述下一跳表中读取下一跳信息,由该第一结果处理单元将所述下一跳信息通过所 述接口单元发出。网络处理器接收到下一跳信息后即可进行包转发计算处理。从以上描述可以发现,从网络处理器发送搜索请求开始,到网络处理器接收到下 一跳信息为止,通过网络相连接的各个装置之间发生了 3次数据传递(网络处理器-搜索 处理装置A-搜索处理装置B),相对于现有技术的4次传递,由于网络传输带来的时延减少 了 25%。下面,以η个级联方式连接的工作于第一工作模式的搜索处理装置和ρ个级联方 式连接的工作于第二工作模式的搜索处理装置相配合,进行IP分组转发计算中获取下一 跳信息的工作过程。如图4所示,假定搜索请求中的待查找IP地址对应的下一跳表的索引保存于工作 于第一工作模式的搜索处理装置Am中,则该搜索请求会被之前的搜索处理装置Al到Am-I 一直旁路到搜索处理装置Am,而搜索处理装置Am在获取待查找IP地址对应的下一跳表的 索引(封装于数据读取请求中)会通过级联的搜索处理装置Am+1到An发送到搜索处理装 置Bl ;假定下一跳表的索引对应的下一跳表保存于工作于第一工作模式的搜索处理装 置Bq中,则该下一跳表的索引会被之前的搜索处理装置Bl到Bp-I —直旁路到搜索处理装 置Bq,而搜索处理装置Bq在获取下一跳表的索引对应的下一跳信息后,该下一跳信息会通 过级联的搜索处理装置Bq+Ι到Bp发送到网络处理器。通过上述的级联设置,极大的扩大了路由表项及下一跳信息的支持能力(η倍)。在本发明的具体实施例中,该接口单元可以是高速并行接口单元和/或高速串行 接口单元,分别说明如下。高速并行接口由多条数据线和相应的时钟线构成,数据在同步的时钟驱动下,并 行的输入/输出到搜索处理装置中。高速并行接口可以是 80bit 或者 72bit 的 TCAM(Ternary ContentAddressable Memory,三态内容寻址存储器)接口,也可以是36bit的LA-I接口(旁视接口)接口。关 于80bit或者72bitTCAM接口,以及LA-I接口,可以参考网络处理论坛(npforum)的相关 文档。而串行高速接口单元可以是由多个SERDES(Serializer-Deserializer,串行 器-解串器)构成的接口。多个SERDES链路之间通过一定的串行传输链路协议来进行绑定,如 interlaken-LA 协议,interlaken 协议,XAUI (IOGb 连接单元接 口 )协议,RXAUI,SPAUI (基 于IOGb以太网XAUI和spi4. 2标准的串行接口)等其他协议。在发送端,数据报文根据协 议进行打包,拆分为多个串行数据通道,再经过并串转换成为高速的串行数据流输出;而在
10接收端,高速串行数据流经过串并转换成为并行数据,再经过通道对齐,解码等操作,恢复 出每通道的数据,并根据协议层的通道恢复得到原始的传输数据。在40nm工艺下,高速串行收发器的工作频率可以达到6. 25Gbps,甚至是IOGbps。 SERDES的通道数根据需要的数据传输率而设置,通常为了满足100G路由查找的需求,需要 实现12甚至24对SERDES。接口单元所接收到的数据的编码可以根据具体的应用而作调整,例如,可以使高 速串行接口的数据格式和高速并行接口的数据格式一样,也可以使高速并行接口的数据 格式和高速串行接口的数据格式不一样。一般情况下,由于网络处理器只会提供一种接口 (串行或者并行),所以对应的搜索处理装置也只能对应使能高速串行接口和高速并行接 口中的一个。因此,一旦决定工作接口的类型后,搜索处理装置将完全使用这种类型的接口 (串行或者并行)传输相关数据。在本发明的具体实施例中,该存储单元可以片内存储器,用于存储路由表项数据, ACL(Access Control List,访问控制列表)数据,以及其他为了实现查找而附加的数据结 构。片内存储器单元可以采用片上SRAM (Static Random Access Memory,静态随机存 取存储器)构成,也可以采用片内集成的edRAM(embedded DynamicRandom Access Memory, 嵌入式动态随机存取存储器)来实现,或者是二者混合的实现。SRAM具有速度高,密度低,功耗大的特点,而edram具有速度低,功耗低,密度大的 特点,可以根据具体的设计指标进行选择,或者混合使用。比如为了实现100K的IPV4路由 表项存储,每个路由前缀是32个bit,那么总共需要至少3. 2Mbit的存储器资源,可以考虑 完全采用SRAM实现,或者考虑采用1. 7Mb的SRAM和2Mb的edRAM来实现,第二种方案相对 于第一种其芯片面积会变小,但是查询性能可能会受一定的影响,此外,由于edRAM需要特 殊的掩模工艺实现,在制作成本,开发周期以及成品率等方面,也会有一定的区别。片内存储器可以是由多个独立的较小的片内存储器块构成,以加速查找速度,并 且降低芯片的不良生产率。每个片内存储器块具有独立的地址和数据接口,可以通过第二 请求处理单元进行并行访问。如3. 2Mb的SRAM,可以拆分成16个200Kb的SRAM块,在查找 的时候,可以同时发起16个查找请求给16个SRAM块,从而将查找速度加速16倍。此外, 分成多块以后,可以将生产过程中有缺陷的芯片标记成不同容量范围的芯片。例如,在生产中16块RAM有一块RAM因为制造缺陷而不能使用,则将因为制造缺 陷而不能使用的RAM标记为不可用即可。通常情况下,SRAM或者edRAM存储块还可以加入 ECC(Error Checking and Correcting,错误检查和纠正)功能,即预留出一定的存储空间 作为检错纠错数据的存储空间。例如64bit位宽的数据,一般预留8位作为ECC的数据存 储,从而实际的存储块数据位宽为72bit。该存储单元也可以多个片外DRAM控制器单元和片外DRAM存储器芯片结合实 现。所述DRAM存储器芯片可以是现行工业标准的DDR(Double DataRate)动态随机存 取器芯片,DDR2动态随机存取器芯片,DDR3动态随机存取器芯片、RLDRAMII (Reduced Latency Dynamic Random Access Memory II,第二代低延时动态随机存取存储器)芯片, RLDRAMII I (Reduced LatencyDynamic Random Access Memory III,第三代低延时动态随机 存取存储器)芯片等。
不同的芯片其性能,容量,接口标准也有所不同,实现的过程中可以根据系统的需 求进行选取。如实现较小的表项空间扩展,可以选择容量较小但是速度较快的RLDRAM芯 片,如果实现比较大的表项空间的扩展,但是对查找性能要求不是非常高,则可以选用DDR3 动态随机存储器芯片。DRAM控制器单元实现DRAM的配置,初始化,时序调整,读写以及刷 新等操作。通过例化多个DRAM控制器,可以增加单位时间的存储器访问次数,从而达到更 高的查询性能。DRAM控制器可以工作在两种模式,查询模式和缓存模式。工作在查询模式 时,控制器针对读操作进行优化,将大部分的操作时间给予读操作,保证读操作的效率。工 作在缓存模式时,控制器针对读写均衡的操作进行优化,重点优化读写之间切换时的效率。下面结合图3来具体说明数据/指令的传递过程。搜索处理装置中的第一请求处理单元通过接口单元接收到搜索请求,其中,该搜 索请求包括如图5所示的3个字段第一控制字字段Ctrl-word,第159至152位,用于指示搜索类型,如0x00代表当 前是一个IPV4的路由地址的查询,0x01代表当前是一个IPV6的路由地址的查询;内容字段Dest IP,第151位至120位,用于记载待查找内容,如待查找IPV4地址;保留字段Reserved,第119位至0位,用bitO填充。当然,上述的字段长度仅仅是举例说明,也可以根据不同的需要来调整。第一请求处理单元通过接口单元接收到搜索请求后,解析即可发现该搜索请求是 请求搜索内容字段记录的IP地址,然后将该IP地址发送给第二请求处理单元,第二请求处 理单元为一查找单元,其根据内容字段记录的IP地址从所述路由表项数据中获取匹配的 下一跳表的索引。其中,第二请求处理单元可以通过多种算法去实现路由地址的最长前缀匹配,其 匹配可以基于现有的各种算法来实现,如trie算法、Tree算法以及Hash算法中的一种或多 禾中,具体的匹配算法可以参考〈〈Packet ForwardingTechnologies)), weidong wu, Auerbach publication, 2007, ISBN :978-0-8493-8057_0。当找到与待查找IP地址匹配的最长前缀条目后,第二处理单元将对应的下一跳 表的索引发送到第一结果处理单元,由第一结果处理单元将该下一跳表的索引封装到数据 访问请求,并通过接口单元发送给工作于第二工作模式下的另一搜索处理装置,当然,如果 没有找到匹配的路由条目,第二处理单元也输出查找失败标记。第一结果处理单元需要对搜索结果(下一跳表的索引或失败标记)进行编码和处 理后发送到工作于第二工作模式下的另一搜索处理装置。如图6所示,数据访问请求包括如下字段第二控制字字段Ctrl-Word,第159至152位,用于指示访问类型,如可以使用 0x02代表当前是一个128bit的写操作,可以使用0x03代表当前是一个128bit的读操作;地址字段(Address),第151位至128位,用于记录下一跳表的索引;内容字段,第127位至0位,当为读请求时,用bitO填充,而为写请求时,为待写入数据。在这种键值的配置下,如果需要扩大访问空间,则可以适当减小第二控制字字段 的位数,比如减小第二控制字字段为4bit,那么相应的地址可以扩展至28位,从而对应的 实际可寻址空间也对应扩大。具体的地址位数可以根据片内存储器的配置而设定为不同的值。在第二工作模式下工作的搜索处理装置解析通过接口单元获取数据访问请求,获 取地址字段中记录的下一跳表的索引,并根据所述下一跳表的索引从下一跳表中读取下一 跳信息,并将下一跳信息封装后通过所述接口单元发送,供网络处理进行路由计算。第二工作模式下工作的搜索处理装置解析后的数据访问请求,并通过下一跳表的 索引与片内存储器单元或者DRAM控制器单元交互,获取下一跳信息。如图7所示,本发明第二实施例的网络系统包括网络处理器和搜索处理装置,其 中的搜索处理装置工作于混合模式,如图7所示,包括接口单元;用于存储路由表项数据的第一存储单元;用于存储下一跳表的第二存储单元;第三请求处理单元,用于通过解析从接口单元接收到搜索请求来获取待查找IP 地址;第四请求处理单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹 配的下一跳表的索引;第五请求处理单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳 fn息;第二结果处理单元,用于将所述下一跳信息封装后发送给网络处理器,供网络处 理器进行路由计算。图7所示的搜索处理装置中,该第一存储单元可以是片内存储器,而第二存储单 元可以是片外存储器,当然也可以是其它方式。当然,上述的各个处理单元仅仅是逻辑上的划分,在实现时可以利用同一模块来 实现,也可以分别实现。同时,为了尽可能与标准保持一致,在本发明的第二具体实施例中,该第四请求处 理单元具体包括第一子单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹配的下 一跳表的索引;第二子单元,用于将所述下一跳表的索引封装到一数据访问请求中;第五请求处理单元具体包括第三子单元,用于解析所述数据访问请求获取所述下一跳表的索引;第四子单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳信息。该第五请求处理单元可以和第三请求处理单元设置一个第六请求处理单元,这种 情况下,第六请求处理单元在接收到的请求为搜索请求时,则解析获取待查找IP地址,由 第四请求处理单元来获取下一跳索引,而在接收到的请求为数据访问请求(由第二结果处 理单元封装)时,则直接解析获取所述下一跳表的索引后,通过下一跳表的索引从所述下 一跳表中读取下一跳信息。下面说明一下本发明实施例的系统的初始化过程。当线卡上电后,搜索处理装置(芯片)冷启动,外部的时钟输入并维持稳定,锁相 环锁定外部参考时钟频率。搜索处理装置进入预复位状态,等待网络处理器输入的复位信号或者指令。当接收到复位信号或者指令后,搜索处理装置进入复位状态,清空各种状态寄 存器、计数器、存储单元。当复位流程结束后,芯片给出复位完成指示。网络处理器采取轮 询等待的方式来等待搜索处理装置的复位结束。在完成复位操作后,网络处理器发出设置工作模式的配置指令。搜索处理装置解 析配置指令,根据主控端的需求将内部存储器设置为查找模式或者是存储模式,或者是混 合模式。本发明的查找加速芯片不仅可以配置成普通的查找引擎,同时也可以被配置成存 储芯片,且可以串行连接成为完整的查找_存储器访问链,从而简化整个路由查找过程,且 由于查找和存储采用了相同的芯片,能够最大程度的降低硬件设计复杂度,减小硬件成本 和功耗。如搜索引擎空间和存储空间可以灵活配置,本发明可以使单个硬件平台适应不同 应用对路由转发的需求。如应用对路由表容量需求较少,则可以将多片搜索引擎中的一部 分配置成存储装置,从而降低了网络处理器上的存储器需求,降低了硬件的成本和功耗。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
权利要求
一种搜索处理装置,其特征在于,所述搜索处理装置具有第一工作模式和第二工作模式,所述搜索处理装置包括存储单元、接口单元、第一请求处理单元、第二请求处理单元以及第一结果处理单元,其中在第二工作模式下所述存储单元用于存储下一跳表;所述第一请求处理单元用于解析通过所述接口单元接收到的,由工作于第一工作模式下的另一所述搜索处理装置发送的数据访问请求,获取下一跳表的索引;所述第二请求处理单元用于根据下一跳表的索引从所述下一跳表中获取下一跳信息;所述第一结果处理单元用于将第二请求处理单元获取的下一跳信息通过所述接口单元发送,供网络处理器进行路由计算。
2.根据权利要求1所述的搜索处理装置,其特征在于,在第一工作模式下所述存储单元用于存储一路由表项数据;所述第一请求处理单元用于解析通过所述接口单元接收到的搜索请求,获取待查找IP 地址;所述第二请求处理单元用于根据所述待查找IP地址从所述路由表项数据中获取匹配 的下一跳表的索引;所述第一结果处理单元用于将所述下一跳表的索引封装到一数据访问请求后通过所 述接口单元发送,供工作于第二工作模式下的再一所述搜索处理装置获取下一跳信息。
3.根据权利要求1或2所述的搜索处理装置,其特征在于,所述接口单元为高速串行接 口或高速并行接口。
4.根据权利要求1或2所述的搜索处理装置,其特征在于,所述存储单元为片内存储 器,所述片内存储器包括多个独立的片内存储器块,每个片内存储器块具有独立的地址和 数据接口,供所述第二请求处理单元进行并行访问。
5.一种网络系统,包括网络处理器,其特征在于,所述网络系统还包括至少一个工作于第一工作模式的搜索处理装置;以及至少一个工作于第二工作模式的搜索处理装置;所述工作于第一工作模式和第二工作模式的搜索处理装置均包括存储单元、接口单 元、第一请求处理单元、第二请求处理单元以及第一结果处理单元;工作于第一工作模式的搜索处理装置中的存储单元用于存储一路由表项数据,第一请 求处理单元用于解析通过接口单元接收到的由所述网络处理器发送的搜索请求,获取待查 找IP地址,第二请求处理单元用于根据所述待查找IP地址从所述路由表项数据中获取匹 配的下一跳表的索引,第一结果处理单元用于将所述下一跳表的索引封装到一数据访问请 求后通过所述接口单元发送到工作于第二工作模式下的搜索处理装置;工作于第二工作模式的搜索处理装置中的存储单元用于存储下一跳表,第一请求处理 单元用于解析通过接口单元接收到的所述数据访问请求,获取下一跳表的索引,第二请求 处理单元用于根据下一跳表的索引从所述下一跳表中获取下一跳信息,第一结果处理单元 用于将第二请求处理单元获取的下一跳信息通过所述接口单元发送到所述网络处理器。
6.根据权利要求5所述的网络系统,其特征在于,所述接口单元为高速串行接口或高速并行接口。
7.根据权利要求5所述的网络系统,其特征在于,所述存储单元为片内存储器,所述片 内存储器包括多个独立的片内存储器块,每个片内存储器块具有独立的地址和数据接口, 供所述第二请求处理单元进行并行访问。
8.一种搜索处理装置,其特征在于,包括 接口单元;用于存储路由表项数据的第一存储单元; 用于存储下一跳表的第二存储单元;第三请求处理单元,用于通过解析从接口单元接收到搜索请求来获取待查找IP地址; 第四请求处理单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹配的 下一跳表的索引;第五请求处理单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳信息;第二结果处理单元,用于将所述下一跳信息封装后发送给网络处理器,供网络处理器 进行路由计算。
9.根据权利要求8所述的搜索处理装置,其特征在于,所述第四请求处理单元具体包括第一子单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹配的下一跳 表的索引;第二子单元,用于将所述下一跳表的索引封装到一数据访问请求中; 第五请求处理单元具体包括第三子单元,用于解析所述数据访问请求获取所述下一跳表的索引; 第四子单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳信息。
10.一种网络系统,包括网络处理器,其特征在于,所述网络系统还包括一搜索处理装 置,所述搜索处理装置包括接口单元,与所述网络处理器连接; 用于存储路由表项数据的第一存储单元; 用于存储下一跳表的第二存储单元;第三请求处理单元,用于通过解析从接口单元接收到的,由所述网络处理器发送的搜 索请求来获取待查找IP地址;第四请求处理单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹配的 下一跳表的索引;第五请求处理单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳信息;第二结果处理单元,用于将所述下一跳信息封装后发送给所述网络处理器,供所述网 络处理器进行路由计算。
11.根据权利要求10所述的网络系统,其特征在于,所述第四请求处理单元具体包括 第一子单元,用于根据所述待查找IP地址从所述路由表项数据中获取匹配的下一跳表的索引;第二子单元,用于将所述下一跳表的索引封装到一数据访问请求中; 第五请求处理单元具体包括第三子单元,用于解析所述数据访问请求获取所述下一跳表的索引; 第四子单元,用于通过所述下一跳表的索引从所述下一跳表中读取下一跳信息。
全文摘要
本发明提供一种搜索处理装置及网络系统,其中,搜索处理装置具有第一工作模式和第二工作模式,在第一工作模式下,第一请求处理单元解析搜索请求,获取IP地址;第二请求处理单元根据IP地址从路由表项数据中获取匹配的下一跳表的索引;第一结果处理单元将下一跳表的索引封装到一数据访问请求后通过接口单元发送;而在第二工作模式下,第一请求处理单元解析数据访问请求,获取下一跳表的索引;第二请求处理单元根据下一跳表的索引从下一跳表中获取下一跳信息;第一结果处理单元将第二请求处理单元获取的下一跳信息通过接口单元发送,供网络处理器进行路由计算。本发明简化了网络处理器的路由查找过程,提高了系统吞吐率,减小硬件成本和功耗。
文档编号H04L12/56GK101902401SQ20101023837
公开日2010年12月1日 申请日期2010年7月23日 优先权日2010年7月23日
发明者张炜, 李彧, 王志忠, 钱晓东 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1