| 難しい設定なしで、IP電話を利用させる技術 |
|
|
| |
 |
| 楽天ソーラー |
楽天だからできた、
低価格、高品質の太陽光発電システムです♪。 |
|
|
|
特別な設定なしで、ルーターを乗り越えて通話できる技術
通常、インターネット上で通信しあうパソコン同士は、互いにグローバルアドレスを持ち、通信することが基本です。ところが、パソコンとインターネットの間に、ルーターやファイアウォールを置き、インターネットに接続しているユーザも多い。そうしたパソコンは、プライベートアドレスを持ちます。ルーターのNAPTという機能で、プライベートアドレスでもインターネットに接続をしています。

NAPTはIP電話の泣き所
通常のIP電話は、NAPTなどのアドレス変換機能が働いているネットワークでは、うまくつながりません。NAPTはパソコンがインターネットに接続する場合、インターネットからの返答に対してパケットを受け取ることができます。インターネットから一方的にパケットが届いた場合、ルーターはパケットを中継しません。
したがって、ルーターを置いた環境では、機器同士が相互にパケットを送受信することはできません。IP電話では、送信も受信も必要であるため、ルーターはIP電話の泣き所なのです。
NAT経由の通信もスーパーノードで解決
Skypeのスーパーノードは、NAT機能を持つファイアウォールやルーターを経由した通信も、特別な設定をしなくても可能にしました。
|
| スーパーノード経由でポート情報を交換 |
実際にIP電話同士で通信を行う場合、次の3つの環境が考えられます。
- 双方がプライベートアドレス
- 片方のユーザがプライベートアドレス、もう片方はグローバルIPアドレス
- 双方がグローバルアドレス(何も問題なく通話可能)
2と3を除くプライベートアドレスも持つパソコン同士が通話する場合、Skypeでは、スーパーノードを経由して通話することで通信を確立しています。
|
| |
| 片方のユーザがプライベートアドレス、もう片方はグローバルIPアドレス |
片方のユーザがプライベートアドレス、もう片方はグローバルIPアドレスを持つパソコン同士が通話する場合、Skypeでは、セキュリティ機能を持たせる(VPN)通信と同じ方法で通話を確立しています。
片方のユーザがルーターやファイアウォール内にいる場合

- プライベートアドレスを持つパソコンから、グローバルアドレスを持つパソコンに定期的にUDPパケットを送信します。
- NATの内側からUDPパケットを送ることでコネクションを確立し、通信を可能にします。
|
| |
| 双方がプライベートアドレス |
相互にプライベートアドレスを持つパソコン同士が、Skypeを利用する場合、グローバルIPアドレスを持つスーパーノードが、通話を中継します。スーパーノードを中継することで、Skypeユーザは、ルーターやファイアウォール内であっても特別な設定をする必要なしで通話できます。
双方がプライベートアドレスの場合
- BがスーパーノードにUDPパケットを送信
- スーパーノードは、AにBの送信ポート番号を伝える。
- Aは、スーパーノードから送られてきたBの送信ポート番号でBに送信
- AがスーパーノードにUDPパケットを送信
- スーパーノードは、BにAの送信ポート番号を伝える。
- Bは、スーパーノードから送られてきたAの送信ポート番号でAに送信
UDPポート・パンチング
ここで、それぞれのSkypeは、スーパーノードから受け取ったポート番号の情報を宛先ポート番号に指定して、それぞれのルータにパケットを流し始めます。すると、パケットが相手のパソコンまで届くことがあります。ルータの中には、ポート番号の変換の中に規則性があるものがあり、同じ送信元ポート番号で送られてきたパケットを、宛先IPアドレスに関わらず、同じ送信元ポートに書き換え届けるものがあります。スーパーノードで送信元ポート番号の変換規則を監視し、送信元ポート番号を推測します。
NAPTは、LAN側からパケットを送信し始めないと相手がパケットを受け取っても受信するできません。しかし、お互いがパケットを送り始めれば、そのポートは開くので直接パケットをやりとりできるようになります。この技術は、「UDPポート・パンチング」と呼ばれ、元々はファイル共有ソフトで始められた技術です。Skypeはこの技術をIP電話に応用しています。
ただし、この手はCone NAT(コーンナット)という方式のNAPT機能を使うルータに対して有効です。ポート番号の変換に規則性のないSymmetrc NAT(シンメトリックナット)という種類のNAPT機能を備えるルーターでは使えません。
スーパーノード経由での通話
Skype相互の通信が確立できない場合、Skypeはスーパーノード経由で音声パケットをやりとりし通話を実現します。
|
| |
| ファイアウォール内でのSkype の振る舞い! |
Skypeソフトとインターネットの間にファイアウォールがあると、Skypeユーザのパソコンからスーパーノードに対して直接接続できない場合もあります。
そんなときでもSkypeはあきらめません。
- はじめに、多くのファイアウォールが開けている宛先ポート番号を指定してスーパーノード経由の通話を試みます。具体的には、80番(HTTP)や443番(SSL)を使います。
- 80番(HTTP)や443番(SSL)を使った通話に失敗すると、Skypeは最後の手段として、Webアクセス用のプロキシー・サーバ経由でスーパーノード経由の通話を試みます。
Skypeは、あらゆる環境でも通信が可能になる最善の努力をします。通常の場合、Skypeユーザは特別な設定をしなくても通話ができます。
ただし、ファイアウォールやプロキシーサーバで外部とのP2P通信を切断するように厳しくチェックしている環境では通話はできません。
企業や組織でもSkypeを利用するためには、以下のオプションをシステム管理者と検討してください。
スカイプは、いくつかのTCPポートと無制限な外向けのTCP接続が必要です。そのため、ファイヤーウォールが働いているパソコンでは、Skypeをうまく接続できないことがあります。スカイプを接続するには、ファイヤーウォールが妨げている、外向きのTCP接続を空ける必要があります。大切なことは、スカイプを接続させるためには、内向きのTCP接続を空けるのでなく、外向きのTCP接続を空けることです。
ファイヤーウォールを通過させるために、スカイプでは以下の4つのオプションがあります。
- 外向きのすべてのTCP接続ポートを空ける。
- 外向きの 1〜65535のポートをすべて空けます。この場合、スカイプはすべてのオプションを利用することができます。
- 外向きのTCP接続の443ポートを空ける。
- この場合、スカイプのバージョンを最新のバージョンにUPしてください。
- 外向きのTCP接続の80ポートを空ける。
- 通常のファイヤーウォールは、HTTPプロコトルすなわち80ポートは通過させています。しかし、まれに80ポートをセキュリティのために通過させない場合があります。この場合、スカイプは80ポートを利用することができません。
- HTTPS/SSLを利用する。
- スカイプのバージョンが0.97より新しいバージョンであれば、HTTP/SSLプロキシーを使う方法があります。インターネットエクスプローラのオプションでプロキシーのアドレスを設定すれば、スカイプを使うことができます。
|
|
|
|
|
|