我嘗試使用Mininet模擬由2臺主機和1臺交換機組成的網絡。 一臺主機是發送方,通過使用iperf工具連續發送數據包到另一臺主機(接收方)。TCP擁塞窗口大小太大?
H1 ---------------------------- Switch ---------------- ---------- H2
------- 100Mbps | 0.125ms ----------- 100Mbps | 0.125ms ------
主機與交換機之間的鏈路帶寬爲100Mbps,延遲爲0.125ms。
發送的每個數據包的大小爲1.5KB,交換機的緩衝區爲400個數據包。
每個鏈路的延遲是爲0.125ms所以H1之間的RTT,H2爲4 * 0.125 = 0.5ms的
CWND(擁塞窗口)是發送方在一個RTT發送的分組的數量,因此,可以通過是計算如下:吞吐量= CWND/RTT。
由於MAX(吞吐量)<帶寬,以便CWND < RTT *帶寬= 0.5 * 10 ^( - 3)×100×10^6 = 50000b〜6KB = 4packets
但是,當I監視器CWND使用tcp_probe工具它出乎意料地顯示CWND總是大於200KB(〜120包),比我預期的要大得多。
即使緩衝區爲400包,但它不能有CWND那麼大這樣。
請給我解釋一下,我真的被困在這個問題上。 謝謝!