-1

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 が表示され、予想よりもはるかに大きくなります。

TCP CWND プロット

バッファでも 400 パケットですが、そんなに大きな CWND を持つことはできません。

私のためにそれを説明してください、私は本当にこの問題で立ち往生しています。ありがとうございました!

4

1 に答える 1

3

パケットがスイッチと H1 と H2 のネットワーク スタックにとどまる時間はゼロであると効果的に主張しているため、CWND と RTT をあなたの方法で計算できるとは思いません。

輻輳ウィンドウ (CWND) は、パケット損失なしで転送できるデータの量です。たとえば、すべてが ACK される限り増加し、パケット損失で減少します。

データによると、CWND は約 600 でダウングレードされるため、スイッチのバッファ サイズである約 400 パケットでパケット損失が始まります。したがって、現時点では、H1 と H2 の間で転送中のパケットは 4 つではありませんが、約 400 であり、RTT はおそらく 0.5ms よりもはるかに大きくなっています。

于 2014-04-06T17:49:15.660 に答える