我们知道,任何安全技术与应用的发展都离不开对计算资源的占用。
如今,我们所能感受到的网络现状是:10G/N*10G的网络数据流量、3G时代的来临预示着3年之后手机终端会超过PC终端。另外云计算的兴起带来了计算、网络、存储等基础设施的虚拟化整合、数据/信息的整合带来了网络流量更加集中,以及大多数业务应用从C/S向B/S转移,这些都促使越来越多的流量发生在网络上,而本地产生的运算量却会越来越少。因此,远程集中式运算与网络传送的信息量也就越来越大。
从这个角度来说,网络病毒检测、入侵检测、入侵防御以及信息数据安全等很多环节,都离不开对网络数据内容的分析。而除了我们通常所了解的算法优化能带来高效的计算外,对硬件计算资源的消耗正在随着网络容量、信息传送量的增加而高速膨胀,以至于当前绝大多数安全设备所引用的X86通用计算平台在不借助其他加速组件的方式下,几乎无法满足高性能的内容运算,并且性能和效率也都难以达到每秒超过2G以上在线数据运算量。在网络带宽和信息量高速膨胀的今天,这样的运算效率仅仅只能满足局部应用需求。
因此,性能的大幅提升是信息安全未来发展的必然趋势。
两大因素制约传统性能提升 多核应运而生

图1 采取分流分布式计算来解决通常的大容量计算问题 显然,在运算性能不具备的条件下,分布式计算方式是无奈之举,但是它带来了较大的管理成本和维护压力。更重要的是大多数企业用户根本无法接受这样的应用方式,更多的企业级用户,在面对大流量下的安全需求时,更多是选择了“等待”,等待着更快、更安全的产品出现和成熟。 那么,一个很显然的问题就出现了——信息安全设备为什么不能像网络通信设备那样,引用高性能的网络处理器或ASIC达到与网络速度类似的处理效率呢?简单分析一下会发现,这其中最根本原因主要有两方面:
图2 大多数信息安全设备对内容的分析很复杂 另一方面,是各类导致安全威胁的病毒、入侵行为都在利用计算机高级语言不断更新以突破某种防护,是因为这样的效率更高,也因此每天都会有新的威胁诞生,而这种动态性和不确定性的存在,使得几乎所有关注分析信息和数据内容的信息安全设备也必须在开放的运算平台上基于高级语言搭建的运算系统来工作,是因为只有这样构建的安全系统才有灵活的升级能力,从而也才能与安全的动态性和不确定性进行对抗。因此,大多数关注信息内容的信息安全产品(如UTM、IDS、IPS、审计等),必须利用高级的语言和开放的硬件运算平台才能完成对各类信息内容的检索和各类安全性检查。 所以,要满足未来信息安全产品适应当下信息高速膨胀的发展趋势,提升开放平台的硬件性能,既是必然趋势也是满足未来应用需求的关键要素。 也就是在这样一个开放性平台应用需求的驱动力下,多核技术应运而生。 超越X86 选择多核SoC收获与代价并重 需要说明的是,刚才所说的多核并不是基于X86的2核、4核这样的CPU,而是在网络、安全设备上最新使用的基于MIPS64的多核SoC(System on Chip)处理器,此类多核SoC处理器目前可支持到16核,并还在随着安全计算需求的不断增加而继续提升。 相比X86、NP、ASIC硬件平台,SoC多核平台的最大优势是保留了X86平台的高灵活性(这一点对于安全设备的应用层检测非常关键),并且具备与ASIC平台相当的高处理性能。同时,SoC通过增加核数,使线性提升硬件计算能力成为了可能,更重要的是功耗也随之得到了控制(如图3所示)。