弱網測試—Network-Emulator-Toolkit工具


參考別人網址:http://blog.csdn.net/no1mwb/article/details/53638681

弱網測試,屬於健壯性測試;怎么樣去做弱網測試呢?

一、安裝弱網測試工具-Network-Emulator-Toolkit

       推薦一個工具:Network-Emulator-Toolkit,這個工具的作用主要是設置丟包率和延時;

       1.安裝與卸載

          下載地址:https://blog.mrpol.nl/2010/01/14/network-emulator-toolkit/

           然后下載完成之后,點擊.exe文件安裝,即可;

           安裝完成后,界面如下:

   

2、再次安裝一個共享wifi工具

   下載地址:http://wifi.liebao.cn/   獵豹wifi

以上就是進行弱網測試的前期准備工作;

 

二、Network-Emulator-Toolkit使用教程

        基本操作步驟如下:

        1、新建VirtualChannel,File->new或者 Configuration->New Channel;

        2、再建一個過濾器Filter,Configuration->New Filter

               

        設置說明:1. All Network 是指所有網絡;

                          2. IPV4、IPV6(本地IP(Local IP),或者遠程IP(Remote IP)及子網掩碼(IP Mask));

                          3.可以指定本地端口(Local Port)或遠程端口(Remote Port)大小范圍;

                          4.協議(Protocol),針對TCP\UDP協議;

                          5.可以選擇網卡適配器(Adapaters),對適配器增刪改;

        3、新建連接Link,Configration->New Link

              

              注:未配置的情況下,左右兩條線都是灰色的

        4.設置UpStream和DownStream

            雙擊link或者懸浮link上方鼠標右鍵,打開UpStream、DownStream;

            

        【loss】丟包:

 

    • No Loss:默認,不模擬丟包。
    • Periodic loss: 模擬周期性的丟包。按填寫數量(設為x個),每x個包,就丟一個包(one packet is dropped per given number of packets)。
    • Random loss: 模擬隨機丟包,按給定丟包的概率,隨機丟包。
    • Burst loss: 模擬根據給定的可能性進行丟包。當發生一個丟包事件時,接着連續丟幾個包(丟包數量控制在最大(max)最小值(min)之間)。
    • G-E loss: 模擬發生數據包丟失遵循Gilbert-Elliot模型,由兩個狀態組成:好的狀態和壞的狀態。可分別為這2個狀態指定數據包丟失率,同時可設置網絡傳輸在這兩種狀態的概率
      (And the network transit between the two states is at given transition probabilities)       

 

        【error】數據錯誤(網絡傳輸過程中,包中一個或者多個字節出現Error)

          

 

    • No Error 不模擬數據傳輸錯誤
    • Random error:根據給定的比例,模擬隨機發生傳輸錯誤。
    • G-E error:發生傳輸錯誤遵循Gilbert-Elliot Model, 模型,由兩個狀態組成:好的狀態和壞的狀態。可分別為這2個狀態指定數據包丟失率,同時可設置網絡傳輸在這兩種狀態的概率(the network transit between the two states according to given transition probabilities)
    • 錯誤概率單元(Error Rate Unit):
      Bit error: 設置出錯概率為每個字節出錯的概率。
      Packet error: 設置出錯概率為每個包出錯的概率。  
 
  【Latency】出錯和丟包的關系
   
