TCPの概要
TCPセグメント構造
シーケンス番号とACK
TCP信頼性の高いデータ転送
基礎、パイプライン、累積確認応答、単一のTCP再送タイマに提供信頼できないIPサービス層の上にTCP信頼性の高いデータ伝送サービス
イベントトリガの再送:タイムアウト、受信重複ACK
プログレッシブ:一時的に輻輳制御を考慮していない、フロー制御を考慮していない、ACKを繰り返し考えます
TCP RTTと残業
TCPの送信者イベント
- データは、アプリケーション層から受け取りました
- セグメントを作成
- 最初のシーケンス番号は、バイト数のセグメントであります
- タイマーが開始されました
- TimeOutInterval:タイムアウトを設定
- タイムアウト
- 再送タイムアウトによるセグメント
- 再起動タイマー
- ACKを受け取りました
- もし以前に認識されていないセグメントを確認しました
- 更新SendBase
- ウィンドウ未確認パケットがある場合は、タイマーを再起動
- もし以前に認識されていないセグメントを確認しました
擬似コードを見ます:
TCPの再送例
受信者
高速再送メカニズム
タイムアウト間隔来るTCPの実装は、タイムアウトが発生した場合、タイムアウト間隔がリセットされ、長い時間を待つために失われたパケットの再送信する前に、大規模につながる、倍増しました
- ACKを繰り返すことにより、パケットロスを検出
- 送信者は、複数のパケットが背中合わせになり送信します
- パケットが失われた場合、それはより多くの重複ACKを引き起こす可能性が
- 送信者が同じデータに3つのセグメントのACKを受信した場合、データが後に失われていると想定されます
- 高速再送:そのタイマーのタイムアウト前に
再送信
- 高速再送:そのタイマーのタイムアウト前に
高速再送アルゴリズム
TCPフロー制御
TCP接続管理
スリーウェイハンドシェイク
TCPのライフサイクル
輻輳制御原理
輻輳(ふくそう)
非公式の定義:「あまりにも多くの送信ホストは、ネットワークが扱うことができないので、という、あまりにも多くのデータを送信するか、速すぎて送信します。」
- パフォーマンス:
- パケット損失(ルータバッファオーバーフロー)
- パケット遅延は、(ルータのキャッシュにキューイング)が大きすぎます
原因と混雑のコスト:シナリオ1
原因と混雑のコスト:シナリオ2
原因と混雑のコスト:シナリオ3
輻輳制御方法
-
エンド輻輳制御:
- ネットワーク層は、明示的なサポートを提供していません
- 損失を観察することによって、システムを終了し、ディレイなど
- 輻輳が発生したかどうかを判断するために、ネットワークの挙動
- TCPは、このアプローチを取ります
-
ネットワーク支援型輻輳制御:
- 送信者に明示的にルータネットワーク輻輳のフィードバック情報
- シンプルな輻輳表示(1ビット):SNA、DECbit、TCP / IP ECN、ATM)
- どのような割合は、送信者を示すために取られるべきです
ATM ABR輻輳制御
TCPの輻輳制御
TCPの輻輳制御の基本原則
添加物の増加 - 乗算減少:AIMD
TCPスロースタート:SS
しきい値変数
損失イベント処理
TCPの輻輳制御:概要
TCPの輻輳制御
TCP輻輳制御アルゴリズム
TCPパフォーマンス分析
スループット:スループットTCP
- 輻輳ウィンドウサイズおよびRTTを考えると、TCPの平均スループットはどのくらいですか?
- 無視されたスロースタート
- CongWinは、サイズがW / RTTでスループットWである場合、タイムアウトが発生したと仮定しました
- W / 2RTTでスループットタイムアウト、CongWin = W / 2、後
- 平均スループットは次のとおりです。0.75W / RTT
TCPの将来
TCPの公平性の
持って公正性
非公正性
概要
-
トランスポート層サービスの基本原則
- 多重/分離
- 信頼性の高いデータ伝送
- 流量制御
- 輻輳制御
-
インターネットトランスポート層
- UDP
- TCP