网络处理器(Network Processor,简称NP),根据国际网络处理器会议(Network Processors Conference)的定义:网络处理器是一种可编程器件,它特定的应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS等[1]。 技术原理
网络处理器器件内部通常由若干个微码处理器和若干硬件协处理器组成,多个微码处理器在网络处理器内部并行处理,通过预先编制的微码来控制处理流程[2]。而对于一些复杂的标准操作(如内存操作、路由表查找算法、QoS的拥塞控制算法、流量调度算法等)则采用硬件协处理器来进一步提高处理性能,从而实现了业务灵活性和高性能的有机结合。
优点
基于X86架构的防火墙,由于CPU处理能力和PCI总线速度的制约,在实际应用中,尤其在小包情况下,这种结构的千兆防火墙远远达不到千兆的转发速度(64字节包长时,双向转发速率一般为百分之二十以下),难以满足千兆骨干网络的应用要求。采用NP架构的防火墙,各种算法可以通过硬件实现,在实现复杂的拥塞管理、队列调度、流分类和QoS功能的前提下,还可以达到极高的查找、转发性能,实现“硬转发”。