防火墙NP架构综述

简介:
如果我们回顾一下近期网络安全领域出境率最高的词汇, NP一定榜上有名。 NP是网络处理器(Net Processor)的简称,顾名思义,NP是专门设计用于网络封包处理的一种处理器,做为被业内普遍推崇的一种革命性技术,NP至今尚未能达到人们预期的应用水平;做为NP技术的主要目标客户群,通信厂商们的态度正由热捧回归冷静,而在网络安全设备特别是硬件防火墙市场上,NP的应用却正呈现出一片欣欣向荣的景象,继2004年4月中科网威发布了国内首款基于NP架构的硬件防火墙之后,国内的大部分重量级防火墙厂商纷纷推出了自己的NP架构防火墙产品,而做为占据国内防火墙市场头把交椅的东软,更是将自己的主力产品全部转向NP平台。
为了能够透彻的了解NP在防火墙领域造成的这种强大的冲击效应,我们需要先来回顾一下防火墙硬件平台的基本情状。在过去的几年时间里,市场上硬件防火墙产品通常都基于两种架构:AISC(专用集成电路)和以X86为代表的通用处理器。可以说,AISC是硬件防火墙领域无可争议的主流技术,因为利用这种硬件架构可以获得相当高的性能和稳定性,全球最主要的硬件防火墙产品供应商NetScreen就一直推崇以AISC芯片为核心的高性能硬件防火墙,但AISC技术也在某种程度上存在着设计周期长、开发成本高的问题,所以并不是所有厂商都能在这种平台上发展出完善的产品;相应的,基于通用处理器进行产品研发的门槛相比AISC要低的多,所以在百兆防火墙做为主流的时期,这种解决方案受到很多厂商的欢迎,但利用通用处理器平台实现防火墙产品同样存在着不可回避的缺陷,那就是通用处理器并非为特定任务设计,在实现同样功能的前提下,其资源耗费要远高于AISC,这也导致了在现今数据量不断膨胀的网络环境中,基于这种硬件平台的防火墙产品在性能方面受到的挑战越来越大。现今百兆防火墙正逐渐失去主导地位,特别是在主干网部分,千兆网的应用需求成长迅速。基础环境的变化,成为了摆在防火墙厂商面前的主要难题,特别是国内的防火墙厂商,大部分都是以X86通用处理器平台做为自己产品的硬件平台,继续在这种架构上发展自己的产品,已经无法满足性能方面的要求,虽然很多厂商都宣称可以生产千兆级产品,但其实仅仅是能够达到千兆的传输速率而已,实际的应用效果大都不甚理想,包处理率等指标无法达到令人满意的程度;而且不象已经有多年技术积累的顶级品牌,大多数硬件防火墙供应商没有足够的资源在AISC架构上进行产品开发,也没有足够的能力压低成本与大厂抗衡,所以在面对千兆防火墙这一巨大市场时,在设计上兼顾性能与灵活性的NP技术被视为抢占千兆防火墙市场的重要契机而被寄予厚望就不难被人理解了。
NP采用了ASIP(Application Specific Processor)和SoC(System on Chip)等体系结构技术,同时为了保证运算性能,现在的NP产品通常都拥有多个RISC处理器及协处理器,并采用分布式的存储系统,最大限度的突破存储瓶颈,使得不同的应用操作可以由这些处理器并发执行,从而获得逼近AISC的效能;同时NP在灵活性方面又要好于AISC,因为其具有很强的编程能力,能够方便地进行各种应用开发,随着市场需要对功能进行扩展和修正,另外由于其开发周期较短(通常不超过6个月,AISC的开发周期一般都超过12个月),可以保证产品快速投放市场,降低厂商的风险。目前业内占据最大市场份额的网络处理器供应商是AMCC,主要为Cisco等顶级厂商提供产品,Intel经过一段时间的苦心经营,市场份额已经跃升至第二位,国内基于NP研发硬件防火墙的厂商通常都是基于Intel的产品,其他主要的NP供货商还包括摩托罗拉和IBM等。总体来说,NP主要提供了一种介于AISC和通用处理器之间的折衷方案,其在提供高于通用处理器性能的同时,也很好的解决了AISC在灵活性和可编程性方面的问题,为有效缓解网络传输高速发展导致的网络节点处理能力不足提供了一条全新思路。
在了解了NP架构的特点之后,大家可能都在思索,在硬件防火墙市场NP技术到底会起到怎样的作用呢?国内的防火墙厂商纷纷将自己的研发力量投入到NP架构之上,主要的原因就是想借NP突破通用处理器在性能上的瓶颈,进而促成和采用AISC的一线厂商直接对话的局面;因为在低端的百兆防火墙市场,各个厂商之间的差距已经越来越小,基本已经开始进入微利阶段,如何在千兆防火墙领域占据有利位置,对于硬件防火墙厂商来说无疑已成为生死攸关的问题。
从目前的情况来看,NP所展现给我们的前景还是相当美好的,但这并不代表加入NP阵营的防火墙厂商就得到了致胜之钥,NP在硬件防火墙领域的应用并非一片坦途。以Intel网络处理器产品为例,其结构设计反应了当今最主流的NP技术内容,其数据处理能力确实足以胜任千兆网的数据传输负荷,但主要的性能提升仍集中于网络封包的处理,如数据校验、路由匹配等,完成常见网络设备的职责非常出色,但是对于更加复杂的数据应用,例如数据包重组和加密处理等,其表现就往往不那么抢眼了;我们知道,防火墙产品并不是用来进行数据包转发的,更重要的是需要其对数据进行判断和处理,尤其是现在防火墙功能的不断扩展,对处理性能的要求也在快速增长,单纯提升基本数据处理能力,尚无法保证NP能满足硬件防火墙的要求,Intel的产品主要着眼于数据处理和控制方面,在功能管理层面支持相对不足,之所以有众多厂商仍选择以Intel的网络处理器发展硬件防火墙产品,可能是希望利用原有的产品技术积累,因为很多厂商的产品是在X86通用处理器架构上以BSD和Linux做为软件平台开发而成的。为了应对上述这种局面,NP供应商也在不断优化自己的解决方案,希望在利用NP优秀网络数据处理能力的同时,可以满足更高层次的应用要求,SiByte推出的NP产品,基于MIPS处理器,在固守通用处理器开发优势的同时,力争提供媲美AISC的性能表现,还有一些厂商推出了融合AISC技术和NP概念的产品,为硬件防火墙等网络设备的开发提供了丰富的选择。
  我们认为,NP架构的防火墙虽然有广阔的发展天地,但还远未达到颠覆AISC架构的程度,因为NP技术毕竟才经过几年时间的发展,各方面的积累相对薄弱,而AISC技术也仍未停止发展的脚步,正努力改善其难于开发的现状。目前在千兆防火墙市场,AISC仍处于领先地位,NP架构的应用确实能以相对较低的投入在较短时间内发展出逼近AISC架构的产品,但同时也需要提醒厂商,认真选择适合自身需求的NP产品,以充分发挥NP架构的优势。


