面试之防火墙软硬件架构

纯软件的防火墙大多都是基于PC架构的,可能会采用经过优化的OS作为其运行的平台,特点是:扩展性好、适应性强、容易升级而且成本远低于基于硬件的防火墙。

 

基于硬件的防火墙大多采用ASIC,而不需要OS的支持,其特点是:速度快、稳定性好、安全系数要高于软件的防火墙,但成本较高、扩展性和易升级性不如软件防火墙。

 

ASIC的全称为Application Specific Integrated Circuit,意思是专用集成电路,是一种带有逻辑处理的加速处理器,简单地说,ASIC就是利用硬件的逻辑电路实现软件的功能。网络产品采用ASIC技术的目的在于把一些原先由CPU完成的经常性工作交给专门硬件来负责完成,从而在性能上实现突破性的提高。ASIC技术目前已广泛应用于交换机、路由器、防火墙以及智能型IC卡身份证等领域。

 

CPU芯片与ASIC芯片各有优缺点。CPU最大的优点是灵活性高,它利用指令集和软件完成各种各样的工作,但是CPU的实际处理能力往往受PC机和通用操作系统的规格限制。ASIC则是以单一功能的集成电路来完成进程处理,虽然牺牲了灵活性但换来了高可靠性和强大的处理能力,属于“专用硬件”处理范畴。

 

ASIC芯片与CPU各有特点,在应用上也各有针对性。为了适应多种应用需求,人们希望采用CPU;在相对比较单一的领域,人们则希望ASIC能带来较高的运算效率。由于CPU和ASIC针对的应用领域不同,所以我们不能将两者进行简单对比,而是要看其具体应用领域而定。在某些技术的发展初期,为了节省开发成本,人们往往采用基于CPU的通用PC机来完成一些应用。随着技术的成熟以及应用程序的日趋复杂,人们开始考虑采用ASIC以达到更严格、高效的性能。这一发展趋势的典型例子是路由器的演变历程:PC路由软件->专用路由器->基于ASIC的路由交换机、交换路由器。同样,在安全领域,防火墙也正经历着一个相似的发展历程。防火墙的发展可大致概括为三个阶段:纯软件防火墙、软硬结合防火墙和ASIC硬件防火墙。

 

纯软件防火墙基于PC机,并运行在通用操作系统如Unix、Windows平台上。一般的操作系统并不是为网络安全定制的,因此不可避免地存在许多漏洞或Bug。这样,即使是经过防火墙过滤被认为是正常的数据包,也有可能是一个被用来攻击操作系统的“炸弹”。一旦操作系统被攻陷,防火墙也失去了价值。加上这类防火墙没有专有的资源,所有的工作都要与其他任务进程使用相同的资源,包括公用的CPU、RAM、PCI总线等等,防火墙的性能自然受到影响。

 

软硬结合的防火墙不再使用通用操作系统,而采用专用或自主研发(优化)的操作系统。这些为网络安全而定制的操作系统,从根本上解决了软件防火墙存在的安全性隐患,在整体处理性能上也比软件防火墙有了大的提高。但是这类防火墙的基本加密和解密等处理过程,仍然需要依靠软件去完成,仍属于PC结构的防火墙。

 

ASIC硬件防火墙近来有了长足的发展。随着网络建设复杂性的提高以及宽带网络的发展与普及,人们发现软硬结合防火墙在速度、功能、稳定性方面仍不尽如人意,这都成为促进ASIC硬件防火墙发展的动力。ASIC硬件防火墙采用ASIC芯片和多总线、并行处理方式,使原先需要上千甚至上万条指令才能完成的过程在瞬间由数个循环就可以完成,多总线结构保证在端口上有数据传送时防火墙内部仍然可以同时进行高效数据处理,不再受传统的“中断”限制。ASIC硬件防火墙采用专用操作系统,具有很高的安全性。事实上,这类防火墙的CPU通常只采用中端产品,但这并不妨碍独立工作的ASIC具有超高速处理能力,这是因为此类防火墙的操作系统和CPU只起ASIC硬件驱动和提供管理接口作用,只负责总体协调却不参与任何防火墙的基本处理。在ASIC芯片全力投入数据处理的时候,CPU仍然处于较低的使用状态,而不会影响到对设备管理的响应速度。所以ASIC硬件防火墙可以全面发挥自身的速度和处理能力,不受会话数量的影响。并且ASIC硬件防火墙彻底摆脱了PC结构的影响。

 

下面我们来对PC结构的防火墙和ASIC结构的防火墙作一个比较。PC结构的防火墙如果倾其所能去完成某一项任务时(如单策略、单会话状态下的地址转换),也可以达到或接近ASIC防火墙的处理能力,但是在典型的宽带应用环境中,数万甚至数十万的并行会话不仅对PC结构的防火墙带来更多的中断,而且使它的处理能力急剧下降;ASIC结构则不存在这个问题,会话数的多少对处理能力几乎没有影响。在加密、解密能力方面,PC结构的防火墙需要借助昂贵的加密卡才能达到一定处理速度;而ASIC芯片集成了防火墙基本操作,即便在运行高强度加、解密的情况下处理速度也不会有太大的降低。在短期与长期成本方面,ASIC防火墙购置成本虽然要比软件防火墙高,但是考虑到企业网络未来的升级,ASIC防火墙能够有效保护企业的现有投资,节省日常维护费用。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java架构面试是指在面试过程中,主要围绕Java开发所涉及的各种架构设计、应用和实践进行的问题和讨论。 在Java架构面试中,一般会被问到以下几个方面的问题: 1. Java基础知识: 面试官可能会问到Java的基础知识,例如Java的特点、面向对象的特性、多线程、异常处理、集合等知识点。考查面试者对Java语言的熟悉程度和深度。 2. JavaEE架构面试官可能会询问JavaEE的各个层次的架构,例如:Web层、业务逻辑层、数据访问层、数据库层等。需要面试者了解各个层级的设计原则和使用技巧。 3. Spring框架: Spring是目前Java开发中最流行的框架之一。面试官可能会问到Spring框架的使用方式、IOC和DI思想、AOP编程等方面的问题。需要面试者掌握Spring框架的基本原理和常用功能。 4. 分布式架构: 随着云计算和大数据的兴起,分布式系统也变得越来越重要。面试官可能会问到分布式系统的设计思想、CAP定理、微服务架构等相关问题。需要面试者了解分布式系统的设计原则和常见的解决方案。 5. 中间件和缓存技术: 面试官可能会问到Java中常用的中间件和缓存技术,例如消息中间件、缓存数据库等。需要面试者了解各种中间件和缓存技术的使用场景和原理。 在应对Java架构面试时,需要对Java的基础知识、各种架构设计和常用的技术有很好的了解和实践经验。同时,还需要具备良好的沟通能力,能够清晰地表达自己的思路和观点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值