webrtcのiceについて知る

90
WebRTC の ICE のののののの WebRTC Meetup Tokyo #8 @iwashi86 1 https://www.flickr.com/photos/aigle_dore/9997830314/in/photolist-getuCJ-rg9FSw-6uBXPM-qwVxdJ-9tAAku-qHWCTA-bxJrqC-dS3syZ-9RJHEB-9Tat6g-brUZ2W-dQiKoY-94RzU2-a3vmK9-ARR9p-9dyqtW-bqP5CT-p1QhWZ- dY6Bc-qZF5JW-pCNaK2-r8RWZ1-e5yb2Y-pPwGje-qFdRn8-bCydpc-oyvuRF-9bGQh8-azfu9R-j84fLK-bCfjjM-j4iWqn-a2tskF-9cMFBB-9vQwHT-javNQn-4mvLq4-9ebMGG-5YXb27-brB37c-qfpb6C-5RkFbC-nbXBRH-dVbBu5-jcL8uM- 9et1Uh-7GM2YH-ngBXEo-hw2twQ-qwPYgR

Upload: iwashi86

Post on 31-Jul-2015

4.415 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: WebRTCのICEについて知る

WebRTCの ICEについて知るWebRTC Meetup Tokyo #8

@iwashi86

1https://www.flickr.com/photos/aigle_dore/9997830314/in/photolist-getuCJ-rg9FSw-6uBXPM-qwVxdJ-9tAAku-qHWCTA-bxJrqC-dS3syZ-9RJHEB-9Tat6g-brUZ2W-dQiKoY-94RzU2-a3vmK9-ARR9p-9dyqtW-bqP5CT-p1QhWZ-dY6Bc-qZF5JW-pCNaK2-r8RWZ1-e5yb2Y-pPwGje-qFdRn8-bCydpc-oyvuRF-9bGQh8-azfu9R-j84fLK-bCfjjM-j4iWqn-a2tskF-9cMFBB-9vQwHT-javNQn-4mvLq4-9ebMGG-5YXb27-brB37c-qfpb6C-5RkFbC-nbXBRH-dVbBu5-jcL8uM-9et1Uh-7GM2YH-ngBXEo-hw2twQ-qwPYgR

Page 2: WebRTCのICEについて知る

2

Yoshimasa Iwase@iwashi86

Page 3: WebRTCのICEについて知る

3https://www.flickr.com/photos/greenzowie/10543956045/in/photolist-h4JwMB-j3VKs2-qRZg9A-dyU1Aj-7xGMri-a3iFh-qXmB7S-rhDn4V-q3suF7-e1RHSP-68fqSC-7ruUn2-ae2UU7-6sNyov-bs1UAR-5NFbEx-6x1iU4-jqxvkh-s7ZpTn-sprJAv-4gQGMG-9cTcKt-9eYajw-9eY88L-j6KiKx-nLCY-kaLpYw-jwBa1M-jqxxiW-m87EZd-bvhe9u-9qUQtS-66EUvV-kPBhPH-9ofV2b-qXSDJd-941EoN-q4qefm-m3yYoj-s7Ze5P-jMgAvU-rvMzu3-bQDzMZ-9kgKBS-dJdSKY-9cgWri-brom8Z-sppYe2-de3BTr-jnoSt5

WebRTCの ICE?(Interactive Connectivity Establishment)

Page 4: WebRTCのICEについて知る

よくある説明

4

Page 5: WebRTCのICEについて知る

5

http://iwashi.co/2014/05/13/trickleice/

Page 6: WebRTCのICEについて知る

6

http://iwashi.co/2014/05/13/trickleice/

Page 7: WebRTCのICEについて知る

7

受注 開発 納品

Page 8: WebRTCのICEについて知る

8

受注 開発 納品

WebRTC 案件

Page 9: WebRTCのICEについて知る

9

受注 開発 納品

開発完了 -> 動作確認 OK !

Page 10: WebRTCのICEについて知る

10

受注 開発 納品

ん?つながらない?

Page 11: WebRTCのICEについて知る

