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