
| 出版日期:2002-10-21 总期号:1161 本年期号:78 |
|
网络处理器像CPU一样 统治网络
陈绍强 网络处理器如同微处理器简化计算机设计那样,正在把路由器、交换机和防火墙等复杂网络设备的设计和实现变得常规化和规范化。不仅限于此,网络处理器通过提供强大的可编程性,既缩短了产品面世的时间,也延长了产品停留于市场的时间。可以预测,将来网络设备的实现将大规模地采用网络处理器和相关的支撑套片,这个模式类似于今天的计算机设计和产品化模式。
绍强专栏 流经网络设备的数据会经过两种通路:快通路和慢通路。快通路处理一般的、规范的数据包;而慢通路则处理带选项的数据包,即需要特别对待的包。网络处理器处于快通路中,以线速处理数据包流;而慢通路则交给通用处理器(CPU)处理。因此,在通常情况下,网络处理器可以以硬件速度处理网络负载,如同ASIC芯片那样,只有在较少概率程度上才会降低性能。此外,功能强大的网络处理器会提供数据流整形能力,根据用户事先设定的QoS策略来对数据包流进行排队处理,使之满足业务需求,这当然也是工作在物理速度上。 体系结构算得精细 如同通用处理器,网络处理器一般采用多级流水线结构,保证每个时钟周期完成一条指令。为简化设计及降低功耗,网络处理器一般采用了RISC(精简指令集)方案。另一方面,为提供极高的速度和较高级的编程界面,网络处理器提供了多线程运行环境,在数据包的层次上给予多级流水线支持,即同一时刻可以有多个数据流经受处理。 网络处理器要提供两个接口,一个连接网络端口,另一个则连接交换芯片。后者的目的是实现多网络处理器的系统,或者说是多线路板系统。这里涉及到了不同单元的接口,从而引发了标准化的问题。各个网络处理器厂家在内部设计上可以各显其能,但必须符合接口标准,才能满足各厂家产品的互通,目前这些标准还在逐步形成之中。 主要的功能块包括入/出数据移位器(与以太网PHY或POS的接口)、入/出口队列调度器(完成数据在网络处理器内部移动,主要是通过指针,以节省开销)、交换芯片接口,以及最为核心的嵌入式处理器。注意这里的嵌入式处理器采用了HARVARD架构,内含8个对偶协议处理器(DPPU),每个DPPU拥有两个微码处理器(CLP),每个微码处理器又能保持2个线程(当然同一时刻只能执行一个),这样嵌入式处理器就可以同时运行16个线程,而可以保持32个线程运行环境,这样做的目的是当某个线程等待时,CLP可以运行它的另一个线程。可见,为了保证性能,网络处理器的设计者会算计每个时钟周期。 网络处理器的编程能力就体现在这些微码处理器上,网络处理器能力的一个重要指标是在线速情况下每个数据包可以获得多少指令周期,速度越高,或数据包越长,每个数据包可以获得的指令周期就越少。一个典型的数字是在OC-48情况下,64字节的数据包可以获得1000个左右指令周期。想像一下,我们用C语言处理IP包时得用多少语句!可见编微码程序不是件容易的事,尤其是头脑里时刻要有性能的约束条件,必须要“压榨”每条指令,并考虑指令之间的同步关系。编写复杂网络设备的微码,如防火墙设备,不说毫无可能,也是十分艰巨的任务。即便如此,可编程性(尤其是有的网络处理器可以直接用C来编程)毕竟比固定的ASIC芯片还是要友好得多。 探索应用 网络处理器应用于实际的商用产品开发的一个必要条件是,网络处理器需要有完美的可塑性。换言之,如果网络处理器在某一方面编程效果的功能或性能表现得差强人意,那么是否选择网络处理器进行开发就值得疑问了。检验真理的唯一标准是实践,无论模拟工作和假想工作做得多么好,如果没有用网络处理器实现让人信服的产品,那么网络处理器仍旧只是实验室里的玩具。 就目前评价较高的IBM的NP4GS3和Intel的IXP2800来说,前者更适合实现传统的路由器或者三层交换机,最高端口速率是OC-48;后者的最高支持端口速率是OC-192,并且集成了加密功能,包含了3DES和SHA-1等基本加密算法,从而可以有更广的应用范围。但一个矛盾是,这些网络处理器面向高端应用,但高端产品鲜有用网络处理器者。具体原因是什么,还不得而知,但可以肯定的是,网络处理器目前的应用水平还处于探索阶段,一目了然的开发模式也许不是实际发生的情况,比如路由器厂商Juniper就对网络处理器不感兴趣,这使得小厂家也群起效仿,在开发新产品时不考虑网络处理器,而还是进行ASIC芯片的开发。这实际上延缓了网络处理器产业成熟的时间,也降低了其应用水平。 无论如何,网络处理器无论对系统厂商(设备制造商)还是对用户来讲,都带来了莫大的好处。系统商将不再自己设计ASIC芯片,从而专注于产品的主要功能方面,能设计出更满足用户需求的产品;而用户则可以通过升级软件来跟踪最新的技术,大大减少基础设施方面的投资。一句话,网络处理器面向的是整个信息产业,其前途不可限量,从而意味着残酷的竞争。从实际的市场情况可以看到这一点,例如一度领先的Vitesse已经宣布停止对先进网络处理器研发的投入,PMC也是一样。同时,AMCC执行的则是相反的路线,反而继续向更尖端的网络处理器迈进。网络处理器市场似乎在走CPU工业的老路,众多的厂家经角逐后,只剩下几个巨无霸。可以说,网络处理器是有钱人的游戏,而现在的几个有钱人是IBM、AMCC、Intel和Motorola。 |
|||||||||||||||||||||||||