11https://www.flickr.com/photos/ro_buk/4207903199/in/photolist-7pQB2a-7oP9vq-8xbiHx-7Ajmwj-8zemoB-7ehuXP-94aHzE-93jvSN-5gCQp-nRdqb-7ESvZP-5eMSN-4izRk-gdCx68-7H5QhG-hm25eq-gdCArW-gdCvG6-99Q3YA-gdD9sZ-4iA9c-8uzbUL-7hWskX-24apZ-6JCtXT-765WDT-7cpma4-765UzM-8wAnxv-8xtXNE-23HQ3r-79kxLp-9uu261-6JgUhP-62GZde-6HTovP-7xJsr-tXPfoF-6JkZB3-3aWJ47-6JkZtY-5fFxrT-5fKTRL-bzSKLU-RTQ8y-hGmu1-5fKTgm-5fFvFn-3D3gk9-769MNG

WebRTCであるよくわからないけどつながらないやつだ…

Page 12: WebRTCのICEについて知る

12https://www.flickr.com/photos/gumuz/7340412/in/photolist-DC3Q-6kqoV-9Lgf8x-naaGzP-pWzqNK-6kWVRg-oEZ6w8-8v7VGZ-9UEAmi-9kLv-ehYbxv-o6Ad1A-4DqFKJ-bRcWii-d1tJTm-4aHjs6-bJWNFP-97Pgho-8ZNBGe-rLYSXs-ajroY-96qUSC-4kAXcy-8QdCZt-r7MDtF-57tLjY-4Zhpz-9vjHhs-88hnSm-9fpiLc-bnc22E-Khua8-e4onL9-8QfuUe-fCyJ3-nzr4bo-7YvGrd-6pThCu-4bbmiz-cPhDnL-81rSz4-9Lj31N-81FuTC-jRVD8h-dYkr3t-8QVpAV-dhwwUe-8nJQUH-b8qzsB-bwhMsd

早く原因を調べなさい

Page 13: WebRTCのICEについて知る

13https://www.flickr.com/photos/ro_buk/4207903199/in/photolist-7pQB2a-7oP9vq-8xbiHx-7Ajmwj-8zemoB-7ehuXP-94aHzE-93jvSN-5gCQp-nRdqb-7ESvZP-5eMSN-4izRk-gdCx68-7H5QhG-hm25eq-gdCArW-gdCvG6-99Q3YA-gdD9sZ-4iA9c-8uzbUL-7hWskX-24apZ-6JCtXT-765WDT-7cpma4-765UzM-8wAnxv-8xtXNE-23HQ3r-79kxLp-9uu261-6JgUhP-62GZde-6HTovP-7xJsr-tXPfoF-6JkZB3-3aWJ47-6JkZtY-5fFxrT-5fKTRL-bzSKLU-RTQ8y-hGmu1-5fKTgm-5fFvFn-3D3gk9-769MNG

WebRTCの通信の中身とかよくわからんし・・・

Page 14: WebRTCのICEについて知る

14

_(:3 」∠ )_

Page 15: WebRTCのICEについて知る

15https://www.flickr.com/photos/jar0d/14758011307/in/photolist-ou7EAP-5wyd2j-ijH3Kj-9qtG1H-4yAsJE-nCwyJ6-bvcewH-7tfKKm-nsFpRX-reQpF2-pH36Cq-fmAtiU-jeLrpR-e3jcFm-dKmtwE-69VSTe-d5joAm-xWZbG-cpwuvu-ghWjGP-MPHno-fL1t9y-hAbUa2-owD33K-arqcdX-iNUwBE-ehaxYy-8rfCd6-r5sAwo-bJHtS4-aE9vC2-662Gv6-aSDJg-aCrxxV-6PKpsp-6TM1kv-dGPHKP-4urjtC-6nQD8s-eYoDZu-kBuiEM-8cpE6r-gGyLHr-73DaN5-aHiPFi-bRje26-p8bJiq-o4JNX8-6EJK2H-7RGfyR

「 NATで落ちてるだけですよ」とか簡単に言える&対処できる

Page 16: WebRTCのICEについて知る

16

ICE 知る = 大事

Page 17: WebRTCのICEについて知る

17

Page 18: WebRTCのICEについて知る

18

Page 19: WebRTCのICEについて知る

19

長すぎ

ちなみに SIP は約 270 ページ

Page 20: WebRTCのICEについて知る

20

_(:3 」∠ )_

Page 21: WebRTCのICEについて知る

21https://www.flickr.com/photos/greenzowie/10543956045/in/photolist-h4JwMB-j3VKs2-qRZg9A-dyU1Aj-7xGMri-a3iFh-qXmB7S-rhDn4V-q3suF7-e1RHSP-68fqSC-7ruUn2-ae2UU7-6sNyov-bs1UAR-5NFbEx-6x1iU4-jqxvkh-s7ZpTn-sprJAv-4gQGMG-9cTcKt-9eYajw-9eY88L-j6KiKx-nLCY-kaLpYw-jwBa1M-jqxxiW-m87EZd-bvhe9u-9qUQtS-66EUvV-kPBhPH-9ofV2b-qXSDJd-941EoN-q4qefm-m3yYoj-s7Ze5P-jMgAvU-rvMzu3-bQDzMZ-9kgKBS-dJdSKY-9cgWri-brom8Z-sppYe2-de3BTr-jnoSt5

アイスを

Page 22: WebRTCのICEについて知る

22https://www.flickr.com/photos/nam2_7676/4437691249/

美味しく召し上がれるように

Page 23: WebRTCのICEについて知る

23

平易に解説

Page 24: WebRTCのICEについて知る

24

セッションのゴールICE を理解して

自身の仕事等に活かす

Page 25: WebRTCのICEについて知る

25

そもそもなぜ ICE が必要?

Page 26: WebRTCのICEについて知る

26

NAT 越えしたいから

Internet

NAT NATDropped…

Page 27: WebRTCのICEについて知る

27

UPnPPCPICE

Page 28: WebRTCのICEについて知る

28

UPnPPCPICE

Page 29: WebRTCのICEについて知る

29

ICEVanilla

Trickle

Page 30: WebRTCのICEについて知る

30

ICEVanilla

Trickle

拡張

Page 31: WebRTCのICEについて知る

31

ICEVanilla

Trickle標準化されてないけど、 Chrome/Firefox で動く

拡張

Page 32: WebRTCのICEについて知る

32

ICEVanilla

Trickle標準化されてないけど、 Chrome/Firefox で動く

拡張

Page 33: WebRTCのICEについて知る

1. ICE概要

2. ICE kwsk

33

Page 34: WebRTCのICEについて知る

1. ICE概要

2. ICE kwsk

34

Page 35: WebRTCのICEについて知る

35

収集

( 初期値 )

交換

整頓

穴開

終結

再開

Page 36: WebRTCのICEについて知る

36

収集

交換

整頓

穴開

終結

再開

通信できそうな候補 (IP&Port)をありったけ集める

Page 37: WebRTCのICEについて知る

37

収集

交換

整頓

穴開

終結

再開

集めた候補を相手と交換する

Page 38: WebRTCのICEについて知る

38

収集

交換

整頓

穴開

終結

再開

相手から受け取った候補と自分の候補をペアにして

一手間加えて `uniq & sort`

Page 39: WebRTCのICEについて知る

39

収集

交換

整頓

穴開

終結

再開

ペアに対して、お互いにひたすら

接続試行(ホールパンチ)

Page 40: WebRTCのICEについて知る

40

収集

交換

整頓

穴開

終結

再開ホールパンチ中で未知の候補ペア

が見つかっちゃうことも…(後述)

Page 41: WebRTCのICEについて知る

41

収集

交換

整頓

穴開

終結

再開

接続成功した候補ペアからイケてる候補を決定

Page 42: WebRTCのICEについて知る

42

収集

交換

整頓

穴開

終結

再開

リロードとかすると振り出しに戻る

Page 43: WebRTCのICEについて知る

43

収集

交換

整頓

穴開

終結

再開

Page 44: WebRTCのICEについて知る

1. ICE概要

2. ICE kwsk

44

Page 45: WebRTCのICEについて知る

45

収集

交換

整頓

穴開

終結

再開

Page 46: WebRTCのICEについて知る

46https://www.flickr.com/photos/dwinton/15491767/in/photolist-2npar-fN8mrJ-6ZSNQW-3cEJD6-baVv4K-5cvQgk-fLdzPf-c4hNUA-gn15cX-hbvc2u-i45cJV-oyhaRk-3NJ8q1-iG9ei4-6R5CsQ-dkbFo7-4ambAb-4sf4jZ-fZieCr-dpSjMb-7kPv8B-8KQdNv-549Ffr-anZ9V5-5GDdt-an8sRH-8Dk7Hw-pi6wZh-dfk7z6-8xwVAa-p7t5bk-3cHnsS-jCAuX-3nzdyJ-6Nqpba-uQweU-og5QH4-cyGuyU-dmBq2P-7kTpqm-5eRh4E-oWSAMV-h5KBm-oP7Sx5-fZsXjr-fZt4rY-fZsXnH-7kPvaK-8t9P2Y-o7GXcz

収集(gathering / harvesting)

Page 47: WebRTCのICEについて知る

47

ICE Candidate ( 候補 ) is 何 ?

Page 48: WebRTCのICEについて知る

48

ICE Candidate ( 候補 ) is 何 ?・ IP アドレス

・プロトコル (TCP/UDP)・ポート番号・コンポーネント・タイプ(後述)・優先度・ファウンデーション・ベース

後述

Page 49: WebRTCのICEについて知る

49

NAT

STUN

TURN

(この構成で説明)

Page 50: WebRTCのICEについて知る

50

NAT

STUN

TURN

まずローカル候補 GET (ソケットをbind )

ex. 10.10.1.2 udp 50001 type host

Page 51: WebRTCのICEについて知る

51

NAT

STUN

TURN

STUN を利用して NAT 外部★の候補をGET

  ex. 100.1.2.3 udp 50002

Page 52: WebRTCのICEについて知る

52

NAT

STUN

TURN

Turn に Allocation Request するex. 200.7.8.9 udp 60000

Page 53: WebRTCのICEについて知る

53

・ 10.10.1.2 udp 50001 ・ 100.1.2.3 udp 50002・ 200.7.8.9 udp 60000

今まで集めた候補

Page 54: WebRTCのICEについて知る

54

ICE にはもっと情報がある

整理しよう

Page 55: WebRTCのICEについて知る

55

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001

100.1.2.3 udp 50002

200.7.8.9 udp 60000

ICE 候補の詳細

Page 56: WebRTCのICEについて知る

56

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host

100.1.2.3 udp 50002 srlfx

200.7.8.9 udp 60000 relay

ICE 候補の詳細

host = ローカルの候補srlfx = STUN を使って入手した候補relay = TURN を使って入手した候補

srlfx = Server Reflexive の略

Page 57: WebRTCのICEについて知る

57

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host 1

100.1.2.3 udp 50002 srlfx 1

200.7.8.9 udp 60000 relay 1

ICE 候補の詳細

ICE(RFC5245) 的にいえばRTP = 1 、 RTCP = 2

なので実は・・・

Page 58: WebRTCのICEについて知る

58

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host 1

100.1.2.3 udp 50002 srlfx 1

200.7.8.9 udp 60000 relay 1

10.10.1.2 udp 50003 host 2

100.1.2.3 udp 50004 srlfx 2

200.7.8.9 udp 60001 relay 2

ICE 候補の詳細

2 倍ある。だが、 SRTP と SRTCP は MUX するのでたぶん WebRTC で後者は使われてない

Page 59: WebRTCのICEについて知る

59

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host 1 0※

100.1.2.3 udp 50002 srlfx 1 4

200.7.8.9 udp 60000 relay 1 8

10.10.1.2 udp 50003 host 2 0※

100.1.2.3 udp 50004 srlfx 2 4

200.7.8.9 udp 60001 relay 2 8

ICE 候補の詳細

Foundation はホールパンチを効率化するために利用「※」は NW 特性が類似しておりどっちかやれば十分

Page 60: WebRTCのICEについて知る

60

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host 1 0※ 126|32542|255

100.1.2.3 udp 50002 srlfx 1 4 100|31518|255

200.7.8.9 udp 60000 relay 1 8 2|31518|255

10.10.1.2 udp 50003 host 2 0※ 126|32542|254

100.1.2.3 udp 50004 srlfx 2 4 100|31518|254

200.7.8.9 udp 60001 relay 2 8 2|31518|254

ICE 候補の詳細

どの候補を一番優先して使うのか決めるための値(2^24)*(type preference) + (2^8)*(local preference) + (2^0)*(256 - component ID)

Page 61: WebRTCのICEについて知る

61

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host 1 0※ 126|32542|255 10.10.1.2:20001

100.1.2.3 udp 50002 srlfx 1 4 100|31518|255 10.10.1.2:20002

200.7.8.9 udp 60000 relay 1 8 2|31518|255 200.7.8.9:60000

10.10.1.2 udp 50003 host 2 0※ 126|32542|254 10.10.1.2:20003

100.1.2.3 udp 50004 srlfx 2 4 100|31518|254 10.10.1.2:20004

200.7.8.9 udp 60001 relay 2 8 2|31518|254 200.7.8.9:60001

ICE 候補の詳細

