博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5152|回复: 9

防火墙设计中的一些重点问题

[复制链接]
发表于 2007-5-3 06:13:31 | 显示全部楼层 |阅读模式
1.方案:硬件?还是软件?

现在防火墙的功能越来越多越花哨,如此多的功能必然要求系统有一个高效的处理能力。

防火墙从实现上可以分为软件防火墙和硬件防火墙。软件防火墙以checkpoint公司的Firewall-I为代表,其实现是通过 dev_add_pack的办法加载过滤函数(Linux,其他操作系统没有作分析,估计类似),通过在操作系统底层做工作来实现防火墙的各种功能和优化。国内也有一些所谓的软件防火墙,但据了解大多是所谓“个人”防火墙,而且功能及其有限,故不在此讨论范围。

在国内目前已通过公安部检验的防火墙中,硬件防火墙占绝大多数。硬件防火墙一种是从硬件到软件都单独设计,典型如Netscreen防火墙不但软件部分单独设计,硬件部分也采用专门的ASIC集成电路。

另外一种就是基于PC架构的使用经过定制的通用操作系统的所谓硬件防火墙。目前国内绝大

多数防火墙都属于这种类型。

虽然都号称硬件防火墙,国内厂家和国外厂家还是存在着巨大区别。硬件防火墙需要在硬件和软件两方面同时下功夫,国外厂家的通常做法是软件运算硬件化,其所设计或选用的运行平台本身的性能可能并不高,但它将主要的运算程序(查表运算是防火墙的主要工作)做成芯片,以减少主机CPU的运算压力。

国内厂家的防火墙硬件平台基本上采用通用PC系统或工业PC架构(直接原因是可以节省硬件开发成本),在提高硬件性能方面所能做的工作仅仅是提升系统CPU的处理能力,增大内存容量而已。现在国内防火墙的一个典型结构就是:工业主板+x86+128(256)M内存+DOC/DOM+硬盘(或不要硬盘而另增加一个日志服务器)+百兆网卡 这 样一个工业PC结构。

在软件性能方面,国内外厂家的差别就更大了,国外(一些著名)厂家均是采用专用的操作系统,自行设计防火墙。

而国内所有厂家操作系统系统都是基于通用的 Linux,无一例外。各厂家的区别仅仅在于对Linux系统本身和防火墙部分(2.2内核为ipchains,2.4以后内核为netfilter)所作的改动量有多大。

事实上,Linux只是一个通用操作系统,它并没有针对防火墙功能做什么优化,而且其处理大数据量通信方面的能力一直并不突出,甚至比较低下(这也是 Linux一直只是低端服务器的宠儿的重要原因,我自己认为,在这一点上它还不如BSD系列,据说国外有用BSD做防火墙的,国内尚未见到)。

现在绝大部分厂家,甚至包括号称国内最大的天融信,在软件方面所作的工作无非也就是系统有针对性的裁减、防火墙部分代码的少量改动(绝大部分还是没有什么改动)和少量的系统补丁。而且我们在分析各厂家产品时可以注意这一点,如果哪个厂家对系统本身做了什么大的改动,它肯定会把这个视为一个重要的卖点,大吹特吹,遗憾的是似乎还没有什么厂家有能力去做宣传(天融信似乎有一个类似于checkpoint的功能:开放式的安全应用接口 TOPSEC,但它究竟做了多少工作,还需要去仔细了解)。

目前国内厂家也已经认识到这个问题,有些在做一些底层的工作,但有明显成效的,似乎还没有。

在此我们仅针对以Linux(或其他通用操作系统)为基础的、以PC架构为硬件载体的防火墙做讨论,以下如不特别提出,均同。

2.内核和防火墙设计

现在有一种商业卖点,即所谓“建立在安全操作系统之上的第四代防火墙”(关于防火墙分代的问题,目前有很多讨论,比较一致的是把包过滤防火墙称为第一代防火墙,把应用型防火墙(一般结合了包过滤功能,因此也成为混合型防火墙)称为第二代防火墙,有些厂家把增加了检测通信信息、状态检测和应用监测的防火墙称为第三代防火墙,更有甚者在此基础上提出了采用安全操作系统的防火墙,并把这个称为第四代防火墙)。所谓安全操作系统,其实大多用的还是Linux,所不同的是需要做一些内核加固和简单改造的工作,主要有以下: 取消危险的系统调用,或者截获系统调用,稍加改动(如加载一些llkm);

限制命令执行权限;

取消IP转发功能;

检查每个分组的接口;

采用随机连接序号;

驻留分组过滤模块;

