TCP Express で WAN および LAN アプリケーションのパフォーマンスを最適化

概要

インターネットおよびエクストラネット アプリケーションを配信する企業では、TCP/IP の非効率性と WAN の遅延およびパケット損失の影響が相まって、アプリケーションのパフォーマンスに悪影響を及ぼします。 結果? アプリケーションの応答時間が長くなり、帯域幅の利用効率(「パイプを埋める」能力)が大幅に低下します。

F5 の BIG-IP Local Traffic Manager は、実際のクライアントやインターネットの状況を正確にモデル化しないパケットブラスト テスト ハーネスではなく、現実のネットワークで WAN および LAN アプリケーションのパフォーマンスを大幅に向上させる最先端の TCP/IP スタックを提供します。

TCP Express と呼ばれるこの高度に最適化された TCP/IP スタックは、いくつかの最先端の TCP/IP 技術と最新の RFC の改良を組み合わせています。 F5 が開発した数多くの改良と拡張機能により、輻輳やパケット損失および回復の影響が最小限に抑えられます。 独立したテスト ツールと顧客体験により、TCP Express は、サーバー、アプリケーション、またはクライアント デスクトップに変更を加えることなく、エンド ユーザーのパフォーマンスを最大 2 倍向上させ、帯域幅効率を 4 倍向上させることが示されています。

解決
TCP エクスプレス: F5 の最適化された TCP スタック

F5 の TCP Express は、さまざまなクライアントおよびサーバー オペレーティング システムでネイティブにサポートされている最適化と、オペレーティング システム固有ではない最適化を活用する、標準ベースの最先端の TCP/IP スタックです。 F5 の TCP/IP スタックには、WAN と LAN の両方の効率に影響する、次のような数百もの改善点が含まれています。

  • 高速LANの場合: F5 の TCP スタックは、バッファ サイズを迅速に拡張し、低遅延を検出して輻輳を管理します。
  • 低速WANの場合: F5 の TCP スタックは、クライアントの速度を検出し、帯域幅を推定して、パケット損失を制限し、パケットがドロップされた場合に回復します。

BIG-IP Local Traffic Manager の中核となるのは、すべての BIG-IP プラットフォームとソフトウェア アドオン モジュールに F5 の最適化された TCP/IP スタックを提供する TMOS アーキテクチャです。 LAN と WAN の両方の通信のクライアントとサーバーにまで及ぶこれらの独自の最適化により、F5 のソリューションは、同等の機能を提供できないパケット単位のシステムよりも優位になります。また、これらのレベルの最適化、パケット損失の回復、または最適でないクライアントとサーバー間の仲介には近づけません。

F5 の TMOS フル プロキシ アーキテクチャと TCP Express を組み合わせることで、すべての TCP ベースのアプリケーションのパフォーマンスが大幅に向上します。 これらのテクノロジーを使用することで、BIG-IP は次のことが可能になります。

  • すべての接続クライアントタイプの転送速度を向上
    • ブロードバンドユーザーの平均パフォーマンスが79%向上
    • ダイヤルアップクライアントの平均パフォーマンスが35%向上
  • ダイヤルアップクライアントの接続信頼性を向上
    • TCP/IP エラー (主に TCP タイムアウト) が平均 56% 減少
  • 既存のISPプロバイダー全体の帯域幅効率を向上
    • 回線上に配置されるデータが 224% 増加 (3.2 倍の改善)
    • 回線上のパケットが 50% 削減 (2 倍の改善)
    • 「空の」TCP パケットを 63% 削減 (2.7 倍の改善)

次のセクションでは、TMOS 対応アーキテクチャと、TCP Express がトラフィック フローを最適化するために使用する標準 TCP RFC および最適化のサブセットについて説明します。 万能のソリューションは存在しないため、このホワイト ペーパーでは、TCP プロファイルをカスタマイズして、レガシー システムとの通信を処理する方法についても説明します。

TMOS アーキテクチャと TCP/IP スタック ブローカリング

ほとんどの組織ではサーバーのオペレーティング システムを頻繁に更新せず、一部のアプリケーションは非常に古いシステムで引き続き実行されます。 このレガシー インフラストラクチャは、アプリケーションが WAN 経由で配信される際に、大幅な遅延の原因となる可能性があります。 TCP Express を搭載した BIG-IP Local Traffic Manager は、企業のデータ センター内のサーバー上で実行されている可能性のある古い TCP スタックや非準拠の TCP スタックをシールドし、透過的に最適化できます。 これは、これらのデバイスとの互換性を維持しながら、接続のクライアント側で F5 の TCP/IP スタック最適化を独立して活用することで実現され、接続されたすべてのデバイスとネットワーク条件に対して完全に独立した最適化された TCP 動作を提供します。

