Mininet を使用して、2 つのホストと 1 つのスイッチで構成されるネットワークをエミュレートしようとしています。一方のホストは送信側であり、iperf ツールを使用してもう一方のホスト (受信側) に継続的にパケットを送信します。
H1--------------------------------スイッチ-------------------- ------H2
-------100Mbps|0.125ms-----------100Mbps|0.125ms------
ホストとスイッチ間のリンクの帯域幅は 100Mbps、遅延は 0.125ms です。
送信される各パケットのサイズは 1.5KB で、スイッチには 400 パケットのバッファがあります。
各リンクの遅延は 0.125 ミリ秒であるため、H1、H2 間の RTT は 4*0.125=0.5 ミリ秒です。
CWND (輻輳ウィンドウ) は、送信者が 1 回の RTT で送信するパケットの数であるため、スループットは次のように計算されます: スループット = CWND/RTT。
MAX(througput) < 帯域幅であるため、CWND < RTT*帯域幅=0.5*10^(-3)*100*10^6=50000b~6KB = 4 パケット
しかし、tcp_probe ツールを使用して CWND を監視すると、驚いたことに、常に 200KB (~120 パケット) を超える CWND が表示され、予想よりもはるかに大きくなります。
バッファでも 400 パケットですが、そんなに大きな CWND を持つことはできません。
私のためにそれを説明してください、私は本当にこの問題で立ち往生しています。ありがとうございました!