网络处理器与ASIC
物美价廉是以太网能够战胜其他相关技术的核心竞争力,ASIC技术的发展功不可没。网络处理器技术的发展给以太网带来更多的色彩。两者携手让以太网更具生命力。
作为网络设备中主流的交换机和路由器,究竟应该采用基于网络处理器的架构还是应该采用ASIC的架构,网络处理器和ASIC之间的争论是这一两年业界的焦点。排除一些厂商出于市场宣传的因素,这两种技术之间互补使用会取得更好的效果。
网络处理器
网络处理器(Network Processor,NP)是一种可编程器件,它特定地应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS等。
网络处理器器件内部通常由若干个微码处理器和若干硬件协处理器组成,多个微码处理器在网络处理器内部并行处理,通过预先编制的微码来控制处理流程。而对于一些复杂的标准的操作(如内存操作、路由表查找算法、QoS的拥塞控制算法、流量调度算法等)则采用硬件协处理器来进一步提高处理性能。从而实现了业务灵活性和高性能的有机结合。
网络处理器具有的优势如下:
1.高性能; 2.可以灵活扩展的硬件特性; 3.高可靠性; 4.丰富的流分类、拥塞管理、队列调度和QoS功能; 5.管理更加方便有效; 6. 可以实现灵活组合。
NP 的不足
应该说,网络处理器较之ASIC最大的优势是灵活,开发周期相对较短。网络处理器的性能相对于通用处理器有很大的提升,但是在高速数据包处理方面与ASIC仍有差距。
ASIC芯片
众所周知的是对于特定的业务,能够同时提供极高的转发性能和较低成本的只有ASIC芯片了。但由于ASIC的固定特性一直无法解决路由器对多业务支持的需求,ASIC芯片一旦产出后其原有的功能无法添加。而如今核心网对核心路由器性能几乎无止境的需求迫使路由器的厂商和研究机构把目光投向了ASIC。况且现在10G的ASIC芯片早已成熟,并且规模商用。
对于ASIC平台来说,最大的问题就是对多业务的灵活支持。近几年出现的TCAM(三重内容可编址存储器)很好地解决了多业务中各种表项的高速查找问题。
融合的趋势
我们看到在以太网交换机和路由器产品领域,两个技术正在融合,有着不同的侧重点。
在交换机领域,基本上以ASIC技术为主。对于连接终端的低端交换机来说,ASIC处于垄断地位。
在核心交换机领域,国际上主流的厂商仍旧采用ASIC的体系结构,特别是近期面世的10G以太网产品,都是采用ASIC的。
另外,一些厂商对核心交换机或者机箱式交换机的功能定义越来越宽泛,机箱式交换机由于其模块化的结构,提供了非常灵活的使用空间。一些厂商已经开发出了基于网络处理器技术的防火墙、IDS模块、VPN、4-7层负载均衡模块、VoIP模块,或者增强的路由处理模块。网络处理器为机箱交换机的灵活性——成为网络的多面手锦上添花。
在路由器领域,处于中型企业网络核心、电信网络边缘的路由器,采用NP已经蔚然成风。而在电信网络核心以及国内一些大型行业网络中使用的核心路由器,究竟使用ASIC为主的体系结构还是NP为主的体系结构,尚有争论。ASIC的体系结构似乎更占上风。
X86、NP、ASIC、MIPS架构对比
x86性能最多只能达到2Gbps
长久以来,国内许多安全厂商的防火墙产品都采用基于x86的架构,而国外厂商的多数防火墙则采用ASIC架构。几年前,随着技术的更新换代,随着网络处理器(NP)技术的兴起,为了赶超国际上的先进水平,弥补国内防火墙性能上的不足,很多国内厂商开始采用“NP+ASIC”的架构。 x86架构是一种通用的“CPU+Linux”操作系统的架构。其处理机制是,数据从网卡到CPU之间的传输是依靠“中断”实现,这导致了不可逾越的性能瓶颈,尤其在传送小包的情况下(如64 Bytes的小包),数据包的通过率只能达到30%~40%左右,并且它的设计是必须依靠CPU计算,因此,很占CPU资源,这也是为什么x86防火墙性能上不去的原因。 虽然Intel提出了解决方案,将32位的PCI总线升级到了PCI-E ,总线速度最高可达16GBps,但是,小包传送问题依然没有解决。“如果用户在进行小包通过率测试时,性能出现大幅度的下滑,这种防火墙多半是x86架构。提醒用户一定不能被厂商的宣传忽悠了,基于x86的防火墙,其最高性能只能达到2Gbps!” 所以,目前市场上大多数的x86防火墙不能作为千兆防火墙使用,只能作为百兆防火墙。 ASIC架构 灵活性不够 国外的大部分防火墙设计都采用了ASIC架构,以Juniper和Fortinet的产品为首,因为它的性能高,并且开发门槛高,一度成为国际国内厂商的技术分水岭。 基于ASIC架构的防火墙从架构上改进了中断机制,数据通过网卡进入系统后,不需经过主CPU处理,而是由集成在系统中的芯片直接处理,完成防火墙的功能,如路由、NAT、防火墙规则匹配等,因此,其性能得到了大幅度的提升: 性能可以达到万兆,并且64 Bytes的小包都可以达到线速。 但问题是,这种防火墙在设计时,就必须将安全功能固化进ASIC芯片中,所以它的灵活性不够,如果想要增添新的功能或进行系统升级,开发周期较长,对技术的要求也很高。此外,用ASIC开发复杂的功能,如垃圾邮件过滤、网络监控、病毒防护等,其开发比较复杂,对技术要求很高。因此,ASIC架构非常适用于功能简单的防火墙。 NP是平衡方案 国内许多厂商为了弥补防火墙性能的不足,在不断进行技术研发,推出了基于“NP+ASIC”的防火墙架构,以解决x86架构性能不足和ASIC架构不够灵活的问题。 NP是专门为网络设备处理网络流量而设计的处理器,其体系结构和指令集对于数据处理都做了专门的优化,同时辅助一些协处理器完成搜索、查表等功能,可以对网络流量进行快速的并发处理。硬件结构设计采用高速的接口技术和总线规范,具有较高的I/O能力。这是一种硬件加速的完全可编程的架构,软硬件都易于升级,因此产品的生命周期更长。 NP最大的优点在于它是通过专门的指令集和配套的软件开发系统提供强大的编程能力,因而便于开发应用,可扩展性强,而且研制周期短,成本较低。但是,相比于x86架构,由于应用开发、功能扩展受到NP的配套软件的限制,基于NP技术的防火墙的灵活性要差一些。采用微码编程,在性能方面NP不如ASIC。NP开发的难度和灵活性都介于ASIC和x86构架之间,应该说NP是x86架构和ASIC之间的平衡方案。 多核可实现性能和绿色双重设计 多核技术则是近年来新出现的处理器技术,它一出现,就被认为是解决信息安全产品功能与性能之间矛盾的一大硬件法宝。国外许多厂商,如SonicWall等,都推出了其多核产品。多核是在同一个硅晶片上集成了多个独立物理核心,每个核心都具有独立的逻辑结构,包括缓存、执行单元、指令级单元和总线接口等逻辑单元,通过高速总线、内存共享进行通信。在实际工作中,每个核心都可以达到1Ghz的主频。因此,多核技术无论在性能、灵活性还是在开发的成本和难度方面,都是其他架构不能比拟的。 目前各种芯片厂商推出的多核芯片共分三种: 一种是Intel、AMD推出的2核、4核的通用处理器,适用于桌面笔记本电脑等通用领域; 一种是IBM、SUN分别推出的cell和SPARC架构的多核处理器,主要用于图形处理和运算; 第三种是RMI和Cavium推出的基于MIPS架构的嵌入式多核处理器,主要应用于数据通信领域,它最适合用于信息安全产品的开发。
|