さまざまな TCP/IP スタックをブリッジする完全なプロキシとして、TMOS は、F5 独自の TCP Express 機能セットに含まれる多くの WAN 最適化を実現する重要な要素です。 クライアントとサーバーの接続は分離され、制御され、個別に最適化されるため、接続するすべてのデバイスに最高のパフォーマンスが提供されます。

BIG-IP Local Traffic Manager を使用すると、クライアントとサーバーが通信の最低共通基準をネゴシエートする必要がなくなります。 これはクライアントに代わって仲介し (スタック ブローカーと呼ばれます)、次の図に示すように、ネットワーク内部でサーバー向けに最適化された接続を維持しながら、TCP Express を使用してクライアント側の配信を最適化します。

多くの場合、組織にはレガシー サーバーとアプリケーションを削除または置き換えるリソースがないか、その必要がありません。 これらのシステムに対応するために、BIG-IP Local Traffic Manager は、次のような最適化されていないデバイスや互換性のないデバイス間の変換を行う仲介機能を提供します。

  • クライアントとサーバーに個別の MSS を維持し、両方が最適な速度でデータを送信できるようにします。 クライアントとサーバーは MSS を通信して、TCP 通信のセグメントに格納できるデータの最大量を決定します。 両者は最も互換性のある通信を確立するために MSS をネゴシエートしますが、これにより、クライアントまたはサーバーに最低の共通 MSS 値をネゴシエートするように強制することで、どちらかが最適化されないままになることがよくあります。
  • サポートされていないサーバーに接続するときに、クライアントに対して TCP 選択確認応答 (SACK) や TCP タイムスタンプ (およびその他) などの最適化を維持します。
  • 接続されている各デバイス (すべてのクライアントとすべてのサーバー) の TCP ウィンドウ サイズと TCP 輻輳情報を動的かつ自動的に最適化します。
  • TCP FIN-PUSH と相互運用できない Windows などのスタックと古い Solaris システムとの相互運用性を維持します。 これは、幅広いユーザー層にサービスを提供しようとする企業がしばしば直面するさまざまなスタック相互運用性の問題の一例にすぎません。

BIG-IP Local Traffic Manager は、WAN 通信を改善するだけでなく、すべてのクライアントとバックエンド サーバー間のブリッジまたは変換デバイスとして機能することで、これらの機能をインフラストラクチャ全体に変換します。 最終的な結果として、BIG-IP Local Traffic Manager はネットワークの非効率性を隠しながらパフォーマンスを向上させます。 これにより、すべてのクライアントとすべてのサーバーを更新および調整する必要がなくなり、コストと複雑さが軽減されます。

TCP/IP RFC における F5 の改善

F5 の TCP/IP の最も重要な改善点は次のとおりです。

  • クライアントの高速化とエラー回避
  • リンク利用の改善
  • カスタマイズ可能なTCPコントロール

これらの改善は業界標準の RFC に対して行われました。 次のセクションでは、TCP Express の主要な RFC のいくつかについて説明します。

クライアントの高速化とエラー回避に関する RFC
  • 遅延確認応答、Nagle アルゴリズム(RFC 896、1122) により、BIG-IP ローカル トラフィック マネージャーは、送信する必要があるパケットの数を減らすことで、データ配信を高速化できます。 遅延確認応答は、冗長な確認応答パケットを削減するために、確認応答パケットをいつ送信する必要があるかを決定するための標準メカニズムを提供します。 さらに、Nagle アルゴリズムは、多数の小さなパケットを少数の大きなパケットに統合するための標準的な手順を提供します。
  • 選択的確認応答(RFC 2018、RFC 2883) により、BIG-IP ローカル トラフィック マネージャーは、WAN および損失の多いネットワーク上の失われたパケットや順序が変更されたパケットをより効果的かつ迅速に処理できるようになります。 これは、Windows XP 以降ではインターネット通信、およびその他のすべての最新の TCP スタックでデフォルトで有効になっています。 拡張機能により、SACK オプションの使用を指定したり、重複パケットを確認したりできるようになります。
  • 明示的輻輳通知ECN (RFC 3168、2481) により、BIG-IP ローカル トラフィック マネージャーは、中間ルーターが過負荷になっていることをピアに事前に通知し、ピアが後退してパケット損失を回避できるようになります。 TCP ヘッダー内の予約済みフラグ (ECE および CWR) は、輻輳をピアに伝えるために使用できます。
  • 制限付き高速再送信(RFC 3042、RFC2582) 失われたデータの効率的な再送信を可能にし、パケット損失によるタイムアウトの影響を排除できます。
  • 適応型初期輻輳ウィンドウ(RFC 3390) TCP スロー スタート輻輳回避のコストを軽減します。 より大きな初期輻輳ウィンドウに関する研究では、衛星リンク経由の HTTP 転送で 30% の向上が見られ、28.8 bps ダイヤルアップ ユーザーではドロップ率の増加を伴わずに 10% の改善が見られました。 パスを共有する TCP 接続 (100 台のインターネット ホストへの 16 KB 転送) では、ウィンドウ セグメントの増加により、1 つのセグメントの初期ウィンドウと比較して、4 つのセグメント (512 バイトの MSS) の初期ウィンドウを使用した転送が約 25% 改善されました。
