●「クライアント・サーバ型」
SkypeはPtoPを使ったシステムなのですが、なんでPtoPを使っているのか? その利点と仕組みについて解説をします。
まず、PtoPを理解するためには、「クライアント・サーバ」型のネットワークシステムを知る必要があります。クライアント・サーバ型のネットワークは、インターネットでは非常によく使われる形態で、サービスを提供する「サーバ」とサービスを受ける「クライアント」という親と子のような関係があります。例えばWebチャットの例で考えると、チャットサービスを提供するサーバと、そのサーバにアクセスをしてチャット(サービス)を楽しむクライアントという構図になっています。
Webチャットだけでなく、HTMLファイルや画像を提供するWebサーバ、ファイルを配信するFTPサーバ、メールデータの送受信をするメールサーバなどなどネット上には多くの「クライアント・サーバ型」のネットワークが稼働しています。このタイプの長所は、データの管理が一元的にできることです。しかし、アクセスが集中して負荷が掛かると不安定になったり、最悪サーバがダウンし、サービスが全面的に停止してしまったりする可能性があります。
PtoPもネットワーク形態の一種で、サーバを必要としないかサーバの役割がとても軽いシステムとなっています。各クライアントが1対1で接続し、サービスを展開していきます。障害に対して非常に強いのがPtoPの特徴です。サーバがダウンをすればサービスも停止してしまうクライアント・サーバ型と違い、PtoPではサーバが存在しない(もしくは役割が軽い)ため、PtoPネットワークに参加しているクライアントの一部がダウンしたり、ネットワークに障害が発生したりしてもサービスがすべて停止することがありません。
●スーパーノードを使って効率管理
では、SkypeのPtoPシステムの特徴について解説をしていきましょう。
SkypeのIDを登録する際に、Skype社のデータベースサーバを利用します。Skypeでサーバが重要な役割を果たすのはこの場面のみで、同じIDを登録したら混乱してしまうため一元管理が必要なのです。ここでIDとIPの対比をした電話帳のようなデータが作成されるのですが、このデータはサーバが保持しません。スカイプに登録されるユーザーは何百万という莫大な数なので、サーバで管理するにはデータが大き過ぎるからです。この電話帳データは分割されて、Skypeのクライアントが分散して保持していくのです。
しかし、すべてのクライアントマシンにデータを細かく刻んで分散させると効率が悪くなるので、「スーパーノード」といわれるクライアントマシンのリーダー格を作ります。この複数の「スーパーノード」に電話帳のデータを分散させて、ほかのクライアントマシンがそのデータを参照して、Skype上でチャットや音声通信などはPtoPで接続を行うのです。
クライアント・サーバ型とPtoP型の違いと、Skypeについて解説をしてきました。外部ネットワークになかなか接続ができない、厳しい社内のネットワークからもでもSkypeは簡単に接続ができます。いったいなぜか? 次ページではその秘密に迫りたいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.