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