リンク利用の改善に関する RFC
  • 輻輳回避機能付き TCP スロー スタート(RFC 3390、2581) これは、リンクを詰まらせることなくリンク上に適切な量のデータを配置し、パケットがドロップされないようにする方法です。 この機能により、組織は帯域幅の利用率を高め、既存のパブリック インターネット接続と専用回線でより高いスループット レートを実現できます。
  • 帯域幅遅延制御(RFC 793、RFC 2914、RFC 1257) F5 は帯域幅遅延計算を改善および拡張し、ネットワークにかかる最適な負荷を超過することなくより正確に推定できるようになりました。
TCP 拡張 RFC
  • タイムスタンプ(RFC 1323) BIG-IP ローカル トラフィック マネージャーでは、TCP セグメントにデータを追加して他の最適化を支援するタイムスタンプを選択的に使用できます。 タイムスタンプの利点は現代のネットワークでは大きいですが、一部のレガシー ルーターや NAT デバイスはタイムスタンプをゼロにしたり更新しなかったりして、その利点が無効になります。 したがって、これらの機能やその他の機能はプロファイルごとに調整できます。
  • TCP TIME-WAIT アサシネーション ハザードの改善(RFC 1337) TIME-WAIT 動作を最適化することで、特に TIME-WAIT 状態にあるときにリセット セグメントを受信するときのアクションを回避することで、回避できる通信エラーがいくつかあります。
  • シーケンス番号攻撃に対する防御(RFC1948) TCP Express は、安全な ISN 生成を使用して、ほとんどのシーケンス番号推測攻撃をブロックします。
  • TCP 輻輳管理の改善(RFC 3168) TCP Express は、現在インターネットで利用可能な最新の TCP 輻輳回避および輻輳回復方法をすべて実装し、使用可能な帯域幅を増やして、輻輳が発生した場合の回復を高速化します。
  • 大規模な輻輳ウィンドウを持つ TCP の TCP スロースタートを改善します(RFC 3742) 接続で非常に大きな TCP ウィンドウが使用される場合に大量の損失を防ぐために、より保守的なスロースタート動作を使用します。
  • 適切なバイト カウント(RFC 3465) 各 ACK で使用される、以前に確認応答されなかったバイトの数を使用して、よりインテリジェントなウィンドウ スケーリングを提供し、TCP パフォーマンスを向上させます。
  • TCP 高速回復アルゴリズム (NewReno) の改善(RFC 3782) TCP 高速回復アルゴリズムに対する NewReno の変更では、わずかな変更が指定されており、SACK が役立つが利用できない状況で、TCP 送信者が部分的な確認応答を使用して、次に送信するセグメントを決定する推論を行うことができます。
集団パフォーマンスの向上

TCP Express は文字通り何百もの実際の TCP 相互運用性の改善を実装し、市販の製品スタック (Windows 7 以降、IBM AIX、Sun Solaris など) を修正または回避策を提供するため、単一の最適化手法でパフォーマンス改善の大部分が達成されるわけではありません。 これらの最適化は、特定のクライアント/サーバー タイプとトラフィック特性に依存します。 例えば:

  • 帯域幅がはるかに広いブロードバンドでは、ほとんどの TCP は当然のことながらリンク容量全体を活用する効率が低くなるため、BIG-IP は追加の最適化を提供します。
  • ダイヤルアップ接続のクライアントの場合、TCP Express の主な利点は、BIG-IP によって特定のトランザクションで送信されるパケットの総数が削減され、再送信が高速化されることです。

BIG-IP は、ダイヤルアップと同様にパケットの往復を減らし、再送信を高速化しますが、接続速度はより高速です。 BIG-IP Local Traffic Manager と TCP Express は、輻輳制御とウィンドウ スケーリングも最適化して、ピーク帯域幅を向上させます。 ダイヤルアップ ユーザーの改善が最も顕著かもしれませんが、一部の機能強化により高速リンクでのトップエンド パフォーマンスが劇的に向上するため、ブロードバンド ユーザーの改善は統計的に最も明白です。

