线卡上的核心硬件是路由器的关键部分。路由器的核心硬件目前有专用集成电路(ASIC)和网络处理器(NP)等两种基本形式。
采用CPU的路由器主要见于早期产品。而在上世纪90年代中后期,一些厂商开始在路由器中引入ASIC实现方式,将路由器转发过程中的所有细节全部通过硬件的方式来实现,此外还在交换网上采用了crossbar或共享内存方式,解决内部交换问题,使路由器的性能达到千兆比特级,即早期的千兆位交换式路由器(GSR)。
随着网络管理、用户管理、业务管理、MPLS、VPN、可控多播、IP-QoS和流量工程等各种新技术纷纷出现。IP标准也逐步修改成熟。新技术的出现和标准化的进展对高速路由器的业务功能提出了越来越高的要求。基于这些问题,第四代路由器中采用的ASIC技术的不灵活性、业务周期长等缺陷也不可避免地显现出来。
PMC-Sierra公司通信产品部营销与应用副总裁Dino Bekis表示,路由器的主要趋势是越来越智能化。这驱动了对更高智能的处理能力和更加集成化和基于标准的硬件加速的需求。PMC-Sierra以路由SoC形式实现了NP和ASIC两者的结合。他解释说,PMC-Sierra的路由SoC使用了软核,能够提供适应不断变化所需的灵活性,并且其具备的硬件加速能力能加快上市时间并保持成本上的竞争力,并且软件具有可重用性,能够实现可扩展的解决方案。Juniper在其高端路由器的核心部件中就采用了类似的设计方案。
现在也有很多厂商的高性能路由器在其关键的IP业务流程处理部分选用了可编程的、专为IP网络设计的NP。NP通常由若干微处理器和一些硬件协处理器组成,多个微处理器并行工作,通过软件来控制处理流程。对于一些复杂的标准操作,可采用硬件协处理器来提高处理性能,实现业务灵活性与高性能的有机结合。
业界认为NP是解决通信行业面临挑战的一种非常有效的方法。因为其满足了速度不断提高的产品的上市时间的需求,同时支持IP流量的汇聚和全球化趋势。就像微处理器被认为是PC的基础部件一样,NP被认为是交换机/路由器和其它网络设备的基础部件。然而,不同的路由器功能和交换结构规格需要一个具备高度灵活型的合适的NP,来处理大量的不同应用和算法。比如,希望NP对于各种接口、协议和产品类型都能通用。这就需要从协议栈的第二层到第七层的所有层的可编程性。然而这种灵活性通常会与性能(如速度和容量)折衷。
中国路由器设备厂商中很多都采用NP作为核心硬件。如华为3Com的Quidway NetEngine 80/40路由器采用的就是NP,港湾网络的NetHammer G系列核心路由器、NetHammer M5系列多业务路由器都采用了NP技术,可以直接通过软件升级支持IPv6以及将来IPv6新的功能。
现在市场上存在着众多的NP,提供了不同的功能和特性。选择合适NP的方法取决于应用、特性、协议和算法的灵活性以及路由和流数量的可扩展性。通常,NP按照能达到的端口速度、功能列表特性、编程能力、硬件支持功能(如哈希查找、树结构、过滤、安全分类、数据校验和或循环冗余校验)、工作速率(如嵌入处理器的时钟频率)进行区分。
根据现在的路由器需求,单处理器系统可能不能够满足路由器处理的需要,这是因为链路速度和处理器速度间的差距不断加大。由于端口速度的提升,数据包到达速度比单个处理器能处理的速度更快。然而,由于数据流只是在同一个流的数据包间存在相关度,而在不同的流间没有相关度。这些流的处理可以很容易的分配到并行工作的不同处理器上。现在集成电路已经可以把多个处理器放在同一个芯片中了。为了支持高性能,灵活性和可扩展性,NP架构必须能够有效的解决I/O事件的高效处理(存储器访问和中断、调度过程管理、对每个处理器提供不同的操作指令)。
按照实现形式和嵌入式处理器的类型,NP可以分为以下两大类:
1 可配置型
这种NP有多个专用的协处理器组成,这些协处理器由可配置的网络相互连接,以及一个管理器处理互连网络的配置、存储器访问速度、协处理器使用的指令集。图1展示了一个可配置的NP例子。一个协处理器能够执行预先定义的函数集(如最长或精确前缀匹配指令,用来进行表查找或分类)。管理器指挥协处理器从现有的函数集中执行哪个函数,并选择一条数据在协处理器间流动的路径。当数据包到达NP后,管理器把数据包转发到分类和表查找协处理器。在数据包被这个协处理器处理完后,这个数据包传到流水线中的下个协处理器(数据包分析和修改单元)。数据包修改完毕后,再传到下个协处理器(交换结构转发),在这里数据包被分段为信元,等候被发送到交换结构中(假设NP后没有流量管理器)。
当数据包处理完成后,管理器对数据包离开NP的时间进行调度。
这个NP设计成支持较小的函数集以优化芯片面积和速度,其优势在于嵌入式协处理器能为高性能而设计。这种方法的缺点是,限制了NP采用新的应用和协议,可能会使NP在短时间内过时。可配置NP被认为是VLIW处理架构的一种。如思科的PXF芯片就采用了这种架构。
2 可编程型
这种NP有一个主控制器和多个任务单元,它们被一个中央交换结构(如crossbar网络相互连接)。任务单元可能是一个或多个RISC或专用协处理器的簇。控制器处理指令集下载到每个RISC处理器、RISC处理器到专用协处理器和存储器的访问、交换结构的配置。如图2所示。
当数据包到达NP后,控制器指定一个空闲的RISC处理器处理数据包。RISC处理器可能自己执行分类功能或者发送数据包到分类协处理器。在数据包分类完后,RISC处理器可能执行数据包修改或转发数据包到修改协处理器。数据包持续处理完成后,任务单元通知控制器,由控制器调度处理完的数据包离开的时间。这种方法提供了高度的灵活性,因为它可以对执行的函数和处理顺序进行编程。缺点在于,由于这种灵活性,交换结构、RISC、协处理器的设计不能为所有的函数进行优化。这种NP被认为是MIMD处理架构的一种。英特尔的IXP2800和杰尔系统的APPxx网络处理器采用了这种架构。
关于选用NP设计时的考虑因素,杰尔系统电信和企业网络解决方案专家沙铁军先生表示,采用NP的困难主要是灵活性和编程的难度以及IP QoS/流量管理。构建路由器所需的器件的灵活性是关键。编程的困难和代码的行数将决定系统的健壮性,因此需要更容易编程的器件,如Agere APPxx 网络处理器(图3),其实现同样的功能只需不到1/30代码行数,这对多业务路由器是非常具有吸引力的。
他介绍道,使用NP内建的流量管理和QoS,能够满足今后路由器不断提高的需求。不少OEM供应商的关键设备中采用Agere网络处理器APP3/APP6实现此功能已经有多年了。
为了实现“按需购买”的可扩展的路由器解决方案,需要灵活的NP。他宣称,最新的APP3xx结合了NP和ASIC的优势,并带有交钥匙函数包接口(FPI),能帮助NP客户的产品快速上市。为了与外部的NP正确的工作,在设计交换结构时调度器、阻塞、多播都非常关键。
他还认为,NP未来的趋势是具有更强大的QoS和易编程性,边缘和接入领域将越来越多的采用NP。
作者:陈佳
电子工程专辑








京公网安备 11011202001138号
