アプリケーションを快適に利用するためには、サーバーやクライアントだけではなく、ネットワーク側にも工夫が必要だ。ここでは、ロードバランサや帯域制御装置、WAN高速化装置などで用いられているアプリケーショントラフィック管理の技術について解説していく。
本記事は「アプリケーショントラフィック管理入門」の第1回です。最新の記事も合わせてご覧ください。
アプリケーションの
快適な利用を実現するには?
現在、ネットワークを経由して利用するアプリケーションは、まさに多種多様になっている。Webやメールはもちろん、クライアント/サーバー型の業務アプリケーション、IM(InstantMessenger)やIP電話のようなコミュニケーションツール、FTPやP2Pなどのファイル転送・共有、動画配信やオンラインゲームなどのマルチメディア系のアプリケーションなどが例として挙げられる。もちろん、こうしたアプリケーションの利用を支えるために使われる管理や監視、経路や通信制御のプロトコルもある。
こうしたアプリケーションが、ユーザーの思う通りにレスポンスよく、安定して利用できれば、なんら問題ない。しかし、現実にはこうならないことも多い(図1)。ブロードバンド時代に突入しても、操作の反応が悪かったり、ダウンロードが遅いといった現象は起こりえる。よく切れる、通話品質が悪いなどトラブルに対する苦情がユーザーから挙がるかもしれない。また、拠点同士のデータベースの同期やバックアップが遅いといったシステム管理上の不具合もあるはずだ。
家庭内でも簡単にLANが構築できるようになった現在、単に通信を実現するだけであれば難しいことはない。以前に比べてWANやインターネットのサービスも安定した品質を確保できるようになっているのも事実といえる。また、さまざまな冗長化技術により、機器の故障やリンクの断絶などが起こっても、ネットワーク自体を切断させないようにすることも可能になった。ネットワークのリーチャビリティ(到達性)や安定性の確保に関しては、現状かなり高いレベルをクリアする状況になったのだ。
しかし、アプリケーションを快適に利用するための環境を構築する方法は、実はそれなりのノウハウが必要になる。通信できるだけでは意味がないのだ。昨今、こうしたノウハウは、エンジニアや管理者によってきわめて重要な関心事になっている。
ネットワークアプリケーションになにが必要か?
ネットワークアプリケーションを快適に利用するには、高いパフォーマンスと安定性、品質が重要になる。
快適さに必要な要件とは?
高いパフォーマンスが実現できれば、レスポンスは速くなり、ダウンロードにも時間がかからず、ユーザーは快適にアプリケーションを操作できる。また、安定性が高ければ、通信の切断等を気にせず、ユーザーは常時アプリケーションを使えることになる。さらに、通信品質が高ければ、動画や音声が途切れたり、遅れたりすることがないので、コミュニケーションやユーザー体験の質が向上するだろう。
こうしたネットワークを構築できるのが理想的だが、現在のネットワークはマルチベンダーで回線や機器、サービスを組み合わせることが多い。そのため、なかなか思い通りのスペックを実現できない。では、パフォーマンスや安定性、品質の3つを劣化させる要因になりうる部分は、どこに潜んでいるのだろうか?
3つの構成要素に分類する
ネットワークアプリケーションは、サービスを提供する「サーバー」、サービスを利用する「クライアント」、そしてそれらをつなぐ「ネットワーク」の大きく3つから構成されている(図2)。
まず、「サーバー」は物理的なサーバー機とOS、そしてその上で動作するアプリケーション、データベースなどで構成されている。これらが連携で動作して、クライアントのリクエストに応答するわけだ。当然サーバーがダウンすれば、アプリケーションは利用できず、リクエストが集中すれば、レスポンスは悪くなる。
次の「ネットワーク」は、伝送距離や物理規格の違いはあるが、LANやWAN、インターネット、どれもIPをベースにしている。従来からのクライアント/サーバー型のネットワークアプリケーションは、メガビットクラスのLANを利用するのが一般的であった。しかし、21世紀になって一気にブロードバンド化したことで、WebブラウザからWANやインターネットを経由して、Webアプリケーションを利用するというのも一般的になってきた。そのため、遅延やパケットロスといった現象のほか、セキュリティ侵害も阻害要因になりうる。
一方、「クライアント」はいわゆるPCが一般的だ。以前は貧弱だったが、最近では非常に高い処理能力を持っていることが多いため、阻害要因になりにくくなっている。ただし、最近はケータイやゲーム機、IP電話機など端末の種類も増えている。こうした端末での利用も前提としなければならない。
(次ページ、アプリケーショントラフィック管理とはなにか?)
この連載の記事
-
第6回
ネットワーク
TCPの改良やキャッシング、圧縮でより速く -
第5回
ネットワーク
WANの遅延を抑えて、レスポンスアップする -
第4回
ネットワーク
サーバーの処理を肩代わりする「オフロード」とは? -
第3回
ネットワーク
ますます高機能化するロードバランサーの技術 -
第2回
ネットワーク
知っておきたいロードバランサーの基礎技術 -
ネットワーク
アプリケーショントラフィック管理入門<目次> - この連載の一覧へ