宽带路由器性能评判常见误区
宽带和窄带比起来,最主要就是个"快"字,所以大家在选购宽带路由器时,非常关心其性能怎么样,通俗来说就是"快不快"。于是很多人提出各种各样的证据来,证明自己的宽带路由器性能很好,很快。但许多证据往往是片面的,等你买回去发现性能不足的时候已经悔之晚矣。下面就从专业角度出发,分析几个大家经常引用又容易误导大家评判的"证据",告诉大家应该怎样客观地看待这些证据,以及怎样正确地评判一个宽带路由器的性能。
证据一:处理器主频
说法:"处理器主频100M,性能强劲。""处理器主频133M,性能比100M的要好得多。""采用通信专业RISC CPU。"
误区:首先,处理器只是路由器的一个部件,特别之处只在于它是最核心的器件。处理器用得差路由器性能好不了,但反过来处理器好了路由器性能却不一定好。就象做菜,没有肥瘦得宜的新鲜猪肉绝对做不出好的红烧肉,但有了肥瘦得宜的新鲜猪肉,没有好的酱油,没有好的厨师,照样做不出好的红烧肉。其次,处理器主频只是处理器的一个性能指标,要知道处理器性能,还必须了解其总线宽度(16位还是32位)、Cache容量和结构、内部总线结构、是单CPU还是多CPU分布式处理、运算模式等等,这些都会极大地影响处理器性能,一点也不比主频次要。所谓的"采用通信专业RISC CPU"相当于什么都没说,只是用专业术语扮高深,不敢量出底细,因为几乎所有路由器采用的都是通信专业RISC CPU,关键要看这颗CPU到底用的是什么内核,内部结构如何。
用户进阶:一般来说,100M或以下的属于较低主频,100M~200M中等,200M以上属于较高主频。另外要问问处理器是什么内核,是80186、ARM7、ARM9、MIPS还是Intel Xscale?Cache容量有多大?是单CPU还是多CPU分布式处理?注意别问不讲实话的奸商哦。80186、ARM7内核处理器是第一代宽带路由器的典型配置,性能低,主流厂商均已不使用。
ARM9、MIPS内核处理器是目前主流。Intel Xscale架构是高级网络处理器,用于高端产品。Cache容量8K或以下属于少的,16K常见,32K或以上是属于大的。一般处理器都是单CPU,采用多CPU分布式处理的是高级处理器,性能高。如果你是专业人士或喜欢追根究底,还可以深究一下ARM9是普通型的920T/922T/940T还是增强型的926E/946E/966E,MIPS是2K、3K还是4K、5K,不同型号性能和结构都会有较大差异。可以把处理器型号输入到Google上搜一把,然后到芯片厂家的网站上好好看个究竟 ,顺便也看看其他人对这个芯片的评价(评论者水平有高低,目的有不同,不可全信)。
证据二:内存容量
说法:"我这个内存16M,你看那个才8M,性能比它好多了。"
误区:这句话存在一个问题,两个陷阱。一个问题是:内存同样只是路由器的一个部件,只不过是一个重要部件而已。和处理器一样,内存用得小路由器性能好不了,但反过来内存用得大路由器性能却不一定好。内存是用来存放运算过程中的所有数据的,使用内存就象布置房间。精明的上海女人善于"螺蛳壳里做道场",没用的东西绝对不会摆在房间里,每一件东西都摆得合情合理,房间的每一个角落,从地板到天花板,每一寸都得到充分利用,10几20几平米的一居室能摆下全家所需的全部家具和电器,甚至还有空间放一两个盆栽点缀一下。但如果换做一个懒惰的单身汉,你给他一套两居室和同样多的家具和电器试试看,保证他摆不下,而且没过几天房间里到处是垃圾,立足的地方都没有。所以根据使用内存的大小来绝对地评判路由器性能的高低是不合理的,科学地使用内存同样重要,水平高的软件设计能很好地规划和使用内存,水平低的甚至自己没有设计能力,直接使用处理器芯片厂家提供的未经优化的参考软件的,内存就不能得到有效的规划和使用。两个陷阱是:内存单位和内存总线。
内存可以用Byte(字节)做单位,也可以用Bit(位)做单位,两者一音之差,容量差8倍(1 Byte = 8 Bit),一般用大写B表示Byte,小写b表示Bit,但有些别有用心的人会在这里做手脚,有象上面的说法例子中不标单位混淆视听的,也有故意把b标做B瞒天过海的。内存总线有宽有窄,要在内存中存或取4Byte的数据,如果是16位内存,就要操作两次,32位内存则只需要操作一次,效率差一倍。所以即使相同容量的内存如果总线宽度不一样其对路由器性能的影响也是重大的。
用户进阶:一般来说,1M~4M Byte属于较小,8M Byte属于中等,16M Byte或以上属于较大。另外如果别人只告诉你是多少M,一定要问清楚是Byte还是Bit,是16位还是32位。当然你要找信得过的对象问,千万别上当受骗。如果你是专业人士或喜欢追根究底,把内存型号输入到Google上搜一把,然后到芯片厂家的网站上好好看个究竟就绝对不会错了,除非不法分子用打磨芯片在芯片丝印上造假。所以选择诚实守信的厂家产品很重要。
证据三:Flash容量
说法:"我的Flash容量大,性能比它好。"
误区:没有道理。Flash是用来存放操作系统和应用程序的,其大小主要取决于用何种操作系统、应用程序编写效率和用户界面的花哨程度。如果选用高效率的实时操作系统(如VxWorks、Ecos、Nucleus等),设计者对操作系统理解又很深刻,能对其进行合理裁剪,设计者的应用程序编写效率也很高,就可以使用小容量的Flash。如果选用低效率的操作系统(如Linux等),设计者对操作系统不了解,应用程序编写效率低,或根本就是照搬了芯片厂家提供的未经优化的参考软件,就只能使用大容量的Flash了。从这个角度来说,反而是Flash用得越小软件水平越高,产品越值得信赖。当然,产品功能多、用户界面花哨(如有很多高清晰图片)相对来说用的Flash会大一点。
用户进阶:普通用户根本不用去了解Flash到底是多大,只要看功能是不是满足需要,顶多再看看用户界面好不好看,合不合你口味(如果你有这方面偏好的话)就足够了。如果你是专业人士或喜欢追根究底,可以尝试去问问厂家他们用的是什么操作系统,软件是自己写的还是抄来的,不过基本上你会碰一鼻子灰,这可是厂家机密。
证据四:Throughput
说法:"性能强劲,Throughput高达97M。""64Byte小包Throughput达到线速。"
误区:路由器的工作过程很象邮局包裹业务。邮局寄包裹的过程是大家把要寄走的物品和寄件人、收件人和物品信息交给邮局,邮局用不同尺寸的标准箱把物品包好并在箱子上贴上格式化的包裹单,检查无误后投递到目的地,收包裹是相反过程。路由器基本一样,只不过收发的东西是数据而已。Throughput(吞吐量)表示的是路由器每秒能处理的数据量,相当于邮局单位时间里的包裹处理能力,是路由器性能的直观反映。大家一定要注意这个数据后面隐藏的名堂是最多的。
首先应该说明所谓路由器Throughput,一定是LAN-to-WAN的Throughput,数据流出或流入局域网才需要路由器处理,才能这代表了路由器性能。而不是LAN-to-LAN,这代表的是路由器内部小交换机性能,正常应该都是线速,一点意义都没有。这就象邮局单位时间里的包裹处理能力,一定指的是运出和运进邮局的包裹量,而不是从邮局一个房间搬到另一个房间的包裹量。但还是有些人把LAN-to-LAN的数据当作路由器Throughput在宣传,甚至标到产品包装上,当然他不会写上这是LAN-to-LAN,大家要小心。
另外,路由器Throughput,一般应该是在NAT开启,防火墙关闭的情况下得出的测试数据。这是因为NAT是宽带路由器最基本、最核心的功能,不开启NAT就不成其为宽带路由器了,而且虽然不同的产品设计其NAT功用是一样的,但软件设计的好坏直接影响到NAT效率、路由器性能,所以NAT开启的Throughput才是有意义的。至于防火墙,应该算做宽带路由器的附带功能、高级功能,有的产品防火墙规则很多很复杂,能过滤很多东西,有的产品规则就又少又简单。规则多、复杂的,CPU用来过滤数据的时间就长,规则少、简单的,CPU用来过滤数据的时间就短,这对Throughput测试数据影响还是挺大的。
为公平起见,在测试路由器Throughput时,特别是在不同产品性能比较时,把防火墙关闭是合理的。这就象美国发生炭疽邮件袭击以后,邮局对邮包的检查严格了很多,这会对邮局单位时间里的邮包处理能力产生较大影响,但其他国家没有这么复杂的检查程序,如果我们据此就断言美国邮局的效率低下,就有失公允了。至于防火墙的评判,一般放在功能比较里面而不是性能比较。当然,如果不是不同产品的横向比较,只考察特定产品本身的性能,如果能同时有防火墙关闭和防火墙开启(需要注明启用了哪些过滤规则)两种情况下的Throughput数据,大家就能对这个产品了解得更透彻了。
常见Throughput测试方法有两种,一是Smartbits测试,一是Chariot测试。Smartbits测试是使用全球最权威的网络设备测试仪器Smartbits2000或6000,配以其附带的专业测试软件SmartApplication,用连续不断的UDP包来测出对不同大小的数据包路由器每秒能处理的包数量。路由器在处理数据包时,主要的时间花在处理包头、包尾上,所以对于不同大小的数据包,路由器每秒能处理的包数量差别不会太大。这就象邮局处理包裹,主要的时间是花在处理寄件人、收件人和物品信息以及检查上,包裹重一点轻一点对处理速度影响不会太大。
如128Byte包每秒能处理10000个,并不能做到64 Byte包每秒处理20000个,而是只比10000个略多一点点,比如10100个。这就给了一些不诚实的厂家以可乘之机。如他的路由器在处理最大的1518Byte包时每秒8000个,根据理论计算处理1518Byte包100M线速的极限值是8127个,所以折算出来的Throughput就是100M*8000/8127=98.44M,于是他就很自豪地宣布,我的路由器Throughput高达98.44M,殊不知,原来这个路由器在处理最小的64Byte包时每秒是11000个,根据理论计算处理64Byte包100M线速的极限值是148810个,所以折算出来的Throughput只有100M*11000/148810=7.39M,两者相差13倍多。
这完全取决于我们怎么看待吞吐量,是每秒处理多少个数据包还是每秒处理多少兆数据,就象邮局每天是处理多少个邮包还是多少公斤货物。从邮局能力角度来看,应该是从每天处理多少个邮包来评判更合理一点,因为这个数据相对来说是稳定的,受邮包重量影响小。但每天多少公斤货物,受邮包重量的影响就是根本性的,如邮寄的全部是书籍,计算出来的每天处理货物公斤数就很大,如果全是棉花就很小。实际情况中一定是既有书籍又有棉花还有其他五花八门的东西,但你评估的时候按什么比例来调配这些货物才合理呢?没人说得清,除非有人定一个标准规定各种东西的比例,大家都按照这个标准来计算。
既然没标准,有人就用书籍来计算,有人就用棉花来计算,规矩的人说明我是用什么来算的,不规矩的就乐得浑水摸鱼。另外,以目前宽带路由器普遍所采用的硬件来看,即使是性能最好的,也不足以达到64Byte小包Throughput线速,但有的人宣称我的产品就有这么好,而且拿出Smartbits测试数据来证明。这类产品采用的是所谓NAT硬件加速技术,Throughput是很好看,但代价是所有数据都不通过CPU,无法做数据的过滤,门户大开,防火墙不起作用,路由器没有任何管理功能。
Chariot测试则是用两台服务器,安装NETIQ公司的流行软件Chariot,一台接路由器WAN口,一台接LAN口,通过统计一个预定长度和格式的脚本文件无差错地从一台服务器传送到另一台服务器的时间来计算出路由器的Throughput。这里面学问就大了。一是服务器性能,如果性能差,就会成为测试的瓶颈,路由器性能得不到体现,所以不诚实的厂家在测试自家的产品时用高性能的服务器,生怕自家的产品性能表现不出来,而测试别人的产品时用低性能的服务器,故意贬低数据。二是建立连接数,如果路由器软件写得差,在连接数增加时,其Throughput会直线下降,而好的路由器则很平稳,甚至会随连接数的增加反而略有上扬。
如果路由器性能不足,甚至会因无法同时建立这么多连接而测试失败。所以差的路由器只敢用一对连接来得出测试数据,而好的路由器不怕多连接。三是Chariot测试不象Smartbits测试那样是测试UDP"包",而是数据"流",其数据封装成多大TCP包和服务器操作系统相关,但一般都封装为1518Byte大包,所以其测试数据会比用Smartbits测试64 Byte小包的数据好看很多倍,这一点很能迷惑人。四是Chriot测试Throughput结果是有效数据负载,不包括TCP协议损耗、帧间隔、应答和Chriot本身系统损耗,此部分典型损耗根据理论计算约6M,就是说即使你接的是一台能线速转发的交换机,不是路由器,测出来的Throughput也只可能是94M左右,这是理论极限值,如果有人宣称我的产品Chriot测试Throughput 97M、98M,那毫无疑问是瞎吹。
用户进阶:Throughput是LAN-to-WAN的Throughput,一般应该是在NAT开启,防火墙关闭的情况下得出的测试数据,而且有Smartbits测试和Chariot测试两种方式,得出的结果可以很不相同。根据现在普遍的硬件能力,Smartbits大包测试数据大家都很容易达到线速,就象你测试大学生的智力,题目是1+1=?,大家都能答上来,比不出高下。所以你要做客观的评估,题目应该出难一点,比较64Byte小包测试数据,高下立判。当然你要小心是否有NAT硬件加速,有的话把它关掉再测试。
至于Chariot测试,不同产品的性能应该是在同样的测试环境和方法、同样的连接数下进行比较才公平,而且在实际网络应用中,总是多连接而几乎不可能是单连接的,为了发现差路由器,Chariot测试最好是在多连接下进行,一般可以选择100对连接基本上就可以看出大家的区别来了。总之,单独的一个Throughput数据是毫无意义的,一定要说明这个数据是用什么方法测出来的才有用,相互性能的比较一定要在同样的测试环境和方法下进行比较才公平和有意义。最好的方法是看Smartbits测试NAT开启64 Byte小包的LAN-to-WAN Throughput。
证据五:带机数量
说法:"本路由器带机量为200台。""本路由器最大允许带机量为253台。
误区:这种说法不准确。每一个网络繁忙程度大不相同,网吧里所有人都在埋头上网聊天、游戏,而且几乎所有数据都通过路由器WAN口,所以负载很重。但如果是一个企业网,大部分人都在忙着搞设计、写报告、做计划,同一时间只有小部分人在用网络,而且大部分数据都是在企业网内部流动,所以路由器负载很轻。在一个200台PC的企业网性能够用的路由器,放到网吧往往可能连50台PC都带不动。估算一个网络每台PC的平均数据流量也是不能做到精确的。
这就象食堂人员做饭,只能估计平均每人吃四两,这一锅四斤大概够10人吃,但很可能有一天大家做了运动,胃口出奇地好,一锅饭只够6个人吃,或者哪一天流行感冒大家胃口普遍不好,再来5个人也够吃。矿工食堂的师傅要估计着平均每人吃六两,而女模特食堂的师傅可能只敢估计着平均每人吃一两。所以,较为客观的说法应该指明这个带机量是针对哪种类型网络的,而且数量是一个根据典型情况估算出来的范围,例如"网吧带机量150~250台(典型值)",这种说法就负责任多了。第二种最大允许带机量的说法是唬人的,它的根据不是路由器的性能,而是DHCP最大可以分配的IP地址数,254个减掉自己用掉的一个就是253个。
用户进阶:带机数量只是一个估算值和经验值,一定要结合网络的实际状况来看待,准确的性能还是要看测试数据,Smartbits测试NAT开启64 Byte小包的LAN-to-WAN Throughput是多少pps(包每秒)。但带机数量对普通用户来说很直观,很好理解,大家在参考这个数据时一定要注意上面提到的几个误区。另外这个数据如果是出自大厂家、有信誉厂家之口,一般说法比较严谨,可信度高。如果是出自小厂家、杂牌厂家之口,一般说法比较含糊,可信度差。
证据六:带机数量证据六:WAN口数
说法:"此路由器是双WAN口,性能是单WAN口的两倍。""单WAN口带机量100台,双WAN口带机量200台。"
误区:这种说法混淆概念。一个路由器基础硬件和软件确定后,其处理能力或性能就确定了,不会随WAN口数的增减而有较大变化。有一种情况:路由器本身处理能力相对于WAN口出口带宽有富余,如路由器处理能力40M,WAN口出口带宽每线10M,由于受限于出口带宽,单WAN口路由器就只能有10M的吞吐量,双WAN口路由器则能有20M的吞吐量。从这个角度出发似乎网络性能提升了一倍,但这只是你网络配置合不合理的问题,路由器性能始终是40M,没变过。
反过来说,如果路由器本身处理能力只有5M,不管是单WAN口还是双WAN口都只可能有5M的吞吐量。举例来说,一个工厂每天能做一万件产品,但只有一辆运货卡车,每天只能运送五千件产品,这时增加一辆运货卡车就很有效果。但如果每天产量只有三千件,也配了两辆运货卡车,就没什么作用,徒增成本。
用户进阶:现在市场上有不同品牌的一些多WAN口路由器在销售,但性能良莠不齐。一个路由器做多WAN口,首先要建立在路由器本身性能要够强的前提上,相对于出口带宽路由器处理能力有富余,如果本身处理能力有限,多WAN口就纯粹是一个摆设。大家在选择多WAN口路由器时,一定要小心考察其性能,有一点可供大家参考:如果路由器采用的是ARM7内核或相当性能处理器,主频小于100M,基本上可以判定其性能不足以做多WAN口。
如何正确评判性能
前面分析了几个大家经常引用又容易误导大家评判的"证据",并告诉大家应该怎样客观地看待这些"证据"。大家也许会问:你说这也不算数,那也不算数,那你告诉我到底怎么判断才对。这里要告诉大家一种Step-by-Step的四步判断法,供大家参考。
1.选品牌:品牌在很大程度上代表厂商和产品的品质、信誉、服务等,选择产品从某种层面上讲就是在选择厂商和品牌。前面也讲到了选择诚实守信厂家产品的重要性,我们透过产品规格和性能的描述是否科学、严谨、清晰能了解到一个厂商的能力和是否讲诚信。目前中国宽带路由器市场上的品牌非常多,大致上可以分为三类。一类是进口知名品牌,如Linksys、Netgear、DrayTek,绝大部分是在台湾OEM/ODM专业大厂采购宽带路由器产品,产品品质一般有保证,除非使用地区有ISP兼容性问题,和局端不能互通(这是由于台湾和大陆地域性区隔原因造成的,一般很难解决)。厂家信誉一般也有保证,缺点是价格贵、英文界面(大部分)。
第二类是本土知名大品牌,如TP-LINK,拥有自主研发和制造能力,本土化设计使产品非常符合国内用户需求和使用习惯,ISP兼容性好,品质、信誉有保证,性能价格比也非常高,是目前中国宽带路由器市场上最耀眼的品牌,业内普遍认为其市场占有率已超过50%。第三类是小品牌、杂牌,自己没有研发能力,又迫于成本压力,只能从台湾一些小厂进一些便宜、低质量板子,自己套个壳子贴上标签就出去卖,甚至有些不法之徒抄袭台湾小厂设计做产品,Copy硬件、复制软件,品质、信誉均无保证。
由于这类厂家本身对路由器了解就很少,无知者无畏,另外还想通过不正当手段谋求利益,所以但往往叫得最凶、吹得最厉害的就是这些厂家。以上所讲的一、二类品牌是可选的,第三类不可取。
2.排除法:产品是一个综合体,不能孤立地看待某一个"证据"。一个宽带路由器的性能依赖于硬件基础和软件设计,硬件是保证,软件是关键,并通过Throughput、带机数量等指标表现出来。前面讲过,做菜要主料、辅料、厨师都过硬才能做出好菜。宽带路由器也一样,处理器是主料,其他硬件是辅料,设计工程师是厨师,缺一不可。但市场上各种产品很多,而用户对每种产品能了解到的信息相对较少,大家在有限的信息条件下怎么办?我们可以采用逆向思维,既然很难全面地证明产品性能好,我们不妨先把不好的找出来。
证明不好很简单,只要找到一个毛病就可以了,这就是排除法。比如我们知道了某个路由器采用的是ARM7内核处理器,就不用再去看其它的参数了,性能一定好不到那里去。排除法的关键是尽量多地了解信息,并根据掌握到的信息和前面告诉大家的对信息的分析鉴别方法,挖掘隐含内容,辨别其真伪,把不好的找出来。这样通过第二步我们又把选择范围大大地缩小了。
3.多打听:兼听则明,偏听则暗,多听听其他人怎么说是了解一个产品既省事又有效的方法。向谁打听很重要,最好的方法之一是找有信誉专业媒体的横向测评数据,注意前提是有信誉和专业,既能做到客观公正又能测到点子上,如前不久《在线Online》杂志(online.cniti.com)2004年第2期中的"18款宽带路由器全面测试",就是一个产品/品牌较全,测试较为专业、客观、全面的横向测评,很有参考价值。相信按现在宽带路由器产品的市场地位及其发展速度,很多权威媒体在今年都会做类似的横向测评,大家可以关注。对于第一步中所讲的一、二类品牌产品,大家还可以就不清楚的地方直接打电话或发E-mail问厂家,一般能得到较客观回答。
4.试试看:经过以上三步,大家基本上已经可以作出判断和选择了。如果可能,再实际试试看就更保险了。非专业人士可以直接把路由器安装到网络中用用看,注意要在网络最繁忙的时段试才能看出性能够不够,如网吧要在基本满座,最好大家都在玩"传奇"时测试。专业人士如果有设备和软件,可以做一下Smartbits测试和Chariot测试,重点测以下几项:Smartbits测试NAT开启64Byte小包的LAN-to-WANThroughput,最严格、最客观的性能数据;最大并发连接数及连接建立速度,在很大程度上影响带机能力;多连接下Chariot测试Throughput,也能较好地反映性能。