取消动态路由功能;

采用多个安全内核(这个只见有人提出,但未见到实例,对此不是很清楚)。

以上诸多工作,其实基本上都没有对内核源码做太大改动,因此从个人角度来看算不上可以太夸大的地方。

对于防火墙部分,国内大部分已经升级到2.4内核所支持的netfilter。netfilter已经是一个功能比较完善的防火墙框架,它已经支持基于状态的监测(通过connection track模块实现)。而且netfilter是一个设计很合理的框架,可以在适当的位置上登记一些需要的处理函数,正式代码中已经登记了许多处理函数,如在NF_IP_FORWARD点上登记了装发的包过滤功能(包过滤等功能便是由这些正式登记的函数实现的)。我们也可以登记自己的处理函数,在功能上作扩展(如加入简单的IDS功能等等)。这一点是国内厂家可以做文章的地方,至于netfilter源码的修改,对国内厂家来说似乎不太现实。

至于采用其它防火墙模型的,目前还没有看到(可能是netfilter已经设计的很成功,不需要我们再去做太多工作)。

3.自我保护能力(安全性)

由于防火墙的特殊功能和特殊位置,它自然是众多攻击者的目标,因此它的自我包括能力在设计过程中应该放在首要的位置。

A.管理上的安全性

防火墙需要一个管理界面,而管理过程如何设计的更安全,是一个很重要的问题。目前有两种方案。

a.设置专门的服务端口

为了减少管理上的风险和降低设计上的难度,有一些防火墙(如东方龙马)在防火墙上专门添加了一个服务端口,这个端口只是用来和管理主机连接。除了专用的服务口外,防火墙不接受来自任何其它端口的直接访问。这样做的显著特点就是降低了设计上的难度,由于管理通信是单独的通道,无论是内网主机、外网主机还是DMZ内主机都无法窃听到该通信,安全性显然很高,而且设计时也无需考虑通信过程加密的问题。

然而这样做,我们需要单独设置一台管理主机,显然太过浪费,而且这样管理起来的灵活性也不好。

b.通信过程加密

这样无需一个专门的端口,内网任意一台主机都可以在适当的情况下成为管理主机,管理主

机和防火墙之间采用加密的方式通信。

目前国内有采用的是使用自定义协议、一次性口令认证。对加密这个领域了解不多,不做详

细讨论。

B.对来自外部(和内部)攻击的反应能力

目前常见的来自外部的攻击方式主要有:

a.DOS(DDOS)攻击

(分布式)拒绝服务攻击是目前一种很普遍的攻击方式,在预防上也是非常困难的。目前防火墙对于这种攻击似乎没有太多的解决办法,主要是提高防火墙本身的健壮性(如增加缓冲区大小)。在Linux内核中有一个防止Syn flooding攻击的选项:CONFIG_SYN_COOKIES,它是通过为每一个Syn建立一个缓冲(cookie)来分辨可信请求和不可信请求。另外对于ICMP攻击,可以通过关闭ICMP 回应来实现。

b.IP假冒(IP spoofing)

IP假冒是指一个非法的主机假冒内部的主机地址,骗取服务器的“信任”,从而达到对网络的攻击目的。

第一,防火墙设计上应该知道网络内外的IP地址分配,从而丢弃所有来自网络外部但却有内部地址的数据包。实际实现起来非常简单,只要在内核中打开rp_filter功能即可。

第二,防火墙将内网的实际地址隐蔽起来,外网很难知道内部的IP地址,攻击难度加大。IP假冒主要来自外部,对内网无需考虑此问题(其实同时内网的IP假冒情况也可以得到遏制)。

c.特洛伊木马

防火墙本身预防木马比较简单,只要不让系统不能执行下载的程序即可。

一个需要说明的地方是必须指出的是,防火墙能抗特洛伊木马的攻击并不意味着内网主机也能防止木马攻击。事实上,内网主机可能会透过防火墙下载执行携带木马的程序而感染。内网主机的在预防木马方面的安全性仍然需要主机自己解决(防火墙只能在内网主机感染木马以后起一定的防范作用)。

d.口令字攻击

口令字攻击既可能来自外部,也可能来自内部,主要是来自内部。(在管理主机与防火墙通过单独接口通信的情况下,口令字攻击是不存在的)

来自外部的攻击即用穷举的办法猜测防火墙管理的口令字,这个很容易解决,只要不把管理部分提供给外部接口即可。