大多數情況下,包出錯導致包丟失,特殊情況下,包中的數據被編碼,協議棧可恢復被損壞的包,經過修正后,包為可接受的包,即包不丟失。此外,除了包出錯會導致包丟失,其它因素也會影響包丟失,如連接失敗(Link failure),緩沖區溢出(buffer overflow),隊列管理和傳輸超時(transmission timeout)等。
    • 延遲來自某應用發送的數據包被另一個應用程序接收到的時間。
    • Fixed delay: 按給定值,延遲固定時間(單位:毫秒)packets are delayed for a fixed amount of time.
    • Uniform delay: 按統一分布,延遲一定量的時間(時間控制在最大最小值之間)
    • Normal delay: 按正態分布.延遲一定量的時間(average:平均值,Devation:偏差)
    • Linear delay: 延遲一定量的時間(在給定時間周期(Period)內,延遲的時間大小從最小值線性增加到最大值,當達到最大值時,又從最小值開始。
    • Burst delay: 根據給定概率(Probability),延遲一定量的時間(Latency), 丟包數控制最大值和最小值之間
 
【BW&Queue】
   
   如果不指定帶寬(bandwith),則不修改傳輸速率。
          如果不設置隊列,則不對接到的包做任何隊列操作
 
 隊列:

 

 

        Normal queue:所有接收到的包都被放入一個指定隊列大小的先進先出(First In, First Out)隊列。

 

 

        Randomly Early Detection (RED) queue:所有接收到的包都被放入一個RED隊列。如果隊列大小小於                 給定的最低閾值(Minimum Threshold),隊列被評估為不擁擠的,什么都不做;如果隊列大小大於給定                   最大閾值(Maximum Threshold),則隊列被評估為擁擠的,根據丟包規則,丟棄一些包。

 

 

 
        丟包規則:

 

 

Drop front: 必要時,丟棄位於隊列頭部的包。.

 

 

Drop tail: 必要時,丟棄位於隊列尾部的包。

 

 

Drop random:必要時,根據統一分布,隨機丟個包。

 

 

Queue Mode:設置隊列大小的單位,以包(Packet Mode)為單位或者以字節為單位Byte Mode
 
 

 

【BgTraffic】背景流->延時效果

  

一些網絡數據包交換和模擬的兩端沒有任何關系,被指為背景流(background traffic)。這些背景流會帶來延時效果。
Constant-bit rate (CBR) traffic: 根據給定的固定比例生成背景流(每XX kbps、mbps數據包,xx字節背景流)
Exponential traffic:根據指數On/Off時間分布生成背景流。個人理解,Burst則為生成背景流時間,Idle則不生成背景流時間(時間單位:秒
Pareto traffic: 同上,不過是排列圖分布(Pareto)

 

【Recorder】接收順序

模擬收到的包不是按發送順序排序的。
No Recoder:不模擬

 

【Disconnection】模擬周期性斷開

 

模擬周期性斷開連接的行為。
Connection time: 一段時間周期內,link保持連接狀態的持續時間。
 
Disconnection time: 一段時間周期那日,link保持斷開狀態的持續時間
 
Disconnection rates: link發生斷開連接的比率
 
例子:設置connection time為10秒,disconnection為5秒,那么周期為15秒,如果設置rate為0.4,那么平均每10秒內,有4秒是link處於連接斷開的時間(if connection time is 10 seconds, time is 5 seconds, the period will be 15 seconds. If rate is 0.4, then on average in 4 out of 10 periods disconnection occurs. )。

 

5、開始控制(開始按鈕)

6、停止控制(停止按鈕)

7、保存文件(導出XML,方便重用)

 

附錄

工具欄介紹

連接方式:

Dialup56k:通過傳輸速率為56kbps的modem進行連接

ADSL(128/512): 通過上行128kbps,下行512kbps的ADSL連接。

GPRS:它是GSM移動電話用戶可用的一種移動數據業務,理論傳輸速率115kbit/s,實際可達53.6Kbps。

CDMA2000:3G移動通訊標准。

WCDMA:寬帶碼分多址(英語:Wideband Code Division Multiple Access,常簡寫為W-CDMA),是一種3G蜂窩網絡,使用的部分協議與2G GSM標准一致。

IEEE802.11b:通過無線局域網,帶寬最高可達11Mbps,實際的工作速度在5Mb/s左右,室外為300米;在辦公環境中最長為100米

 

 

 

 

  • 丟包或者延時,能夠帶來哪些危害呢?

 

       1、丟包:丟包最常見,在TCP協議中,需要不停的發送請求,來確認連接狀態,一旦發生丟包,就需要重傳;

                 這個時候,就需要去測試一下 產品的處理機制,UI界面是否給出友好提示,服務端是否做了異常處理;

       2、延時:由於出現了網絡波動,導致數據包在傳輸的時候出現了抖動,導致請求出現超時現象;這個時候就需要去測                   試一下產品的處理機制,UI界面是否給出友好提示,服務端是否做了異常處理;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM