防火墙x86架构和ASIC架构和NP架构的区别.docx
《防火墙x86架构和ASIC架构和NP架构的区别.docx》由会员分享,可在线阅读,更多相关《防火墙x86架构和ASIC架构和NP架构的区别.docx(14页珍藏版)》请在冰豆网上搜索。
![防火墙x86架构和ASIC架构和NP架构的区别.docx](https://file1.bdocx.com/fileroot1/2022-12/29/ccec7732-5b8c-405f-8c4f-1b3394cc7999/ccec7732-5b8c-405f-8c4f-1b3394cc79991.gif)
防火墙x86架构和ASIC架构和NP架构的区别
[精华]防火墙x86架构和ASIC架构和NP架构的区别zt
防火墙x86架构和ASIC架构和NP架构的区别
在众多的安全产品中,防火墙产品无疑是保障网络安全的第一道防线,很多企业为了保障自身服务器或数据安全都采用了防火墙。
随着Internet的迅速普及,全球范围内的计算机网络病毒、操作系统漏洞、垃圾邮件等网络安全问题也是层出不穷,网络安全产品和解决方案越来越成为各类网络用户和厂商们的聚焦点,在众多的安全产品中,防火墙产品无疑是保障网络安全的第一道防线,很多企业为了保障自身服务器或数据安全都采用了防火墙。
随着网络应用的增加,对网络带宽提出了更高的要求。
这意味着防火墙要能够以非常高的速率处理数据,于是千兆防火墙逐步崭露头角,频频被运用在金融、电信、教育、气象等大型的行业和机构,以及对安全要求极高的大型企业用户,其市场占有份额已经超过50%;下面就让我们来了解一下千兆防火墙的相关的产品、技术及选购方面的一些知识。
不同构架各具特色
从百兆到千兆,最初只是量变。
千兆防火墙在2000年前后就进入了我国市场。
由于百兆网络接口与千兆网络接口的成本相差不大,早期的千兆防火墙仅仅是将百兆接口替换为千兆接口而已。
这种基于X86体系结构的千兆防火墙主体仍然是软件,其性能受到很大制约,无法达到千兆的处理速度。
因此,这些防火墙只是具有千兆接入能力的防火墙,而不是真正具有千兆处理能力的防火墙因此可以说是一种“换汤不换药”的形式改变。
随后几年,随着千兆网络在企业和行业用户中的不断普及,以及用户对性能需求的不断增加,千兆防火墙也逐发生了质变。
这种质的变化首先是人们把目光转移到了专用集成电路(ASIC)和网络处理器(NP)上。
相对于X86架构,基于这些架构的千兆防火墙才是真正的硬件解决方案,能够实现千兆处理速度。
在这里,我们不妨将X86架构、NP和ASIC放在一起进行技术比较,看看不同技术的优缺点。
X86架构
最初的千兆防火墙是基于X86架构。
X86架构采用通用CPU和PCI总线接口,具有很高的灵活性和可扩展性,过去一直是防火墙开发的主要平台。
其产品功能主要由软件实现,可以根据用户的实际需要而做相应调整,增加或减少功能模块,产品比较灵活,功能十分丰富。
但其性能发展却受到体系结构的制约,作为通用的计算平台,x86的结构层次较多,不易优化,且往往会受到PCI总线的带宽限制。
虽然PCI总线接口理论上能达到接近2Gbps的吞吐量,但是通用CPU的处理能力有限,尽管防火墙软件部分可以尽可能地优化,很难达到千兆速率。
同时很多X86架构的防火墙是基于定制的通用操作系统,安全性很大程度上取决于通用操作系统自身的安全性,可能会存在安全漏洞。
ASIC架构
相比之下,ASIC防火墙通过专门设计的ASIC芯片逻辑进行硬件加速处理。
ASIC通过把指令或计算逻辑固化到芯片中,获得了很高的处理能力,因而明显提升了防火墙的性能。
新一代的高可编程ASIC采用了更灵活的设计,能够通过软件改变应用逻辑,具有更广泛的适应能力。
但是,ASIC的缺点也同样明显,它的灵活性和扩展性不够,开发费用高,开发周期太长,一般耗时接近2年。
虽然研发成本较高,灵活性受限制、无法支持太多的功能,但其性能具有先天的优势,非常适合应用于模式简单、对吞吐量和时延指标要求较高的电信级大流量的处理。
目前,NetScreen在ASIC防火墙领域占有优势地位,而我国的首信也推出了我国基于自主技术的ASIC千兆防火墙产品。
NP架构
NP可以说是介于两者之间的技术,NP是专门为网络设备处理网络流量而设计的处理器,其体系结构和指令集对于防火墙常用的包过滤、转发等算法和操作都进行了专门的优化,可以高效地完成TCP/IP栈的常用操作,并对网络流量进行快速的并发处理。
硬件结构设计也大多采用高速的接口技术和总线规范,具有较高的I/O能力。
它可以构建一种硬件加速的完全可编程的架构,这种架构的软硬件都易于升级,软件可以支持新的标准和协议,硬件设计支持更高网络速度,从而使产品的生命周期更长。
由于防火墙处理的就是网络数据包,所以基于NP架构的防火墙与X86架构的防火墙相比,性能得到了很大的提高。
NP通过专门的指令集和配套的软件开发系统,提供强大的编程能力,因而便于开发应用,支持可扩展的服务,而且研制周期短,成本较低。
但是,相比于X86架构,由于应用开发、功能扩展受到NP的配套软件的限制,基于NP技术的防火墙的灵活性要差一些。
由于依赖软件环境,所以在性能方面NP不如ASIC。
NP开发的难度和灵活性都介于ASIC和x86构架之间,应该说,NP是X86架构和ASIC之间的一个折衷。
目前NP的主要提供商是Intel和Motorola,国内基于NP技术开发千兆防火墙的厂商最多,联想、紫光比威等都有相关产品推出。
从上面可以看出,X86架构、NP和ASIC各有优缺点。
X86架构灵活性最高,新功能、新模块扩展容易,但性能肯定满足不了千兆需要。
ASIC性能最高,千兆、万兆吞吐速率均可实现,但灵活性最低,定型后再扩展十分困难。
NP则介于两者之间,性能可满足千兆需要,同时也具有一定的灵活性。
三种架构综合比较
选购千兆防火墙需要考虑什么
在选购千兆防火墙时,用户首先需要明确自己的需求。
安全风险和网络应用决定了用户需求,每个网络的层次、作用、大小和结构各不同,致使这些网络所面临的安全风险不相同,安全需求自然也不相同。
没有重要资产的网络没有必要选择高端防火墙,高安全需求的网络不能选择低安全性的防火墙,这是很浅显的道理。
同样地,只有10M带宽接入互联网的办公机构没有必要去选择千兆防火墙。
其次,在防火墙的安全功能与性能之间做出折衷。
防火墙存在着功能与性能的矛盾,根据预定的安全策略,防火墙在协议栈的不同层次对流量进行检查,决定对流量的控制措施(允许通过或丢弃)。
检查的层次越高,防火墙消耗的资源就越多,花费的时间就越长,性能就会越低。
在应用环境时要考虑网络拓扑,用户规模,流量带宽,通信类型和环境的复杂恶劣程度等。
最后,技术支持与服务,在选择安全产品的时候,厂家或商家的技术支持与服务能力也应该是重要的考虑因素。
--------------------------------------------------------------------------------
javacx回复于:
2006-04-0320:
53:
52
我个人认为NP、ASIC厂家炒作的成分更多点。
不能否认随着网络的升级需要真正的全端口千兆有一定的必要性。
当除了ISP的核心网络需要企事业单位未必用的着。
防火墙不管是那种构架的都是软件+硬件的结合。
不管是用微编程写进芯片还是用语言写成软件。
关键是算法。
软件写的如何。
NP、ASIC难道就不用CPU了吗?
老说什么总线、PCI瓶颈等等。
FW就只是用来转发数据的吗?
关注的只是转发率的吗?
当然不是。
现在那家的FW不做些高级过滤或是深度检测(也不知谁真正做到了)总是有应用层上的检测。
ASIC、NP都是线性运算,不能代替CPU的浮点运算去做一些高层的过滤检测。
在网络中FW如果不是需要NAT1W个地址。
NAT100和NAT10用那种构架的FW都一样。
软件的算法可以弥补硬件上的不足。
--------------------------------------------------------------------------------
teczm回复于:
2006-04-0408:
58:
51
目前比较衷情x86的分布墙:
oops:
--------------------------------------------------------------------------------
cnadl回复于:
2006-04-0409:
44:
58
引用:
原帖由javacx于2006-4-320:
53发表
我个人认为NP、ASIC厂家炒作的成分更多点。
不能否认随着网络的升级需要真正的全端口千兆有一定的必要性。
当除了ISP的核心网络需要企事业单位未必用的着。
防火墙不管是那种构架的都是软件+硬件的结合。
不管是用微编...
呵呵,不谈算法,您认为一个200人的企业他的NAT表条目是多少呢?
说真的,NAT反倒是X86架构的优点;无他,内存便宜而已。
--------------------------------------------------------------------------------
skipjack回复于:
2006-04-0412:
01:
59
引用:
原帖由javacx于2006-4-320:
53发表
我个人认为NP、ASIC厂家炒作的成分更多点。
不能否认随着网络的升级需要真正的全端口千兆有一定的必要性。
当除了ISP的核心网络需要企事业单位未必用的着。
防火墙不管是那种构架的都是软件+硬件的结合。
不管是用微编...
哈哈...NP的数据层与控制层同步是个大问题,寄存器少也是问题。
有时候一个功能写完之后,一编译报错说寄存器不够了。
--------------------------------------------------------------------------------
javacx回复于:
2006-04-0711:
08:
42
哈哈...NP的数据层与控制层同步是个大问题,寄存器少也是问题。
有时候一个功能写完之后,一编译报错说寄存器不够了。
最近关注了一下老兄的所发的贴。
好。
敢问现在使用的NP都那些型号的?
这些型号能达到什么样的运算水平?
请指教。
。
不知老兄使用的是何型号。
。
。
。
。
。
--------------------------------------------------------------------------------
skipjack回复于:
2006-04-0711:
25:
57
引用:
原帖由javacx于2006-4-711:
08发表
哈哈...NP的数据层与控制层同步是个大问题,寄存器少也是问题。
有时候一个功能写完之后,一编译报错说寄存器不够了。
最近关注了一下老兄的所发的贴。
好。
敢问现在使用的NP都那些型号的?
这些型号能达到什么...
现在用北京立华莱康平台科技有限公司的单NPIXP2400开发板,以前用从美国Intel本土购来的双NP构架,XScale的核心主频都是600MHZ,其它厂商的就不好说了,联想是OEM的,天融信好像在NP上没声了,不了解,我不做市场。
我接手NP时是把软件的CC部分从双NP移植到单NP开发板中,微码部分也要做相应修改,我只设计实现原理,微码有同事配合编程。
双NP的成本很高,性能也比单NP好不了多少。
小包单NPIXP2400在任意包长下匀为2000M的线速,在4G测试中512字节达到转发锋值3746M。
并且延时平均小于80微秒。
我这里有IXIA400的测试报告,但不能给你。
--------------------------------------------------------------------------------
skipjack回复于:
2006-04-0711:
35:
03
引用:
原帖由javacx于2006-4-320:
53发表
我个人认为NP、ASIC厂家炒作的成分更多点。
不能否认随着网络的升级需要真正的全端口千兆有一定的必要性。
当除了ISP的核心网络需要企事业单位未必用的着。
防火墙不管是那种构架的都是软件+硬件的结合。
不管是用微编...
确实是炒作成分更多一点,内容过虑、VPN、这两个功能还必须依靠上层CPU来处理,没有加速芯片可用。
但我们已经在微码中实现了NAT、VLAN与网桥的普通防火墙功能。
以后的发展应该是IXP2850或转向多核,因为这些东西的设计思路是一样的,控制与数据层调通后就如鱼得水了。
--------------------------------------------------------------------------------
javacx回复于:
2006-04-0712:
01:
55
谢谢。
。
看了看这个公司的网。
。
OCTEONCN31XX和CN30XX处理器家族CN31XX和CN30XX处理器还有丰富的硬件加速选项,每个处理器有CP(通信处理器,CommunicationProcessor)、SCP(安全通信处理器,SecureCommunicationProcessor)和NSP(网络服务处理器,NetworkServicesProcessor,仅CN31XX有NSP版本)三个版本。
CP版本包括针对包处理(PacketProcessing)、TCP、队列/调度(Queuing/Scheduling)和服务质量(QoS)等硬件加速功能,SCP添加了IPsec/SSL、SRTP和WLAN安全加速功能,NSP版本增加了针对深度包检查(DeepPacketInspection)和压缩/解压缩(Compression/Decompression)的加速。
现在都可以提供这些功能特别是深度包检查(DeepPacketInspection)和压缩/解压缩(Compression/Decompression)的加速。
不敢相信。
。
。
难道X86的时代真的要结束了?
?
?
敢问一句老兄可是业内号称NP的厂商内的研发人物。
。
。
。
。
嘻嘻。
。
。
全是好奇心在作怪。
。
见笑,见笑
--------------------------------------------------------------------------------
javacx回复于:
2006-04-0712:
07:
59
特别同意老兄的内容过虑必须依靠上层CPU来处理,没有加速芯片可用。
。
。
。
控制与数据层调通后就如鱼得水了。
。
。
。
这个是厂家真正烧钱的地方。
。
。
但VPN现在不都有加速芯片可用吗?
对加密的算法不是都有一些加密芯片可提速吗?
老兄所指的可是在维护隧道方面(像IPSEC的VPN)?
--------------------------------------------------------------------------------
skipjack回复于:
2006-04-0714:
41:
42
引用:
原帖由javacx于2006-4-712:
07发表
特别同意老兄的内容过虑必须依靠上层CPU来处理,没有加速芯片可用。
。
。
。
控制与数据层调通后就如鱼得水了。
。
。
。
这个是厂家真正烧钱的地方。
。
。
但VPN现在不都有加速芯片可用吗?
对加密的算法不是都有一些加密芯...
我不认为我们在烧钱啊,我估算了一下,大概硬件的投入也就相当于投入了50万左右吧。
现在和NP硬件提供商的关系很好,因为只有我们一家做出来了,所以都主动来邀请我们开发多核处理器。
所有的新硬件都是免费试用的。
做NP这东西不光要看研发人员的组成与素质,更重要的是正确的思路。
真的。
为什么这么说呢?
看看国内做NP的厂家,有几家得到回报了?
有多少是全盘皆输。
以前有一个美国的公司来我们公司做NP演示,防火墙的特性当前的演示设备中都有了,并且在3年前,吐吞量上G,谁看都会眼红的。
他希望我们OEM它的产品,报价是90K$美金的合同。
呵呵...当时公司正在犹豫是不是应该合作,我以最底层职员的身份给公司领导写了一封信,讲述了我对Linux、CC、微引擎之间的同步原理与实践方法,要知道以我的身份演示时都没有资格出席的。
后来公司感觉这条路可以走,就采纳了我的意建。
我当时在公司只不过是做Java编程的程序员,不是我看不起java,而是这工具和安全一点都不着边,我二年前用java做了个visio的软件,希望可以实现checkpoint公司的NG控制界面,但中途公司不得不叫我转向Linux内核开发。
后来就是提高人力的投入,半年之后防火墙的雏型就出来了。
真的很幸运,也就是我当时的一个灵光乍现,公司又给了我机会而已。
没有所谓的烧钱行为。
NP研发很痛苦,Intel和硬件厂家的支持力度都很小,单NP的板子只能依照双NP的设计文档来实施,Linux就一个2.4.18的版本可用,更可怕的是硬件如果有问题你基本上是束手无策。
你可以去问问做NP的,死机是不是家常便饭。
了解了解多核,你就会知道这东西就是在NP的基础上实现的。
NP一次可以并行接收32个数据包。
所有用于转发的数据结构必须线性化。
这在多核处理器上也是一样的。
不光是你看到的octeon的板子,rmi也是这个做的。
Linux上的fibroutetable对于NP或是多核处理器来说是陌生的,必须转化为线性的hashtable才能被NP或多核处理器采用。
类似的数据结构太多了,一句话你想要NP访问的数据必须是线性化。
这也就是同步的本质含义所在
现在对我们看来软件的结构已经很清晰了,也积累了一定的经验。
至于X86是不是真的过时了,你可以看我以前的一个贴子讲的是82559网卡性能的,其中阐述了这个观点。
内容过滤与VPN,这只能靠硬件芯片来支持。
600M的通用CPU力不从心。
但一旦有硬件可以plug-in上,一切就又都解决了不是么。
你说的那些加密芯片目前NP还用不上,只能用在X86上。
NP的VPN随道数据中的加解密也靠这600M的CPU,不光光是维护随道信息,至少IXP2400是这样,2850会好一些。
但防火墙的连接状态是你想像的那样。
IXP425与IXP2400同是NP处理器,但实现难度一个天上,一个地下。
前者是类X86,后者则不然
--------------------------------------------------------------------------------
javacx回复于:
2006-04-0716:
19:
52
感谢你的回帖。
。
。
。
。
。
刚刚出去同客户交流就用上了你的知识。
。
。
一个字爽。
。
。
贴已经拜读了。
。
。
十分崇敬啊。
。
。
呵呵。
。
。
--------------------------------------------------------------------------------
churennan回复于:
2006-04-1000:
46:
19
看了各位的帖子,涨知识了,但不知为何思科的都是基于x86的,而且还是千兆级别的高端防火墙.
--------------------------------------------------------------------------------
depthblue_xsc回复于:
2006-04-1016:
33:
17
np,asic炒作的成分大一些,不过在高端上有优势,x86的优势也很明显
市场才是做重要的。
--------------------------------------------------------------------------------
superwiles回复于:
2006-04-1119:
11:
49
你对np的了解还很不够,其实ixp2400的bug很多,其架构在np领域里面也不是真正的主流,
有机会可以试试128core的mips芯片,
--------------------------------------------------------------------------------
skipjack回复于:
2006-04-1120:
03:
53
引用:
原帖由superwiles于2006-4-1119:
11发表
你对np的了解还很不够,其实ixp2400的bug很多,其架构在np领域里面也不是真正的主流,
有机会可以试试128core的mips芯片,
呵呵...超级潜水员,给你pm了。
ixp2400也只有用过才知道有bug,如果没有bug现在岂不是已进入NP年代了?
所以有人问我做某某产品的时候NP会不会好些,我一般都不推荐,呵呵...
NP做交换可以,但做防火墙及防火墙以上应用就是个失败的产品,这点你同意吗?
多核厂商的说词和以前NP推广时是一样的,只有用过才知道。
128core的mips没试过,只试过10core的mips,没用专用协议栈,因为出价90K$。
性能...你应该比我了解:
)
--------------------------------------------------------------------------------
xautofzx回复于:
2006-04-1302:
26:
07
分析得比较透彻。
--------------------------------------------------------------------------------
cnadl回复于:
2006-04-1307:
56:
55
引用:
原帖由churennan于2006-4-1000:
46发表
看了各位的帖子,涨知识了,但不知为何思科的都是基于x86的,而且还是千兆级别的高端防火墙.
不全是,而且当初pixos在理念上还是有独到可取之处的。
--------------------------------------------------------------------------------
eclosion回复于:
2006-04-1310:
48:
17
F5的负载均衡产品和RADWARE的产品,前者用的X86,后者用的ASIC和NP。
从性能和稳定性上讲,不知道哪家产品好一些呢
看到阿里巴巴用的F5的3DNS和BIG/IP产品,RADWARE的产品在国内好像用的不多。
--------------------------------------------------------------------------------
cnadl回复于:
2006-04-1312:
52:
20
引用:
原帖由eclosion于2006-4-1310:
48发表
F5的负载均衡产品和RADWARE的产品,前者用的X86,后者用的ASIC和NP。
从性能和稳定性上讲,不知道哪家产品好一些呢
看到阿里巴巴用的F5的3DNS和BIG/IP产品,RADWARE的产品在国内好像用的不多。
都不少。
比较以前说过了,现在也还是差不多。
--------------------------------------------------------------------------------
wheel回复于:
2006-04-2113:
10:
04
引用:
原帖由javacx于2006-4-711:
08发表
哈哈...NP的数据层与控制层同步是个大问题,寄存器少也是问题。
有时候一个功能写完之后,一编译报错说寄存器不够了。
最近关注了一下老兄的所发的贴。
好。
敢问现在使用的NP都那些型号的?
这些型号能达到什么...
NP的常用的有IXP42?
?
?
和MPC82xx/603E,其中IXP是AMR的构架,MPC是power的核,NP在小字节下比X86快,还有就是也是最重要的,价格低阿。
。
IXP的CPU,比如IXP425的CPU还不到100元人民币,X86的你能100那到CPU吗?
并且IXP里还带了桥。
这样一个板200不到就ok了。
内存可以预留接口,用通用的,价格