免费注册 查看新帖 |

Chinaunix

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

如何让 linux 包转发达到 40万pps,尝试中! [复制链接]

论坛徽章:
0
61 [报告]
发表于 2006-04-07 16:17 |只看该作者
有种技术叫napi的,从中断入手解决转发效率,效果还可以。lz可以试试。

论坛徽章:
0
62 [报告]
发表于 2006-04-07 20:29 |只看该作者

是可以实现的

原帖由 sbyond 于 2005-11-6 01:09 发表
以前作NAT 5万PPS 没有问题(AS4)CPU只到5%左右

现在不需要NAT,只做静态路由转发()
(route)
echo 1 >/proc/sys/net/ipv4/ip_forward
eth0 1.1.1.1
eth1 2.2.2.1

测试拓扑: client1_----------- ...


此前公司的IP_FORWARD就达到了8,000,000
不过你内核最好修改一下.

至于说到CISCO/华为的产品, 早在冲击波时, 就趴下一大堆(一所学校, 有2K Workstation)
不过Linux还是挺起的.

首先要修改MAX CONNECTION
还有并发的SESSION.
细节参阅/proc/sys/net/ipxx下面的相关记录.

最好是SMP构架, 修改Ether卡的驱动, 大规模启用DMA.
近乎于SUN的IP BOND.也可多台, 实现应用层交换.
1000万的PPS都没问题.看看Google的流量. 一天多少?用IPVS机群, 都可以实现
包括Real Networks流媒体服务器系统.

论坛徽章:
0
63 [报告]
发表于 2006-04-07 20:48 |只看该作者

纯软件是达不到QOS要求的

原帖由 skipjack 于 2006-3-1 15:11 发表
40万?要求也太低了吧,100M冰盾软件都能转发25万pps,1000M下至少也是160万啊?(网上你搜一下)
还有什么方正黑杀,dosnipe,神洲盾.....都是一个小黑箱就号称可防数百万pps啊,你要做一个40万的,估计要用到486CPU,这可 ...


纯软件始终要采用OS提供的IP协议栈,  如果仅在Windows下或未经优化的内核, 即便是达到了,
也不合格. 你可以用专业仪器测试一下.

要优化性能, 首先要从物理层开始, 充分利用物理特性(如DShow/DDraw).
如果所用晶片有限, 软件是做不出来的.

至于有人翻译的ZERO COPY, 其实最大限度就是DMA传送.

在OS的MM管理中,你看看当前我们的内存带宽有多大, 然后将各种时延算进去,
最终封包, 发出去, 才知道我们的性能怎么样.

其始在NP/MP之外, CISCO也用Intel的P系列CPU.
只是OS Kernel不一样, 其它也与你的PC一样.

至于传输Channel,以前公司生产光交换, 但也要通过光电转换.
如果光电转换及Cable Drive能力很差, 性能也是跟不上的.

顺便说一下, 目前的电缆也可以传10Gbps.我有朋友就是CISCO全球三大核心晶片(10G平台)供应商之一.
加拿大的,还有一家叫Broadcom的公司也能做, Siemens下的半导体公司也很牛的.

用10Gbps减去各种限制时延和内存封包能力, 就可以从理论上算出我们所要的pps了.

论坛徽章:
0
64 [报告]
发表于 2006-04-07 21:04 |只看该作者

有点好笑(GCC)

原帖由 独孤九贱 于 2005-11-22 09:37 发表


不太同意你的话:

1、我的报告是国家信息安全测评中心测试的,只是关系很多商家的利益,不敢乱贴,sorry!
2、请贴出你的freebsd能到80M讲给出测试环境,以及测试的包的大小,我不太相信p3 1G的CPU,64by ...


知道VxWorks的C编译器吗?
其实Intel 的C编译器与GCC也有很多合作,PowerPC一般都采用的GCC, Apple就是(OS是GCC编译的,
Default Compile也是GCC),我看过公司的服务器Apple Server/Power G5 2.0 2 CPU, 性能高得很,
比2 枚AMD 64/2 枚Intel至强同等高很多.

你看过IPP的源码吗? 懂什么叫优化吗? 做过WiMMX优化吗?

如果说VC能优化, GCC不能优化, 可能你根本就没从事过这方面的工作.
NY 的交通系统,就是VxWorks在GCC下编译的.

其实VxWorks提供的ARM平台源码中, 几乎就是GCC定制的一个子集.

知道CELL用什么编译吗?IBM用的是GCC,而SONY美国也在招GNU工作师.

天知道, 怎么会发这样的 B I A 言.

如果说他们是白痴, 总还有一些从比他们更白痴!

论坛徽章:
0
65 [报告]
发表于 2006-04-07 22:13 |只看该作者
>>纯软件始终要采用OS提供的IP协议栈,  如果仅在Windows下或未经优化的内核, 即便是达到了,
>>也不合格. 你可以用专业仪器测试一下.
你指的不合格是什么?专业仪器测SMB和IXIA应该说的过去吧

>>要优化性能, 首先要从物理层开始, 充分利用物理特性(如DShow/DDraw).
>>如果所用晶片有限, 软件是做不出来的.
物理层从网线算还是从网卡模块算起?给个结论IA体系的转发极值是多少?

>>至于有人翻译的ZERO COPY, 其实最大限度就是DMA传送.
这个了解,但真正意义上的包转发线速和DMA没必然的联系,DMA主要还是为了用于解决收包时的瓶劲,但NP/MP还是靠微引擎的并行度

>>OS的MM管理中,你看看当前我们的内存带宽有多大, 然后将各种时延算进去,
>>最终封包, 发出去, 才知道我们的性能怎么样.
很迷惑了,看不出其间的联系,软硬中断都不考虑在内是吗?

>>其始在NP/MP之外, CISCO也用Intel的P系列CPU.
>>只是OS Kernel不一样, 其它也与你的PC一样.
那是因为IA构架在某种应用时优于NP/MP

>>至于传输Channel,以前公司生产光交换, 但也要通过光电转换.
>>如果光电转换及Cable Drive能力很差, 性能也是跟不上的.
就这句知道是什么意思

>>顺便说一下, 目前的电缆也可以传10Gbps.我有朋友就是CISCO全球三大核心晶片(10G平台)
>>供应商之一.加拿大的,还有一家叫Broadcom的公司也能做, Siemens下的半导体公司也很牛的.
>>用10Gbps减去各种限制时延和内存封包能力, 就可以从理论上算出我们所要的pps了.
为什么是10G而不是100G,好像10G是个极限似的?如果是,怎么算出来的?

论坛徽章:
0
66 [报告]
发表于 2006-04-07 22:26 |只看该作者
>>知道VxWorks的C编译器吗?
知道

>>其实Intel 的C编译器与GCC也有很多合作,PowerPC一般都采用的GCC, Apple就是(OS是GCC编译的,
>>Default Compile也是GCC),我看过公司的服务器Apple Server/Power G5 2.0 2 CPU, 性能高得很,
>>比2 枚AMD 64/2 枚Intel至强同等高很多.
你是说这个性能提升都是编译器的功劳?

>>你看过IPP的源码吗? 懂什么叫优化吗? 做过WiMMX优化吗?
没                    懂             没做过

>>如果说VC能优化, GCC不能优化, 可能你根本就没从事过这方面的工作.
>>NY 的交通系统,就是VxWorks在GCC下编译的.
倒~勇气号也是VxWorks,NY的交通系统能说明GCC什么?您到底想说明什么问题?

>>其实VxWorks提供的ARM平台源码中, 几乎就是GCC定制的一个子集.
您这么一解释,我都快不知道VxWorks和xscale,那个是OS那个是CPU了

>>知道CELL用什么编译吗?IBM用的是GCC,而SONY美国也在招GNU工作师.
>>天知道, 怎么会发这样的 B I A 言.
>>如果说他们是白痴, 总还有一些从比他们更白痴!
知道CELL是IBM的多核,但这能说明GCC什么呀?看了您的贴子,我怎么感觉头有点晕啊.

论坛徽章:
0
67 [报告]
发表于 2006-04-07 22:34 |只看该作者
>>此前公司的IP_FORWARD就达到了8,000,000,不过你内核最好修改一下.
几网口,上面这个数字的单位是什么?只修改内核就可以了?不会是软件控制硬件的bypass功能吧?

>>至于说到CISCO/华为的产品, 早在冲击波时, 就趴下一大堆(一所学校, 有2K Workstation)
>>不过Linux还是挺起的.
呵呵....告诉我拓朴和环境,就像你说Google流量大,但我的机器却安然无样一样.

>>首先要修改MAX CONNECTION
>>还有并发的SESSION.
>>细节参阅/proc/sys/net/ipxx下面的相关记录.
开始胡说八道了

>>最好是SMP构架, 修改Ether卡的驱动, 大规模启用DMA.
>>近乎于SUN的IP BOND.也可多台, 实现应用层交换.
>>1000万的PPS都没问题.看看Google的流量. 一天多少?用IPVS机群, 都可以实现
>>包括Real Networks流媒体服务器系统.
春风吹~战鼓擂了

论坛徽章:
0
68 [报告]
发表于 2006-04-08 11:58 |只看该作者
原帖由 skipjack 于 2006-4-7 22:13 发表
>>纯软件始终要采用OS提供的IP协议栈,  如果仅在Windows下或未经优化的内核, 即便是达到了,
>>也不合格. 你可以用专业仪器测试一下.
你指的不合格是什么?专业仪器测SMB和IXIA应该说的过去吧

> ...


至于专业的NP/MP,也就是专业的ASIC,将路由算法内置于其中.就像有些DSP一样,将算法内置.
这不新鲜.AXIS就将一个ARM 920核和4M Memory和4M Flash内置,还有一些算法.PMC以前有
些Chip,在PMC自己做的VoIP上,在泰尔测试时,时延都比较大,你不迷信ASIC.这只能HU外行.ASIC
设计也有水平高低,也有算法逻辑的优劣,不同公司出品的,以及新的技术的加入,这都会影响最终
对数据包的处理能力的.如果你的NP运算能力有限,我就用两枚P IV加优化了的软件算法,也是可以
达到的,有时还可以超出,以前有朋友帮Intel做一个NP的驱动,NP好贵.现在有一种便宜的做法是
用VS机群来取代这种方式.他最终受限于总线.就你DVR系统一样,如果IDE接口受限,你可以使用
Fiber Channel/IEEE 1394B等.NP最终还是要和其它电路接口的,各种接口也是一种限制.就像在
通信中,FREEDM的能力一样,HDLC链路成帧就是专门的ASIC,但要工作,还得接入我的计算机系统
才行呀.你写的Driver就直接影响性能吧.当时我看了IBM和DELL的两台服务器,同样的配置,但IBM
的整体性能就要好一点,只是相差不很大而已.(TPCC测试)

但在通信领域,目前在10G平台,做得最好的就是Juniper.其实我就怀疑港湾就是OEM他们的,
或者是给Juniper提供核心的公司的.CISCO还要慢一步.

至于有人谈到10/100G,光键是在MSTP上,SDH一般以10G单波为基础.至于DWDM,只是多波
复用(密集波分),所以一般以10G为一技术基准.如果全光交换及交叉,是没问题的,但我们的其它
接入系统是电接口,因此必须有光电转换.因此单通道以10G为基准.谈1T没实际意义,这只是在传
输干线才使用,肯定是国家级干线,或国际干线,都是DWDM.光纤在理论是带宽是无限宽的.

其实就是你家的有线电视线,或电气特性有些差异,在短距离是可以传10Gbps的数字信号的.也就
是说,在电接口方面,好的网线也可以达到10G数字带宽,这是很难的.3.5G->5G->10这是其技术
发展路线.我不肯定,这会用到OFDM调制.在电力线上要达到100Mbps,必使用OFDM.