内部的口令字攻击主要是穷举和嗅探,其中以嗅探危害最大。嗅探指监测网络截获管理主机给防火墙的口令字,如果口令字已加密,则解密得到口令字。目前一般采用一次性口令和禁止直接登录防火墙的措施来防止对口令字的攻击。

e.邮件诈骗

邮件诈骗是目前越来越突出的攻击方式。防火墙本身防止邮件诈骗非常简单,不接收任何邮件就可以了。然而象木马攻击一样,内网主机仍可收发邮件,邮件诈骗的危险仍然存在,其解决办法一个是内网主机本身采取措施防止邮件诈骗,另一个是在防火墙上做过滤。

f.对抗防火墙(anti-firewall)

目前一个网络安全中一个研究的热点就是对抗网络安全产品如防火墙。一种是分析防火墙功能和探测防火墙内部网络结构,典型的如Firewalk。另外有一些其他的网络安全性分析工具本身具有双刃性,这类工具用于攻击网络,也可能会很有效的探测到防火墙和内部网络的安全缺陷,典型的如SATAN和ISS公司的 Internet Security Scanner。目前对于这种探测(攻击)手段,尚无有效的预防措施,因为防火墙本身是一个被动的东西,它只能靠隐藏内部网络结构和提高自身的安全性来对抗这些攻击。

C.透明代理的采用

应用代理防火墙一般是通过设置不同用户的访问权限来实现,这样就需要有用户认证体系。以前的防火墙在访问方式上主要是要求用户登录进系统(如果采用 sock代理的方式则需要修改客户应用)。透明代理的采用,可以降低系统登录固有的安全风险和出错概率,从而提高了防火墙的安全性。
  4.透明性

防火墙的透明性指防火墙对于用户是透明的,在防火墙接入网络时,网络和用户无需做任何设置和改动,也根本意识不到防火墙的存在。

防火墙作为一个实际存在的物理设备,要想放入已存在地网络中又不对网络有任何影响,就必须以网桥的方式置入网络。传统方式下,防火墙安装时,更象是一台路由器或者网关,原有网络拓扑结构往往需要改变,网络设备(包括主机和路由器)的设置(IP和网关、DNS、路由表等等)也需要改变。但如果防火墙采用了透明模式,即采用类似网桥的方式运行,用户将不必重新设定和修改路由,也不需要知道防火墙的位置,防火墙就可以直接安装和放置到网络中使用。

透明模式最大的好处在于现有网络无需做任何改动,这就方便了很多客户,再者,从透明模式转换到非透明模式又很容易,适用性显然较广。当然,此时的防火墙仅仅起到一个防火墙的作用,其他网关位置的功能如NAT、VPN功能不再适用,当然,其他功能如透明代理还可以 继续使用。

目前透明模式的实现上可采用ARP代理和路由技术实现。此时防火墙相当于一个ARP代理的功能。内网(可以仍含有路由器或子网,依次类推)、防火墙、路由器的位置大致如下:

内网―――――防火墙―――――路由器

(需要说明的是,这种方式是绝大多数校园网级网络的实现方式)

内网主机要想实现透明访问,必须能够透明的传送内网和路由器之间的ARP包,而此时由于事实上内网和路由器之间无法连通,防火墙就必须配置成一个ARP代理(ARP Proxy)在内网主机和路由器之间传递ARP包。防火墙所要做的就是当路由器发送ARP广播包询问内网内的某一主机的硬件地址时,防火墙用和路由器相连接口的MAC地址回送ARP包;内网内某一主机发送ARP广播包询问路由器的硬件地址时,防火墙用和内网相连接口的MAC地址回送ARP包,因此路由器和内网主机都认为将数据包发给了对方,而实际上是发给了防火墙转发。

显然,此时防火墙还必须实现路由转发,使内外网之间的数据包能够透明的转发。另外,防火墙要起到防火墙的作用,显然还需要把数据包上传给本身应用层处理(此时实现应用层代理、过滤等功能),此时需要端口转发来实现(?这个地方不是十分清楚,也没找到相关资料)。透明模式和非透明模式在网络拓扑结构上的最大区别就是:透明模式的两块网卡(与路由器相连的和与内网相连的)在一个网段(也和子网在同一个网段);而非透明模式的两块网卡分别属于两个网段(内网可能是内部不可路由地址,外网则是合法地址)。

这个过程如下:

1. 用ARP代理实现路由器和子网的透明连接(网络层)

2. 用路由转发在IP层实现数据包传递(IP层)

3. 用端口重定向实现IP包上传到应用层(IP层)

