免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: R9_Alien
打印 上一主题 下一主题

[网络管理] (转)《如何鉴别硬件防火墙性能的差异》对比netfilter的一些问题! [复制链接]

论坛徽章:
0
1 [报告]
发表于 2006-02-13 10:40 |显示全部楼层
原帖由 platinum 于 2006-2-10 08:58 发表
稳定性
  软件防火墙是放在自己的 PC 上的,PC 的质量和各个厂家经过严格测试过的硬件产品来比,稳定性可能差一些,比如软件与硬件的兼容性、网卡性能等

性能
  我们目前使用的软件防火墙全是放在 PC 里 ...


没有这么比的吧?所谓“比较”应该在相同或相当的档次上进行比较。你的ASIC体系要多少银子?PC体系要多少银子??根本不可比嘛!

软防火墙根本弱点在于“延迟”。延迟比硬防火墙大很多很多。
除此之外,软的都比(相同价位的)硬的强得多得多得多。

如果对延迟没有要求(没有大吞吐量的实时应用),软的绝对够用。

论坛徽章:
0
2 [报告]
发表于 2006-02-13 22:38 |显示全部楼层
[quote]原帖由 [i]platinum[/i] 于 2006-2-13 10:52 发表

谢谢 JohnBull,受教了
再请问一下,这个“延迟”是如何造成的呢?
为什么“硬”的比“软”的要小很多呢?
“软”的如何能降低“延迟”呢?
这个“延迟”怎么能统计出来呢? [/quote]

客气!谈不上“教”。你说的那些话,对于软硬两个阵营的整体比较倒也没有错,但你从头到尾不考虑价格,那就不成立了。

简单地说,就是硬防火墙工作的时候能够减少大量的数据拷贝和传输过程。
想想linux的数据转发:
NIC收到数据/发出irq----内核响应irq(驱动程序通过PCI总线把NIC的buffer里的frame复制到主存(这步虽然可以DMA,但是要在irq前完成,时间还是省不下来,更何况还要考虑DMA对SMP性能的影响)----内核的协议栈分析frame(协议分拣/处理报头...)查路由表)----修改报头/组装L2报文/报文进入网卡驱动的队列----网卡驱动通过PCI把数据交给NIC。

所有的----都是异步环节,或多或少都要引入延迟的。这也解释了前面大包和小包的问题,因为不论大包小包,那些异步开销都是一样的,相同流速下,包越小意味着包越多,包越多异步开销越大。所以软防火墙希望每次处理越多数据越好。

而ASIC体系的话,全省了,可以想像成在数据进入网卡后就地处理然后发出,根本没CPU什么事,也不用考虑总线吞吐。CPU只负责系统自举、监视管理、固件升级就行了。

论坛徽章:
0
3 [报告]
发表于 2006-02-13 23:22 |显示全部楼层
原帖由 platinum 于 2006-2-13 22:48 发表
谢谢 JohnBull 大哥的指点,原来是这样的,不过我还想继续再问一个问题,还请指教
我能测试出这个“延迟”的多少吗?


编程测试比较难,因为在用户态发报还牵扯到用户态与内核态复制。
感觉上应该写一个内核模块,从eth0发报,通过网关后再转回eth1。发报的时候写上时标,收报的时候对比一下,把差除以2就行了。
[更正]不对,应该先eth0-eth1对接测得基准延迟,然后再接入网关后相减即可。

可以考虑用CPU 的Cycle Counter做时标,最精确。

[ 本帖最后由 JohnBull 于 2006-2-13 23:24 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP