5.记账
记账方法将随运营商拓展的新业务而发生改变。这些记账方法因提供商而异,因而不能以固定功能加以实现。可编程解决方案可通过保持和解释数据统计而迅速提供记账架构,其目标是使支持外设的数目达到最小。NPU和FPGA都提供了必要的记账灵活性。
6.更少的器件
假定一个设备(如路由器)带有多个线路卡,那么线路卡上较少的器件就能带来累积效益。器件数目和期望性能之间总存在一个平衡点,因而将所有器件堆积在一个设备中将破坏整体性能。例如,如果能在主分组处理器件上实现安全处理功能,不仅能减少器件数目,还可从增加的性能中受益。NPU最初承诺能以较少的器件执行所有功能,但最终没能实现。基于网络处理的解决方案需要多个专用协处理器以达到性能要求。令FPGA受限的并非性能,而是规格效率。某些需要查询和密集控制的应用可通过采用协处理器/嵌入式处理器来更好地实现,因此FPGA逻辑电路也适用于高速数据处理。
7.产品上市时间
产品上市时间是推动网络处理可编程解决方案发展的主要动力之一。NPU利用以处理器为中心的模式,保证了较短的产品上市时间。然而,汇编代码开发、多个NPU的系统分区、协处理器的数据相关性延缓了产品上市时间。但必须指出的是,与ASIC相比,这样的产品上市时间已经大大缩短。FPGA不仅可以通过缩短开发周期,还能通过缩短调试周期以加快产品上市时间。两者之间最大的区别在于软件:NPU采用汇编代码,而FPGA则采用HDL。
NPU需要对诸多功能进行维护,FPGA则是任何可编程设计的最佳选择方案。利用网络处理解决该问题无需借助多个协处理器,因为这并不是当初引入NPU的初衷。适当的解决方案是有选择地合理利用FPGA、NPU及一至两个协处理器。
FPGA实现的网络处理实例
本文提出了一种基于新型FPGA的解决方案:Virtex-IIProFPGA实现了数据通路和控制功能,而协处理器则负责数据包分类和查询。下面以2.5Gbps(OC-48)线路卡为例进行说明。
1.利用VPN和管理规则设计2.5Gbps线路卡
2.5Gbps(OC-48)线速率正日益受到广泛关注,因为OC-48能有效地对带宽和成本进行折衷。采用IPSec的加密VPN正是业务提供商探寻的高优先级业务。路由器制造商在下一代线路卡开发中,一直希望应用系统能具备以下大部分或全部功能(图4):VPN支持多个局部路由表和IPSec加密/解密;支持基于SONET的分组传输的全双工OC-48;支持基于MPLS的VPN;成千上万个VPN组,多项管理规则/VPN组;数百万个词头;支持DiffSERV;采用VPN组的QoS级别分类。ToS域和TCP/UDP源和目的端口数目。每个VPN组中均可建立数千条QoS准则。

2.方案选择
设计选择通常与所需的规则数目、性能(每秒处理的分组数据包/信元)、器件数目和功耗相关。本文重点关注分类和流量管理。为实现上述功能,线路卡通常采用的器件包括:
(1)网络处理器和协处理器
分类占用的计算量最大。NPU需要许多
专用存储器(如外置ZBTSRAM),因而功耗很大。IPSec通常用于VPN中的网络安全功能,因而既需要支持控制路径,也需要支持数据路径。由于NP耗尽了所有能量,因而需要能同时进行IPSec安全处理和流量管理的协处理器。
(2)FPGA和备用协处理器
FPGA确保了线速率IPSec的安全性,并提供比NPU更快的分类和查询功能。对IPSec而言,Virtex-IIPro在嵌入式PowerPC处理器软件中实现了控制路径/密码交换,还在FPGA逻辑电路中以Gbps级的线速率实现了数据路径AES/3-DES加密/解密。如果QoS规则需要经常改变,外置VLIW协处理器就能实现分类(FSM密集)功能。嵌入式PowerPC处理器可用于执行全部的控制和管理层功能。