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 Express:F5の最適化されたTCPスタック

F5のTCP Expressは、各種クライアントおよびサーバーOSでネイティブにサポートされる最適化と、特定のOSに依存しない最適化を活用する、標準ベースの最先端TCP/IPスタックです。F5のTCP/IPスタックには、WANとLANの両方の効率向上に寄与する数百もの改善が含まれています。主な改善点は次のとおりです。

  • 高速LAN向け:F5のTCPスタックは、バッファサイズを迅速に拡張し、低レイテンシーを検出して輻輳を管理します。
  • 低速WAN向け:F5のTCPスタックはクライアントの速度を検出して帯域幅を推定し、パケット損失を抑えるとともに、パケットがドロップされた場合のリカバリを制限します。

BIG-IP Local Traffic Managerの中核を成すのは、F5が最適化したTCP/IPスタックをすべてのBIG-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 Profilesのカスタマイズ方法と、レガシーシステムとの通信への対応方法についても説明します。

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により、クライアントとサーバーが通信のために最低限共通する条件をネゴシエートする必要がなくなります。クライアントに代わって通信を仲介し(Stack Brokeringと呼ばれます)、TCP Expressを使用してクライアント側への配信を最適化すると同時に、次の図に示すように、ネットワーク内部ではサーバー向けに最適化された接続を維持します。

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

  • クライアントとサーバーに別々のMSSを維持し、双方が最適な速度でデータを送信できるようにします。クライアントとサーバーはMSSを通知し合い、TCP通信の1つのセグメントに格納できるデータの最大量を決定します。双方は、できる限り互換性の高い通信を実現するためにMSSをネゴシエートしますが、最小公倍のMSS値を使用せざるを得ないため、クライアントまたはサーバーのいずれかが最適化されないことがよくあります。
  • クライアントが非対応のサーバーに接続する場合でも、TCP Selective Acknowledgements(SACK)やTCP Timestampsなど、さまざまな最適化機能をクライアント側で維持します。
  • 接続されている各デバイス(すべてのクライアントとサーバー)に応じて、TCPウィンドウサイズとTCP輻輳情報を動的かつ自動的に最適化します。
  • Windowsから、TCP FIN-PUSHと相互運用できない旧式のSolarisシステムまで、各種スタック間の相互運用性を維持します。これは、幅広いユーザー層にサービスを提供しようとする企業が直面しがちな、さまざまなスタック間の相互運用性の問題の一例にすぎません。

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

TCP/IP RFCに対するF5の改良

F5によるTCP/IPの主な改善点は次のとおりです。

  • クライアントの高速化とエラーの回避
  • リンク使用効率の向上
  • カスタマイズ可能なTCP制御

これらの改善は、業界標準のRFCに対して行われました。以下のセクションでは、TCP Expressに関連する主要なRFCの一部を取り上げます。

クライアント高速化およびエラー回避に関するRFC

  • 遅延確認応答、Nagleアルゴリズム (RFC 896、1122)BIG-IP Local Traffic Managerは、送信が必要なパケット数を削減することで、データ配信を高速化できます。遅延確認応答は、確認応答パケットを送信するタイミングを決定するための標準的なメカニズムを提供し、重複する確認応答パケットの削減に役立ちます。また、Nagleアルゴリズムは、多数の小さなパケットを、より少数の大きなパケットにまとめるための標準的な手順を提供します。
  • 選択確認応答 (RFC 2018、RFC 2883)BIG-IP Local Traffic Managerは、WANや損失の多いネットワークで、パケットの損失や順序の入れ替わりに、より効果的かつ迅速に対処できます。この機能は、インターネット通信においてWindows XP以降、およびその他すべての最新のTCPスタックでデフォルトで有効になっています。拡張機能により、SACKオプションの使用を指定したり、重複パケットを確認応答したりできます。
  • 明示的輻輳通知 ECN (RFC 3168、2481)により、BIG-IP Local Traffic Managerは、中間ルーターが過負荷状態にあることをピアに事前に通知し、ピア側で送信量を抑えてパケット損失を回避できるようにします。TCPヘッダーの予約済みフラグ(ECEおよびCWR)を使用して、輻輳をピアに通知できます。
  • 限定再送と高速再送 (RFC 3042、RFC2582)失われたデータを効率的に再送できるため、パケット損失によるタイムアウトの影響を排除できます。
  • 適応型初期輻輳ウィンドウ (RFC 3390)TCPスロースタートによる輻輳回避のコストを軽減します。初期輻輳ウィンドウを拡大した研究では、ドロップ率の上昇を伴うことなく、衛星リンク経由のHTTP転送で30%、28.8 bpsのダイヤルアップユーザーで10%の改善が確認されています。同一経路を共有するTCP接続(100台のインターネットホストへの16 KBの転送)では、初期ウィンドウを1セグメントから4セグメント(MSS 512バイト)に拡大した結果、転送性能が約25%向上しました。

リンク使用率を改善するRFC

  • 輻輳回避を伴うTCPスロースタート (RFC 3390、2581)これは、パケットがドロップされないようリンクを輻輳させることなく、リンクに送信する適切なデータ量へと収束させる手法です。この機能により、組織は帯域幅の利用率を高め、既存のパブリックインターネット接続や専用線でより高いスループットを実現できます。
  • 帯域幅遅延制御 (RFC 793、RFC 2914、RFC 1257)F5は帯域幅遅延計算を改良・拡張し、ネットワークの容量を超えない最適な負荷をより正確に推定できるようにしました。

TCP拡張RFC

  • タイムスタンプ (RFC 1323)BIG-IP Local Traffic Managerでは、他の最適化を支援するためにTCPセグメントへデータを追加するタイムスタンプを選択的に使用できます。タイムスタンプは最新のネットワークで大きな効果を発揮しますが、一部の旧式ルーターやNATデバイスでは、タイムスタンプがゼロに設定されたり更新されなかったりするため、その効果が失われます。そのため、これらを含む各種機能はプロファイル単位で調整できます。
  • TCP TIME-WAIT Assassinationの危険性を軽減 (RFC 1337)TIME-WAITの動作を最適化することで、発生し得る通信エラーの一部を回避できます。特に、TIME-WAIT状態でリセットセグメントを受信した際に処理を行わないようにします。
  • シーケンス番号攻撃への防御 (RFC1948)TCP Expressは、安全なISN生成を使用して、シーケンス番号推測攻撃の大半をブロックします。
  • TCP輻輳管理の改善 (RFC 3168)TCP Expressは、現在インターネットで利用可能な最新の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変数を調整できます。

  • TIME-WAITの再利用
  • 遅延ACK
  • プロキシMSS
  • プロキシオプション
  • 遅延受け入れ
  • 選択的ACK
  • ECN
  • 限定送信
  • rfc1323
  • スロースタート
  • 帯域幅遅延
  • Nagle
  • プロキシバッファ

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

アプリケーション向けスタック設定のチューニング

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

LAN経由の高度な対話型トラフィックの最適化

LAN上のトラフィックが高度にインタラクティブな場合、最高のパフォーマンスを得るために、F5では別のTCP設定一式を推奨しています。F5の検証では、Nagleアルゴリズムは、WAN経由の通信におけるパケット数の削減と一般的な圧縮/RAMキャッシュに非常に効果的です。また、各種バッファサイズを調整することで、低遅延LAN上の高度にインタラクティブな通信に好影響を与える可能性があります。考えられる唯一の代償は、BIG-IP Local Traffic Managerのメモリ使用量が増加することです。

次の表では、変更可能なTCPプロファイル設定について説明します。

その他のF5高速化テクノロジー

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

BIG-IP Local Traffic Managerに統合されているその他の高速化機能には、次のものがあります。

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

まとめ

インフラストラクチャの処理能力とパフォーマンスの向上を目指す組織にとって、BIG-IP Local Traffic Managerは、接続するすべてのクライアントとサーバーの効率を透過的に高める独自のソリューションです。F5独自のTCP Expressは、実環境におけるネットワークとアプリケーションのパフォーマンスを比類のないレベルで向上させるとともに、ミッションクリティカルなアプリケーションのTCP通信を最適化するための、かつてないレベルの制御を組織に提供します。

2017年10月27日公開