2013-03-26 67 views
0

我有代碼,以ping幾臺機器,並記錄時間,它爲各種數據包大小(1kb到100gb)這樣做,但我想知道如何計算延遲的網絡,這怎麼能實現呢?如何計算一個網絡的延遲和帶寬

這是我用來測量平代碼:

還如何衡量系統的帶寬呢?

感謝您的幫助!

回答

2

在延遲和帶寬是完全恆定的理想情況下,它只是一個線性問題:

delay = packetsize/bandwidth + latency 

有兩個變量,帶寬和延遲,所以你需要至少兩個不同的記錄來解決它。不過,我建議爲許多數據對計算它們,例如取所有結果的中位數。

我認爲解決上述方程應該很容易。如果沒有,請隨時詢問。

更新:如何解決上面的方程

Let 
y1, y2 values for delay 
x1, x2 values for packetsize 
a := 1/bandwith 
b := latency 

y1 = a * x1 + b 
y2 = a * x2 + b 
=> b = y1 - a * x1    [1] 
=> y2 = a * x2 + y1 - a * x1 
=> a = (y2 - y1)/(x2 + x1) 
Now put it in equation [1]: 
=> b = y1 - (y2 - y1)/(x2 + x1) 

現在你有b的延遲和1/a的帶寬。

+0

非常感謝,延遲的結果將全部運行20次,並且採用最低,最高和平均數字,我將能夠使用延遲介質和數據包大小,但是我將如何當我不知道時,能夠計算帶寬和延遲? – user2065929 2013-03-26 15:52:56