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