我们公司原来的路由器是Intel的,但他的性能是稳定的,如果是高性能,就谈不上了.如果P2P并发太
多,肯定会死的.在CISCO 3000/4000中,你用目前的通用CPU,选好的PHY接口CHIP,不是RTL的,
最好是Broadcom的,你看看是你的快,还是CISCO的路由器好吧.只能说Linux下,IP性能上稍差于BSD
Unix,如果优化一下,或使用VxWorks提供的,那就不一样了.而华为/CISCO等,还不是基于VxWorks
做的.其实将IP Stack放入ASIC或置于计算机中,差异不是很大,要可配置,必然内存等级与你用的差不
多,访问时间也差不多.有时在通信CPU中,MIPS值可能很高的.一般可以达到5000-8000,就是DSP
也不行呀.DSP目前最快的也就1GHz.如果我的CPU也做专项运行,上Embedd OS,性能还要优于这些
专用的ASIC.如果专门来做路由及应用交换,用VS是首选,我的内存可以很大呀,专用的ASIC不可能集成
很多内存的,扩展不就与我的一样了吗?关键是ASIC各X86计算机,在MII层要好的芯片,不然性能差异较大.

好多人说100Mbps,看看你的各种网卡,测出来都什么样吧.有些高于,有些还达不到.

只能说,专门的如Juniper的T640这种设备,各个环节都是相适应的.

但这些由专业厂商做的东东,没有几M RMB是拿不下来的.他是直接上干线,下行至你的Workstation.

所以人家才牛嘛.

[ 本帖最后由 obrire 于 2006-4-8 12:18 编辑 ]

论坛徽章:
0
69 [报告]
发表于 2006-04-08 12:06 |只看该作者

当时我们公司也有80台交换机

原帖由 skipjack 于 2006-4-7 22:34 发表
>>此前公司的IP_FORWARD就达到了8,000,000,不过你内核最好修改一下.
几网口,上面这个数字的单位是什么?只修改内核就可以了?不会是软件控制硬件的bypass功能吧?

>>至于说到CISCO/华为的产品, 早在 ...


这是2003年的夏天.
不仅如此,就是联通和电信的机房,也比较忙的.因为当时的软件中没有对连接会话进行限制.

如果NAT,他限也限不了呀.我内网中IP时时变.

后来,我们设计了程序,一旦发现过多的报文来自同一MAC,就封了.并对各种状态进行过滤.
当然这会让性能下降.不过计算性能较高,P IV对小网足够了.

如果2W 用户,每人100连接,不修改,你看Linux不Crash才怪.好像IP默认最大连接不超
过10万(我在Windows下,记不起了)

内网100Mbps/外网100Mbps.如果交换机没有流控,你看看倒不倒.

论坛徽章:
0
70 [报告]
发表于 2006-04-08 12:16 |只看该作者

上海电信 Web Cache

原帖由 skipjack 于 2006-4-7 22:34 发表
>>此前公司的IP_FORWARD就达到了8,000,000,不过你内核最好修改一下.
几网口,上面这个数字的单位是什么?只修改内核就可以了?不会是软件控制硬件的bypass功能吧?

>>至于说到CISCO/华为的产品, 早在 ...

这是基于Linux做的,国内还有朗新用FreeBSD做的.

如果这不能说明问题,我就无话可说了.这是IPVS发起人的弟弟布置的.在2003年可以是挺得很直哟.
当时好多CISCO倒下了.

有些人说话要有证据才行呀. 英国Tunsys超级计算机公司的设计也是基于二层交换,VS做的.这在
FBI用了很多哟.

IPVS目前已经并入Linux 2.6的内核中.是章文嵩博士发起的.有什么问题,你可以向他提问.

先看看在IBM上他的算法吧.不过有人以后用这些前沿技术,记得向开发者致敬呀,别像TurboLinux,
很没道德.IBM赞助了章在世界各地讲学呀,IBM在网格计算中,应当会有这些技术的身影.

中国人呀,首先要有道德,不能乱整,没修养.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP