DEIM Forum 2019 I7-2 WebRTC, 112-8610 2-1-1 101-0025 3-27-3 980-0812 2-1-3 UCLA Computer Science Department 3803 Boelter Hall, Los Angeles, CA 90095-1596, USA 565-0871 1-5 E-mail: {tanaka.arisa,oguchi}@is.ocha.ac.jp, tmaeno@spacetime-eng.com, yowada@nict.go.jp, mineo@ieee.org WebRTC WebRTC P2P Realization of Temporary Network Utilizing WebRTC in Disconnected Internet Environment in Case of Disaster Arisa TANAKA, Taka MAENO, Yasunori OWADA, Mineo TAKAI,, and Masato OGUCHI Ochanomizu University 2-1-1 Otsuka, Bunkyouku, Tokyo 112-8610 JAPAN Space-Time Engineering KandaSakumacho 3-27-3, Chiyoda-ku, Tokyo, 101-0025, JAPAN National Institute of Information and Communications Technology 2-1-3, Katahira, Aoba, Sendai-city, Miyagi, 980-0812, JAPAN UCLA Computer Science Department 3803 Boelter Hall, Los Angeles, CA 90095-1596, USA Osaka University 1-5 Yamadaoka, Suita-city, Osaka 565-0871 JAPAN E-mail: {tanaka.arisa,oguchi}@is.ocha.ac.jp, tmaeno@spacetime-eng.com, yowada@nict.go.jp, mineo@ieee.org 1. SNS [1] [2] 1
LAN NAT(Network Address Translator) NAT P2P NAT NAT NAT 1 1 2. NAT NAT [3] NAT NAT-f(NAT-free protocol) [4] DNS NAT NAT NTS(NAT-Traversal Support) DNS NTS NAT NTS NTS NAT-f NAT [5] STUN NAT STUN NAT TCP NAT NAT NAT NAT NAT NAT 3. LAN 3. 1 Wi-Fi AP NAT ( Wi-Fi ) LAN Wi-Fi Wi-Fi (MANET) MANET [6] MANET MANET Wi-Fi Wi-Fi Wi-Fi MANET Wi-Fi 2
NAT NAT STUN/TURN STUN/TURN NAT P2P WebRTC(Web Real-Time Communication) WebRTC P2P NAT Chrome Firefox DTLS LAN 3. 2 WebRTC LAN 2 3 2 3 1 AP LAN 2 Chrome Firefox 3 Connect 4 Send to 5 6 4 P2P 4. P2P (Peer to Peer) 5 P2P ( 4) ( 5) 5. NAT WebRTC 5. 1 NAT NAT NAT NAT NAT Traversal 3
5. 2 STUN TURN STUN (Session Traversal Utilities for NATs) NAT STUN UDP NAT IP NAT 4 ( 1) STUN NAT 3 1 STUN TURN(Traversal Using Relay NAT) NAT TURN P2P 1 NAT NAT NAT NAT 1 1 6 STUN P2P 5. 3 WebRTC WebRTC(Web Real-Time Communications) P2P UDP WebRTC P2P ICE(Interactive Connectivity Establishment) IP ICE NAT 5. 4 NAT P2P WebRTC P2P NAT ICE P2P IP ICE STUN TURN NAT STUN P2P 6 TURN 7 7 TURN 6. 8 NAT STUN/TURN NAT P2P Wi-Fi NAT Wi-Fi Wi-Fi 8 4
7. ローカル環境における実験 インターネットが遮断された中で アプリケーションが実際 に動くかを確認するため 次のような実験を行った そこでま ず使用するエッジサーバについて説明する 7. 1 使用するエッジサーバ 現在使用しているエッジサーバは以下の通りである (図 9) 無線 LAN を搭載したエッジサーバ 2 台にそれぞれ hostapd をインストールし Wi-Fi ルータとして動作させた これによ り 2 つの異なるプライベートネットワークを作成している Client としては Android スマートフォン 1 台 PC1 台をそ れぞれ別のエッジサーバに繋げて設置した IP アドレスはそ れぞれ DHCP によって取得する サーバとして 片方のエッジサーバのポート番号 8080 に開発 また DTN 技術については今後新たなシステムの開発を考慮し したシグナリングサーバ ポート番号 3478 に STUN サーバ そ ているため 含んでいる してポート番号 3479 に TURN サーバである coturn をそれぞ OS は Debian GNU/Linux を利用 れ構築した またシグナリングサーバにおける STUN/TURN シグナリング STUN/TURN を搭載 サーバの設定は 同サーバ内のポート番号 3478 3479 とした 実システムの構築とシステム解析 連携をサポートする 2 台のエッジサーバは無線 LAN でつなぎ 同じネットワーク内 汎用的なプラットフォーム となっているため ネットワークは全部で青 赤 緑の 3 つと ネットワークを自律的に構築 なっている そして サーバはクライアントがお互いにチャッ DTN 技術より実システム間での情報同期を可能とする トができるかどうかを判断する これらを通して インター ネットがない状況下においてでも チャットが可能であるかを 確認する 7. 3 実 験 結 果 結果として クライアント同士での P2P 通信にはならず クライアントとエッジサーバ間での TCP によるローカルな通 信となった そのため STUN/TURN は使用されていなかっ たが チャット ファイル同士の通信は可能であることが分 かった 8. まとめと今後の課題 災害時などのネットワークが切れてしまった際 各サブネッ トが集まった時にどのように対応していくかという背景に対 し 災害時に有用な情報通信システムの提案 構築を行った 中でも NAT 越えによる避難者同士のチャットシステムを考案 図 9 使用しているエッジサーバ し それに対応するため通信基盤の構築 アプリケーションの 開発を行った そしてネットワークが切れてしまった環境を模 擬的に実現した実験を行った 結果として ローカル環境にお 7. 2 実 験 環 境 けるチャットシステムが通信可能であり 使用出来る事が確認 本研究では 先ほど紹介したアプリケーション STUN 兼 できた TURN サーバが構築できるオープンソースソフトウェアであ 今後の課題は まずはローカル通信になってしまったため る coturn そして上記のエッジサーバを用い 実験用のローカ STUN/TURN が使用されない原因の究明 そして親玉 NAT ル環境を構築した またエッジサーバはローカル環境のサーバ サーバによる管理について考察していく 特にローカル通信に として機能させている その環境を図 10 に示す これにより ついて よりネットワーク環境に着目し 詳しく検討していく 災害時などのインターネットが遮断された中での実験を模擬的 に行う 謝 辞 本研究の一部はお茶の水女子大学と情報通信研究機構との 共同研究契約に基づくものである また本研究は一部 JST CREST JPMJCR1503 の支援を受けたものである 文 図 10 実 験 環 境 献 [1] 内閣府防災情報 首都直下地震の被害想定と対策について http://www.bousai.go.jp/jishin/syuto/taisaku_wg/pdf/ syuto_wg_report.pdf [2] 中村 功 大規模災害と通信ネットワーク 東日本大震災に思 う 5
http://nakamuraisao.a.la9.jp/ciaj.pdf [3] NAT (DICOMO2009) pp.372-378 2009 7 [4] NAT (DICOMO2008) pp.587-592 2008 7 [5] TCP STUN NAT 73rd p.3.421-3.422 (2011) [6] (47) pp.13-26 2002 3 [7] H. Soliman, Mobile IPv6 Support for Dual Stack Hosts and Routers, RFC5555, IETF, 2009. [8] R. Moskowitz, T. Heer, P. Jokela, and T. Henderson, Host Identity Protocol Version 2 (HIPv2), RFC7401, IETF, 2015. [9] WebRTC https://webrtc.org/ [10] coturn https://github.com/coturn/coturn [11] Sam Dutton.(2013,November 4).WebRTC in the real world: STUN, TURN and signaling. [12] Real time communication with WebRTC Google Developers [13] : Wi-Fi AP / DEIM2016 B8-6 2016 3 6