July 29, 2008

通話の流れは次のようになる。

  1. Skypeをダウンロードすると、Skypeサーバに登録され、デジタル証明書が発行される。
  2. 次にログインしたときには、ログインしているノードのリストのサーバであるスーパーノードに接続される。
  3. ノードのIPアドレスをスーパーノードから取得し、ノード同士で直接通信が可能となる。
  4. ファイアウォールの内側からの通信の場合、常にパケットを送信している。また、両方がファイアウォールの内側にいるときは、グローバル・アドレスを持つ第三者のマシンで中継する。

このことにより、複雑な設定無しの通信を可能にしている。 スーパーノードには、第三者のパーソナルコンピュータを利用している。ログインしているノードのリストを常に更新するために、次のようなものの中から自動で選ばれる。

  1. グローバル・アドレスを持つ。
  2. 高速回線で接続されている。
  3. CPU性能が高く、RAMの容量が多い。
  4. Skypeの使用時間が長い。

スーパーノードに割り当てられるパーソナルコンピュータは随時変更されていき、スーパーノードの負荷が高まった場合は新たに他のコンピュータに対してもスーパーノードが追加割り当てされる仕組みになっている。 このような仕組みでサーバ機能を分散化し、段階的なネットワークの拡張、障害の局在化が図られている。Skype社にとっては低コスト化の意味もあり、自社で持っているサーバはソフトウェア配布用の数台のみである。