dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

堕落街论坛多乐前线灌水乐园 → 防火墙的会话性能标称是什么意思


  共有329人关注过本帖树形打印

主题:防火墙的会话性能标称是什么意思

帅哥哟,离线,有人找我吗?
weishengh
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:宝宝 主题:1 精华:0 贴子:1 排名:9684 威望:0 排名:0 注册:2007/11/18 12:20:04 近访:2007/11/18 12:41:26
防火墙的会话性能标称是什么意思  发贴心情 Post By:2007/11/18 12:45:00

防火墙的会话标称是一个仅与防火墙建制内存多少有关的指标,因此,也成为一些厂商胡弄用户的窍门,注意一个特点:国产防火墙的会话标称总是远远超过进口的防火墙。某种程度上,也说明国产软件业在技术上的虚弱,缺乏严谨的精神。
防火墙能支持多少数量的会话标称,本来是标示防火墙性能的一个重要指标。但近来有些厂家利用部分消费者,特别是政府部门的购买者不了解参数含义的机会,对该指标进行任意拨高,已经令会话指标对许多防火墙产品的选购,在很大程度上失去了参考意义。那么,防火墙的会话,到底是一种怎么样的性能呢?

    如果是普通的包过滤防火墙,无所谓会话。这种防火墙通常见第一代的国产防火墙,很多就是用 ipchains改造过来的。对于这种防火墙,重要的性能指标是防火墙的吞吐量,或称滤通量;以及包过滤的时延。会话,只对提供状态检测的防火墙才有意义。

    但现在的防火墙都要求提供网络连接检测。众所周知,TCP是有状态的连接,状态检测的防火墙能根据该 IP包所属的连接是新的还是旧的,决定该IP包是否符合防火墙的政策约定。因此,防火墙必须在内存中保留这一记录,这就是会话的由来,每一个连接,就是一个会话。由于目前的防火墙一般工作中转接网关,存在着大转小这样的情况,如内部网是百兆,而上网的ADSL拨号是500K这种。因此,由于网络变窄,部分连接请求不能马上实施,只能在内部队列中一个个地招待,这样,对于没有连接状态的部分请求,在保持在防火墙内存排队时,目前也算是一个会话。大部分防火墙都是由linux或类似的操作系统发展来的,包括screen OS和checkpoint,因此,他们的原理有共通性。这里就以netfilter作一个例子进行说明。只要在netfilter中编译进 mod_conntrack模块,防火墙就具备了进行状态检测,或称状态跟踪的功能。

    防火墙支持多少会话,仅取决于防火墙的内存多少,系统会自动采用所有内存,直接内存用光,系统崩溃为止。因此,许多防火墙根据自已的内存的多少,设定一个参数ip_conntrack_max的大小。有这个限制,一旦系统记录的会话达到这个数值,系统就不再建立新的会话。所以,一个防火墙如果单纯希望增大这个参数,仅需要增加内存(10万会话约消耗45M内存),然后不顾一切地把 ip_conntrack_max设定大大的,别说一百万,就是算一千万也是可以达到的。

    那么一般防火墙需要多少会话呢?用两种应用举个例子。象http,每一个href都将是一个连接,包括每一个的图片,因此,浏览一个网页,常常是同时出现二十个连接以上。这种连接迅速而来,又迅速完成(网页下载都有一个速度要求)。而ftp和telnet 就是另一个例子,就算下载上百兆的文件,也只是一个连接;而使用多线程下载工具,象netant,每一个线程都是一个连接。因此,假设是一个500人的网络需要上网,其中同时浏览的有100人(平均20秒刷新一次),另外200人打QQ,50人使用十个线程下载文件,还有50 人进行如telnet,数据库访问这样的会话;如果没有出口瓶颈,那么,实际的会话数估计是在千以上附近。但如果有出口限制,那么就可能升级到万以上。但无论是多大的网,达到几万以上的也是极为罕见的,真的出现了这种情况,很可能是感染了如冲击波这类的病毒。

    防火墙最通常铁使用是内部的子网分隔,这部分也会产生一部分会话请求。对于百兆/千兆这种一般的网络环境来说,大致有十万以上的会话能力的防火墙,也基本上足够了。保持太多的会话对防火墙没有必要,相反,当系统资源过多地用在会话保持的话,会相应损害每秒生成会话的能力,这是一个同样重要的性能指标。设定过高的会话数量,却降低了每秒生成会话的能力,其结果,只能是保留一些永远用不到的会话虚数而已。每秒生成会话能力,也称会话速率,主要与CPU处理能力/寄存器的数量,以及操作系统内核是否利用这一处理能力有关。相对而言,这是使用X86的系统比较弱的部分,包括nokia,而使用RISC的系统,速动会话的能力就比较高,相应地,保持最大会话的能力也比较弱。

    对于X86/Linux/BSD的防火墙来说,会话最大保持在10万到30万是比较合理的。如果使用非常强大的主板,而且linux针对这种主板进行了一些底层优化(主要是优化对寄存器-内存之间访问的过程),可以在不损害会话速率等性能的情况下把会话达到50万到60万。这是目前本人所知的最大极限。

    会话的性能需要内存,如果考虑防火墙和操作系统本身展开需要128M内存左右的话,那么40万会话就要消耗约180M,意味着是300M内存以上才有可能。由此,也可以知道一些产品的标称是否有弄虚作假的成分。
转自:杜松之家-juniper技术论坛   
  

0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
伊义
  2楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 水王元老执法TS 我不相信
等级:研二 主题:266 精华:1 贴子:7405 排名:22 威望:27 排名:49 注册:2004/5/24 12:46:00 近访:2025/11/7 20:30:54
  发贴心情 Post By:2007/11/18 15:26:00

太专业了

看不蛮懂



Media Star

再也不要孤单

0 支持(0中立(0反对(0回到顶部