ギガビットイーサネットフロー制御はどのように機能しますか。
環境
- ONTAP 9
回答
ギガビットイーサネットフロー制御の仕組み
データパケットを受信していて、受信バッファがほぼ不足しているインターフェイスは、リンクパートナーにpause on
(Xoff)フレームを送信します。リンクパートナーは、pause off
(Xon)フレームを受信するか、タイムアウトが経過するまで、データパケットの送信を停止します。フロー制御をイネーブルにすると、一方のインターフェイスが他方のインターフェイスをオーバーランする可能性が低くなります。 ポーズフレームは、そのインターフェイスに接続されているすべてのホストに影響する可能性があります。 データのフローを制御するには、フロー制御の代わりにTCPなどの上位レイヤプロトコルを使用することを推奨します。
ポーズフレームは、直接接続された2つのリンクパートナー間(スイッチとエンドステーション間、またはバックツーバック接続されている2つのエンドステーション間)でのみ交換されます。ポーズフレームは、スイッチを介して接続された2つのエンドステーション間では交換されません。
一部のデバイスには、デバイスがフロー制御フレームを送受信できるようにする1つの設定オプションがあります。他のデバイスには、送受信用の別 々 のオプションがあります。send
(またはtransmit
)がイネーブルの場合、デバイスはポーズフレームを送信します。receive
がイネーブルの場合、デバイスは受信したポーズフレームに応答します。
フロー制御なし(無効)を使用することを推奨しますが、ネットワークに接続されているエンドデバイスで送信フロー制御を有効にすることで、いくつかの利点が得られます。 最新のスイッチハードウェアは通常、標準のNICよりも高速で動作し、追加のキューイングとバッファリングを利用できます。 スイッチをreceive on
およびsend off
に設定し、クライアントをreceive off
およびsend on
に設定することで、エンドデバイスはトラフィックフローを一時停止し、スイッチにバックプレッシャを発生させることができます。
ギガビットインターフェイスが100メガビットクライアントに送信し、転送サイズが非常に大きい場合、フロー制御によって問題が解消されることはありません。回線速度の違いと大きな転送サイズの原因が多すぎて、スイッチの発信100Mビットポートでキューに入れることができず、スイッチはパケットをドロップします。スイッチはポーズフレームをギガビットインターフェイスに送信できません。ギガビットインターフェイスは他のインターフェイスにも送信している可能性があり、これはギガビットインターフェイスのパフォーマンスに悪影響を及ぼす可能性があります。
追加情報
TR-3802:『イーサネットストレージのベストプラクティス』