災害時に有用なインターネット非依存ローカルシステムの提案と実装
理学専攻・情報科学コース

1

2.1

はじめに

現在，インターネットは人々にとって欠かせない生活の一部となっており，重要な情報インフラとして広く普及している．中でも多くの人が通話や電子メール，SNS など，他の人と連絡を取る手段としてインターネットを利用している．
そのため，災害時の通信不能や通信障害などは多くの人々に不安と困惑を招いてしまう．また避難所生活においても，各避難者が安全に過ごせるようにすることが必要不可欠である．しかし，各避難所で食べ物や飲み物といった物資が足りているのか，衛生面は大丈夫であるのかといった避難所の状況による問題が発生する恐れが多々ある．そのため，災害対策本部が各避難所の状況情報を迅速かつ正確に把握することが重要である．特に地震大国である日本にとって，これらの影響は大きいと言える [1]．また通信障害の主な原
因は，基地局や基幹ネットワークである [2]．基地局や基幹ネットワークが災害により破損，機能不全となってしまうとインターネットに繋がらない，もしくは衛星回線等によりインターネット接続回線が非常に細くなることにより，通信による情報共有ができなくなってしまう．
そこでこれらの問題に対し，脆弱な通信網の元でも，避難者が連絡を取る事・臨時に設置された避難所も含めた避難所状況を災害対策本部が確実に把握する事が必要であると考えた．そしてさらに現場のニーズとして，避難所においてサブネットが集まった際に，それらを繋げていきたいというものがあった．そこで各サブネットが集まった時に，どのように対応していくかも考慮する必要があると考えた．
以上から，これらの環境に対応する災害時に有用な情報通信システムの提案・開発を行った．

2

田中 有彩

チャットシステム

具体的には，エッジサーバを用いて無線 LAN を飛ばし ，基 地 局 や 基 幹 ネ ッ ト ワ ー ク な ど の 影 響 を 受 け な い
プライベートネットワークをエッジサーバごとに構築
し ，各 プ ラ イ ベ ー ト ネ ッ ト ワ ー ク を 通 し て 通 信 を 行 う
チャットシステムを提案する．しかしプライベートネッ
トワーク下にあるアドレスには外部ネットワークからの直接接続が不可能であるため，NAT 超え (Network Address Translator Traversal) 技術を利用する．中でも NAT
超 え 技 術 と し て ，STUN(Session Traversal Utilities forNATs)/TURN(Traversal Using Relay NAT) を利用する．
端末は通信相手を特定するため，STUN/TURN サーバ，シグナリングサーバをアドホックに見つけ出し，NAT 越え通信を実現する．
続いて端末同士で P2P 通信を行うシステムには WebRTC(Web Real-Time Communication) を用いた．これはブラウザ上でビデオ通話などのリアルタイムコミュニケーションを実現するためのフレームワークである．WebRTC を用いることで，プラグインなしでウェブブラウザ間のボイスチャット，ビデオチャット，ファイル共有などが利用可能である．また直接相手と通信する P2P 型通信，NAT 超えを実現する仕組みなどが含まれている．これにより，無線 LAN に参加している端末同士のメッセージ・ファイルなどのデータ共有を可能にする．
これらの技術を用いて実際に開発したアプリケーションの様子は，図 2 となっている．また現在メッセージとファイルの交換が可能となっている．

提案システムそれぞれ異なるサブネットが発生すると想定し，これに対しルータをローカルに動かすことで，事前設定などの必要なくシステムの実現を目指す (図 1)．ここで，避難者同士のチャットシステム・避難所状況共有システムの 2 つを提案する．

図 2: チャットシステム

2.2

図 1: 提案システム図

避難所状況共有システム

既存の取り組みとして，避難所の状況をより多くの人々で共有するためのツールとして開発された，クラウドサービスを利用した避難所状況報告アプリケーションなどがある．その一例として，災害発生時の避難所の状況を避難者・救援者・避難所管理者が共有できるアプリケーションを紹介する [3]．これにはクラウドサービスが使用されており，主な機能として，避難所からの報告機能・報告の表示機能の2 つがある．しかし既存の問題点として，クラウドサービスを前提としている点があげられる．

