• 検索結果がありません。

を用いたエンドツーエンド通信によるチャットアプリケーションの提案

N/A
N/A
Protected

Academic year: 2021

シェア "を用いたエンドツーエンド通信によるチャットアプリケーションの提案"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

NTMobile

を用いたエンドツーエンド通信によるチャットアプリケーションの提案

中村 隼大

,鈴木 秀和 ,内藤 克浩 ,渡邊 晃

(

名城大学, 愛知工業大学

)

Proposal of Chat Application of End To End Communication using NTMobile

Hayata Nakamura, Hidekazu Suzuki, Katsuhiro Naito, Akira Watanabe(Meijo University,Aichi Institute of Technology) 1

はじめに

モバイルネットワークの普及に伴い,チャットが重要なコ ミュニケーションツールとなっている.チャットはクライアン トサーバシステムで実現するのが一般的である.しかし,サー バから情報漏洩する懸念や,サーバの障害・二重化等に対する 管理負荷が大きいという課題がある.

筆者らは,端末がどのようなネットワーク環境にいてもエ ンドツーエンドで通信を行うことができる

NTMobile(Network Traversal with Mobility)

を提案している

[1]

.そこで,本稿では

NTMobile

を用いたエンドツーエンド通信によるスマートフォ

ン向けチャット通信方式を提案し,その利点を考察する.

2

従来のチャットアプリケーションの実現方法

従来のチャットアプリケーションは,インターネット上に存 在する

IRC(Internet Relay Chat)

サーバとクライアントから成 るクライアントサーバシステムで実現されている.このシステ ムでは,クライアントがサーバに対してメッセージを送付し,

サーバが各クライアントに同一メッセージを配信する.サーバ はクライアントに対して

Notication*1

と呼ぶメッセージを送 信し,アプリケーションを起動させる.これでクライアントは メッセージの受信を知り,サーバにチャットデータを取りに行 くことができる.

現在のネットワークには通信経路上に

NAT(Network Address

Translation)

が存在することが多く,エンドツーエンドの通信

が阻害されている.そのため,インターネット上のサーバを介 して通信を行う必要があった.クライアントサーバシステムで は,サーバの管理者が情報を取得できるため,セキュリティ上 問題があるという指摘がある.また,サーバの二重化等の管理 が必須である.

3 NTMobile

によるエンドツーエンド通信

NTMobile

は,主に

NTMobile

を実装した端末

(NTM

端末

)

NTM

端末に対してアドレス情報の管理やトンネル構築指示 を行う

DC(Direction Coordinator)

により構成される.

NTM

末はスマートフォンなどの移動端末を想定しており,インター ネット上に配置された

DC

から仮想

IP

アドレスが割り当てら れる.アプリケーションは仮想

IP

アドレスによりセッション を確立する.通信開始側の

NTM

端末

(

イニシエータ

)

は通信開 始時に

DC

からの指示に従って通信相手の

NTM

端末

(

レスポ ンダ

)

との間に実

IP

アドレスによる

UDP

トンネルを構築する.

実際の通信は仮想

IP

アドレスによるパケットを実

IP

アドレス でカプセル化することにより実現する.通信経路上に

NAT

存在している場合であっても,

NAT

によるアドレス変換はカ プセル化パケットの外側

IP

ヘッダに対して行われるため,ア

*1 Googleの提供するGCMAppleの提供するAPNSなどのサービスが存 在する.

イニシエータ NAT レスポンダ

NTM Signaling

UDP入力 UDP応答

TCPコネクション ファイル転送 TCPコネクション切断 NAT

キャラクタデータの入力

ファイル転送の指示

DC

Fig. 1 End To End Chat Sequence

プリケーションは

NAT

に影響されることなくエンドツーエン ドの通信を行うことができる.

NTMobile

を適用することによ り,ユーザはサーバを経由することなく直接通信を行うことが できる.

4 NTMobile

を用いたチャット通信

<41 >概要

イニシエータがレスポンダの

FQDN

