コンピュータネットワーク - トランスポートレイヤ2

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

おすすめ

転載: www.cnblogs.com/ygjzs/p/12554069.html