そこで，このアプリケーションを DTN(delay/disruptiontolerant networking) 技術・エッジコンピューティングを用いることでローカル環境に対応させる事を提案する．具体的には，各避難所内にエッジサーバを設置させ無線 LAN を飛ばし，ユーザがそこへ繋げ，避難所状況をエッジサーバへ送信する．そして，それぞれデータを持ったエッジサーバを車などを用いて物理的に近くへ運ぶ事で，エッジサーバ間での DTN によるデータ同期を行う．これにより，各避難所状況のデータを全体的に共有する事が可能となる．
入力側の機能としては，各避難所内にいるユーザが避難所の状況を報告できるものとなっている．また現在スマートフォン用アプリケーションを想定し，開発を行った (図 3)．
管理側については，登録されたデータの一覧・その詳細が見れるようになっており，パソコンでの使用を想定し，サイトの開発を行った (図 4)．

図 3: 入力側のアプリケーションの様子

図 5: 実験環境せた．これにより 2 つの異なるプライベートネットワークを作成している．Client としては Android スマートフォ
ン 1 台・PC1 台をそれぞれ別のエッジサーバに繋げて設置した．IP アドレスはそれぞれ DHCP によって取得する．
サーバとして，片方のエッジサーバのポート番号 8080 に開発したシグナリングサーバ，ポート番号 3478 に STUNサーバ，そしてポート番号 3479 に TURN サーバである
coturn をそれぞれ構築した．またシグナリングサーバにおける STUN/TURN サーバの設定は，同サーバ内のポート番号 3478・3479 とした．2 台のエッジサーバは無線 LANでつなぎ，同じネットワーク内となっているため，ネットワークは全部で青・赤・緑の 3 つとなっている．

3.2

実験結果

結果として，クライアント同士での P2P 通信にはならず，クライアントとエッジサーバ間での TCP によるローカルな通信となった．そのため，STUN/TURN は使用されていなかったが，チャット・ファイル同士の通信は可能であることが分かった．

4

図 4: 管理側のサイトの様子

3

ローカル環境における実験

3.1

実験環境

本研究では，STUN 兼 TURN サーバが構築できるオープ
ンソースソフトウェアである coturn を用い，実験用のローカル環境を構築した．その環境を図 5 に示す．使用しているエッジサーバには，実システムの構築とシステム解析・連携をサポートする汎用的なプラットフォームをベースにしたものを実装，そしてシグナリング・STUN/TURN を搭載し，ローカル環境のサーバとして機能させた．これより，ローカル環境におけるチャットの確認を行った．
無 線 LAN を 搭 載 し た エ ッ ジ サ ー バ 2 台 に そ れ ぞ れhostapd をインストールし，Wi-Fi ルータとして動作さ

おわりに災害時などの各サブネットが集まった際に，NAT 越えによる避難者同士のチャットシステム・DTN 技術とエッジコンピューティングによる避難所状況共有システムの提案・実装・実験を行った．
そして，ローカル環境におけるチャットシステムが通信可能であり，使用出来る事が確認できた．次は同時に避難所状況共有システムも使用出来る事を確認していきたい．また実用する事を考えた時に，現段階では規模が小さいため，将来は災害時を想定した大規模な実験が必要であると考える．
今後の課題は，まずはローカル通信になってしまったた
め，STUN/TURN が使用されない原因の究明，そして親玉NAT サーバによる管理について考察していく．特にローカル通信について，よりネットワーク環境に着目し，詳しく検討していく．

参考文献[1] 内閣府防災情報．”首都直下地震の被害想定と対策について”: http://www.bousai.go.jp/jishin/syuto/
taisaku_wg/pdf/syuto_wg_report.pdf[2] 中村 功．”大規模災害と通信ネットワーク –東日本
大震災に思う–”: http://nakamuraisao.a.la9.jp/CIAJ.pdf[3] 株式会社 FIXER.”SheRepo2(シェレポ 2)” SheRepo2:
https://sherepo2.azurewebsites.net/