Upload
ryosuke-otsuya
View
804
Download
0
Embed Size (px)
Citation preview
Copyright © NTT Communications Corporation. All right reserved.
OKINAWA OPEN DAYS 2015
「ユースケース研究事例:オンラインゲーム」〜次の時代のオンラインゲームに求められるクラウド・ネットワーク技術〜
究極のゲーム⽤通信プロトコルを探せ!
NTTコミュニケーションズ株式会社 技術開発部Webコアテクニカルユニットリーダ/担当課⻑⼤津⾕ 亮祐2015年12⽉
Copyright © NTT Communications Corporation. All right reserved.
⾃⼰紹介 / ⼤津⾕ 亮祐(おおつや りょうすけ)
2
n 仕事
HTML5(Web技術)チームのリーダ
WebRTCプラットフォーム“SkyWay” プロダクトマネージャ
n コミュニティ
WebRTCをテーマにしたカンファレンス“WebRTC Conference Japan” 幹事
n プライベート
神奈川県 葉⼭町 在住趣味は海と畑
Copyright © NTT Communications Corporation. All right reserved.
WebRTCとは
3
Web RTC
Web RT C
Web Real Time Communication
IPネットワークで リアルタイムな (意思疎通 | 通信)をするためのオープン標準
Copyright © NTT Communications Corporation. All right reserved.
リアルタイムコミュニケーションの歴史
最初のリアルタイム・コミュニケーションは電話1876年以来、電話会社が独占
4 www.flickr.com/photos/mattb_tv/2550476978
Copyright © NTT Communications Corporation. All right reserved.
2000年前後に、NapsterやSkypeがインターネット上でリアルタイム・コミュニケーションを実現
5 www.flickr.com/photos/132889348@N07/18410514419
Copyright © NTT Communications Corporation. All right reserved.
2011年にWebRTCの最初の草案が発表すべてのソフトウェアエンジニアが
リアルタイム・コミュニケーションを扱える時代が到来“リアルタイム・コミュニケーションの⺠主化”
6 www.flickr.com/photos/tjflex/57210112
Copyright © NTT Communications Corporation. All right reserved.
エンジニア向けの説明
1.⾳声、映像、データのリアルタイム通信のオープン標準• 従来のサービス(LINE、Skype等)は独⾃技術でできていた。
WebRTCはオープン標準技術。ライセンス使⽤料が不要。
• 中⾝は4つ。IETF(①~③)とW3C(④)で標準化。①暗号化、到達・順序保証、流量・輻輳制御を実現する
プロトコル②ネットワーク機器(NAT等)を越えてP2P通信する⼿順③⾳声と映像の形式(コーデック) ④JavaScriptから利⽤するブラウザAPI
2.ブラウザとネイティブアプリの両⽅で利⽤できる• WebRTC対応ブラウザにURLを⼊⼒するだけで、WebRTCを利⽤した
サービスを利⽤できる。
• オープンソースのC++のコードを利⽤しコンパイルすれば、ネイティブアプリにWebRTC機能を組み込むこともできる。
7
P2Pについては後述
Copyright © NTT Communications Corporation. All right reserved.
マーケティング的な説明
1. コミュニケーションアプリを容易に開発• Facebook Messenger, ChatWork等のビデオ通話に採⽤
2. アプリ内/サイト内で完結する⼀貫性のあるユーザ体験• アプリやサイトにコミュニケーション機能を組み込みめる。
従来は、別デバイスや別アプリ(電話、Skype等)が必要だった。
3. サポートコストの削減、低ITリテラシ層の利⽤• ブラウザで利⽤する場合、インストールが不要。
アプリで利⽤する場合、別アプリの併⽤が不要。
4. 家電、IoT分野の⼀部で活⽤できる• 映像や⾳声を扱う場合のプロトコルとして利⽤できる。
既にWebRTCを利⽤した家電も登場(右の写真)。
5. 電話との連携• WebRTC⇔IP電話変換サーバを使えば、ブラウザで電話の
発着信が可能に。
Chromecast
Withings Home
Copyright © NTT Communications Corporation. All right reserved.
P2Pとは
n P2P(Peer to Peer)とは、端末同⼠がサーバを経由せず、直接通信すること。
n サーバ負荷が⼩さいのでスケーラビリティが⾼い、サーバのコストが安い、遅延が少ない、などのメリットがある。
9
P2P通信 サーバ⇔クライアント通信
Copyright © NTT Communications Corporation. All right reserved.
NAT越え問題
n IPv4アドレスが枯渇、多くの端末はNATの下にあるn NATが外からのパケットをブロックするn P2P通信を実現するためには、何らかの⼯夫が必要
10
外からのパケットをNATがブロック
Copyright © NTT Communications Corporation. All right reserved.
UPnPによるNAT越え
n UPnPやNAT-PMPに対応しているNATの場合、端末からポートの変換ルールを指⽰して、外からのアクセスを許可できる。
n しかし、ISPや携帯キャリアに導⼊されているNAT(CGN = Carrier Grade NAT, LSD = Large Scale NAT) は、UPnPやNAT-PMPに対応していない。
11
あらかじめNATに⽳を空けておく
Copyright © NTT Communications Corporation. All right reserved.
ICEによるNAT越え
n WebRTCではICE (内部技術…STUN、TURN、UDPホールパンチング) という技術を使ってNATを越える
n UDPホールパンチングは、UDPの「ステートレス」という特徴に着⽬して、NATをいわば「騙す」⼿法
n 実装が⼤変!
12
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの開発者コミュニティ
13
n IETF … プロトコル、NAT越え、コーデックの標準化W3C … JavaScriptから利⽤するブラウザAPIの標準化
n WebRTC Conference Japan (2016/2/16~17)ビジネスと技術の両⽅を対象にしたカンファレンス&展⽰会
n WebRTC Meetup シリーズ技術者向けの勉強会
Copyright © NTT Communications Corporation. All right reserved.
ULLOGプロジェクトとは
超低レイテンシなゲーム専⽤のプロトコルを開発し、その特徴を活かした魅⼒的なゲームを開発を促進する
14
ULLOGUltra Low Latency Online Game
Copyright © NTT Communications Corporation. All right reserved.
⽴ち上げのきっかけ
n 沖縄オープンラボを通じて、NTT Comとモノビットが出会うn NTT Com
• WebRTCの開発フレームワーク “SkyWay” を提供中• ゲームはWebRTCの有望なユースケースだが、
ゲーム開発者における認知が低く、採⽤も進んでいないn モノビット
• ゲーム専⽤通信エンジンを提供中• 現状はサーバ⇔クライアント型だが、P2P型にも興味がある
15
Copyright © NTT Communications Corporation. All right reserved.
ロードマップ
n まずは、WebRTCとその他のプロトコルの⽐較実験n WebRTCを使うかどうかも含めた開発⽅針を策定し、
プロトタイプ開発に進む
16
ゲーム⽤通信プロトコル実験
プロトタイプ開発
商⽤開発
開発⽅針の策定(今ココ)
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験の概要
スマートフォン2台の間で通信に要する時間を測定
17
Copyright © NTT Communications Corporation. All right reserved.
プロトコル 4通り
18
P2P サーバ経由
①WebRTC ②UDP
③TCP
④WebSocket
Copyright © NTT Communications Corporation. All right reserved.
地域 2通り
19
①沖縄
②東京
Copyright © NTT Communications Corporation. All right reserved.
場所 3通り
20
①オフィス街 ②住宅街 ③電⾞で移動中
Copyright © NTT Communications Corporation. All right reserved.
端末 2通り
21
①iPhone ②Androidスマホ
Copyright © NTT Communications Corporation. All right reserved.
アプリ 2通り
22
①ブラウザ ②測定⽤アプリ
Copyright © NTT Communications Corporation. All right reserved.
回線 4通り
23
①光+Wi-Fi
②ドコモLTE
③auLTE
④ソフトバンクLTE
Copyright © NTT Communications Corporation. All right reserved.
時間帯 4通り
24
②平⽇ 夜間
①平⽇ ⽇中
④休⽇ 夜間
③休⽇ ⽇中
Copyright © NTT Communications Corporation. All right reserved.
リレーサーバ 1通り
25
①AWS 東京リージョン
Copyright © NTT Communications Corporation. All right reserved.
送信データ 1通り
26
①1/64秒(16ミリ秒)間隔で64bytesを送信
Copyright © NTT Communications Corporation. All right reserved.
謝辞
実験へのご協⼒ありがとうございました。
nブリブサー ⽐嘉様、喜納様n NEC 藤岡様n NTTコミュニケーションズ ⾼橋、加藤、⼭村
27
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと①
n WebRTCはすべての場合においてUDPとTCPより⾼速!!
28
場所 回線 WebRTC(P2P)
UDP(S⇔C)
TCP(S⇔C)
東京⇔東京 LTE 同キャリア 50 70 110
LTE 異キャリア 60 62 100
光+Wi-Fi 10 13 13
東京⇔沖縄 LTE 同キャリア 65 100 140
沖縄⇔沖縄 LTE 同キャリア 68 92 171
LTE 異キャリア 78 90 150
光+Wi-Fi 19 62 106
(Androidの場合、単位ms)
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと①
n 正直に⾔って意外…n WebRTCはUDPより相当重いプロトコル
(UDPの上に、DTLSという暗号化レイヤーと、SCTPというプロトコルが乗っており、オーバーヘッドがある)
n 歴史あるWeb系プロトコルと⽐べると、プロトコルスタックが枯れておらず、パフォーマンスがでないのでは?
n と思っていた
29
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと②
n 同じキャリア間は特にWebRTCが速い
30
92
68
0 50 100
UDP
WebRTC
70
50
0 50 100
UDP
WebRTC
沖縄⇔沖縄、LTE 同キャリア
(Androidの場合、単位ms)
東京⇔東京、LTE 同キャリア
40%⾼速 35%⾼速
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと②
n WebRTCは、インターネットに出ず、キャリア網の中でつながったと考えられる
n ただし沖縄⇔沖縄の場合でも、沖縄内ではなく、東京までは⾏ってそう
31
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと③
n 同じWi-Fiアクセスポイント配下は特にWebRTCが速い
32
13
10
0 50 100
UDP
WebRTC
62
19
0 50 100
UDP
WebRTC
沖縄⇔沖縄、光+Wi-Fi東京⇔東京、光+Wi-Fi
(Androidの場合、単位ms)
3.3倍⾼速
(僅差)
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと③
n UDPは東京⇔沖縄を往復、WebRTCは家の中で繋がる
33
東京⇔沖縄を往復
34Copyright © NTT Communications Corporation. All right reserved.
さて、WebRTCはゲーム向け通信プロトコルに使えるのでしょうか?