前边我们讨论过透明代理,和这里所说的防火墙的透明模式是两个概念。透明代理主要是为实现内网主机可以透明的访问外网,而无需考虑自己是不可路由地址还是可路由地址。内网主机在使用内部网络地址的情况下仍然可以使用透明代理,此时防火墙既起到网关的作用又起到代理服务器的作用(显然此时不是透明模式)。

需要澄清的一点是,内外网地址的转换(即NAT,透明代理也是一种特殊的地址转换)和透明模式之间并没有必然的联系。透明模式下的防火墙能实现透明代理,非透明模式下的防火墙(此时它必然又是一个网关)也能实现透明代理。它们的共同点在于可以简化内网客户的设置而已。

目前国内大多防火墙都实现了透明代理,但实现了透明模式的并不多。这些防火墙可以很明显的从其广告中看出来:如果哪个防火墙实现了透明模式,它的广告中肯定会和透明代理区分开而大书特书的。

5.可靠性

防火墙系统处于网络的关键部位,其可靠性显然非常重要。一个故障频频、可靠性很差的产品显然不可能让人放心,而且防火墙居于内外网交界的关键位置,一旦防火墙出现问题,整个内网的主机都将根本无法访问外网,这甚至比路由器故障(路由器的拓扑结构一般都是冗余设计)更让人无法承受。

防火墙的可靠性也表现在两个方面:硬件和软件。

国外成熟厂商的防火墙产品硬件方面的可靠性一般较高,采用专门硬件架构且不必多说,采用PC架构的其硬件也多是专门设计,系统各个部分从网络接口到存储设备(一般为电子硬盘)集成在一起(一块板子),这样自然提高了产品的可靠性。

国内则明显参差不齐,大相径庭,大多直接使用PC架构,且多为工业PC,采用现成的网卡,DOC/DOM作为存储设备。工业PC虽然可靠性比普通PC要高不少,但是毕竟其仍然是拼凑式的,设备各部分分立,从可靠性的角度看显然不如集成的(著名的水桶原理)。

国内已经有部分厂家意识到了这个问题,开始自行设计硬件。但大多数厂家还是从成本的角度考虑使用通用PC架构。

另外一方面,软件可靠性的提高也是防火墙优劣的主要差别所在。而国内整个软件行业的可靠性体系还没有成熟,软件可靠性测试大多处于极其初级的水平(可靠性测试和bug测试完全是两个概念)。一方面是可靠性体系建立不起来,一方面是为了迎合用户的需求和跟随网络应用的不断发展,多数防火墙厂商一直处于不断的扩充和修改中,其可靠性更不能让人恭维。

总的来说,如同国内大多数行业(除了少数如航天、航空)一样,网络安全产品特别是防火墙的可靠性似乎还没有引起人们的重视。

6.市场定位

市场上防火墙的售价极为悬殊,从数万元到数十万元,甚至到百万元不等。由于用户数量不同,用户安全要求不同,功能要求不同,因此防火墙的价格也不尽相同。厂商因而也有所区分,多数厂家还推出模块化产品,以符合各种不同用户的要求。

总的说来,防火墙是以用户数量作为大的分界线。如checkpoint的一个报价:

CheckPoint Firewall-1 4.1 25user 19000.00

CheckPoint Firewall-1 4.1 50user 31000.00

CheckPoint Firewall-1 4.1 100user 51000.00

CheckPoint Firewall-1 4.1 250user 64000.00

CheckPoint Firewall-1 4.1 无限用户 131000.00

从用户量上防火墙可以分为:

a. 10-25用户:

这个区间主要用户为单一用户、家庭、小型办公室等小型网络环境。防火墙一般为10M(针对

硬件防火墙而言),两网络接口,涵盖防火墙基本功能:包过滤、透明模式、网络地址转换

、状态检测、管理、实时报警、日志。一般另有可选功能:VPN、带宽管理等等。

这个区间的防火墙报价一般在万元以上2万元以下(没有VPN和带宽管理的价格更低)。

据调查,这个区间的防火墙反而种类不多,也许是国内厂商不屑于这个市场的缘故?

b. 25-100用户

这个区间用户主要为小型企业网。防火墙开始升级到100M,三或更多网络接口。VPN、带宽管

理往往成为标准模块。

这个区间的防火墙报价从3万到15万不等,根据功能价格有较大区别。相对来说,这个区间上

硬件防火墙价格明显高于软件防火墙。

目前国内防火墙绝大部分集中在这个区间中。

c. 100-数百用户

这个区间主要为中型企业网,重要网站、ISP、ASP、数据中心等使用。这个区间的防火墙较多考虑高容量、高速度、低延迟、高可靠性以及防火墙本身的健壮性。并且开始支持双机热备份。这个区间的防火墙报价一般在20万以上。这样的中高端防火墙国内较少,有也是25-100用户的升级版,其可用性令人怀疑。

d. 数百用户以上

这个区间是高端防火墙,主要用于校园网、大型IDC等等。我们接触较少,不多做讨论。当然其价格也很高端,从数十万到数百万不等。

总的来说,防火墙的价格和用户数量、功能模块密切相关,在用户数量相同的情况下,功能越多,价格就越贵。如Netscreen的百兆防火墙: NetScreen-100f(AC Power) -带防火墙+流量控制等功能,交流电源,没有VPN功能报价在¥260,000而在此基础上增加了128位VPN功能的报价则高出5万元:¥317,500

7. 研发费用

如同其他网络安全产品一样,防火墙的研发费用也是很高的。防火墙由于技术含量较高,人员技术储备要求较高,防火墙核心部分的研发必须要对操作系统有相当的熟悉,所需为UNIX系统下开发人员,而目前国内真正能拿的出手的UNIX程序员数量还是太少(远远少于Windows平台下开发人员),人员成本很高。

总的来说,防火墙的研发是一个大项目,而且其前期定位一定要准确,该做什么、不该做什么,哪些功能得实现,哪些功能不必实现、哪些功能可以在后期实现,一定要清楚,否则费用会远远超出预计。

下边对一个中小型企业级防火墙的研发费用作个简单的估计。

研发时,防火墙可以细分为(当然在具体操作时往往需要再具体划分):

内核模块

防火墙模块(含状态检测模块)

NAT模块

带宽管理模块

通信协议模块

管理模块

图形用户界面模块(或者Web界面模块)

透明代理模块(实质属于NAT模块)

透明模式模块(包括ARP代理子模块、路由转发子模块等)

各应用代理模块(包括URL过滤模块)

VPN模块

流量统计与计费模块

审计模块

其他模块(如MAC、IP地址绑定模块、简单的IDS、自我保护等等)

上边把防火墙划分为12个模块,其中每一个模块都有相当的工作量要做,除了弹性较大的内核模块和防火墙模块(它们的工作量可能异常的大,视设计目标不同),其他模块暂定10人周的话就需要120周(VPN的工作量也相当大),两个主模块各按20人周计算,防火墙实现总共需要150人周。加上前期10- 15人周论证、定方案,后期20人周(保守数字)集成、测试,前后总共需要约210人周。按每人周1200元开发费用(折合工资5000月,但由于有运行费用、保险等费用摊分,个人工资应远低于这个数字),开发费用约需25万。

显然,这个数字只是一个局外人估计的下限,实际的研发应该超出这个数字很多。

8. 可升级能力(适用性)和灵活性

对用户来说,防火墙作为大成本投入的商品,势必要考虑到可升级性的问题,如果防火墙不能升级,那它的可用性和可选择余地势必要大打折扣。目前国内防火墙一般都是软件可升级的,这是因为大多数防火墙采用电子硬盘(少数采用磁盘),实现升级功能只要很小的工作量要做。但究竟升级些什么内容?升级周期多长一次?这就涉及到一个灵活性的问题。

防火墙的灵活性主要体现在以下几点:

a. 易于升级

b. 支持大量协议

c. 易于管理(如纳入通用设备管理体系(支持SNMP)而不是单列出来)

d. 功能可扩展

这里对功能可扩展做一简单讨论。一般情况下,防火墙在设计完成以后,其过滤规则都是定死的,用户可定制的余地很小。特别如URL过滤规则(对支持URL过滤的防火墙而言),当前网络中的漏洞是不断发现的,如最近很猖獗的codered攻击的就是Windows机器IIS服务器的ida漏洞,而我们如果能够及时定义过滤规则,对于“GET /default.ida”的请求及时过滤,那么内网主机(此时一般为DMZ内主机)的安全性就会高很多,内网管理人员也不必时时密切关注网络漏洞(这是个工作量很大,既耗费体力又容易出现遗漏的工作)。这样大部分工作留给防火墙厂家来做(相应需要有一个漏洞监测体系),用户肯定会满意很多。另外,灵活性一开始也往往不是前期设计所能设计的很完美的,它需要和用户具体实践相配合。另外灵活性也是和具体环境密切结合的,往往需要在不同的用户环境里考虑。










第三类防火墙蓄势待发
——访CheckPoint公司中国区首席代表孙晓明

    在对销售业绩做分析时,CheckPoint公司发现越来越多的用户喜欢采用标准服务器做为防火墙软件的实现形式。CheckPoint公司中国首席代表孙晓明认为,防火墙软件和标准服务器的有机结合将会催生出第三类防火墙——标准服务器防火墙。

    标准服务器可以装载各种不同的操作系统,具有很大的灵活性。另外随着技术水平和检测水平越来越成熟,稳定性和可靠性也越来越受公认,这一点正是网络安全设备所必需的品质。而标准服务器防火墙可以实现用户量身定制,这一点是目前的防火墙硬件产品所不能实现的。

    在标准服务器防火墙中,CheckPoint为用户提供的是一个经过精简和强化的“Black CD”。“Black CD”是一个完整系统,可以支持很多操作系统,如Windows 2000/NT、Linux、Unix等。标准服务器防火墙能够有效保护用户投资,如果用户购买了一个中档标准服务器防火墙,由于业务拓展已经不能满足用户需求,该用户可以购买高档的标准服务器,以前中档标准服务器可以用来做数据服务器、WAP服务器等。CheckPoint为第三类防火墙设计好了业务渠道模式:代理商把CheckPoint的“Black CD”安装在各类标准服务器上提供给用户;如果用户已经有了一台标准服务器,用户只需购买一张CheckPoint的 Black CD即可。

    孙晓明预言,标准服务器防火墙将会成为今年的一个热点,也会成为用户选择的一个重点。在今年10月的Info-security展览会上,CheckPoint将正式推出标准服务器防火墙概念。届时,CheckPoint将会在展台上竖起一面Appliance Wall,各行各业的用户都会在这面墙上找到CheckPoint为其量身定作的防火墙产品。

    在业务发展方面,CheckPoint一直奉行开放和联盟的策略,这一策略使得专作防火墙软件的这家公司拥有多种硬件实现形式。CheckPoint的具体作法是,自己集中做软件,硬件交由专业合作伙伴去做。如今,CheckPoint的开放和联盟策略又有了新的内涵,通过界定标准服务器防火墙,它又寻找到了新的联盟对象——标准服务器厂商。孙晓明先生表示,CheckPoint将和Dell、HP、联想等众多工业标准服务器厂家一起合作,来推广标准服务器防火墙。
 楼主| 发表于 2007-5-3 23:14:52 | 显示全部楼层
深入学习与掌握
 楼主| 发表于 2007-5-7 13:23:16 | 显示全部楼层
 楼主| 发表于 2007-5-7 13:26:43 | 显示全部楼层
居然没人学习,没人顶,可悲
 楼主| 发表于 2007-5-17 19:36:30 | 显示全部楼层
为了满足用户的更高要求,防火墙体系架构经历了从低性能的x86、PPC软件防火墙向高性能硬件防火墙的过渡,并逐渐向不但能够满足高性能,也需要支持更多业务能力的方向发展。
  防火墙在经过几年繁荣的发展后,已经形成了多种类型的体系架构,并且这几种体系架构的设备并存互补,并不断进行演变升级。
  防火墙体系架构“老中青”
  防火墙的发展从第一代的PC机软件,到工控机、PC-Box,再到MIPS架构。第二代的NP、ASIC架构。发展到第三代的专用安全处理芯片背板交换架构,以及“All
In One”集成安全体系架构。
  为了支持更广泛及更高性能的业务需求,各个厂家全力发挥各自优势,推动着整个技术以及市场的发展。
  目前,防火墙产品的三代体系架构主要为:
  第一代架构:主要是以单一CPU作为整个系统业务和管理的核心,CPU有x86、PowerPC、MIPS等多类型,产品主要表现形式是PC机、工控机、PC-Box或RISC-Box等;
  第二代架构:以NP或ASIC作为业务处理的主要核心,对一般安全业务进行加速,嵌入式CPU为管理核心,产品主要表现形式为Box等;
  第三代架构:ISS(Integrated Security
System)集成安全体系架构,以高速安全处理芯片作为业务处理的主要核心,采用高性能CPU发挥多种安全业务的高层应用,产品主要表现形式为基于电信级的高可靠、背板交换式的机架式设备,容量大性能高,各单元及系统更为灵活。
  

  防火墙三代体系架构业务特性、性能对比分布图
  

  基于FDT指标的体系变革
  衡量防火墙的性能指标主要包括吞吐量、报文转发率、最大并发连接数、每秒新建连接数等。
  吞吐量和报文转发率是关系防火墙应用的主要指标,一般采用FDT(Full Duplex
Throughput)来衡量,指64字节数据包的全双工吞吐量,该指标既包括吞吐量指标也涵盖了报文转发率指标。
  FDT与端口容量的区别:端口容量指物理端口的容量总和。如果防火墙接了2个千兆端口,端口容量为2GB,但FDT可能只是200MB。
  FDT与HDT的区别:HDT指半双工吞吐量(Half Duplex
Throughput)。一个千兆口可以同时以1GB的速度收和发。按FDT来说,就是1GB;按HDT来说,就是2GB。有些防火墙的厂商所说的吞吐量,往往是HDT。

  一般来说,即使有多个网络接口,防火墙的核心处理往往也只有一个处理器完成,要么是CPU,要么是安全处理芯片或NP、ASIC等。
  对于防火墙应用,应该充分强调64字节数据的整机全双工吞吐量,该指标主要由CPU或安全处理芯片、NP、ASIC等核心处理单元的处理能力和防火墙体系架构来决定。
  对于不同的体系架构,其FDT适应的范围是不一样的,如对于第一代单CPU体系架构其理论FDT为百兆级别,对于中高端的防火墙应用,必须采用第二代或第三代ISS集成安全体系架构。
  基于ISS机构的第三代安全体系架构,充分继承了大容量GSR路由器、交换机的架构特点,可以在支持多安全业务的基础上,充分发挥高吞吐量、高报文转发率的能力。
  防火墙体系架构经历了从低性能的x86、PPC软件防火墙向高性能硬件防火墙的过渡,并逐渐向不但能够满足高性能也需要支持更多业务能力的方向发展。
  ISS集成安全体系
  作为防火墙第三代体系架构,ISS根据企业未来对于高性能多业务安全的需求,集成安全体系架构,吸收了不同硬件架构的优势。
  恒扬科技推出了自主研发的SempSec、SempCrypt安全芯片和P4-M
CPU以及基于ISS集成安全系统架构的自主产权操作系统SempOS。它可以提升防火墙产品的报文过滤检测、攻击检测、加解密、NAT特性、VPN特性等各方面性能的同时,并可实现安全业务的全方面拓展。国微通讯也推出了基于ISS安全体系架构的GCS3000系列防火墙。
  ISS架构灵活的模块化结构,综合报文过滤、状态检测、数据加解密功能、VPN业务、NAT业务、流量监管、攻击防范、安全审计以及用户管理认证等安全功能于一体,实现业务功能的按需定制和快速服务、响应升级。
  ISS体系架构的主要特点:
  1.采用结构化芯片技术设计的专用安全处理芯片作为安全业务的处理核心,可以大幅提升吞吐量、转发率、加解密等处理能力;结构化芯片技术可编程定制线速处理模块,以快速满足客户需求;
  2.采用高性能通用CPU作为设备的管理中心和上层业务拓展平台,可以平滑移植并支持上层安全应用业务,提升系统的应用业务处理能力;
  3.采用大容量交换背板承载大量的业务总线和管理通道,其中千兆Serdes业务总线和PCI管理通道物理分离,不仅业务层次划分清晰,便于管理,而且性能互不受限;
  4.采用电信级机架式设计,无论是SPU安全处理单元、MPU主处理单元及其他各类板卡、电源、机框等模块在可扩展、可拔插、防辐射、防干扰、冗余备份、可升级等方面做了全方位考虑,真正地实现了安全设备的电信级可靠性和可用性;
  5.不仅达到了安全业务的高性能而且实现了“All in
One”,站在客户角度解决了多业务、多设备的整合,避免了单点设备故障和安全故障,大大降低了管理复杂度;
  6.通过背板及线路接口单元LIU扩展可提供高密度的业务接口。
 楼主| 发表于 2007-5-17 19:40:57 | 显示全部楼层
NP防火墙往高端发展,主要采用INTER的2400、2800以及HIFN的NP,而目前由于NP发展到后段技术难度越来越大,大部分公司已经放弃了此技术路线,包括东软,天融信都在采用已经被业界主流设备证明的FPGA快路径+CPU控制平面的技术路线。而联想的超五NP防火墙开发也已经基本停滞。


什么是FPGA? FPGA(Field Programmable Gate Array)即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的使用非常灵活,同一片FPGA通过不同的编程数据可以产生不同的电路功能。FPGA在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。随着功耗和成本的进一步降低,FPGA还将进入更多的应用领域。