本文转自 离子翼 51CTO博客,原文链接:http://blog.51cto.com/ionwing/57316,如需转载请自行联系原作者
相关文章
|
4月前
|
机器学习/深度学习 算法 PyTorch
使用 PyTorch 建立您自己的生成对抗性网络
使用 PyTorch 建立您自己的生成对抗性网络
使用 PyTorch 建立您自己的生成对抗性网络
|
23天前
|
机器学习/深度学习 自然语言处理 PyTorch
【PyTorch实战演练】基于全连接网络构建RNN并生成人名
【PyTorch实战演练】基于全连接网络构建RNN并生成人名
23 0
|
8月前
|
机器学习/深度学习 数据采集 监控
转:如何利用BP神经网络算法实现对内网管理软件中的预测与管理
关于在内网管理软件里用BP神经网络算法来搞预测和管理,你可以把它想象成是探险,得跨过不少的障碍。但不要紧,因为每个软件和场景都有独特之处,所以需要根据具体情况来调整和优化。接下来我会详细地聊一聊,在内网管理软件中引入BP神经网络算法来进行预测和管理所需要考虑的一些步骤——
35 0
|
11月前
|
数据可视化 算法 流计算
ICLR 2023 Oral | Batch Norm层等暴露TTA短板,开放环境下解决方案来了(2)
ICLR 2023 Oral | Batch Norm层等暴露TTA短板,开放环境下解决方案来了
104 0
|
11月前
|
机器学习/深度学习 传感器 人工智能
ICLR 2023 Oral | Batch Norm层等暴露TTA短板,开放环境下解决方案来了(1)
ICLR 2023 Oral | Batch Norm层等暴露TTA短板,开放环境下解决方案来了
101 0
|
机器学习/深度学习 PyTorch 算法框架/工具
如何用torch写一个Bi-LSTM网络
上述代码中,我们定义了一个名为BiLSTM的神经网络类,它继承自nn.Module。在__init__函数中,我们初始化了Bi-LSTM的参数,包括输入层大小、隐藏层大小、LSTM层数、类别数等。我们使用nn.LSTM构造了一个双向LSTM层,并在forward函数中将输入张量x传递给它,同时传入初始化的隐藏状态和单元状态。然后我们从Bi-LSTM的最终输出中提取最后一层的前向和反向LSTM的输出,并将它们连接起来。最后,我们将连接后的张量传递给全连接层,得到网络的输出。
211 0
|
计算机视觉
Half-UNet:用于医学图像分割的简化U-Net架构
Half-UNet简化了编码器和解码器,还使用了Ghost模块(GhostNet)。并重新设计的体系结构,把通道数进行统一。
184 0
|
机器学习/深度学习 人工智能 缓存
轻量级网络论文-ShuffleNet v2 详解
轻量级网络论文-ShuffleNet v2 详解
239 0
|
机器学习/深度学习 C++ Python
图注意力网络入门:从数学理论到到NumPy实现
图注意力网络入门:从数学理论到到NumPy实现
203 0
图注意力网络入门:从数学理论到到NumPy实现
VGG家族网络学习——VGG19(结构层面)
VGG家族网络学习——VGG19(结构层面)
2128 0
VGG家族网络学习——VGG19(结构层面)