您的位置:首页 > 理论基础 > 计算机网络

安全平台,多核动力

2009-03-25 10:26 309 查看
随着P2P、WEB2.0、IPTV、IDC等网络技术的发展,一些业务应用如网络游戏、视频点播、在线娱乐、网真等新兴网络服务不断进步,大容量视频文件的不断涌现,从应用上对网络性能提出越来越高的要求。千兆桌面、万兆骨干的网络建设模式正在成为主流。同时网络中的黑客攻击、网络病毒、木马、垃圾邮件也泛滥成灾,并随着网络应用有新的形式和变种。在这种情况下,安全建设一直是网络平台建设的重中之重。

但从现实来看,安全设备的性能提升速度,一直以来都是落后于网络容量的扩展速度,造成的问题就是安全设备本身的性能有可能成为网络应用中的瓶颈。在关键业务点上,有些用户不得不因此而牺牲了网络的安全性,从市场角度看,迫切需要能匹配其网络发展速度的安全应用平台。

而观察当前网络安全产品市场,主流产品仍是防火墙,其安全应用平台主要有X86、NP、ASIC/FPGA,也代表安全技术的不同发展阶段。

X86平台用通用CPU来处理数据,通过网卡芯片和PCI总线传输数据。基于通用CPU平台和linux系统,这里的防火墙功能主要由软件实现,部分加密解密等功能通PCI插卡硬件辅助。由于此平台硬件ODM厂家重多,并且有很多开源代码,开发成本低,所以国内的大部分低端厂商都是把此平台做为防火墙开发平台。

X86平台的数据从网卡到CPU之间的传输机制依靠“中断”来实现,中断机制导致X86平台的防火墙吞吐速率不高,虽然防火墙处理部分可以做最大的优化,但无法做到小包千兆线速。同时作为通用的计算平台,X86主要是用于应用计算,在数据处理上并不占优势。另外,很多X86架构的防火墙是基于定制的通用操作系统,其系统本身容易成为攻击目标。从大量的防火墙产品实际使用看,X86架构只适用于百兆线路的要求,千兆之上,X86体系有着不可逾越的瓶颈。

ASIC防火墙对防火墙业务通过芯片逻辑进行硬件加速处理,不经过主CPU处理,由硬件逻辑来完成传统防火墙的功能,如:路由、NAT、防火墙规则匹配等。这样数据不经过主CPU处理,不使用中断机制,从根本上提高了防火墙的处理速率。

但总体讲ASIC防火墙虽然其性能具有先天的优势,但灵活性和扩展性不够,无法支持太多的功能,特别对于当前的网络安全环境,应用安全、深度安全已经成为最需要解决的问题,而ASIC防火墙只是非常适用于简单安全防护。

NP是专门为网络设备处理网络流量而设计的处理器,其体系结构和指令集对于数据处理都做了专门的优化,同时辅助一些协处理器完成搜索、查表等功能,它可以对网络流量进行快速的并发处理。硬件结构设计采用高速的接口技术和总线规范,具有较高的I/O能力。构建一种硬件加速的完全可编程的架构,这种架构的软硬件都易于升级,软件可以支持新的标准和协议,硬件设计支持更高网络速度,从而使产品的生命周期更长。由于防火墙处理的就是网络数据包,所以基于NP架构的防火墙与X86架构的防火墙相比,性能得到了很大的提高。

NP最大的优点在于它是通过专门的指令集和配套的软件开发系统,提供强大的编程能力,因而便于开发应用,支持可扩展的服务,而且研制周期短,成本较低。但是,相比于X86架构,由于应用开发、功能扩展受到NP的配套软件的限制,基于NP技术的防火墙的灵活性要差一些。采用微码编程,在性能方面NP不如ASIC。NP开发的难度和灵活性都介于ASIC和X86构架之间,应该说NP是X86架构和ASIC之间的平衡方案。

需要找到一种兼容灵活性和性能的硬件平台,多核处理器是个答案

摩尔定律在芯片产业发展到今天,又有了新的变化,硅晶体的频率不可能无限提升,而对芯片处理器的性能要求却永无止境。上帝在关上一扇门的时候,总是会打开一个窗。多核技术、并行计算成为目前芯片产业发展的方向。处理器厂家的竞争从主频转向多核,多核化给摩尔定律带来新生命力,同时也给IT计算带来革命性的变革。

多核处理器技术,近年来突飞猛进,Intel、AMD陆续推出2核、4核的通用处理器,IBM、SUN也分别推出cell和SPARC架构的多核处理器,嵌入式领域有Cavium推出的基于MIPS架构的多核处理器。从主机系统到通讯网络,用户对业务处理要求的永无止境,决定了向多核技术发展将是一个不可逆转之路。多核带来了更强的并行处理能力,更高的计算密度,但同时也对当前的软件体系架构提出了更高的要求。就象从DOS操作系统向Window操作系统过渡一样,从技术上,要求软件体系必须适应这种多核处理器的架构,否则,只是把CPU换成多核,系统软件设计不做变化,整个系统还是单核的能力。

要建立一个适合当前网络发展的万兆安全平台,首先需要有一颗强劲的心,一个兼顾数据包处理、计算效率和业务灵活性的安全引擎,必须能满足万兆级的高速的防火墙业务处理: 攻击防范、状态检测、包过滤、NAT等,同时安全技术在向深度发展,L4-7的深度安全、内容过滤、应用攻击防范、入侵防御、病毒检测防御,也需要在万兆安全平台设计考虑之内,同时系统架构要有扩展性,支持灵活业务处理。目前多核处理器硬件产品和技术已经成熟,从对安全的应用需求看,多核处理器也是建立万兆平台的最佳选择。万兆平台,对于一些特殊的安全的业务处理,还可以在多核处理器的高速IO接口上挂上高速的硬件协处理器,对特殊业务如内容搜索等做应用加速,还可以对固定模式计算和数据包处理,做硬件加速处理。

多核处理器要为万兆平台提供动力支撑,更需要软件体系的支持。多核处理器采用通用编程语言,降低了业务设计的复杂度,但要真正体现多核威力,需要在软件体系上做出根本性的变化。

安全操作系统设计,必须要充分考虑多核下的任务调度、中断处理、同步互斥,Cache和核间通讯的使用。对于多核CPU,优化操作系统任务调度和业务的同步互斥是保证效率的关键。对于一个多任务系统,由于不同任务会竞争共享资源,因此需要系统提供同步与互斥机制。同时多核并行处理任务,需要资源抢占,必须做好互斥同步的设计,保证锁的效率和处理的高效,而传统的用于单核的解决机制并不能满足多核,需要利用硬件提供的“读-修改-写”的原子操作或其他同步互斥机制来保证。操作系统任务和多核之间需要根据业务需求进行设计。

多核的中断处理和单核有很大不同。多核架构下的各处理器有不同的中断处理方式,如果要体现多核最佳的能力,就需要设计好对中断的处理,保证实时和可靠的处理安全业务。另外,多核CPU 核间都有高速内部总线,核间通讯走内部总线,也就能保证pipeline业务的处理能力。

对于多核处理器设计的还有一个最重要的问题是安全业务处理的模型。安全业务处理模型的适用性决定多核处理器是否提供最佳的处理效率。安排多核的任务分工,以及核内核间任务的分工,决定了整个系统的效率和扩展性。搭建新的万兆平台,需要有前瞻性,同时要对业务处理效率负责。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息