TPAC 2015 WebRTC WG 最新レポート

44
C opyr ight © NT T C ommunicat ion s C or por at ion. All r ight s r eser ved. TPAC WebRTC WG 最新レポート @ 2015年度 第2回 W3C⽇本会員会議 NTTコミュニケーションズ 技術開発部 岩瀬 義昌 2015/12/21(⽉)

Transcript of TPAC 2015 WebRTC WG 最新レポート

Page 1: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

TPAC WebRTC WG 最新レポート@ 2015年度 第2回 W3C⽇本会員会議

NTTコミュニケーションズ技術開発部岩瀬 義昌2015/12/21(⽉)

Page 2: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

⾃⼰紹介

■名前岩瀬 義昌 / @iwashi86

■仕事NTTコミュニケーションズ 技術開発部SkyWay(後述)の開発&運⽤

■コミュニティ活動WebRTC Meetup Japan/Tokyo主催 等

Page 3: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

3

WebRTCの開発者向けプラットフォーム

Page 4: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

(おさらい) WebRTCとは

4

Page 5: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

⾳声、映像、データのリアルタイム通信のオープン標準

• 従来のサービス(LINE、Skype等)は独⾃技術でできていた。WebRTCはオープン標準、ライセンス使⽤料が不要。

• 中⾝は4つ。IETF(1-3)とW3C(4)で標準化1. ⾳声と映像の形式(コーデック)2. ネットワーク機器(NAT等)を越えて直接通信する⼿順3. 暗号化、到達・順序保証、流量・輻輳制御

を実現するプロトコル4. JavaScriptから利⽤するAPI

5

Page 6: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

国内でのWebRTC利⽤事例

6

Page 7: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

導⼊が進む⼀⽅で現在のWebRTC仕様では未解決の問題がまだまだある

⇒ TPACで議論

Page 8: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

(TPACの議論を理解するために)WebRTC界隈の全体動向を知る

Page 9: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

WebRTC仕様の限界・これまでに議論されてきたWebRTCの仕様は

VoIP時代に培われてきた技術であるSDP(RFC3264/4566)に強く依存しているがWebRTCのユースケースに耐え切れなくなってきたSDPの例

https://tools.ietf.org/html/rfc4566

Page 10: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

ORTC -> WebRTC NV の登場・そこにSDPへの依存を排除する

ORTC(Object RTC)が登場。ORTCの思想は、WebRTC関係者でも認められW3C側でもORTC CG発⾜。(Extensible Webの潮流の1つとも⾔える)

https://www.w3.org/community/ortc/

Page 11: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

ORTC -> WebRTC NV の登場・⼀⽅で、WebRTC 1.0 の策定は延び延びと

なっている状況であった。

延期された結果2015年4QがCR期限となった

Page 12: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

ORTC -> WebRTC NV の登場・⼀⽅で、WebRTC 1.0 の策定は延び延びと

なっている状況であった。

・そこで、WebRTC 1.0(SDP前提) の仕様を凍結させ、その後に次のWebRTC仕様であるWebRTC NV(Next Version)について議論したい、というのがWebRTCの全体動向。

本家WebRTC

ORTC

WebRTC NVWebRTC 1.0

ORTCのアイデアをマージ

Page 13: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

ORTC -> WebRTC NV の登場・⼀⽅で、WebRTC 1.0 の策定は延び延びと

なっている状況であった。

・そこで、WebRTC 1.0(SDP前提) の仕様を凍結させ、その後に次のWebRTC仕様であるWebRTC NV(Next Version)について議論したい、というのがWebRTCの全体動向。今回のTPAC WebRTC WGの⽬的:

WebRTC 1.0に⼊れる仕様の最終合意を図ること

Page 14: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

(これを踏まえて)TPAC2015 WebRTC WGの議論

Page 15: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

1. サイマルキャスト2. IPリーク

Page 16: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

1. サイマルキャスト2. IPリーク

Page 17: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

これまでのWebRTC(P2P)

Page 18: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

フルメッシュ型で多⼈数接続(4⼈)

Page 19: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

ノードが増えるとスケールしない

Page 20: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

そこでスタートポロジ(SFU利⽤)

SFU

上りのストリームを、全員が1本送る

SFU: Selective Forwarding Unit

Page 21: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

そこでスタートポロジ(SFU利⽤)

SFU

下りのストリームを、全員が⼈数分受け取る(数は3本)

Page 22: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

もし、モバイルがいたら?

Page 23: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

PC品質のストリームを処理できない

SFU

モバイル回線は⽐較的低速

Page 24: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

そこでサイマルキャスト

Page 25: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

利⽤可能帯域によって送受信品質を変える・リッチな送信側クライアントは⾼品質と低品質を送る・貧弱なクライアントは低品質だけ受信する

SFU⾼品質

低品質

Page 26: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

利⽤可能帯域によって送受信品質を変える・リッチな送信側クライアントは⾼品質と低品質を送る・貧弱なクライアントは低品質だけ受信する

SFU⾼品質

低品質

同時に(Simul)複数ストリームを配信(cast)するのでサイマルキャスト

Page 27: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

TPACで議論ポイント・そもそもWebRTC 1.0でSimulcastを含めるのか?

⇒含めることになった

・どうやって⾼品質と低品質をJS APIから指定するか?

Page 28: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

TPACで議論ポイント・そもそもWebRTC 1.0でSimulcastを含めるのか?

⇒含めることになった

・どうやって⾼品質と低品質をJS APIから指定するか?

rid(ストリーム間の識別⼦)を誰が決めるのか?ブラウザ or JS?

Page 29: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

TPACで議論ポイント・そもそもWebRTC 1.0でSimulcastを含めるのか?

⇒含めることになった

・どうやって⾼品質と低品質をJS APIから指定するか?

rid(ストリーム間の識別⼦)を誰が決めるのか?ブラウザ or JS?

⇒ Javascriptで開発者が指定

Page 30: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

On the wireで流れるのがSDP

Page 31: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

On the wireで流れるのがSDP

SDP

Page 32: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

On the wireで流れるのがSDP

SDP

Page 33: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

SDPはIETFの策定領域

SDP

・SDPの内容はIETF(mmusic WG)の策定領域⇒歴史的に⾒て、仕様策定に時間がかかる

・W3C側でAPIを先に規定してIETFを待たずに使えるようにブラウザ側の実装は進⾏中(仮にSDPの仕様変更が間に合わない場合は、

SDP以外の何らかの⼿段で情報を伝える)

IETF側の仕様

Page 34: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

1. サイマルキャスト2. IPリーク

Page 35: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

先に前提・WebRTCは内部でICE(RFC5245)を利⽤・ICEはP2Pの接続確率を⾼めるため、

⾃⾝が通信可能なIP/Portを全て収集する

STUNNATClient

①私のグローバルIPは?

②グローバルIPは とわかるこれを専⽤のパケットに詰めて返信

③ と知る

ICE動作の⼀部

Page 36: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

36

問題の発端:NYTimesがWebRTCでIP収集

STUNのパケット(⾒えにくいですが)

Page 37: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

37

STUNのパケット(⾒えにくいですが)

個⼈特定につながる(同じNAT配下にいても)

問題の発端:NYTimesがWebRTCでIP収集

https://twitter.com/incloud/status/619624021123010560

Page 38: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

38

TPACで議論された対処⽅法1. 全ての候補を収集する(ただし、getUserMediaの同意があるときのみ)

2. 制限付き収集その1[デフォル⼘動作](デフォルトNICにBINDされるホスト候補のみ+ プライベートアドレス(RFC1918)の候補?)

3. 制限付き収集その2(ホスト候補無し。設定や拡張)

4. プロキシのみ(設定や拡張)

Page 39: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

39

TPACで議論された対処⽅法1. 全ての候補を収集する(ただし、getUserMediaの同意があるときのみ)

2. 制限付き収集その1[デフォル⼘動作](デフォルトNICにBINDされるホスト候補のみプライベートアドレス(RFC1918)の候補?)

3. 制限付き収集その2(ホスト候補無し。設定や拡張)

4. プロキシのみ(設定や拡張)

Page 40: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

40

TPACで議論された対処⽅法1. 全ての候補を収集する(ただし、getUserMediaの同意があるときのみ)

2. 制限付き収集その1[デフォル⼘動作](デフォルトNICにBINDされるホスト候補のみプライベートアドレス(RFC1918)の候補?)

3. 制限付き収集その2(ホスト候補無し。設定や拡張)

4. プロキシのみ(設定や拡張)

カメラ、マイクについての同意だが、IPアドレス収集にも使われる点に注意

Page 41: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

41

TPACで議論された対処⽅法1. 全ての候補を収集する(ただし、getUserMediaの同意があるときのみ)

2. 制限付き収集その1[デフォル⼘動作](デフォルトNICにBINDされるホスト候補のみ+ プライベートアドレス(RFC1918)の候補?)

3. 制限付き収集その2(ホスト候補無し。設定や拡張が必要)

4. プロキシのみ(設定や拡張)

Page 42: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

42

TPACで議論された対処⽅法1. 全ての候補を収集する(ただし、getUserMediaの同意があるときのみ)

2. 制限付き収集その1[デフォル⼘動作](デフォルトNICにBINDされるホスト候補のみ+ プライベートアドレス(RFC1918)の候補?)

3. 制限付き収集その2(ホスト候補無し。設定や拡張が必要)

4. プロキシのみ(設定や拡張)

プライベートIPを収集するかどうかは、既存のWebRTCアプリがどの程度壊れるかに依存する。

なので、実験して決めることになった。

Page 43: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

まとめ

Page 44: TPAC 2015 WebRTC WG 最新レポート

Copyright © NTT Communicat ions Corporat ion. All rights reserved.

44

まとめ• ORTC/WebRTC NVの後押しがある中、WebRTC 1.0に向けた仕様をTPACで議論

• TPACで⽩熱した議論のトピックのうち・サイマルキャスト・IPリークを紹介

• その他トピックについては議事録を参照のこと- http://www.w3.org/2015/09/09-webrtc-minutes.html- http://www.w3.org/2015/09/10-webrtc-minutes.html