Long Fat ネットワークと TCP の Long Fat パイプライン

ip ネットワーク遅延の記事から: 送信遅延 (送信遅延)、伝播遅延、処理遅延、キューイング遅延送信遅延 (送信遅延) の定義はすでにわかっています: 送信遅延 = データ フレーム長 (b)/チャネル帯域幅 (b/ s) なので、伝送遅延 (伝送遅延) は帯域幅に反比例することがわかります

1. ネットワークモデルの簡略化された理解

したがって、パケット損失、ジッター、ビット エラー (エラー パケット)、キュー遅延、処理遅延がない理想的なネットワーク モデルを次の 2 つの特徴に簡略化できます。

  • 帯域幅(伝送遅延(送信遅延)に反比例)
  • 伝播遅延

2. 遅延帯域幅積の定義

遅延と帯域幅の積 = 伝播遅延 * 帯域幅

3. ロングファットネットワークとTCPロングファットパイプラインの定義

  • ロング ファット ネットワーク:
    大きな遅延帯域幅積を持つネットワークは、ロング ファット ネットワーク (LFN、Long Fat Network の略) と呼ばれます。
  • TCP ロング ファット パイプ
    LFN で確立される TCP コネクションはロング ファット パイプと呼ばれます。ここで、ロング ファット パイプラインは TCP 独自のものであり、UDP にはこの概念がないことに注意してください。

TCP の長くて太いパイプラインは高速道路として理解でき、送信される各データ パケットは移動する車に相当します。次から次へと車がいっぱいで、すべての車が同じ速度で走行している場合、1 台の車に収容できる車はたくさんあります。高速道路もそうですが、高速道路が長いと、やはり始点から終点まで一台の車が移動するのにかなりの時間がかかります。

ここに画像の説明を挿入

4. TCP ロングファット パイプラインの特性と TCP パフォーマンスへの影響

4.1. TCP ロング ファット パイプラインの 2 つの特徴:

  • 伝送遅延(伝送遅延)が非常に小さく
    、パケットの送受信速度が非常に速く、非常に短時間に大量のデータをネットワークに送信することができます。
  • 伝播遅延は非常に大きく、
    データパケットがネットワークに送信されてから受信側に送信されるまでに(送信遅延に比べて)長い時間がかかります。

4.2. TCP ロング ファット パイプラインが TCP パフォーマンスに及ぼす影響:

  • 長いファット パイプの帯域幅と遅延の積は非常に大きく (送信は速く、相手側に伝播するのに長い時間がかかります)、その結果、大量のデータ パケットが送信されることになります
    。フロー制御アルゴリズムは送信を停止するウィンドウで 0 になります。ただし、元の TCP ヘッダーのウィンドウ サイズ フィールドは 16 ビットであるため、最大ウィンドウ サイズは 65535 バイトとなり、送信者によって送信されたが確認されていないデータの合計長は 65536 バイトに制限されます。計算 65535*8/1024/1024 = 0.5Mbps を参照し、最初のビットの前に 5Mbps の帯域幅が達成できる限り、伝播遅延が 100 ミリ秒のネットワークで伝送速度が十分に速いと仮定します。受信側では、送信側がすでに最後のビットを送信しており、その後ウィンドウが 0 になり、データの送信を停止し、送信側が受信側から返信された受信ウィンドウ通知を受信するまで少なくとも 100 ミリ秒待機します。その後、ウィンドウを開いて送信を続行します。つまり、最大 5Mbps の帯域幅しか使用できないため、ネットワークを完全に活用できません。------そこで、より大きなウィンドウを宣言するためのウィンドウ拡張オプションが提案されています。

  • ロングファットパイプは遅延が大きい
    TCPの輻輳制御により、パケットの損失によりコネクションの輻輳制御が発生する 冗長ACKにより高速回復に入っても輻輳ウィンドウが減少するいずれの場合も、送信側が送信できるデータ量が大幅に減少するため、パイプラインが枯渇してしまいます(つまり、ネットワークの通信速度が低下します)。転送高速回復アルゴリズムは、この問題を部分的に解決できます。

  • 長いファット パイプのスループットを向上します。長いファット パイプは一般に大きなウィンドウ値を宣言しますが、これは RTT 測定には役に立ちません。TCP
    プロトコルによると、各 TCP 接続には RTT タイマーが 1 つだけあり、同時にパケットも 1 つだけあります。 RTT 測定に使用されるため、RTT タイミングを開始するデータが ACK されない限り、TCP は次の RTT 測定を実行できません。ロングファットパイプラインでは、伝播遅延が非常に大きいため、RTT テスト期間が非常に長くなります。-----タイムスタンプ オプションを導入して、RTT テストの頻度を増やします。

  • ロング ファット パイプの送信速度は非常に速い (送信遅延)
    TCP は、32 ビットの符号なしシーケンス番号を使用してデータの各バイトを識別します。TCP は、ネットワーク内のセグメントの存続期間を制限するために最大セグメント存続期間 (MSL) を定義します。しかし、LFN ネットワークではシーケンス番号のスペースが限られているため、4294967296 バイトが送信された後にシーケンス番号が再利用されます。ネットワークが非常に高速で、シーケンス番号が 1 MSL 未満でラップする場合、ネットワーク内に同じシーケンス番号を持つ 2 つの異なるセグメントが存在し、受信機はそれらの順序を区別できなくなります。ギガビット ネットワーク (1000Mb/s) で 4294967296 バイトを送信するには、わずか 34 秒かかります。------TCP タイムスタンプ オプション (保護ラッピング シーケンス番号) の PAWS (ProtectionAgainstWrappedSequencenumbers) アルゴリズムを導入します。

5. TCPロングファットパイプラインでiperf3のパラメータを正しく設定する方法

現在のネットワークは通常広い帯域幅を持っています. いくつかの中間デバイスによって発生する遅延があると, 長くて太いパイプラインの問題が発生しやすくなります. この記事を通じて, 私たちはすでに TCP のパフォーマンスが長くて長いものであることを知っています. TCP のファット パイプラインは非常に貧弱で、ネットワーク帯域幅を最大限に活用することが難しいため、このようなネットワークをテストしてネットワークの最大スループットを得たい場合、iperf3 のパラメータをどのように設定すればよいでしょうか?
実際、ロジックは非常に単純で、主に 2 つのアイデアがあります。

  1. TCP ウィンドウを拡張し、輻輳制御アルゴリズムを停止してネットワーク使用率を向上させます。
  2. 1 つの TCP 接続で帯域幅全体を占有することはできないため、複数の TCP 接続を同時に使用することを検討し、より多くの TCP 接続を使用して帯域幅を占有してください。詳細については、記事「長飛での TCP 最大スループット テストで iperf3 を正しく使用する方法」を参照して
    ください。通信網

おすすめ

転載: blog.csdn.net/meihualing/article/details/129506207