版本號:WANem_3.0_Beta2
運行平台:Knoppix 6.7.1
一、 概述
WANem—WAN emulator廣域網模擬器,可以模擬在各種網絡狀況比如帶寬,延遲,丟包,抖動等。
高級功能有:隨機復位連接、按概率發重復包、按概率使包亂序和按概率瞬時斷開網絡,按協議隨機斷開連接等,而且可以針對不同的協議,不同的主機,不同的網絡甚至是不同的應用程序來模擬。
其優點如下:
WANem在單網卡設備上即可實現所有功能
WANem支持從光盤啟動,不需要將它安裝到硬盤也可使用,甚至可以運行於虛擬機上,此時橋接主機的網卡即可使用,非常方便
支持完全圖形化的界面配置,方便設置
可以設置多條規則,不同規則不同用戶使用互不干擾,方便用於集中式的測試環境
僅需要調整路由表即可應用設置的規則
二、 安裝WANem
下載WANem鏡像文件,以安裝普通操作系統的方式安裝WANem即可。具體步驟如下:(這里以安裝在虛擬機為例。)
-
將WANem_3.0_Beta2.iso鏡像文件掛載到光驅里。
-
打開虛擬機電源。
-
安裝過程中不需要進行任何操作。安裝界面顯示內核版本號,系統內存,cpu等
-
檢查IP地址,這里沒有自動獲取IP地址,所以之后需要手動配置一個。
-
顯示WANem版本號,作者以及基於的linux系統。
-
進入WANem主界面。
-
至此,安裝完成。
-
設置IP地址。打開左下角的LXTerminal終端模擬器,輸入help可以查看基礎命令。
-
輸入exit2shell。
-
輸入ifconfig eth0 192.168.10.100 netmask 255.255.255.0(此種方法即使生效,重啟后恢復為原來的IP)
-
輸入ifconfig查看IP
-
在另一台計算機的瀏覽器地址欄輸入http://192.168.10.100/WANem”(這個IP是虛擬機里面配置的IP,后面的WANem區分大小寫。)進入到WANem主界面。
三、 WANem 功能介紹
1、WANalyzer
-
WANalyzer是廣域網學習工具,通過學習到目標主機的丟包,時延,抖動,自動模擬該網絡環境。輸入遠程計算機的IP地址,單擊右側Start WAN Characterization.
-
彈出新窗口,新窗口將顯示到目標IP的延時、丟包、抖動、可用帶寬等。
2、Basic Module
如果選擇基本模式,只有一組網絡特性可以用於每一個網絡接口。這樣的集合被稱為一個規則集,在基本模式中,每個規則集將允許用戶使用以下指定網絡特性:帶寬和延遲。用戶可以選擇帶寬也可以指定帶寬。
3、AdvancedModule
高級模式:
選擇正確的網絡接口后(通常選擇默認的eth0),單擊start按鈕,進入高級模式主界面。
在高級模式中,上面的頁面顯示的是一個規則集。具體使用參見下文。
4、Save/Restore
保存、恢復
在高級模式中可以保存規則集到本地,也可以從本地恢復規則集。
5、RemoteTerminal
遠程終端
四、 使用
目的:要模擬PC-1跟PC-2之間丟包,延遲,抖動等。通過ping命令查看它們之間的通信情況;限制帶寬,通過jperf查看PC-1跟PC-2之間數據傳輸的帶寬。
1、創建了3台虛擬機。
虛擬機名稱 | 操作系統 | IP地址 |
---|---|---|
WANem | WANem | 192.168.10.100 |
PC-1 | windows10 | 192.168.10.1 |
PC-2 | windows10 | 192.168.10.2 |
2、 以管理員身份運行PC-1的命令提示符,輸入route print,查看PC-1的路由表。
3、輸入routeadd192.168.10.2 mask 255.255.255.0 192.168.10.100,回車。
4、 輸入route print查看路由表,路由表中顯示剛剛添加成功的路由。
4、輸入tracert 192.168.10.2(路由跟蹤,tracert命令用IP生存時間和ICMP錯誤消息來確定一個主機到網絡上其他主機的路由),顯示如圖結果,說明測試機PC-1是通過虛擬機WANem的路由訪問目標機器PC-2的.
5、測試網絡延遲情況下PC-1和PC-2之間的通信。在基本模式中將時延設置為5ms,單擊apply settings。
6、以管理員身份運行PC-1的命令提示符,輸入ping192.168.10.2-t,回車。觀察一段時間后輸入Ctrl+C,屏幕上顯示數據包的丟失情況,最長往返時間,最短往返時間時延等。與之前設置的一致。
7、測試丟包情況下PC-1和PC-2之間的通信,在高級模式中將丟包率設置為50%,單擊apply settings。
8、以管理員身份運行PC-1的命令提示符,輸入ping192.168.10.2-t,回車。觀察一段時間后輸入Ctrl+C,屏幕上顯示數據包的丟失情況,最長往返時間,最短往返時間時延等。與之前設置的一致。
9、測試帶寬限制情況下PC-1和PC-2之間的通信,在高級模式中將帶寬限制設置為100Mbps,單擊apply settings。
10、在PC-2中安裝jperf,以管理員身份運行PC-1的命令提示符,輸入cd D:\Documents\Desktop\jperf-windows\bin(即cd+iperf.exe文件所在地址)回車。輸入iperf.exe–s
11、在PC-1中安裝jperf,以管理員身份運行PC-1的命令提示符,輸入cd D:\Documents\Desktop\jperf-windows\bin(即cd+iperf.exe文件所在地址)回車。輸入iperf.exe–c 192.168.10.2輸入觀察一段時間后輸入Ctrl+C,屏幕上顯示數據包的丟失情況,最長往返時間,最短往返時間時延等。與之前設置的一致。
五、基礎英文對照
Packet Limit:用來設置包的隊列大小,默認為1000,當隊列超過1000時,超過的包將被丟棄
Symmetrical network:對稱網絡,選中為Yes的時候,應用網絡的規則將在數據包來回的方向上都生效
Choose BW:從快速列表選擇帶寬
Specify BW:自定義帶寬
Delay:延時,這里設置的是單向的延時。Jitter,抖動;Correlation,相關性,用來設置這個包的延遲時間與上一個包的時間的相關度
Loss:丟包率;Correlation,相關性,以一定的概率發生突發的大量的丟包,但平均丟包率不會超過Loss定義的值
Duplication:重包率,以一定概率生成某個包的多份拷貝,並按隨機時間到達目標端。Correlation,相關性,類似Loss。
Packet reordering:包重排序率,按概率將包的順序打亂,gap用來確定包重排序的個數,不設置更接近真實的環境
Corruption:錯包率,按概率產生噪音,即格式錯誤的包
Idle timer Disconnect:空閑斷開定時器,當網絡空閑時,按設定的時間對Type定義的協議斷開連接。
Random Disconnect:按Type隨機斷開,MTTF,平均失效前時間,用Low和High定義兩個極值,MTTF,平均恢復前時間
IP source address:匹配的源IP地址
IP source subnet:源IP地址的子網
IP dest address:匹配的目標IP地址