検証

ネットワーク管理者のためのSkype入門

―― 世界を席巻する無料通話ソフトウェアの内部 ――

第2回 Skypeの通信メカニズム

デジタルアドバンテージ+海津 智宏
2005/07/15

Index
第1回 ユーザーから見たSkype
第2回 Skypeの通信メカニズム

 第1回では、主にユーザーの視点から、Skypeの入手とインストール、初期セットアップ方法、Skypeの基本機能などを紹介した。第2回は、ネットワーク技術者や管理者の視点から、Skypeの通信メカニズムを眺めてみよう。この際には特に、Skypeの高い接続性を実現しているNATルータ越えのテクニック、ユーザー・ログオン認証などに注目する。いずれも、ネットワーク管理者として気になるところだ。

Skypeネットワークの構成

 Skypeは、PtoP(Peer to Peer)ファイル共有ソフトウェアとして、欧米で広く利用されているKaZaA(カザー)の技術を基に開発されたVoIP(Voice over IP)ソフトウェアである(PtoPの詳細についてはコラム「クライアント/サーバ型システムとPtoP型システム」を参照)。Skypeネットワークへのログイン認証を行うサーバ(ログイン・サーバ)は中央に存在するが、それ以外のノード(節)となるコンピュータは、すべてが対等に接続されたPtoPネットワークとして構成されることが大きな特徴だ。この特徴によりSkypeは、さまざまな環境における接続性を高め、多数のクライアントが同時通話可能なキャパシティを実現した。Skypeネットワークの構成を概念図にすると次のようになる。

Skypeネットワークの構成
Skypeは、PtoP型ファイル交換ソフトウェアKaZaAの技術をベースとして開発されたVoIPコミュニケーション・ソフトウェアである。Skypeネットワーク接続のためのユーザー認証をつかさどるログイン・サーバは中央に存在するが、それ以外の通常ノード、スーパー・ノードは対等なノードとしてPtoP型でネットワークを構成する。
  ログイン・サーバにアクセスし、Skypeシステムにログオンする。
  ログオン処理後、スーパー・ノードに接続してSkypeネットワークに参加する。

Skypeシステムへの参加者を認証するログイン・サーバ

 前回ご紹介したとおり、Skypeネットワークに接続して通話(やチャット)を利用するには、最初に自分のユーザー名を入力して、Skypeネットワークの接続認証を受けなければならない。この機能を提供するのがログイン・サーバである。ユーザーがログインすると、ユーザー名とパスワードがログイン・サーバに送信され、それらが正しければ本人であると認証され、Skypeネットワークへの接続が許可される。ログイン・サーバは、PtoP型のSkypeネットワークの中で、すべてのユーザーの認証を集中的に実行する唯一の中央サーバである。

■通常ノード、スーパー・ノード
 Skypeネットワークに接続した各コンピュータは、ノード(node=「節」)として機能することになる。ノードには通常のノードとスーパー・ノードの2種類がある。図に示したとおり、このうち通常のノードは、Skypeネットワークにあるどれか1つのスーパー・ノードと接続する。いい換えれば、通常ノードは、Skypeネットワークに存在するいずれか1つのスーパー・ノードに依存して通信を行っている。

 これに対しスーパー・ノードは、複数の通常ノードが接続してくるだけでなく、スーパー・ノード同士も接続して相互に通信を行っている。スーパー・ノードは、ノードとして自身が通話するだけでなく、コンタクト・リスト(接続先リスト)を処理し、通話のルーティングを行うことで、Skypeネットワークの一端を担う。不特定多数のノードがこのようなネットワーク管理を行うのが、PtoPネットワークの特徴である。

 ただし、通常のノードとスーパー・ノードの役割は、あらかじめコンピュータごとに固定的に決まっているわけではない。ユーザーが手作業でどちらかに固定的に設定することもできない。コンピュータがSkypeネットワークに接続したとき、そのノードが通常のノードになるか、スーパー・ノードになるかは、いくつかの条件によって動的に、自動的に決定される。従って、同じコンピュータでも、場合によってはスーパー・ノードになることもあるし、通常のノードになることもある。

 スーパー・ノードは、Skypeネットワークを担う重要なノードであるから、ネットワーク的な制限がなく、インターネットと高速なバンド幅で接続されており、長時間安定的に稼働しているものが望ましい。Skypeネットワークに接続したコンピュータがスーパー・ノードになるかどうかは、以下のような条件により決定されている。

  • アクセス可能性:ファイアウォールやNATによるアドレス変換が行われることなく、インターネット上の任意の相手と通信できるかどうか。

  • 起動時間:コンピュータを起動してから現在までの時間。これが長いほど、安定的に稼働しているコンピュータと見なされ、スーパー・ノードになる可能性が高まる。

  • 回線速度:高速な回線に接続されているコンピュータほどスーパー・ノードになる可能性が高い。

 文献によれば、全ノードのうち、1%程度がスーパー・ノードになるように調整されているという。

[コラム]
クライアント/サーバ型システムとPtoP型システム

 SkypeのベースとなっているKaZaAは、PtoP(Peer to Peer)と呼ばれるネットワーク技術を用いたファイル共有アプリケーションである。PtoP型ネットワークの特徴を生かして、低コストで柔軟なファイル共有ネットワークを構成している。

クライアント/サーバ型システム(上)とPtoP型システム(下)
クライアント/サーバ型システムでは、システム全体を統括するサーバが存在し、すべてのクライアント・ノードはこのサーバに接続することでシステムに参加する。一方のPtoP型システムには、システム全体を統治するサーバは存在せず、各クライアントが対等に接続してシステムを構成する。

 イントラネット向け共有ファイル・サーバなどとして一般的なクライアント/サーバ型システム(以下C/S型システム)では、中央に存在するサーバがシステム全体を統治している。管理の主体がサーバに集中しているので、サーバを管理することにより、システム全体を容易に制御できることが特徴だ。その代わり、通信トラフィックがサーバに集中すること、システム全体のスループットや可用性がサーバの能力に大きく依存するなどの欠点がある。Skypeと同じVoIP機能を持つインスタント・メッセージング・ソフトウェアとしてMSN MessengerやYahoo!メッセンジャーなどがあるが、これらはいずれも中央にサーバが存在するC/S型システムになっている。MSN Messenger/Yahoo!メッセンジャーでは、接続相手の検索や接続処理が中央のサーバを経由して実行される。アプリケーションの機能性はよく似ているが、内部的な通信手順はSkypeとこれらでは大きく異なっている。

 対するPtoP型システムでは、各接続ノード(クライアント)は対等で、システム全体を統治するサーバは基本的には存在しない。統一的な管理主体は存在しないので、システム全体をコントロールすることは容易ではないが、ネットワークに参加するクライアント自身が全体システムの一部の機能を担うため、負荷はサーバに集中せず、低性能だが安価なコンピュータを利用して、柔軟にシステムのスケールを変更できるという特徴がある。

 

 INDEX
  [検証]ネットワーク管理者のためのSkype入門
第2回 Skypeの通信メカニズム
    1.Skypeの通信開始処理
    2.Skypeの高い接続性の秘密
      コラム: NATルータとUDP
 
 「検証」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間