インターネットやエクストラネットのアプリケーションを提供する企業にとって、TCP/IPの非効率性は、WANのレイテンシやパケット ロスの影響と相まって、アプリケーションのパフォーマンスを悪化させます。その結果、アプリケーションの応答時間が増大し、帯域幅の利用効率(「パイプに送り込む」能力)が大幅に低下することになります。
F5® BIG-IP® Local Traffic Manager™(LTM)は、最先端のTCP/IPスタックを提供します。これは、実際のクライアントやインターネットの状態を正確にモデル化していないパケットブラスト テスト ハーネスとは異なり、実際のネットワークにおけるWANおよびLANアプリケーションのパフォーマンスを劇的に向上させます。
高度に最適化されたTCP/IPスタック(F5® TCP Express™と呼ばれる)を利用することで、いくつもの最先端のTCP/IP技術と、最新のRFCの改善点を組み合わせることができます。F5は多くの改善を行い、拡張機能を開発することで、輻輳と、パケット ロスとその復元の影響を最小限に抑えることに貢献しています。独立系のテスト ツールとカスタマ エクスペリエンスから、TCP Expressが、サーバー、アプリケーション、クライアント デスクトップを変更せずに、エンドユーザーのパフォーマンスを最大で2倍に、帯域幅効率を最大で4倍に向上させることがわかっています。
F5のTCP Expressは、標準ベースの最先端のTCP/IPスタックであり、さまざまなクライアントやサーバーのオペレーティング システムでネイティブにサポートされている最適化に加え、特定のオペレーティング システムに依存しない最適化も活用しています。F5のTCP/IPスタックには、WANとLANの両方の効率性に影響を与える数百もの改善が行われています。
BIG-IP LTMの中核をなすTMOSアーキテクチャは、F5の最適化されたTCP/IPスタックをすべてのBIG-IPプラットフォームとソフトウェア アドオン モジュールに提供します。これらの独自の最適化はLAN通信とWAN通信の両方でクライアントとサーバーに適用されるため、同等の機能を提供できず、このようなレベルの最適化やパケット ロスの復元に対応できず、次善のクライアントとサーバーの間を仲介することもできないパケット単位のシステムと比べて、F5のソリューションは大きく優位に立っています。
F5のTMOSフル プロキシ アーキテクチャとTCP Expressを組み合わせることで、すべてのTCPベースのアプリケーションのパフォーマンスが大幅に向上します。これらの技術を使用することで、BIG-IPは以下のことを実現しています。
続くセクションでは、TMOS対応アーキテクチャ、標準TCP RFCのサブセット、さらにTCP Expressがトラフィック フローを最適化するために使用する最適化手法について説明します。万能なソリューションというものは存在しないため、このホワイト ペーパーでは、TCPプロファイルをカスタマイズして従来のシステムとの通信を処理する方法についても説明します。
サーバーのオペレーティング システムを頻繁に更新する組織はほとんどなく、一部のアプリケーションは非常に古いシステムで実行され続けています。このような従来のインフラストラクチャは、アプリケーションがWAN経由で提供される際に大幅な遅延を引き起こしかねません。BIG-IP Local Traffic Manager with TCP Expressは、企業のデータ センタ内のサーバーで実行されている古いTCPスタックや非準拠のTCPスタックを保護し、透過的に最適化することができます。これは、これらのデバイスとの互換性を維持しながら、接続のクライアント側でF5のTCP/IPスタック最適化を独立して活用し、それぞれの接続先のデバイスとネットワークの状態に応じて完全に独立して最適化されたTCP動作を提供することで実現されます。
さまざまなTCP/IPスタックを橋渡しするフル プロキシであるTMOSは、F5独自のTCP Expressの機能セットに含まれる多くのWAN最適化を可能にする重要な機能です。接続元のデバイスごとに最高のパフォーマンスを提供するために、クライアントとサーバーの接続が分離され、制御され、個別に最適化されます。
BIG-IP LTMを使用すると、クライアントとサーバーが通信の最小公分母をネゴシエートする必要がなくなります。次の図に示すように、クライアントに代わって仲介し(スタック ブローカリングと呼ばれる)、TCP Expressを使用してクライアント側での提供を最適化しながら、ネットワーク内部でサーバーに合わせて最適化された接続を維持します。
多くの組織は、従来のサーバーやアプリケーションを排除したり、交換したりするためのリソースがないか、またはその必要がありません。このようなシステムに対応するために、BIG-IP LTMは、最適化されていないデバイスや互換性のないデバイスとの変換を仲介します。これには以下のような機能が含まれます。
WAN通信の改善に加えて、BIG-IP LTMは、すべてのクライアントとバックエンド サーバーとの間のブリッジ デバイスまたは変換デバイスとして機能することで、インフラストラクチャ全体でこれらの機能を変換します。その結果、BIG-IP LTMは、ネットワークの非効率性を覆い隠しながらパフォーマンスを向上させます。これにより、すべてのクライアントとサーバーを更新して調整する必要がなくなるため、コストと複雑さが軽減されます。
F5が行ったTCP/IPの最も重要な改善として、以下があります。
業界標準のRFCに対してこれらの改善を行いました。続くセクションでは、TCP Expressの主要なRFCのいくつかを取り上げます。
TCP Expressは、実際のTCPの相互運用性に関する改善点を文字通り何百も実装し、市販の製品スタック(Windows 7以降、IBM AIX、Sun Solarisなど)に修正や回避策を提供しており、パフォーマンスの改善の大部分を実現する単一の最適化手法があるわけではありません。これらの最適化は、特定のクライアントとサーバーのタイプやトラフィックの特性に依存しています。その例をいくつか示します。
BIG-IPは、ダイヤルアップと同様により高速の接続でもパケットのラウンド トリップを削減し、再送を高速化します。また、BIG-IP LTMとTCP Expressは、輻輳制御とウィンドウ スケーリングを最適化してピーク帯域幅を改善します。ダイヤルアップ ユーザーに対する改善点が最も顕著ですが、いくつかの機能強化により高速リンクのパフォーマンスの上限が大幅に改善されていることを考えると、ブロードバンド ユーザー向けの改善点もほぼ統計的に明らかです。
一般に、やり取りするデータが多いほど、帯域幅の多くの最適化が適用され、やり取りするデータが少ないほど、ラウンド トリップ遅延時間(RTT)の最適化が適用されます。したがって、ダイヤルアップのようにデータのやり取りが少ないトラフィック プロファイルでは、ブロードバンドよりも多くの最適化が適用され、ブロードバンドのように多くのデータをやり取りするトラフィック プロファイルでは、最大限の最適化が適用されます。どちらの場合も、TCP Expressを使用することで大きな改善を実現できます。
TCP Expressは自動であり、変更を必要としませんが、BIG-IP LTMでは、TCPスタックを高度に制御して、特定のビジネス ニーズに応じてTCP通信を調整することができます。これには、デバイス上でフロント処理されているアプリケーションごとに、仮想サーバー レベルで最適化や設定を選択する機能があります。管理者は、TCPプロファイルを使用して、以下のTCP変数をそれぞれ調整できます。
また、管理者は、これらの制御を利用して、特殊なネットワーク条件やアプリケーション要件に合わせてTCP通信を調整することもできます。モバイル業界やサービス プロバイダ業界のお客様は、この柔軟性により、既知のデバイス(携帯電話など)やネットワーク条件に合わせて通信を調整することで、パフォーマンス、信頼性、帯域幅利用率をさらに向上させることができることを実感しています。
TCP Express は、カスタム サービスを最適化するための柔軟なスタック設定を備えています。例えば、これらの設定を調整して、モバイル ユーザーに提供されるASPアプリケーションを最適化できます。次の表に、BIG-IP LTMで変更可能なスタック設定を示します。
設定 |
説明 |
---|---|
Recv window 65535 |
BIG-IP LTMのデフォルトの受信ウィンドウは16384です。このため、BIG-IP LTMとの通信時に特定のTCPスタックが「スロットル」(速度低下)する場合があります。65535に設定すると、最後のバイトが返されるまでの時間(TTLB)が短縮されますが、メモリ使用率が増加する可能性があります。 |
Send buffer 65535 |
BIG-IP LTMのデフォルトの送信バッファを64Kに増やすと、輻輳ウィンドウで可能な限り一度にネットワークに送信されるデータ量が増えるため、メモリ使用率が増加する可能性があります。 |
Proxy buffer high and low 128K |
F5は、これらのデフォルトを変更することで、平均ページ サイズに基づいて、ほとんどのサイトで実際のパフォーマンスが向上することを経験的に確認しています。これらの値は、BIG-IP LTMが、コンテンツ スプーリングのためにサーバーから受信するデータの量を制御します。ただし、これによりメモリ使用率が増加する可能性があります。 |
F5では、LAN上のトラフィックが非常にインタラクティブな場合にパフォーマンスを最大限に高めるための一連のTCP設定として別の設定を推奨しています。F5は、NagleのアルゴリズムがWAN上のパケットの削減と一般的な圧縮/RAMキャッシングに非常によく機能することを明らかにしました。さらに、さまざまなバッファ サイズを微調整することで、低レイテンシのLANでの非常にインタラクティブな通信を改善できる可能性があります。その代償として唯一考えられるのは、BIG-IP LTMでのメモリ使用率の増加です。
次の表で、変更可能なTCPプロファイルの設定を説明します。
設定 |
説明 |
---|---|
bandwidth delay disable |
帯域幅の制限を無効にします。実際のネットワークでは、TCPスタックが大量のデータをネットワークに送信することでデータの欠落が発生することがよくあります。帯域幅遅延積を制限することで、BIG-IP LTMは、RTTごとにネットワークに送り込むデータの最適な量を決定し、これを超えないようにします。トラフィック プロファイルに小さなオブジェクトが多数ある場合は、クライアントは「ストレッチACK違反のバグ」(旧式のLinuxカーネルなどで発生)を示すため、このパラメータは無効にする必要があります。 |
Nagle disable |
Nagleのアルゴリズムは、ネットワーク上に極小パッケットを配置することを回避するために、ピアがACKを返すまでデータを保持します。この設定を有効にすると、WAN上の実際のパフォーマンスは向上しますが、ピアが未処理データのACKを返すまでTCP MSSに満たないパケットを保持するため、BIG-IP LTMがLAN上でレイテンシを発生させているように見えるかもしれません。 |
Ack on push enable |
PSHフラグの付いたTCPパケットを受信すると、BIG-IP LTMは直ちにTCP確認応答を送信します。LAN上のWindowsマシンとの間で大容量ファイルを転送する際のピーク帯域幅が増加します。 BIG-IP管理者は、イングレス/イグレスのTCP ACKパケットの数を柔軟に調整し、PUSHフラグの送信数を減らすことでイングレスACKを減らすことができます。これはTCPプロトコルで設計されている動作に対応していて、遅延ACKやストレッチACKが有効になっている場合でも、PUSHセグメントに即時ACKを送信します。PUSHフラグの送信を指定する4つのモード、すなわちDefault、None、One、Autoが有効になっています。この柔軟性により、管理者はPUSHセグメントの送信頻度を制御することができます。 |
Recv window 65535 |
BIG-IP LTMのデフォルトの受信ウィンドウは16384です。このため、BIG-IP LTMとの通信時に特定のTCPスタックが「スロットル」(速度低下)する場合があります。65535に設定すると、最後のバイトが返されるまでの時間(TTLB)が短縮されますが、メモリ使用率が増加する可能性があります。 |
Send buffer 65536 |
BIG-IP LTMのデフォルトの送信バッファを64Kに増やします。輻輳ウィンドウで可能な限り一度にネットワークに送信されるデータ量が増えるため、メモリ使用率が増加する可能性があります。 |
Proxy buffer high and low 128K and 96K respectively |
F5は、これらのデフォルトを変更することで、平均ページ サイズに基づいて、ほとんどのサイトで実際のパフォーマンスが向上することを確認しています。これらの値は、BIG-IP LTMが、コンテンツ スプーリングのためにサーバーから受信するデータの量を制御します。ただし、これによりメモリ使用率が増加する可能性があります。 |
Slow start disable |
通常は必須ではありませんが、LAN上で最後のバイトが返されるまでの時間(TTLB)を計測する場合、スロー スタートを無効にすることで、わずかですが、レイテンシが低減される可能性があります。 |
TCP Expressは、ユーザーのダウンロード時間をさらに短縮し、インフラストラクチャ リソースを最適化する、その他のF5アクセラレーションの機能と製品によって補完されます。
BIG-IP LTMに統合されているその他のアクセラレーション機能には、次のようなものがあります。
BIG-IP LTMは、インフラストラクチャの容量とパフォーマンスを向上させたいと考えている組織に、接続するすべてのクライアントとサーバーを透過的かつ効率的に動作させる独自のソリューションを提供します。F5独自のTCP Expressは、実際のネットワークとアプリケーションのパフォーマンスを驚くほど高め、かつてないほど詳細な制御機能でミッションクリティカルなアプリケーションのTCP通信を最適化します。