在互聯網搜索引擎中關于網絡測試最多使用的關鍵詞就是“網速測試”,從安恒的網站日志上統計出關于這個關鍵詞的訪問量能占到網絡測試技術關鍵詞的30%。這說明人們對網絡的速度測試的關注程度。本文討論了關于測試網絡和網間吞吐量的方法和應用,文章中的方法和案例是安恒網絡測試服務中心測試實踐總結,案例中使用了 Fluke 網絡公司的OneTouch 網絡測試儀器。
“網速測試”可以從很多的方面來解釋,在互聯網上網人的角度來說主要關心的是通過互聯網訪問網絡資源的速度。為此,有很多的網站也提供了測試從訪客到該站點訪問速度的測試腳本和服務。這種的測試方法非常的簡單,但由于受到諸多的因素影響,測試結果一般也僅作為訪問這個特定網站的特定應用(如:http、ftp)的性能評估,這類的內容我們不在這里討論。
在維護企業網絡的時候,我們常常要對網絡或網絡間的鏈路進行傳輸能力測試,測試的方法往往根據測試目的而有多樣性的選擇。比如:作為網絡安裝和維護時的吞吐量測試就需要測試跨越主干、WAN或VPN的IP性能;對于局域網段的故障查找或協助其它網絡應用分析則需要進行加壓測試,這些測試的方法和需求都有所不同。負責網絡安裝,維護和故障診斷的網絡工程師、網絡管理員、提供高速光鏈路以太網至用戶的電信部門的工程師都會在工作中使用吞吐量和加壓測試來檢查鏈路的性能。
吞吐量測試
這類的測試可以解決下列的問題:
測試端對端廣域網/局域網的吞吐量
測試跨越WAN連接的 IP性能,并用于對照服務等級協議(SLA),將目前使用的WAN鏈路的能力和承諾的信息速率(CIR)進行比較
在安裝 VPN時進行基準測試和擁塞測試
測試網絡設備的模式、幀大小或網絡速率的對應關系,用于對調制解調器、FRADS、集線器、交換機或路由器等設備的優化與設置的評估
吞吐量的測試需要由被測試鏈路的雙端進行端對端的測試,對于企業的網管和維護工程師來說在進行端對端的測試中是不需要了解或測試物理網絡的,由于 IP是承載應用業務的網絡互聯平臺,這樣的端對端鏈路測試中的物理網絡可以是無線網絡、路由環境、透明網絡甚至是非對稱的網絡(如 xDSL和Cable Modem)。
最簡單(也是最常用和有效)的吞吐量測試方法就是將測試接入點選在鏈路兩端的以太網網絡上的測試方法,如圖1。測試時在發送端在指定發送速度,在接收器上計算收到的幀的速度。吞吐量是接收器收到的好幀數量/時間,測試通過改變幀長度,重復以上測試得到不同速率下的測試結果。(注:可以反復進行測試,來確定在不同的傳輸速度時的吞吐量)
有一點需要強調的是,在維護一個運行中的網絡時,吞吐量測試是必須在線進行的,即不能中斷現有的網絡業務和網絡連接,測試過程中有其它的網絡流量存在。這種情況下的測試結果對于評估現有業務上的網絡能力,計劃增加網絡站點和擴充網絡應用的評估是非常有意義的。
測試方法:端對端測試有很多的測試手段和方法,主要分起來有兩類:一類是基于PC軟件的測試,另一類是使用專門的測試儀器進行的測試手段。通常對于流量比較大的(如:大于30Mbps以上)測試主要是使用測試儀器進行的,這是因為測試儀器不象基于PC的測試軟件那樣要受到操作系統、網卡、設備驅動和配置等諸多方面的影響,測試儀能提供穩定、獨立和可重復性的測試結果。
應用案例1:對企業網絡的吞吐量測試,圖2。
在這個測試應用中,A、B、C、D分別是可以選擇進行測試的接入點,它們與集線器上接入的測試儀可以組成不同的鏈路,通過對這些鏈路的吞吐量測試可以相應的網絡瓶頸和發現性能問題的網段。
圖2. 網絡吞吐量的測試接入點
測試結果的顯示
1、部分顯示了測試的設置參數:上下行測試速率、測試時間、幀長度、測試模式。這些參數是參數者預定測試的內容,在測試進行之前測試者可以根據需要調節和設定測試參數。
2、這部分以上、下行的方式分別顯示了實際的傳輸速率、成功傳輸的百分百以及測試中丟失幀的數量,這是測試儀根據①的設置進行測試的結果。
3、顯示的是測試鏈路的參數:本地以及遠端IP地址、路由器
4、路由器hops數
5、顯示當前以太網接入的工作模式
應用案例2:測試xDSL鏈路吞吐量,圖4。
圖4. xDSL鏈路的測試接入點
我們對xDSL測試的應用中有這樣的測試需求,一測定xDSL在特定鏈路上的最大傳輸速率;二測定某個特定速率下的最大傳輸距離。
針對需求一的測試要求,就需要有一個能自動遞增并進行判定的測試功能,即在測試前設定測試上、下行各自的起始速率和測試最高的速率、然后定義一個自動遞增的步長,開始測試后當被測試速率下的有效傳輸率超過95%時就繼續進行更高速率的測試,直至有效傳輸速率低于95%為止,就可以測定該鏈路有效的最大傳輸速率。
上述對于xDSL的測試方法國外曾經有人用其對不同品牌的ADSL modem 進行過測評,方法簡便實用,測評的結果很直觀。
網絡加壓測試
這類的測試可以用于解決下列的問題:
在一個網段上施加預定大小的網絡流量用于測試該網段的出錯情況,或激活潛在的錯誤
通過生成和發送壞幀測試網絡錯誤的發現、統計和報告功能
驗證網絡設備(如:路由器/交換機等設備)上的 RMON和SNMP探針的端口統計信息
在局域網上模擬額外用戶和應用
單向的快速 Ping沿著可疑的鏈路進行聯通性的測試,識別鏈路瓶頸
單機測試網絡的雙向吞吐能力
測試廣域網鏈路的對稱吞吐量
測試方法:在對網絡的加壓測試中可以使用基于MAC或IP的方式進行,對于基于MAC方式的測試是對以太網網段進行的數據發送,而基于 IP包的加壓測試則是對指定的IP地址進行的流量發送測試它可以跨越路由器對遠端的站點進行測試。
在發送的數據選擇時可以選定超長/短幀進行發送,這類的以太網錯誤幀是不能跨越路由器的(也可能不會跨越交換機),它的使用多是用來測定在物理網絡上發生幀錯誤時的網絡管理系統、告警系統的反映,以及統計信息的準確程度。
另一個非常有效的加壓測試就是快速 IP Ping的測試,通常使用的 ICMP Ping命令是需要在發送ICMP請求后等待回應的測試方法,這種方法只能驗證網絡的連通性,但不能驗證在大流量下的網絡響應情況。盡管 Ping是所有網絡測試手段中使用頻度最高的方法,但由于它幾乎不能對網絡產生流量上的壓力,所以通常不能用于對網絡的加壓反映測試上。快速 IP Ping就是將這個遺憾彌補的有效方法,測試儀器在發送下一個 ICMP請求前并不等待當前請求的回應,而是根據測試者的設置以一個恒定的流量向被測試目標發送 ICMP請求。(這種方法聽起來很象是黑客攻擊?實際上我們用這個方法多次測試了被加壓的站點的反映能力,所以建議測試者在使用這項測試時要謹慎!)
測試案例3:單向就可以完成的加壓測試,圖5。
圖5看到這個測試是一個可調諧的持續性測試
顯示了測試當前的速率,注意這個速率是×2的
發送出來的加壓流量給網絡造成的利用率的變化情況
在當前的發送中能收到的 Ping的響應數
從案例中可以清楚地看到,對于每個幀為512字節并以10幀/秒的速率發送的壓力來說,換算的網絡流量是41.6Kbps×2。此時的網絡利用率是78幀/秒,Ping響應達到了10Ping/s,也就是測試沒有出現數據包的丟失。
此時我們可以調節每秒種發送的幀數或發送幀的長度來測試Ping響應的情況。這種單向的快速 IP Ping測試為測試者帶來了極大的能力。雖然是單端使用測試儀的工作方式,但 ICMP的數據包是雙向的數據流,這種測試方式可以方便地測試出在被測試鏈路中的路由器間采取加密/解密通信時對網絡流量性能的影響。也可以用來測試鏈路對數據包長度的敏感度,從而為調節網絡的設置提供有力的證明。
我們上述關于網絡吞吐量測試的方法是網絡維護中使用最頻繁的方法之一,安恒網絡測試中心的工程師在實際的工作中通過合理有效的使用這些方法,發現并排除了很多的故障(尤其是與性能相關的網絡故障)。在進行流量測試中還有很多其它有效和優秀的方法,比如使用協議分析儀進行數據流量再現等,在今后我們將逐漸整理出來介紹給大家。