[問答] 關於packet loss rate的解釋

作者: ken1325 (優質水瓶男)   2016-09-09 00:27:31
我現在有一個網路實驗,這個實驗總共會跑100次,測出這100次所花費的
時間是多少,然後再算出這100次的平均是多少。我在做實驗時,會使用 Linux 底下的
netem 工具去模擬 packet loss rate。
例如:
假設我設定packet loss rate = 25%,這表示每次在傳送封包時,會有25%的機率遺失掉
,遺失掉後會再重傳一次。
跑出來的平均數有可能是下面這樣:
跑第一個100次的平均是 1.57 second
跑第二個100次的平均是 2.43 second
跑第三個100次的平均是 70.33 second
跑第四個100次的平均是 0.68 second
可以看到每次跑出來的平均數都不一樣,有時候非常高,有時候又很低,教授問為什麼每
次都不一樣,
我的解釋是因為我有設定packet loss rate = 25%,
當在測試時,如果每次封包都剛好loss掉,則測出來的時間就會變得很高;而如果每次封
包都剛好沒有loss,則測出來的時間就會很低。
我想請問關於packet loss rate的解釋,我這樣解釋是對的嗎?
因為教授好像不是很滿意這個解釋,他希望每次出來的時間都要差不多。
作者: deadwood (T_T)   2016-09-09 01:32:00
感覺你的測試是把封包遺失機率設定25%,然後送100次單一封包才會出現這個結果...一般來說設定幾%的遺失率,就是固定遺失總數量幾%的封包不會有所謂"每次封包都剛好遺失掉"的狀況發生才對看了一下netem的文件,發現loss 機能確實是亂數產生因此會有原PO的情況發生,有個方法是後面再加一個XX%叫做correlation的功能,讓機率隨著發生次數再減少不過文件也有說明,loss random的功能可能是因為程式本身的亂數運算法的問題,模擬出來的行為不太正確新版的似乎又加入了套用不同運算模型(這個就不太懂了)的作法,不過實際上運作如何可能要自己去試了另外補充一點,樣本數太低也是加大誤差的原因改成每次都傳1000個封包看看吧

Links booklink

Contact Us: admin [ a t ] ucptt.com