TCPの輻輳制御の個人的な理解

以下のような従来の概念:スロースタート(指数関数的に増加)、輻輳回避(直線的に増加)、スロースタートしきい値(sstresh)は、あなたが他のブログで見ることができ、言うことはありません。

他のいくつかの名詞についての話、感じの本を分けがハの下で前の文、非常に明確ではありませんまた、その外観をコメントしていない場合は、私の個人的理解されています。

 

高速再送:3冗長すなわちACK直ちに代わりにタイムアウトを待つので、データパケットを再送受信したパケットを再送します。

栗:

1,2,3,4,5,6,7終わりを送ります。損失のうちの4つは、受信機は、両側が満たされている、1、2を受信します。

次いで、受信機5によって受信され、図4に示すように、転送バックACK4を受けないことがわかりました。

彼は6を受け、その後、ACK4バックを送信します。

図7は、受信した後、ACK4バックを送信します。

この場合、送信側は、これが直ちに場合、再送パケット#4、すなわちACK 3つの冗長、3つの連続ACK4を受信します。

図4に示すように、受信機がパケットを受信し、TCP ACK応答は累積的であるため、その後、(5,6,7両方のキャッシュため)ACK8を送り返す、データ伝送が継続されます。


 

クイックリカバリー:TCPの新しいバージョン。; 2戻る輻輳回避状態に高速再送信:内部には2つのステップを含みます。迅速な回復は、特定の操作ではなく、二つの操作が一緒に絞るために、そのような名前を果たしたこと。

 

ACKの3倍の冗長性を受け取ったとき、迅速なリカバリにのみ呼び出されます:1差があることに注意してください。タイマーが満了した場合は、TCPの後、何があっバージョン、直接バックスロースタートフェーズになります。

タイマーが3回ACK指標間の差をパケット損失やパケット損失イベントの表示を有効期限が切れることに注意してください。かつての説明は、我々はすぐに伝送速度を下げる必要があり、優れたネットワーク条件ではありません!後者はただパケットが失われることがあり(およびネットワークのステータスは何の関係もありません)!これは、輻輳制御の全体の議論の基礎となっています。

マップを描画します:

 

 フラッシュ・リカバリ処理の後に行われるかどうかを、ACKを3回見つかった特徴、スロースタート閾値は、現在の輻輳ウィンドウの長さの半分になるであろう、すなわちのCWnd = sstresh / 2

高速再送信を行った後、輻輳ウィンドウは2 + 3で割った輻輳ウィンドウ長前に+ 3、すなわちsstreshうセットである:違いは高速回復手順場合、ということです。

3これは、それが何を意味するのかです。

彼らは3つのパケットがネットワークから消えたことを示す、送信者が受信されているので、その3つのACKパケットを考えます。ビューのネットワークポイントの全体的な帯域幅からは、以下3つのパケット、そして、我々はまた、それらを使用する3つのパッケージの帯域幅を置くことができ、それを無駄にしないでください。(実際に、私は少し卵を感じます)

私の個人的な理解がある:帯域幅の高速リカバリとTCPアルゴリズムは、ネットワークをより効率的に使用することができ、あなたは上記のチャートプレゼント鋸歯状の形状を見ることができます。送信者は、レート(送信ウィンドウの長さ)は、帯域幅を検出するために、残りの、ゆっくりと成長パケット損失場合、送信TCPアルゴリズムの旧バージョンと同じで遊離を振り返ると(スロースタートを再起動)ではない、しかし、のいずれかから、私たちのあなたは、ネットワークの混雑率はゆっくりと成長し続けて信じられないでしょう

 

また:私は、Wiresharkのキャプチャを使用して、彼らは高速再送に二回冗長ACKです。現実には、いわゆる標準に本をたくさん感じては厳格に実施されていません。

おすすめ

転載: www.cnblogs.com/FdWzy/p/12459724.html