應邀回答本行業問題!以我十多年的網絡測試經驗,這其實是個很簡單的問題!
如果要測試網絡時延,就需要使用專業的儀表了,普通的軟件測試方法沒有辦法精確的度量網絡延時!
測試網絡延時,其實不用管中間到底經歷了多少路由器,我們只需要計算發送時間和接收接即可。
時延也稱為延時,英文名稱是latency,延遲越大,說明設備/系統處理數據包的速度越慢,它是考察被測設備的重要性能指標之一。
其實計算時延的公式很簡單:如下圖所示
- 測試儀表端口P1發送分組報文時,帶上時間戳(T1);
- 分組報文在鏈路上傳輸,中間會經過很多的路由設備,可能不止8臺;
- 測試儀表端口P2接收分組報文時,記錄時間戳(T2);
- 在接收方將2個時間戳比較(T2-T1),得到延時值。
我們只需要能夠獲取分組報文的接收時間和發送時間即可,而測試儀表處理這個問題非常的方便,它在每個發送的報文上都加上時間戳,作為發送時間,而在接收報文的時候,會記錄下接收時間,這樣就很方便的能夠計算出時延了。
時延的分類
我們都知道報文是有長度的,例如64字節,1518字節;發送方在發送報文時,如果打時間戳,會有兩個選擇,一個是打在報文的開頭,一個打在報文的末尾;接收報文時,也會有這樣的情況,所以
FIFO全稱是FirstInFirstOut,中文名稱是先進先出,也稱為直通交換時延(cutthroughlatency);
計算時延的方式是:
T1指的是分組報文的第一個bit出現在設備輸出端口的時間
T2是指數據幀第一個bit到達設備輸入端口的時間
如下圖所示:
FILO全稱是FirstInLastOut,中文名稱是先進后出,在計算時延時:
- T1是以發送的第一個bit為準
- T2是以接收的最后一個bit為準
如下圖所示:
LIFO全稱是FirstInLastOut,中文名稱是“后進先出”,在計算時延時:
- T1是以發送的最后一個bit為準
- T2是以接收的第一個bit為準
如下圖所示:
LILO全是是LastInLastOut,后進后出,顧名思義接收或者發送,都是以報文的最后一個bit為準來計算的,如下圖所示:
總共有4種類型的網絡時延,那到底選擇哪種呢?
通常建議存儲轉發的設備,例如路由器,使用LIFO這種方式;而和二層交換機類似的直通轉發設備,通常使用FIFO這種方式來計算時延。
如果您不確定是設備/系統是哪種方式,建議采用LILO的時延計算方式,這個是大部分人都認可的方式。
其實時延的計算與中間的路由器數量無關
具體選擇哪種時延方式,一般都建議使用LILO(后進后出)。
這就是關于時延測試的回復,歡迎留言討論!如果對網絡測試感興趣,我的,我們一起討論網絡知識!