原則として、交換されるデータが増えるほど、帯域幅の最適化が適用されます。 交換されるデータが少ないほど、ラウンドトリップ遅延時間 (RTT) の最適化が適用されます。 したがって、ダイヤルアップなど、大量のデータを交換しないトラフィック プロファイルでは、ブロードバンドよりも最適化が行われます。 大量のデータを交換するトラフィック プロファイルの場合、ブロードバンドが最も最適化されます。 どちらの場合も、TCP Express を使用すると大きなメリットが得られます。

カスタマイズ可能な TCP コントロール

TCP Express は自動で変更の必要はありませんが、BIG-IP Local Traffic Manager を使用すると、ユーザーは TCP スタックを詳細に制御して、特定のビジネス ニーズに応じて TCP 通信を調整できます。 これには、デバイス上で実行されるアプリケーションごとに、仮想サーバー レベルで最適化と設定を選択する機能が含まれます。 管理者は TCP プロファイルを使用して、次の各 TCP 変数を調整できます。

  • 時間 待つ リサイクル
  • 遅延確認応答
  • プロキシ mss
  • プロキシオプション
  • 延期承認
  • 選択的な確認応答
  • ecn
  • 限定送信
  • RFC1323 の翻訳
  • スロースタート
  • 帯域幅遅延
  • ナグル
  • プロキシバッファ

管理者はこれらのコントロールを使用して、特殊なネットワーク条件やアプリケーション要件に合わせて TCP 通信を調整することもできます。 モバイルおよびサービス プロバイダー業界の顧客は、この柔軟性により、既知のデバイス (携帯電話など) やネットワーク条件に合わせて通信を調整することで、パフォーマンス、信頼性、帯域幅の使用率をさらに向上できることがわかります。

アプリケーションのスタック設定の調整

TCP Express は、カスタム サービスを最適化するための柔軟なスタック設定を提供します。たとえば、これらの設定を調整して、モバイル ユーザーに配信される ASP アプリケーションを最適化できます。 次の表は、BIG-IP Local Traffic Manager の変更可能なスタック設定を示しています。

設定

説明

受信ウィンドウ 65535

BIG-IP Local Traffic Manager のデフォルトの受信ウィンドウは 16384 です。 これにより、BIG-IP LTM との通信時に特定の TCP スタックが「スロットル」(速度低下) する可能性があります。 これを 65535 に設定すると、メモリ使用量が増加する可能性はありますが、最後のバイトまでの時間 (TTLB) が短縮されます。

送信バッファ 65535

BIG-IP Local Traffic Manager のデフォルトの送信バッファを 64K に増やすと、輻輳ウィンドウが許せば一度にネットワーク上に送れるデータ量が増えますが、メモリ使用率が増加する可能性があります。

プロキシバッファ高低 128K

F5 は、平均ページ サイズに基づいて、これらの変更されたデフォルトにより、ほとんどのサイトで実際のパフォーマンスが向上することを経験的に発見しました。 これらの値は、BIG-IP Local Traffic Manager がコンテンツ スプール用にサーバーから受信するデータの量を制御します。 これにより、メモリ使用量が増加する可能性があります。

LAN 上の高度にインタラクティブなトラフィックの最適化

LAN 上のトラフィックが高度にインタラクティブな場合、F5 では最高のパフォーマンスを得るために異なる TCP 設定セットを推奨します。 F5 は、Nagle のアルゴリズムが WAN 経由のパケット削減と一般的な圧縮/RAM キャッシュに非常に効果的であることを発見しました。 さらに、さまざまなバッファ サイズを微調整すると、低遅延 LAN 上の高度にインタラクティブな通信にプラスの影響を与えることができ、発生する可能性のあるコストは BIG-IP Local Traffic Manager のメモリ使用率の増加のみです。

次の表は、変更可能な TCP プロファイル設定を示しています。

設定

説明

帯域幅遅延の無効化

帯域幅制限を無効にします。 実際のネットワークでは、TCP スタックが大量のデータをネットワークにプッシュするため、ドロップが発生することがよくあります。 帯域幅遅延積の制限により、BIG-IP Local Traffic Manager は RTT ごとにネットワークに注入する最適なデータ量を決定し、この量を超えないようにします。 トラフィック プロファイルに小さなオブジェクトが多数ある場合、クライアントは「ストレッチ ACK 違反バグ」を示すため (たとえば、古い Linux カーネルではこれが起こります)、このパラメータを無効にする必要があります。

Nagle 無効化