如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。 例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。 幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nm FPGA独特的设计挑战。不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度帮助地系统设计工程师以更快、更高效的方式应用65nm FPGA器件。设计软件供应商Magma推出的综合工具Blast FPGA能帮助建立优化的布局,加快时序的收敛。 本应用设计专栏将重点关注FPFA设计及应用挑战,并带来FPGA半导体厂商、EDA厂商和FPGA应用设计工程师同行们的解决方案和应用经验。欢迎大家就此话题进入相关专题论坛板块讨论
 楼主| 发表于 2007-10-1 17:06:11 | 显示全部楼层
相信大家在日常电脑使用或CPU的广告介绍中时常听到见到“RISC”这个词,什么Pentium Ⅱ/Pro采用先进RISC技术……K6采用RISC86结构,从而……总之大凡稍高档点的中央处理器都称采用RISC技术。
  那么RISC究竟是什么东西呢?(如果你是电脑初学爱好者,并想从事电脑的开发、学习,那你应认真读一读,因为它是计算机技术中一个相当重要的环节)。

  首先,要了解RISC技术就该从计算机的指令谈起,我们都知道计算机的工作就是取指令、执行指令,一条指令一般给出的是操作码和地址码,这是基本的结构。

  然而指令又涉及以下几个问题。首先指令字长有多少位,是定字长还是变字长;其次,操作码结构需几位,位数是定量还是浮动量;再次,地址的结构和寻址方式如何。

  这种种因素使计算机指令产生了“简单指令”和“复杂指令”之分。70年代以前的计算机均用传统的CISC指令结构,即完全采用复杂指令来支持高级语言、应用程序和操作系统。这种PC不但成本高且效率较低,速度受限。

  后来人们发现机器执行的指令中85%左右的都是简单指令,复杂指令甚少,因此开始研制精简指令系统计算机(RISC)。自从Intel的Pentium问世以来(92年末),RISC技术更是得到了广泛的应用,并开始渗透到小、中、大型机领域,可谓发展前景一片光明。

  下面具体谈谈RISC技术。CPU执行运算速度受三个因素的影响(1)程序中指令数I,(2)每条指令执行所用周期数CPI,(3)周期时间T。这三者又有:程序执行时间=I*CPI*T,因此,从这个等式可看出减小其中任一个都可提高CPU的速度,因此RISC技术就从这三方面下手,对I、CPI、T进行优化改良,其措施如下:

  1、采用多级指令流水线结构

  采用流水线技术可使每一时刻都有多条指令重叠执行,以减小CPI的值,使CPU不浪费空周期。实例:Pentium Ⅱ/Pro/Celeron可同时发出执行五条指令,AMD-K6/K6-2可同时发出六条指令。

  2、选取机器中使用频率最高的简单指令及部分复杂指令

  这样可减小时钟周期数量,提高CPU速度,其实质是减小CPI下的值实现。实例:选取运算指令、加载、存储指令和转移指令作主指令集。

  3、采用加载(Load)、存储(Store)结构

  只允许Load和Store指令执行存储器操作,其余指令均对寄存器操作。实例:Amd-K6/K6-2、PⅡ/Celeron/Pro均支持对寄存器的直接操作和重新命名,并大大增加通用寄存器的数量。

  4、延迟加载指令和转移指令

  由于数据从存储器到寄存器存在二者速度差、转移指令要进行入口地址的计算,这使CPU执行速度大大受限,因此,RISC技术为保证流水线高速运行,在它们之间允许加一条不相关的可立即执行的指令,以提高速度。

  实例:主要体现于预测执行、非顺序执行和数据传输等方面,除Intel P54/55C不支持,像K6-2、PⅡ均支持。

  5、采用高速缓存(cache)结构

  为保证指令不间断地传送给CPU运算器,CPU设置了一定大小的Cache以扩展存储器的带宽,满足CPU频繁取指需求,一般有两个独立Cache,分别存放“指令+数据”。

  实例:PⅡ/Celeron:16K+16K,AMD-K6/K6-2为32K+32K,Cyrix MⅡ:64K(实也为2个32K Cache,此作共享Cache),PⅡ还加了L2 Cache,更是大幅提高了CPU速度。

  以上简谈了RISC的精髓,望对计算机爱好者有所帮助,希望你能在通向计算机宝库的大道上迈进一步!
 楼主| 发表于 2007-10-1 20:21:09 | 显示全部楼层
大B是byte字节,小b是bit位,1B=8*b
发表于 2008-7-1 16:25:48 | 显示全部楼层
RISC.....大学学过,都忘光了..
发表于 2008-8-2 08:20:32 | 显示全部楼层
顶顶,文章很不错,经典文章,收藏了,嘿嘿!~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-4-26 04:59 , Processed in 0.100000 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表