このページの本文へ

前へ 1 2 次へ

アプリケーショントラフィック管理入門 第1回

帯域やサーバーの増強だけでは速くならない

アプリケーションを快適に使うためになにが必要?

2010年03月08日 09時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

アプリケーショントラフィック管理とはなにか?

 このように、ネットワークアプリケーションは複数の構成要素が絡み合って実現されているため、あらゆる部分が阻害要因になる可能性がある。ネットワークアプリケーションを快適に利用するには、これらを総合的に解析し、阻害要因を排除していく必要があるわけだ。このうち、本連載で取り上げるのは、ネットワークにおいてパフォーマンスや可用性の向上を目指す「アプリケーショントラフィック管理」である。

 アプリケーショントラフィック管理は、おもにネットワーク側で、アプリケーションの快適な利用を阻害する要因を取り除く技術の総称だ。具体的には、QoSやキャッシング、ロードバランシング、圧縮、プロトコル最適化、各種セキュリティ技術などの幅広い技術を指す。これらは、総合的なアプリケーショントラフィック管理装置のほか、ロードバランサーやアプリケーションスイッチ、SSLアクセラレーター、WAN高速化装置、帯域制御装置などに搭載されている。

古典的な強化策を見る

 さて、ここからはアプリケーショントラフィック管理の技術を、歴史に沿って見ていこう。

サーバーと回線の増強がセオリー

 インターネットの黎明期より、アプリケーションのパフォーマンスを決定付けていたのは、サーバーの処理能力と回線の帯域であった。遅いサーバーと細い回線という環境では、アプリケーションを快適に使えるわけがない。そのため、アプリケーションを快適に使うには、回線を増速するか、処理能力の高いサーバーを複数台利用するのがセオリーであった。

 しかし、1990年代当時、WAN回線は低速であり、従量制がメインだったので、使えば使うほどお金がかかっていた。また、高い処理能力を実現するためには当然ながら高価なサーバーが必要であった。今のようにデータセンターが発達していなかったので、サーバーは自前で抱えなければならず、それは管理コストの増大につながったわけだ。

 こうしたことからネットワーク側では、キャッシングやQoS(Quality of Service)などの工夫が試みられた。

キャッシングとは?

 キャッシングは、いったんダウンロードしたコンテンツをキャッシュとして保存し、2度目以降のアクセスに再利用する技術を指す。キャッシュは、手元のWebブラウザやインターネットとLANの間に設置されたプロキシサーバーに保存されている。そのため、わざわざWebサーバーから再取得しなくとも、高速にアクセスできるというわけだ(図3)。

図3 一度ダウンロードしたファイルをプロキシサーバーにキャッシュ

 ただし、再利用可能なコンテンツが多くないと、キャッシュの価値は高くならない。そのためWebサイトが膨大な数になってくるとキャッシュのヒット率はどんどん落ちてしまう。また、古いコンテンツと新しいコンテンツとの同期を図るのが難しかったり、動的にページを生成するWebサイトにうまく対応できなかったり、当時のキャッシュ技術にはいくつかの課題があった。

 しかし、こうした数々の課題を解決するため、キャッシュ技術はその後改良が加えられ、ドットコムバブル期に専用アプライアンスに搭載されるようになっている。また、昨今導入の進んでいるWAN高速化装置でもキャッシュは主要な機能として有効性を証明している。こうした高度なキャッシングの機能については回を改めて説明する。

QoS(Quality of Service)とは?

 一方、QoSは限られた帯域を有効活用するための技術の総称だ。パケットの遅延や破棄を可能な限り防ぐことで、アプリケーションの通信品質を高める。

 QoSがよく効くポイントは大きく2つになる(図4)。たとえば、帯域の差が極端に激しいところでは、パケットが多く破棄される。100MbpsのLANから64kbpsのWANに対して、パケットが大量に流れ込んだ場合を考えてみよう。当然WANの手前でパケットは滞留することになる。滞留するだけであればよいが、実際はバッファあふれが起こり、ほとんどのパケットが破棄されてしまう。

図4 遅延やパケットロスが発生する理由

 また、複数のアプリケーションが回線を共用する場合、トラフィックの性質の違いから、アプリケーション同士が競合してしまう可能性がある。たとえば、IP電話は小さいパケットをほぼ均等間隔で送るリアルタイム性の高い通信だが、HTTPのような通信は短時間に一気にデータ転送を行なうバースト性の高い性質を持っている。これを同居させると、HTTPでの通信がIP電話の帯域を圧迫し、通話品質に影響を与えてしまう可能性があるのだ。

 こうした事態を防ぐため、本来平等に扱われているパケットに対してえこひいきをして、性質に応じた優先処理を行なう。これがQoSの基本的な考え方だ。具体的には、アプリケーションごとにパケットの優先順位を変える「優先制御」と、アプリケーションが利用する帯域を確保する「帯域制御」などの技術がある。これらの多くはスイッチやルーターなどの中継機器、あるいは専用の帯域制御装置などに実装されている。

 前者の優先制御では、まずIP電話を最優先、業務アプリケーションを2番目、Webのトラフィックは最低、といった具合にアプリケーションごとに優先度を付ける。これを「ポリシー」と呼ぶ。そして、こうした優先度をスイッチが数値として該当するパケットに付与する(マーキング)。あとはパケットを受け取ったスイッチが、パケットをクラス分けし、優先度に合わせてパケットの転送順位を変更していくことになる(図5)。

図5 パケットの転送に優先順位をつける優先制御のメカニズム

 優先順位の付け方やパケット転送の制御アルゴリズムは多種多様で、ベンダーごとに特徴がある。後者の帯域制御では、アプリケーションごとに必要な帯域(保証帯域)や上限値を設定するものを指す。たとえば、IP電話は256kbpsを保証帯域、Webは512kbpsを上限帯域といったポリシーを設定しておくと、ルータがパケットの流量を調整してくれる。アプリケーション同士で帯域を奪い合わないようにする調整策として有効だ。

 これらのQoS技術は、共通のポリシーを設定できる範囲でないと、うまく機能しない。ポリシーが設定されていないスイッチでは、高い優先順位が割り当てられたパケットが到着しても、その優先度は無視されてしまう。つまり、QoSは他者のルーターを経由するインターネットでは基本的に利用できず、自社で運用するWANやLAN内でのみ有効な機能といえる。

 次回は、ドットコム時代に本格的に利用が始まったロードバランシングの技術について解説する。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード