Page 1
Skype .
~ P2P通信の秘密~β1
http://ikejisoft.com/池嶋 俊
Page 2
Skype P2P~ 通信の秘密~ 2
自己紹介• 某国立大学 暇な大学生
– サークルしてみたり。– ミニコミ誌作ってみたり。– バイトしてみたり。– 起業してみたり。– 研究してみたり。
Page 3
Skype P2P~ 通信の秘密~ 3
趣味• P2P
– AsagumoWeb• http://asagumo.net• Web over P2P ソフト• たとえば、 Wikipedia のような大きなサイト
をどうやって P2P にするかを考えています。
– WOP( うおっぷ ) ・ MegaWeb/MiniWebなどの言葉を提案
• 使われていない?
Page 4
Skype P2P~ 通信の秘密~ 4
Skype は?• Skype やろうぜ
– http://ikejisoft.com 内– Google で Skype.com の次に出る。かもしれ
ない ?
Page 5
Skype P2P~ 通信の秘密~ 5
僕、私の Skype の使い方• 無駄に無駄話ブレーンストーミング
– とりあえず、会議通話で繋いでおく。– 独り言を言うと誰かが反応。
• たまに凄いアイディアが!?– 何時間接続していても通話料金関係無い
し。– 問題点 鼻歌を歌う人がいるとうるさい。
Page 6
Skype P2P~ 通信の秘密~ 6
おしながき• P2P とは何だ?• Skype と P2P
– Skype の P2P– Skype が P2P
Page 7
Skype P2P~ 通信の秘密~ 7
P2P という考え方• P2P とは一言で言うと分散。• ひとりでやっていたことを皆でやる
Page 8
Skype P2P~ 通信の秘密~ 8
P2P という歴史• クライアントサーバーシステム (C/S)
– 昔からある– Ex. Web– 作りやすい
Page 9
Skype P2P~ 通信の秘密~ 9
P2P という歴史• 最近でてきた P2P
• C/S に比べて– 良いところもあり、悪いところもある
Page 10
Skype P2P~ 通信の秘密~ 10
P2P という利点• 分散すると
– 負荷が分散される• コストが下る
– 可用性が向上する• いつでも使える
Page 11
Skype P2P~ 通信の秘密~ 11
P2P という欠点• 分散すると
– 複雑になる• 作りにくい
– 全体が大きくなる• つまり、端から端までの距離が長い• 号令をかけにくい
Page 12
Skype P2P~ 通信の秘密~ 12
ひとやすみ• 質問があれば、聞いてください。
Page 13
Skype P2P~ 通信の秘密~ 13
Skype と P2P• Skype で使われている 2 つの P2P
– Skype の P2P• Skype の一部で使われている P2P 技術
– Skype が P2P• Skype 全体の動きの P2P 技術
Page 14
Skype P2P~ 通信の秘密~ 14
Skype の P2P• 既存のボイスチャット (Yahoo Messe
nger など ) では、サーバーを介して話をする。
• Skype( や SIP) は直接通信する。
Page 15
Skype P2P~ 通信の秘密~ 15
P2P 通信の利点• サーバーの帯域に依存しない
– 音質を良くする事ができる。• サーバーが不要
– サーバーがダウンしていても使える。
Page 16
Skype P2P~ 通信の秘密~ 16
P2P 通信の障害• NAT や FW によって通信が邪魔される
事がある
NAT
不許可
Page 17
Skype P2P~ 通信の秘密~ 17
解決法 1• NAT の内側から通信を開始すればよい。
NAT
許可
Page 18
Skype P2P~ 通信の秘密~ 18
解決法 1• 呼び出し専用の人をおく
NAT
Page 19
Skype P2P~ 通信の秘密~ 19
解決法 1• 話したいという伝言をする。
NAT
許可
Page 20
Skype P2P~ 通信の秘密~ 20
P2P 通信の障害 Returns• 両方 NAT だったら?
許可不許可
Page 21
Skype P2P~ 通信の秘密~ 21
解決法 2• 必殺 UDP Hole Punching
Page 22
Skype P2P~ 通信の秘密~ 22
解決法 2• 必殺 UDP Hole Punching
許可許可
Page 23
Skype P2P~ 通信の秘密~ 23
解決法 2• 必殺 UDP Hole Punching
許可許可
Page 24
Skype P2P~ 通信の秘密~ 24
解決法 2• 必殺 UDP Hole Punching
許可許可
Page 25
Skype P2P~ 通信の秘密~ 25
P2P 通信の障害 Returns2• UDP Hole Punching に失敗したら?
許可不許可
Page 26
Skype P2P~ 通信の秘密~ 26
解決法 3• 中継してあげる
Page 27
Skype P2P~ 通信の秘密~ 27
なんでこんな面倒な事を?• 最初から中継でいいじゃないか?• 中継した分、音質が劣化する。
– 遅延が増え、ジッタエラーが増えるから。• できれば直接通話したい。• Skype はがんばる。
Page 28
Skype P2P~ 通信の秘密~ 28
Skype の P2P• これらのノウハウは P2P 関係で蓄積
されてきた!
Page 29
Skype P2P~ 通信の秘密~ 29
ひとやすみ 2
• 質問してください。• よろしくおねがいします。
Page 30
Skype P2P~ 通信の秘密~ 30
Skype が P2P• Skype 以外にも、ユーザー同士が直接
話す物はある。– MSN Messenger のボイスチャット– SIP– Skype との違いは?
Page 31
Skype P2P~ 通信の秘密~ 31
SIP のしくみ
AA さんと話したい。
A さんはこっちだ
よ
了解
SIP サーバー
Page 32
Skype P2P~ 通信の秘密~ 32
SIP の問題
A さんと話したい。
忙しい
C さんと話したい。
E さんと話したい。
F さんと話したい。
Page 33
Skype P2P~ 通信の秘密~ 33
Skype の解• サーバーを分散してみました
Page 34
Skype P2P~ 通信の秘密~ 34
Skype の解• この分散されたサーバー をスーパ
ーノードと呼びます。• スーパーノードは一般ユーザーです。
Page 35
Skype P2P~ 通信の秘密~ 35
Skype の世界
グループ グループ
Page 36
Skype P2P~ 通信の秘密~ 36
Skype の動作
A
グループ
グループ
A さんはどこ?
そこにいるよ
Page 37
Skype P2P~ 通信の秘密~ 37
Skype の動作 2
AB
グループ
グループ
B さんはどこ?
ここにいないB さんがいるグループは?
ここにいた
Page 38
Skype P2P~ 通信の秘密~ 38
予想!スーパーノード• スーパーノードの間の通信は不明
– 今、注目されている技術に DHT( 分散ハッシュテーブル ) がある。
A
A さんはどこ?
Page 39
Skype P2P~ 通信の秘密~ 39
DHT とは何か?• P2P で使われる検索手法• 特徴
– 一瞬で探せる– 完全一致
• Skype にぴったり
Page 40
Skype P2P~ 通信の秘密~ 40
SIP サーバーの中身ユーザの名前 ユーザーの場所
Akira 192.168.xx.yy
Alice 172.25.xx.zz
Bob 10.0.zz.yy
・・・・・・・・・・・・・・・Zenither 192.168.yy.zz
Page 41
Skype P2P~ 通信の秘密~ 41
DHT にすると?ユーザの名前 ユーザーの場所
Akira 192.168.xx.yy
Alice 172.25.xx.zz
Bob 10.0.zz.yy
・・・・・・・・・・・・・・・Zenither 192.168.yy.zz
テーブルを分ける
Page 42
Skype P2P~ 通信の秘密~ 42
検索するには?
P
A-D E-H I-L M-P Q-T
P さんは M-Pの中にいるな
Page 43
Skype P2P~ 通信の秘密~ 43
Skype が P2P• Skype は P2P を使った世界規模の
ネットワークを作っている。
Page 44
Skype P2P~ 通信の秘密~ 44
まとめ• Skype は P2P 技術を使っています。• P2P 技術を使う事で、 Skype は
– より音質が良く– より使いやすく
している。• これが Skype の人気の秘密。
Page 45
Skype P2P~ 通信の秘密~ 45
つづきは• こまかい話は本にします• 「入門 Skype の仕組み
無料 IP 電話を支えるピアツーピア技術」– 日経 BP 社– 10 月 24 日発売– 買ってください m(_ _ ;)m