防火墙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带宽接入互联网的办公机构没有必要去选择千兆防火墙。 
其次,在防火墙的安全功能与性能之间做出折衷。防火墙存在着功能与性能的矛盾,根据预定的安全策略,防火墙在协议栈的不同层次对流量进行检查,决定对流量 的控制措施(允许通过或丢弃)。检查的层次越高,防火墙消耗的资源就越多,花费的时间就越长,性能就会越低。在应用环境时要考虑网络拓扑,用户规模,流量 带宽,通信类型和环境的复杂恶劣程度等。
最后,技术支持与服务,在选择安全产品的时候,厂家或商家的技术支持与服务能力也应该是重要的考虑因素。

防火墙x86架构和ASIC架构和NP架构的区别相关推荐

  1. X86虚拟化之三种服务器虚拟化战略架构

    2019独角兽企业重金招聘Python工程师标准>>> 厚朴[HOPE]工作室 新闻中心 厚朴新闻 专题培训 团队锦囊 协同工作 项目管理 组织架构 师资顾问 设备资产 排忧解难 原 ...

  2. 富士通台式电脑_英特尔X86架构霸权终将崩塌,ARM架构才是未来PC电脑市场的王者?...

    人们日常接触到的各类处理器芯片,通常是基于X86架构或者ARM架构.一般认为,X86架构用的是复杂指令集(CISC),强调高性能,更适合台式机.服务器:ARM架构用的是精简指令集(RISC),强调低功 ...

  3. 所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器......

    警告:所生成项目的处理器架构"MSIL"与引用"***"的处理器架构"x86"不匹配.这种不匹配可能会导致运行时失败.请考虑通过配置管理器更 ...

  4. x86跑android,ARM跑Win,X86跑安卓,为什么两种架构互相“踢馆”?

    原标题:ARM跑Win,X86跑安卓,为什么两种架构互相"踢馆"? 最近,Android X86项目终于升级到了Android 11底层,基于安卓的Bliss OS 14也因此让X ...

  5. 安卓模拟器 arm linux,让x86的android模拟器能模拟arm架构系统

    原标题:让x86的android模拟器能模拟arm架构系统 网上介绍共计三种模拟器比较常用,分别是bluestacks.andy和Genymotion,前者支持ARM架构,中者支持远程控制,后者启动速 ...

  6. android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种

    Android 相关七种 CPU 架构适配,android七种 转载请注明出处:http://blog.csdn.net/kester_/article/details/71055901 NDK 开发 ...

  7. 游戏行业如何上云?阿里云架构师解读四大主流游戏架构

    游戏行业是阿里云最早聚焦的行业之一,近年来游戏行业的变化.云计算产品技术的变化都与日俱进.随着行业业务的变化.技术架构的演进以及阿里云产品的迭代演进,整体的产品技术选型在不同的游戏场景.业务场景也不尽 ...

  8. 阿里P8架构师深度概述互联网分布式架构

    简介 作为一名架构师,我们要专业,要能看懂代码,及时光着臂膀去机房,也能独挡一面!及时同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室上滔滔不绝,如若无人,让不懂技术 ...

  9. 微服务架构设计实践系列之五:架构准备阶段

    微服务架构设计实践系列之五:架构准备阶段 原文:微服务架构设计实践系列之五:架构准备阶段 版权声明: https://blog.csdn.net/beyondself_77/article/detai ...

最新文章

  1. Go 学习笔记(33)— Go 自定义类型 type(自定义结构体、结构体初始化、结构体内嵌、自定义接口)
  2. 输入一个数组,逆序存放在另一个数组并输出
  3. Python解析命令行读取参数 -- argparse模块
  4. 计算机基础与应用课程小结,计算机应用基础课程小结.docx
  5. 混淆视听的感脚(二)
  6. container_of宏
  7. python中max()、min()获得最大值与最小值_(Python基础教程之十)Python max()和min()–在列表或数组中查找最大值和最小值...
  8. T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!...
  9. surface远程登录桌面字小_office365账号赠送(office桌面版+5Tonedrive)
  10. 装载机液压系统原理图分析方法
  11. LinUX接收蓝牙音频,Win10 v2004已重新支持蓝牙A2DP音频串流接收功能
  12. JAVA把一个流赋给新的一个流_2020重新出发,JAVA基础,输入/输出(I/O)流
  13. 三角肌前束(02):哑铃交替前举
  14. 手机端(APP点灯blinker)-PC端(Node-red)-设备端(ESP32)-客户端(MQTTX客户端)四者之间的通信——通过MQTT通信(上)
  15. 无数的讽刺侮辱挖苦打击否定不屑与嘲笑,只有罗永浩才撑得住吧
  16. 线性系统粗浅认识——第七次作业
  17. 智慧社区综合管理平台——需求文档(第九组)
  18. 经济基础知识(初级)【8】
  19. 华硕主板电脑开机后一直反复进入BIOS界面解决办法(其中之一)
  20. python爬虫爬取漫画(仅供学习)

热门文章

  1. HTML5之Viewport详解
  2. cxf restful
  3. 使用ASP.NET Atlas开发随输入内容自动调整行数的textarea(转)
  4. CNN人脸关键点检测
  5. 【运维安全】- 总结
  6. python大佬养成计划----HTML网页设计一
  7. Python自动化开发学习的第十一周----WEB基础(jquery)
  8. 同一台服务器上面安装多个mysql数据库
  9. 《OpenGL ES 2.0游戏开发(上卷):基础技术和典型案例》一6.6 本章小结
  10. CentOS 7.2 时间同步与时区设置