| この記事には独自研究が含まれているおそれがあります。 問題箇所を検証し出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2016年1月) |
レイヤ4スイッチ(L4スイッチ)は、ネットワーク機器の一種。
L3スイッチがIPヘッダまでを解析するのに対して、L4スイッチはTCPヘッダなどプロトコルヘッダ内のポート番号や、セッションシーケンス番号などの解析や書換えにより、ネットワークトラフィックの分散や、セッションの最適化を行う装置である。
応用装置
- 負荷分散装置(ロードバランサ)
- 設置形態はL3スイッチと同様に、2つ以上の異なるネットワークセグメントを収容するように設置される。最小構成でもユーザ側のセグメントとサーバグループ側のセグメントの2セグメントとなる。Webサーバを始め、ファイアウォールや、DNS、TLSアクセラレーション(英語版)などの負荷を分散する構成が組まれることが多い。すなわち、複数のサーバグループと、それぞれのグループに対応したIPアドレス/プロトコルのテーブルを管理する。また、サーバに対してヘルスチェックと呼ばれる生死監視、セッション監視、サービス監視などを行うことにより、サーバリソースを最大限に円滑利用することを可能にする。ヘルスチェックの方式により、サーバ側に専用のソフトウェアをインストールする必要がある場合もある。
- 帯域制御装置 (QoS)
- 設置形態はL2スイッチと同様に設置される。したがって、イーサネットフレームヘッダのMACアドレス部の扱いは通常のL2スイッチと同じである。通過するフレーム内の発信元/送信先のIPアドレスTCPポート番号を元にフィルタし、主にAckパケット内のTCPヘッダのシーケンス番号を書き換えることにより、受信Windowサイズ(RWIN)を変更することで送信ホスト側の送信ペースを制御する。これにより回線メディアを仮想的にパーティショニングし、アプリケーションごとに帯域を割り当てることを可能とする。負荷分散装置のサーバリソースの有効利用に対し、回線メディアの有効利用を目的とする。
- セッション最適化装置(オプティマイザ)
- TCPセッションのデフォルトのタイムアウトは6秒である。したがって、メディアの障害以外の処理負荷の問題でタイムアウトが生じた場合、クライアントは最低6秒を待たなければならない。また、そのような状態では再送も頻発することから、通信の効率が急速に低下し、ユーザはイライラが募ることになる。混雑時のタイムアウトで6秒待つよりも、全ユーザに1秒待ってもらえば、全体の円滑な運用につながる。動作原理は帯域制御装置と殆ど同じだが、複雑な設定に悩むこともなく、中継のL2スイッチを置く感覚で設置できる。
- WANアクセラレータ
- オプティマイザの進化系。擬似ACK、RWIN最適化、コンテンツ圧縮などにより、回線帯域の有効利用やユーザ画面推移の高速化を狙ったもの。2007年以降からの海外ホスティングの増大を機に需要が増えていると言われている。国内のデータセンタでは電気料金や保守人件費が高い理由から、海外にホスティングする企業が増えているが、距離が遠くなるとTCPのACK遅延が大きくなるため、通常よりも回線帯域の使用率が落ちてしまう。
メリット
- サーバの負荷を分散し、サーバ単価とハード保守費用を削減する。
- サーバ能力の拡張が、飛躍的に容易になる。
- 通信要件の異なる業務セッションを、同一経路に統合し、回線の使用効率を上げる。
- DoS攻撃などへの耐性が高まる。
デメリット
- 構築設計が高度になり、イニシャルコストが大きい。
- L4スイッチ自身にバグなどが含まれていると、障害切り分けが難しい。
- 短期間での構築切替が難しい。
- サーバのパッチ作業のボリュームが多くなる。
分散アルゴリズム
- ラウンドロビン
- 単純に順番ごとにセッションを分散する方式。最も無難な方式であり、負荷も少ないが応用性も低い。
- ハッシュ
- ハッシュ関数を用いて、ソースIPアドレスを元にサーバを選択し、なるべく同じユーザは同じサーバへ接続するようにする意図がある場合に好んで用いられる方式。だが、プロキシ経由などでNAT越えをして接続するユーザが極端に多いと、うまくバランスされないことになる。
- リーストコネクション
- カレントセッション数の最も少ないサーバに接続する方式。セッションを開放したサーバに優先接続されるために、分散効率が良い。ただし、能力差のあるサーバを使って分散構成を組む場合は、能力の大きいサーバの稼動効率が落ちる。応答が障害レベルまでに遅くなったサーバに、優先接続されてしまうリスクもある。
- リーストトラフィック
- トラフィックが最も少ないサーバーに接続する方式。FTPサーバなどの分散に適している。経路帯域の分散も兼ねることになる。
- リーストプロセッシング
- 負荷が最も少ないサーバに接続する方式。サーバにエージェントのインストールが必要となる。
- ファーストアンサー
- 最も応答の早いサーバに接続する方式。数年のスパンで拡張されるシステムであれば、世代の異なるサーバを使うことにならざるを得ず、サーバ単体能力に差が出て来る。こういった場合には、ファーストアンサーが有効である。
- L7分散
- HTTPパケットのCookie情報などを元に分散する方式。この時点でL4スイッチではなく、アプリケーション(L7)スイッチとしての動作になるが、2000年時点で殆どのL4スイッチに実装されている。ハッシュ方式と合わせて分散性を高めるために使われたり、マルチセッション時に同一サーバへの接続を維持したい場合に有効である。
主なメーカー・商品
- アンリツ
- MultiFlow 10K
- Array Networks
- Array Series
- Barracuda Networks
- Barracuda Load Balancer
- Coyote Point Systems
- Equalizer (2013年3月に Fortinet 社により買収)
- Fortinet
- FortiADC シリーズ
- Piolink
- Piolink Application Switch
- Radware
- WSD(EoS), AppDrector
- Nortel Networks (ノーテル)
- (L4部門は2009年にRadwareにより買収)
- Nortel Application Switch
- Alteon
- (1999年にNortelにより買収)
- ACEdirector
- F5 Networks
- BIG-IP
- Foundry (ファウンドリー)
- ServerIron
- Cisco Systems (シスコ)
- css
- Citrix
- NetScaler