後述する無駄な候補を省くために利用

Page 62: WebRTCのICEについて知る

62

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host 1 0※ 126|32542|255 10.10.1.2:20001

100.1.2.3 udp 50002 srlfx 1 4 100|31518|255 10.10.1.2:20002

200.7.8.9 udp 60000 relay 1 8 2|31518|255 200.7.8.9:60000

10.10.1.2 udp 50003 host 2 0※ 126|32542|254 10.10.1.2:20003

100.1.2.3 udp 50004 srlfx 2 4 100|31518|254 10.10.1.2:20004

200.7.8.9 udp 60001 relay 2 8 2|31518|254 200.7.8.9:60001

ICE 候補の詳細

後述する無駄な候補を省くために利用

Page 63: WebRTCのICEについて知る

63

IP Proto Port Type Component Foundation priority base

10.10.1.2 udp 50001 host 1 0※ 126|32542|255 10.10.1.2:20001

100.1.2.3 udp 50002 srlfx 1 4 100|31518|255 10.10.1.2:20002

200.7.8.9 udp 60000 relay 1 8 2|31518|255 200.7.8.9:60000

10.10.1.2 udp 50003 host 2 0※ 126|32542|254 10.10.1.2:20003

100.1.2.3 udp 50004 srlfx 2 4 100|31518|254 10.10.1.2:20004

200.7.8.9 udp 60001 relay 2 8 2|31518|254 200.7.8.9:60001

 全部 そろったら

Page 64: WebRTCのICEについて知る

64https://www.flickr.com/photos/112931986@N07/11645894595/in/photolist-iK7fJ8-iK7g1R-4VHLyS-4VDvUg-on4f7G-85vph4-4Gf3qe-eiVJYf-sxTLu-4Gjd2Q-aqEiTw-57pb1e-q2cD1t-9cce2F-3aaovf-m3JXZ4-7bTeix-rJbSsy-zFtQB-auHyEc-fp5sj-9WnTF2-e8hKvL-e8hJZG-3GL7F-CUiRW-66NVLJ-Ngx8o-SUXKY-cMaWHS-cMaWTm-cMaWF3-cMaWP9-cMaWRm-cMaWLf-5iVTqa-4W486H-atGuRo-cWA4LG-XAztd-8yxAxg-8ogyfG-9fbbF-4zzX2i-o893on-8743uP-sAMhW-5bQEmS-kLRTZb-8KtxA3

シグナリングで交換

Page 65: WebRTCのICEについて知る

65https://www.flickr.com/photos/112931986@N07/11645894595/in/photolist-iK7fJ8-iK7g1R-4VHLyS-4VDvUg-on4f7G-85vph4-4Gf3qe-eiVJYf-sxTLu-4Gjd2Q-aqEiTw-57pb1e-q2cD1t-9cce2F-3aaovf-m3JXZ4-7bTeix-rJbSsy-zFtQB-auHyEc-fp5sj-9WnTF2-e8hKvL-e8hJZG-3GL7F-CUiRW-66NVLJ-Ngx8o-SUXKY-cMaWHS-cMaWTm-cMaWF3-cMaWP9-cMaWRm-cMaWLf-5iVTqa-4W486H-atGuRo-cWA4LG-XAztd-8yxAxg-8ogyfG-9fbbF-4zzX2i-o893on-8743uP-sAMhW-5bQEmS-kLRTZb-8KtxA3

みんな大好き SDP でね!

Page 66: WebRTCのICEについて知る

66

収集

交換

整頓

穴開

終結

再開

Page 67: WebRTCのICEについて知る

67

IP Proto Port Type

10.10.1.2

udp 50001 host …

100.1.2.3

udp 50002 srlfx …

200.7.8.9

udp 60000 relay …

IP Proto Port Type

10.10.9.9

udp 50001 host …

100.1.9.9

udp 50002 srlfx …

200.7.8.9

udp 60002 relay …

自分のリスト

相手からもらったリスト

2種類のリストが手元に揃う

Page 68: WebRTCのICEについて知る

68

IP Proto Port Type

10.10.1.2 udp 50001 host …

100.1.2.3 udp 50002 srlfx …

200.7.8.9 udp 60000 relay …

IP Proto Port Type

10.10.9.9 udp 50001 host …

100.1.9.9 udp 50002 srlfx …

200.7.8.9 udp 60002 relay …

自分のリスト

相手からもらったリスト

組み合わせる (Paring up)

Page 69: WebRTCのICEについて知る

69

Local IP Remote IP

10.10.1.2 … 10.10.9.9 …

100.1.2.3 … 10.10.9.9 …200.7.8.9 … 10.10.9.9 …

10.10.1.2 … 100.1.9.9 …

… … … …

作成したリストに対してuniq & sort ( 優先度順 )

Page 70: WebRTCのICEについて知る

70

なぜ重複排除?

NAT STUN

STUN

NAT 有

NAT 無

Page 71: WebRTCのICEについて知る

71

なぜ重複排除?

NAT STUN

STUN

NAT 有

NAT 無

異なるアドレス

Page 72: WebRTCのICEについて知る

72

なぜ重複排除?

NAT STUN

STUN

NAT 有

NAT 無

Page 73: WebRTCのICEについて知る

73

なぜ重複排除?

NAT STUN

STUN

NAT 有

NAT 無 同一のアドレス

(=無駄)

Page 74: WebRTCのICEについて知る

74

Local IP Remote IP

10.10.1.2 … 10.10.9.9 …

100.1.2.3 … 10.10.9.9 …200.7.8.9 … 10.10.9.9 …

10.10.1.2 … 100.1.9.9 …

… … … …

お互いにチェックリストを持ったらついに…

Local IP Remote IP

10.10.1.2 … 10.10.9.9 …

100.1.2.3 … 10.10.9.9 …

200.7.8.9 … 10.10.9.9 …

10.10.1.2 … 100.1.9.9 …

… … … …

自分 相手

Page 75: WebRTCのICEについて知る

75http://upload.wikimedia.org/wikipedia/commons/b/b3/BattleofLongisland.jpg

開戦!

Page 76: WebRTCのICEについて知る

76http://upload.wikimedia.org/wikipedia/commons/b/b3/BattleofLongisland.jpg

注:ただの UDPホールパンチです

Page 77: WebRTCのICEについて知る

77http://upload.wikimedia.org/wikipedia/commons/b/b3/BattleofLongisland.jpg

ICEは STUNパケットで UDPホールパンチ

STUN

STUN

Page 78: WebRTCのICEについて知る

78

( 途中で ) 未知との遭遇

NAT NAT

List List

Page 79: WebRTCのICEについて知る

79

( 途中で ) 未知との遭遇

Symmetric

NAT

ConeNAT

List List

持ってるリストに記載されていない送信元アドレスから STUN パケットが届くこと

がある

⇒ Type: Peer Reflexive 候補の発見

Page 80: WebRTCのICEについて知る

80

Local IP Remote IP

10.10.1.2 … 10.10.9.9 …

100.1.2.3 … 10.10.9.9 …200.7.8.9 … 10.10.9.9 …

10.10.1.2 … 100.1.9.9 …

… … … …

終わると、成功・失敗がわかる

Local IP Remote IP

10.10.1.2 … 10.10.9.9 …

100.1.2.3 … 10.10.9.9 …

200.7.8.9 … 10.10.9.9 …

10.10.1.2 … 100.1.9.9 …

… … … …

自分 相手

Page 81: WebRTCのICEについて知る

81

収集

交換

整頓

穴開

終結

再開

Page 82: WebRTCのICEについて知る

82

使うペアを制御側がFlag 付き STUN で教える

USE-CANDIDATE 付き STUN

Success Response

以降、 DTLS Handshake…

Page 83: WebRTCのICEについて知る

83

ICEVanilla

Trickle

拡張

Page 84: WebRTCのICEについて知る

84

収集

( 初期値 )

交換

整頓

穴開

終結

再開

GET した候補はすぐ送る、すぐ試す!(もしかしたら早くつながるかもしれ

ない)

特に違うところ

Page 85: WebRTCのICEについて知る

85https://www.ietf.org/proceedings/86/slides/slides-86-mmusic-8.pdf

Page 86: WebRTCのICEについて知る

86https://www.ietf.org/proceedings/86/slides/slides-86-mmusic-8.pdf

Page 87: WebRTCのICEについて知る

87

ということで

Page 88: WebRTCのICEについて知る

88

ICE 知る = 大事

Page 89: WebRTCのICEについて知る

89

ICE 知る = 大事といっても、 ICE にはまだまだ話せていないことがたくさ

んあるState Machine 、 Triggered Check 、 Authentication(ufrag 等 )

Page 90: WebRTCのICEについて知る

90

おしまい!