寬帶" title="寬帶">寬帶路由器" title="路由器">路由器還是比較常用的,,于是我研究了一下寬帶路由器的各種參數(shù)" title="參數(shù)">參數(shù),在這里拿出來(lái)和大家分享一下,,希望對(duì)大家有用,。Throughput(吞吐量)表示的是路由器每秒能處理的數(shù)據(jù)量。打個(gè)形象的比方,,路由器的工作過(guò)程很像郵局包裹業(yè)務(wù),,郵局寄包裹是大家把物品、寄件人,、收件人等信息交給郵局,,郵局把物品包好,并貼上格式化的包裹單,,檢查無(wú)誤后投遞到目的地,,收包裹是相反過(guò)程,。
路由器基本一樣,只不過(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ī)" title="交換機(jī)">交換機(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,配以專業(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。