全面認(rèn)識(shí)寬帶路由器的參數(shù)
路由器基本一樣,只不過(guò)收發(fā)的東西是數(shù)據(jù)而已。Throughput就相當(dāng)于郵局單位時(shí)間里的包裹處理能力,是路由器性能的直觀反映。但同時(shí),這個(gè)數(shù)據(jù)后面隱藏的名堂也是最多的。首先應(yīng)該說(shuō)明路由器的Throughput,一定是LAN-to-WAN的Throughput,數(shù)據(jù)流出或流入局域網(wǎng)才需要路由器處理,才能代表路由器性能。
而不是LAN-to-LAN,這代表的是路由器內(nèi)部小交換機(jī)性能,一點(diǎn)意義都沒(méi)有。這就像郵局單位時(shí)間里的包裹處理能力,一定指的是運(yùn)出和運(yùn)進(jìn)郵局的包裹量,而不是從郵局一個(gè)房間搬到另一個(gè)房間的包裹量。
其次,路由器Throughput,應(yīng)該是在NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)開(kāi)啟、防火墻關(guān)閉的情況下得出的測(cè)試數(shù)據(jù)。這是因?yàn)镹AT是寬帶路由器最基本、最核心的功能,不開(kāi)啟NAT就不成其為寬帶路由器了,而且軟件設(shè)計(jì)的好壞直接影響到NAT效率和路由器性能,所以NAT開(kāi)啟的Throughput才是有意義的。而防火墻,應(yīng)該算做寬帶路由器附帶的高級(jí)功能,有的產(chǎn)品防火墻規(guī)則很多很復(fù)雜,能過(guò)濾很多東西,有的產(chǎn)品規(guī)則就又少又簡(jiǎn)單。規(guī)則多、復(fù)雜的,CPU用來(lái)過(guò)濾數(shù)據(jù)的時(shí)間就長(zhǎng),規(guī)則少、簡(jiǎn)單的,過(guò)濾數(shù)據(jù)的時(shí)間就短,這對(duì)Throughput測(cè)試數(shù)據(jù)影響還是挺大的。為公平起見(jiàn),在測(cè)試路由器Throughput時(shí),特別是在不同產(chǎn)品性能比較時(shí),把防火墻關(guān)閉是合理的。防火墻的評(píng)判,一般放在功能里比較而不是性能比較。
常見(jiàn)Throughput測(cè)試方法有兩種,一是Smartbits測(cè)試,一是Chariot測(cè)試。Smartbits測(cè)試是使用全球最權(quán)威的網(wǎng)絡(luò)設(shè)備測(cè)試儀Smartbits2000或6000,配以專(zhuān)業(yè)的測(cè)試軟件SmartApplication,用連續(xù)不斷的UDP包,來(lái)測(cè)出對(duì)不同大小的數(shù)據(jù)包,路由器每秒能處理的包數(shù)量。路由器在處理數(shù)據(jù)包時(shí),主要的時(shí)間花在處理包頭、包尾上,對(duì)不同大小的數(shù)據(jù)包,路由器每秒能處理的包數(shù)量差別不會(huì)太大。這就像郵局處理包裹,主要的時(shí)間是花在處理寄件人、收件人和物品信息以及檢查上,包裹重一點(diǎn)輕一點(diǎn)對(duì)處理速度影響不會(huì)太大。如128Byte包每秒能處理10000個(gè),并不能做到64 Byte包每秒處理20000個(gè),而是只比10000個(gè)略多一點(diǎn)點(diǎn),比如10100個(gè)。例如:有些說(shuō)法認(rèn)為路由器在處理最大的1518Byte包時(shí)每秒8000個(gè)(理論上處理1518Byte包達(dá)到100M線速的極限值是每秒8127個(gè)),折算出Throughput是100M*8000/8127=98.44M,于是稱該路由器Throughput高達(dá)98.44M;而實(shí)際上這個(gè)路由器在處理最小的64Byte包時(shí)每秒是11000個(gè)(理論上的極限值是每秒148810個(gè)),折算只有100M*11000/148810=7.39M,兩者相差13倍多!同樣,說(shuō)路由器的“Throughput高達(dá)97M”,也很可能是1518Byte包達(dá)到97M,而處理64Byte的包卻很可能只有7.39M!
更為重要的是,小包轉(zhuǎn)發(fā)的處理能力才能真正體現(xiàn)路由器的Throughput能力!目前市場(chǎng)上大多數(shù)的主流路由器處理512、1024和1518Byte這樣的大包,Throughput大都能近似線速(當(dāng)然,也有一些雜牌路由器大包轉(zhuǎn)發(fā)能力都不行),而測(cè)試256、128和64Byte等小包的時(shí)候,性能差異立即體現(xiàn)。而大多數(shù)路由器的實(shí)際應(yīng)用里小包轉(zhuǎn)發(fā)能力十分關(guān)鍵,比如網(wǎng)吧里經(jīng)常玩游戲,每操作一個(gè)游戲指令,每扣動(dòng)一個(gè)扳機(jī),轉(zhuǎn)發(fā)的全部是小包,如果路由器處理小包的能力不夠強(qiáng),就很難應(yīng)付游戲的大量小包轉(zhuǎn)發(fā)需求,游戲玩起來(lái)就很不順暢。所以NAT開(kāi)啟64 Byte小包的LAN-to-WAN 的Throughput才真正具有評(píng)價(jià)意義。
另外,以目前寬帶路由器普遍所采用的硬件來(lái)看,基本上都不足以達(dá)到64Byte小包Throughput線速,因此有些產(chǎn)品宣稱可以達(dá)到線速,可能是采用了所謂的NAT硬件加速技術(shù),Throughput是很好看,但代價(jià)是所有數(shù)據(jù)都不通過(guò)CPU,無(wú)法做數(shù)據(jù)過(guò)濾,防火墻不起作用,路由器沒(méi)有任何管理功能。這就像郵局根本不檢查郵包里是什么東西,有沒(méi)有易燃易爆物品,地址是不是火星,收件人是不是本·拉登,照單全發(fā)。
Chariot測(cè)試則是用兩臺(tái)服務(wù)器,安裝NETIQ公司的軟件Chariot,一臺(tái)接路由器WAN口,一臺(tái)接LAN口,通過(guò)統(tǒng)計(jì)一個(gè)預(yù)定長(zhǎng)度和格式的腳本文件無(wú)差錯(cuò)地從一臺(tái)服務(wù)器傳送到另一臺(tái)服務(wù)器的時(shí)間來(lái)計(jì)算出路由器的Throughput。這里面學(xué)問(wèn)就大了,一是與服務(wù)器性能有關(guān),不誠(chéng)實(shí)的廠家在測(cè)試自家的產(chǎn)品時(shí)用高性能的服務(wù)器,而測(cè)試別人的產(chǎn)品時(shí)用低性能的服務(wù)器,故意貶低數(shù)據(jù)。二是建立連接數(shù),建立的連接數(shù)越多,對(duì)路由器軟件的性能要求越高,軟件寫(xiě)得差的,在連接數(shù)增加時(shí),其Throughput會(huì)直線下降,甚至導(dǎo)致無(wú)法連接;而軟件寫(xiě)得好的路由器則很平穩(wěn),甚至?xí)S連接數(shù)的增加反而略有上揚(yáng)。
三是Chariot測(cè)試不象Smartbits測(cè)試那樣是測(cè)試UDP“包”,而是數(shù)據(jù)“流”,其數(shù)據(jù)封裝成多大TCP包和服務(wù)器操作系統(tǒng)相關(guān),但一般都封裝為1518Byte大包,所以其測(cè)試數(shù)據(jù)會(huì)比用Smartbits測(cè)試64 Byte小包的數(shù)據(jù)好看很多倍,這一點(diǎn)很能迷惑人。四是Chriot測(cè)試Throughput結(jié)果是有效數(shù)據(jù)負(fù)載,不包括TCP協(xié)議損耗、幀間隔、應(yīng)答和Chriot本身系統(tǒng)損耗,此部分典型損耗根據(jù)理論計(jì)算約6M,就是說(shuō)即使你接的是一臺(tái)能線速轉(zhuǎn)發(fā)的交換機(jī),不是路由器,測(cè)出來(lái)的Throughput也只可能是94M左右,這是理論極限值,因此如果宣稱某路由器產(chǎn)品Chriot測(cè)試Throughput達(dá) 97M、98M,那就毫無(wú)疑問(wèn)是信口開(kāi)河欺騙消費(fèi)者了。
用戶進(jìn)階:
Throughput是LAN-to-WAN的Throughput,一般應(yīng)該是在NAT開(kāi)啟,防火墻關(guān)閉的情況下得出的測(cè)試數(shù)據(jù),而且有Smartbits測(cè)試和Chariot測(cè)試兩種方式,得出的結(jié)果可以很不相同。根據(jù)現(xiàn)在普遍的硬件能力,Smartbits大包測(cè)試數(shù)據(jù)大家都很容易達(dá)到線速,就像測(cè)試大學(xué)生的智力,題目是1+1=?,大家都能答上來(lái),比不出高下。所以要做客觀的評(píng)估,題目應(yīng)該出難一點(diǎn),比較64Byte小包測(cè)試數(shù)據(jù),高下立判。當(dāng)然如果有NAT硬件加速要把它關(guān)掉再測(cè)試。
至于Chariot測(cè)試,應(yīng)該是在同樣的測(cè)試環(huán)境和方法、同樣的連接數(shù)下進(jìn)行比較才公平,而且在實(shí)際網(wǎng)絡(luò)應(yīng)用中,幾乎不可能是單連接的,所以Chariot測(cè)試最好是在多連接下進(jìn)行,一般可以選擇100對(duì)連接基本上就可以看出端倪了??傊?,單獨(dú)的一個(gè)Throughput數(shù)據(jù)是毫無(wú)意義的,一定要說(shuō)明這個(gè)數(shù)據(jù)是用什么方法測(cè)出來(lái)的才有用,相互性能的比較一定要在同樣的測(cè)試環(huán)境和方法下進(jìn)行比較才公平和有意義。最好的方法是看Smartbits測(cè)試NAT開(kāi)啟64 Byte小包的LAN-to-WAN Throughput。
發(fā)布者:博子
評(píng)論