Nagle アルゴリズムは、小さなパケットがネットワーク上に送信されるのを防ぐために、ピアが ACK を送信するまでデータを保持します。 これを有効にすると、WAN 経由の実際のパフォーマンスが向上しますが、ピアが未処理のデータを ACK するまで TCP MSS 未満のパケットを保持するため、BIG-IP Local Traffic Manager が LAN に遅延を課しているように見える場合があります。

プッシュの有効化の確認

PSH フラグ付きの TCP パケットを受信すると、BIG-IP Local Traffic Manager が TCP 確認応答を直ちに送信するようにします。 LAN 上の Windows マシンとの間で大容量ファイルを転送する際のピーク帯域幅を増加します。

BIG-IP 管理者は、入力/出力 TCP ACK パケットの数を柔軟に調整し、PUSH フラグの送信数を減らすことで入力 ACK を削減できます。 これは、遅延 ACK またはストレッチ ACK が有効になっている場合でも、PUSH セグメントに即時 ACK を送信するように設計された TCP プロトコル操作に対応します。 PUSH フラグを送信するための 4 つの異なるモードが有効になっています。 デフォルト、なし、1 つ、自動。 この柔軟性により、管理者はPUSHセグメントの送信頻度を制御できます。

受信ウィンドウ 65535

BIG-IP Local Traffic Manager のデフォルトの受信ウィンドウは 16384 です。 これにより、BIG-IP LTM との通信時に特定の TCP スタックが「スロットル」(速度低下) する可能性があります。 これを 65535 に設定すると、メモリ使用量が増加する可能性はありますが、最後のバイトまでの時間 (TTLB) が短縮されます。

送信バッファ 65536

BIG-IP Local Traffic Manager のデフォルトの送信バッファを 64K に増やします。これにより、輻輳ウィンドウが許可する場合、より多くのデータを一度にネットワークに送ることができますが、メモリ使用率が増加する可能性があります。

プロキシバッファの上限と下限はそれぞれ 128K と 96K

F5 は、平均ページ サイズに基づいて、これらの変更されたデフォルトにより、ほとんどのサイトで実際のパフォーマンスが向上することを発見しました。 これらの値は、BIG-IP Local Traffic Manager がコンテンツ スプール用にサーバーから受信するデータの量を制御します。 これにより、メモリ使用量が増加する可能性があります。

スロースタートを無効にする

通常は必要ありませんが、LAN 上で最後のバイトまでの時間 (TTLB) を測定する場合は、スロー スタートを無効にすると、レイテンシの短縮に小さいながらもプラスの影響を与える可能性があります。

その他の F5 アクセラレーション テクノロジー

TCP Express は、ユーザーのダウンロード時間をさらに短縮し、インフラストラクチャ リソースを最適化するために機能する他の F5 アクセラレーション機能および製品によって補完されます。

BIG-IP Local Traffic Manager に統合されているその他のアクセラレーション機能には、次のものがあります。

  • HTTP 圧縮は、高度に設定可能な GZIP 圧縮機能を使用して、回線上で転送されるバイトのサイズを削減します。
  • Fast Cache は、優先アプリケーションをキャッシュし、共有システム上で複数のアプリケーションをホストするための制御を拡張することで、サーバーの負荷を軽減し、サーバーの CPU を節約します。 圧縮データのキャッシュ ストレージにより、コンテンツ配信がさらに高速化され、BIG-IP のスケーラビリティが向上します。
  • OneConnect は、サーバーから TCP 接続をオフロードすることで、サーバーの容量を最大 60% 増加させます。
  • コンテンツ スプーリングは、サーバー上で実行する必要がある TCP セグメンテーションの量を減らすことで、サーバーの TCP オーバーヘッドを削減し、サーバーの容量を最大 15% 増加させます。
結論

インフラストラクチャの容量とパフォーマンスの向上を目指す組織にとって、BIG-IP Local Traffic Manager は、接続するすべてのクライアントとサーバーを透過的に効率よく動作させる独自のソリューションを提供します。 F5 独自の TCP Express は、比類のない現実世界のネットワークおよびアプリケーション パフォーマンスの向上を実現し、組織にミッション クリティカルなアプリケーションの TCP 通信を最適化するための前例のないレベルの制御を提供します。

2017年10月27日公開
  • Facebookでシェア
  • Xに共有
  • LinkedInにシェア
  • メールで共有
  • AddThisで共有

F5とつながる

F5 ラボ

最新のアプリケーション脅威インテリジェンス。

デベロッパーセントラル

ディスカッション フォーラムと専門家による記事のための F5 コミュニティ。

F5 ニュースルーム

ニュース、F5 ブログなど。