を指定する

NTMobile

のシグナリング機能により,両者の間にエンド

ツーエンドのトンネル経路が構築される.このトンネルを経由 して,キャラクタデータやファイル転送を直接実行する.

<42 >通信方式 Fig

1

にエンドツーエンド通信によるチャッ トのシーケンスを示す.

NTM Signaling

処理の詳細説明につい ては本稿の本質ではないため省略する.

NTM Signaling

処理 後,送信データがチャットのキャラクタデータであれば,単一 パケットの通信で済むため

UDP

で通信を行う.この場合,正 常に受信できたことを確認するためレスポンダはアプリケー ションレベルで応答を返す.送信データがファイル(長デー タ)であれば

TCP

で通信を行う.

TCP

通信の場合,送達確認

TCP

の機能に任せる.

本提案方式ではチャットサーバが不要であるため,サーバの 管理が不要で,サーバからの情報漏洩等の心配がない.また,

サーバを介する場合に比べ,シーケンスを大幅に簡略化できる.

5

まとめ

本稿では,

NTMobile

を用いてエンドツーエンドでチャット 通信を実現する方式を提案した.今後は,相手端末が起動して いない場合や複数人でのチャットを行う場合等について検討す る.また,提案手法の実装・性能評価を行っていく.

文 献

[1] 鈴木 秀和,他:NTMobileにおける通信接続性の確立手法と実装,情報 処理学会論文誌Vol.54No.1pp.3673792013.

(2)

中村 隼大

鈴木 秀和

内藤 克浩

† †

渡邊 晃

名城大学 理工学部

† †

愛知工業大学 情報科学部

(3)

ネットワーク技術が急速に発展

チャットが重要なコミュニケーションツール

クライアントサーバシステムによる実現

チャットを業務で使用するのが有用

サーバから情報漏洩する懸念

1

クライアント

A

サーバ クライアント

B Internet

エンドツーエンド通信によるチャットの実現

(4)

クライアントサーバシステム

2

Global Network

クライアント

A

クライアント

B NAT

Internet

IRC

サーバ

Private Network

・ クライアントは 経路 を確保

Keep Alive

IRCInternet Relay Chat

NAT:Network Address Translation

NAT

クライアント

C Private Network

(5)

クライアントサーバシステム

3

クライアント

A

クライアント

B NAT

Internet

IRC

サーバ

メッセージ送信 メッセージ受信

Private Network

・ クライアントは 経路 を確保

・インターネット を経由

IRCInternet Relay Chat

NAT:Network Address Translation

NAT

クライアント

C Global Network

Private Network

(6)

4

イニシエータ

CS NAT

レスポンダ

POST POST応答

CS

Chat Server POST応答

POST GET応答

GET Keep Alive

・サーバに

データを送信

POST POST応答 Notification

Notification

・メッセージの 受信を通知

・メッセージを取得

Hello

Hello

(7)

5

イニシエータ

CS NAT

レスポンダ

POST POST応答

CS

Chat Server POST応答

POST GET応答

GET Keep Alive

POST POST応答 Notification

Notification

・メッセージの 受信を通知

・メッセージを取得

・メッセージ取得の 確認応答を送信

Hello

・サーバに

データを送信

Hello

(8)

6

イニシエータ

CS NAT

レスポンダ

POST POST応答

CS

Chat Server POST応答

POST GET応答

GET Keep Alive

POST POST応答 Notification

Notification

・メッセージの 受信を通知

・メッセージを取得

・メッセージ取得の 確認応答を送信

・既読通知を送信

Hello

・サーバに

データを送信

Hello

(9)

サーバから情報漏洩する懸念

管理者が情報を取得

業務での利用は難しい

サーバの管理負荷

サーバの障害・二重化等に対する管理負荷が大きい

トラフィックが大きい

シーケンスが複雑

メッセージ送信毎、すべての処理を実行

7

・ チャットをエンドツーエンドで実現

NTMobile

上でチャットを実現

(10)

8

