19

「コンピュータ ネットワーキング: トップダウン アプローチ」という本を読んでいて、よくわからない質問に出くわしました。

私が読んだように、TCP Congestion Control には 3 つの状態があります。Slow Start、Congestion Avoidance、Fast Recovery です。Slow Start と Congestion Avoidance はよくわかりますが、Fast Recovery はかなりあいまいです。この本は、TCP がこのように動作すると主張しています: (cwnd= Congestion Window) ここに画像の説明を入力
次のグラフを見てみましょう: 送信ラウンド - 輻輳ウィンドウ サイズ グラフ

ご覧のとおり、ラウンド 16 で送信者は 42 セグメントを送信し、輻輳ウィンドウ サイズが半分 (+3) になったため、3 つの重複 ACK があったと推測できます。この質問に対する回答では、 ラウンド 16 から 22 までが輻輳回避状態にあると主張しています。しかし、高速リカバリではないのはなぜですか? つまり、3 つの重複 ACK の後、TCP は高速回復に入り、それ以降はすべての重複 ACK が輻輳ウィンドウを増加させるはずです。グラフにそれが表現されていないのはなぜですか?私が考えることができる唯一の合理的な説明は、このグラフでは 3 つの重複 ACK しかなく、それ以降に受信された ACK は重複ではなかったということです。

その場合でも、3 つ以上の重複した ACK があった場合、グラフはどのように見えるでしょうか? **

上のグラフに高速回復を表すものはありますか? そうじゃない/はい?

** 私は長い間、その質問に答えるのに苦労してきました。返信をいただければ幸いです。ありがとうございます。

更新ここに画像があります。ラウンドは、ウィンドウ内のすべてのセグメントが ACK されているときとして定義されていると思います。写真では、ラウンドは丸で示されています。 ここに画像の説明を入力 Fast Recovery 状態のときに cwnd が指数関数的に増加するのはなぜですか? (画像では、指数関数的ではなく便宜的に誤って書きました)

4

2 に答える 2