メインコンテンツまでスキップ

パケット損失がパフォーマンスに影響を与えるのはなぜですか。

Views:
2,274
Visibility:
Public
Votes:
5
Category:
ontap-9
Specialty:
nas
Last Updated:

すべてのとおり  

環境

  • すべてのネットアップ製品
  • TCP通信
  • CIFS 、 NFS 、 iSCSI に対応しています

回答

  • パケット損失が原因のパフォーマンスに影響する理由は数多くあります
  • この記事の目的は、パケット損失がパフォーマンス上の問題を引き起こす原因を説明することであり、損失が発生する理由を説明することではありません
    • パケット損失が検出されると、輻輳アルゴリズムによってネットワーク上の TCP データの量が制限され、それ以上の損失が防止されます。
    • このアルゴリズムによって設定される制限は輻輳ウィンドウ(cwin)であり、非可逆ネットワークでは平均輻輳ウィンドウを使用して、パケット損失前に送信されるデータ量を確認します。
    • Badwidth Delay Product(BDP)は、この輻輳ウィンドウとラウンドトリップ時間を関連付けて、平均予測スループットを提供します。
    • パケットが失われると、受信側は、再送信されるまで新しいパケットへの応答を停止し、その結果、半分の時間が経過するまで遅延が発生します。
  • Wiresharkが再送信としてフラグを付けたパケットを確認するには、次の手順を実行します。
    • tcp.analysis.retransmission
  • 一部のシステム では、 SACK ( ONTAP など)という TCP フラグが設定されます。このフラグは、一度に欠落しているパケットの数を識別するために使用できます。
    • この Wireshark フィルタを使用すると、これらのパケットを確認できます。 tcp.options.sack.count > 0

追加情報

  • パケット損失の判断方法と、パケット損失の可能性がある理由 発生している可能性があります

  • 用語の意味

    • 帯域幅遅延製品

      • データリンクの容量(ビット / 秒)とそのラウンドトリップ遅延時間(秒)の積

      • その結果、ビット(またはバイト)単位で測定されるデータ量は、ネットワーク回線上の任意の時点における最大データ量(送信されたがまだ確認されていないデータ)に相当します

      • 帯域幅遅延製品は、ポートのリンク速度(ビット / 秒)を 10 で割って、スイッチ全体の負荷におけるラウンドトリップ時間(通常、 1 ミリ秒程度)を掛けて推定できます。 40 Gbps/ 10 ~ = 4 GB/ 秒 * 0.001 秒 = 4.2 MB のバッファメモリ

        • ラウンドトリップ時間には、ワイヤの伝播遅延だけでなく、スイッチの遅延だけでなく、トラフィック交換時にスイッチ、ホスト、またはストレージシステム内でバッファリングされる時間も含まれます

        • 異なるリンク速度を切り替えるスイッチは、参加ポートでこの範囲のバッファメモリを提供する必要があります。

    • 受信ウィンドウ:

      • 通信のスループットは、輻輳ウィンドウと受信ウィンドウの 2 つのウィンドウによって制限されます

      • 輻輳ウィンドウは、ネットワークのキャパシティを超えないように試行します(輻輳制御)。受信ウィンドウは、受信側のデータ処理能力(フロー制御)を超えないようにします。

      • 例えば、受信者が非常にビジーな場合( Web サーバーなど)、データに圧倒される可能性があります。

      • 各 TCP セグメントには、受信ウィンドウの現在の値が含まれています

      • たとえば、送信側がバイト 4000 を確認し、受信ウィンドウ 10000 (バイト)を指定した ACK を受信した場合、輻輳ウィンドウで許可されていても、送信側はバイト 14000 の後にパケットを送信しません

    • 輻輳ウィンドウ:

      • TCPでは、常に送信可能なバイト数を決定する要因の1つに輻輳ウィンドウがあります

      • 輻輳ウィンドウは送信者によって維持されます

      • これは、レシーバーが維持するスライディング・ウィンドウ・サイズと混同しないように注意してください

      • 輻輳ウィンドウは、送信側と受信側の間のリンクが過剰なトラフィックで過負荷になるのを防ぐ手段です

      • この値は、リンク上に存在する輻輳の量を推定することによって算出されます。

    • ラウンドトリップ時間( RTT):

      • これは、送信者がバイトを送信し、受信者がバイトを確認し、送信者が確認応答を受信するまでに必要な時間です

      •  通常はミリ秒( ms )で説明

ONTAP 9.1 以降( Data ONTAP 8 を含む ONTAPでネットワーク接続を表示する方法)、または 9.5 以降では、 netstat コマンドの retransmit 列がになります。

  • ONTAP 9.1 以降ではと呼ばれます  Retransmits

  • ONTAP 9.5 以降では、と呼ばれます Rexmit

  • 再送信の増分を確認するのにも便利です(トレースの作成、 Wireshark のインストール、および表示よりも高速な場合があります)。

 

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.