為分析MTU對通信的影響,做了如下測驗:
發送資料包size 是4000Byte,都是發10000個包。在MTU=1024 和 MTU=4096 下分別測驗,
測得的結果是:
MTU=4096 時的帶寬是 MTU=1024 的105%
MTU=4096 時的時延(latency)是 MTU=1024 的127%
疑惑:
1、同樣的包大小,那么時延小的不應該是帶寬更大嗎?
2、我們知道,在MTU = 1024時,4000Byte的包會產生分包,分成3個包。而MTU=4024時,則不會產生分包。
那么這個時延,指的是總包發送完成后(即3個分包都達到對方)對方回復的時延,還是切分的包,第一個包到對方后對方的回復時延?
3、查資料得到的說明都是傳輸大包資料時,MTU小的時延小,帶寬小,MTU 大的時延大,帶寬大。 這如何理解?
uj5u.com熱心網友回復:
1. 帶寬問題, 資料傳輸必須有協議, 協議就會有協議包頭資料, 如實際傳輸資訊100位元組, 有固定協議頭20位元組, 這個效率是 100/120, 如果傳輸200就是 200/220, 這樣效率上來了, 所以實際可用的帶寬就大了2. 延遲這個應該好理解吧, 傳輸任何資料都要時間的, 一般網路資料都是串行資料, 按bit傳輸, 當然內容大, 時間就多, 延遲就大
uj5u.com熱心網友回復:
謝謝你的回復。可是你好像理解錯我的題目。我問的是
發送資料包size 是4000Byte,都是發10000個包。在MTU=1024 和 MTU=4096 下分別測驗,
MTU=4096 的帶寬比MTU=1024 大,但是MTU=4096 的時延竟然也MTU=1024 大。
同樣的包大小,那么時延小的不應該是帶寬更大嗎?換句話說 同樣的massage size,不應該是帶寬大的 比帶寬小的 時延更低嗎? 時延小的代碼1秒中內能傳遞更多的資料包,帶寬更大。
uj5u.com熱心網友回復:
延時大小與帶寬沒任何關系, 除非到網路負載上限, 導致重新傳輸才會出現延遲增加問題, 你不能把這個東西套到其他上面如衛星通訊, 帶寬可以做到很高, 但是延時非常大
uj5u.com熱心網友回復:
A:10KB的包 時延10ms, 所以1秒可以傳100個包,也就是帶寬1000KB/s
B:1MB的包 時延20ms, 所以1秒可以傳50個包,也就是帶寬50M/s
這時候確實 帶寬和時延沒有關系,但是我的情況是A、B的包大小是一樣的,即
A:1M的包 時延10ms, 所以1秒可以傳100個包
B:1MB的包 時延20ms, 所以1秒可以傳50個包
所以這時候,不是時延小的帶寬大嗎? 反過來帶寬大的不是推出時延小嗎? 為何我的測驗結果卻是那樣的呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/285110.html
標籤:C++ 語言
上一篇:ip組包。怎樣確認組包完成。
下一篇:c++ 成員變數讀取