エンドツーエンドの通信を行える

ネットワーク環境(プライベート,グローバル)を意識せず通信

アプリはNATの存在を意識しない

DC:Direction Coordinator Global

Network

Private Network

(11)

9

アプリケーション間は仮想

IP

アドレスで通信

ネットワーク環境が変わっても変化しないIPアドレス

実際の通信は実

IP

アドレスでトンネル通信

IP

アドレスで仮想

IP

アドレスをカプセル化

イニシエータは通信開始時に

DC

からの指示に従って レスポンダとの間にトンネルを構築

IP

アドレス 仮想

IP

アドレス

エンドツーエンド通信が可能

(12)

NTM Signaling

10

イニシエータ

DC NAT

レスポンダ

経路指示要求

トンネル構築応答

UDP トンネル

通信経路の指示

トンネル構築要求

Keep Alive

(13)

NTM Signaling

11

イニシエータ

DC NAT

レスポンダ

経路指示要求

通信経路の指示

トンネル構築応答

UDP トンネル

トンネル構築要求

Keep Alive

(14)

NTM Signaling

12

イニシエータ

DC NAT

レスポンダ

通信経路の指示

トンネル構築応答

UDP トンネル

経路指示要求

トンネル構築要求

Keep Alive

(15)

Keep Alive

NTM Signaling

13

イニシエータ

DC NAT

レスポンダ

トンネル構築応答

UDP トンネル

経路指示要求

通信経路の指示

一回のみ処理を行う

トンネル構築要求

(16)

キャラクタデータ

14

イニシエータ

DC NAT

レスポンダ

データ送信

UDP

応答

キャラクタデータの入力

(17)

ファイル転送

15

イニシエータ

DC NAT

レスポンダ

ファイル転送の指示

TCPコネクション

ファイル転送

TCPコネクション切断

・簡単にチャットを実現

・シンプルなシーケンス

(18)

16

従来方式

(CS

経由

)

提案方式

セキュリティ ×

(管理者が情報を取得)

(情報漏洩の心配がない)

サーバ管理 ×

(サーバの障害、

二重化等の管理)

CS

不要

→DC

トラフィック ×

(シーケンスが複雑、

毎回全ての処理を実行)

(シグナリング処理は

初回のみ)

(19)

NTMobile

を用いたエンドツーエンド通信による チャット通信方式

トンネルを構築・経由してキャラクタデータやファイル転送を 直接実行

提案方式の有用性を確認

サーバの管理が不要

サーバから情報漏洩の心配がない

トラフィックの軽減

今後の予定

提案手法の実装・性能評価

相手端末が起動していない場合,

大規模なチャットを行う場合の処理について検討

17

(20)
(21)

相手端末が起動していない場合

従来の方式で通信

複数人での大規模なチャットを行う場合

19

Internet

数珠繋ぎ チャット

エンドエンド 通信

NTM

端末

NAT

(22)

NAT NAT

イニシエータ レスポンダ

RS

DC

Private Network

20

イニシエータ・レスポンダが共に

NAT

配下に 存在する場合の通信の中継

エンドツーエンドで通信を行える

CSと異なりRSは

経由するのみ

Internet

Private Network

Fig. 1 End To End Chat Sequence

参照

関連したドキュメント

[r]

キュリティ強化を前提に、加盟店におけるカード番号非保持化を徹底し、特

  BCI は脳から得られる情報を利用して,思考によりコ

プログラムに参加したどの生徒も週末になると大

1)まず、最初に共通グリッドインフラを構築し、その上にバイオ情報基盤と

「Remote NDIS based Internet Sharing Devise」を誤って削除してしまった。 → 資格確認端末の再起動を行っていただくことで、ネットワーク接続に「Remote NDIS

テキストマイニング は,大量の構 造化されていないテキスト情報を様々な観点から

携帯端末が iPhone および iPad などの場合は App Store から、 Android 端末の場合は Google Play TM から「 GENNECT Cross 」を検索します。 GENNECT