NTMobile
における
RSを利用しない経路構築手法の提案
稲垣 智
†∗,尾久 史弥
†,鈴木 秀和
†,内藤 克浩
‡,渡邊 晃
† (†名城大学,
‡愛知工業大学
)Proposal for Route Construction Method without Using RS in NTMobile Satoru Inagaki†∗, Fumiya Ogyu†, Hidekazu Suzuki†, Katsuhiro Naito‡, Akira Watanabe†
(†Meijo University,‡Aichi Institute of Technology)
1
はじめに
現在のネットワークでは
,NATを用いたプライベートネット ワークが多く利用されている
.しかし
,グローバルネットワーク 側の端末からプライベートネットワーク側の端末に対して通信 の開始ができないという問題を抱えている
(NAT越え問題
).こ の問題を解決する技術として
,NTMobile(Network Traversal with Mobility)が提案されている
[1].NTMobile
では
,通信を行う両エンド端末が
NAT配下に存在す る場合
,一度
RS(Relay Server)と呼ばれる装置を経由した通信経 路を構築するが
,実際には
RSを経由する必要がない場合も多く 存在している
.例えば一方がモバイル端末の場合
,インターネット とモバイルネットワークの間は
Full Cone型
NATで繋がれてい るため
,RSを経由する必要がないことが分かっている
.そこで本 稿では
,NTMobileにおいて
RSを利用せずに通信経路を構築する 手法を提案する
.2 NTMobile
とその課題
NTMobile
は
NTMobile機能を実装したエンド端末
(以下
NTM端末
),通信経路の指示を行う
DC(Direction Coordinator),両
NTM端末が
NAT配下に存在する場合にパケットの中継を行う
RSに よって構成される
.DCは常に
NTM端末の位置を把握している
.また
NTM端末は
DCに向けて定期的に
Keep Aliveを実行して いるため常に通信経路が確保されている
.NTMobile
では
,両
NTM端末が
NAT配下に存在する場合
,DCは
RS経由での通信を指示する
.RS経由での通信を確立した 後
,NTM端末は経路最適化処理を行い
E2E(エンドツーエンド
)通 信を試みる
[2].ここで
,どちらか一方が
Cone型
NATであると 経路最適化は成功する
.また文献
[2]によると
,現在利用されてい る
NATのうちおよそ
82%は
Cone型
NATであると言われてい る
.そのため
,多くの場合において経路最適化が成功すると考えら れる
.現在の
NTMobileでは
,経路最適化が成功することが分かって
いる場合であっても
,RSを必ず用意しなければならない
.また
,RSが用意してあっても
,RSが故障している場合は経路最適化の可否 に関わらず通信ができないという課題もある
.3
提案方式
提案方式では
,既存の動作シーケンスを踏襲し
,RSからの応答 がない場合の処理を変更する
.RSからの応答がない場合
,RSが存 在しない
,または故障していると判断し
,RSを経由しない最適経 路での通信を試みる
.ここで
,最適経路での通信を試みる際
,既存 の経路最適化処理をそのまま流用する
.以上の処理により
,既存の 動作シーケンスに影響を与えず
,また
RSが不要な場合と故障し ている場合の両者を同じ動作シーケンスで実現できる
.Fig.1
に 提 案 方 式 に お け る
NTMobile動 作 シ ー ケ ン ス を 示 す
.Fig.1において
MNは通信を開始する側の
NTM端末
,CNは通
DC
NATMN RS(不在) NATCN
MN CN
RS不在情報を DBへcache Direction Request
Relay Direction (応答なし)
Route Direction
ACK
Autonomous Tunnel Request Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
Fig. 1 Sequence of the proposed method.
信相手の
NTM端末を示している
.MNが通信を開始するために
CNの
FQDNを添えて
DCに対して
Direction Requestを送信す る
.パケットを受信した
DCは両端末が
NAT配下にあることか ら
,RSを経由することを指示するための
Relay Directionを
RSへ 送信する
.Fig.1では
RSからの応答がないため
,RSが存在しない
,または故障していると判断する
.DCは自身が持つデータベースに
RSが存在しない旨をキャッシュする
.次に
DCは
NATMNのア ドレスとポート番号
,及び
RSが不在であることを示すフラグ
(以 下
RS不在フラグ
)を
Route Directionパケットに乗せ
CNへ送信 する
.CNは
RS不在フラグの内容から
E2Eの経路最適化を行う 必要があると判断する
.同様の手順で
MNも
Route Directionか ら
NATCNのアドレスとポート番号を取得し
,最適経路での通信 を行うと判断する
.MNと
CNは通信相手
NATのアドレスとポー ト番号へ向けパケットの送信を3回ずつ試みる
.ここで
,どちらか 一方でも
Cone型
NATが利用されている場合
,送信パケットが通 信相手の端末へ到達し
,通信を確立することができる
.以上によ
り
,NTMobileにおいて
RSを利用しない経路構築手法を実現する
ことができる
.4
まとめ
本稿では
,NTMobileにおいて
RSが存在しない場合であっても 経路構築を可能とする手法を提案した
.今後は提案方式の実装及 び性能評価を行う予定である
.文 献
[1] 上醉尾.他:IPv4/IPv6混在環境で移動透過性を実現するNTMobileの実装 と評価,情報処理学会論文誌Vol.54, No.10, pp.2288-2299, 2013
[2] 納堂.他:NTMobileにおける自律的経路最適化の提案,情報処理学会論文誌 Vol.54, No.1, pp.394-403, 2013
稲垣 智
†,尾久 史弥
†,鈴木 秀和
†,内藤 克浩
‡,渡邊 晃
††
名城大学 理工学部
‡愛知工業大学 情報科学部
IPv4
グローバルアドレスの枯渇問題
◦ NATを用いたプライベートアドレスの利用
NAT
越え問題
◦
グローバルネットワーク側からプライベートネットワーク側へ の通信の開始ができない
1
NTMobile ( Network Traversal with Mobility )
上醉尾一真, 鈴木秀和, 内藤克浩, 渡邊晃:
IPv4/IPv6 混在環境で移動透過性を実現するNTMobile
の実装と評価
情報処理学会論文誌
Vol.54, No.10, pp.2288-2299, 2013 NAT
越え問題の解決
∘
経路指示装置の導入
移動通信の実現
∘
位置に依存しない仮想
IPアドレスの導入
IPv4-IPv6
間通信の実現
∘
アドレス形態の違いを吸収する中継装置(RS)の導入
2
IPv4端末 IPv6端末
RS
IPv4 Packet IPv6 Packet
仮想IP データ カプセル化 実IP 仮想IP データ データ
NTM
端末
◦ NTMobile
機能が実装された端末
DC(Direction Coordinator)
◦
通信経路の指示を出す装置
◦ NTM
端末の端末情報を管理
RS(Relay Server)
◦
両
NTM端末が
NAT配下の
場合に通信を中継する装置
3
RS DC
NTM
端末
グローバルネットワーク
プライベートネットワーク
NAT
プライベートネットワーク
NTM
端末
NTM
端末
NAT4
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
Keep Alive Keep Alive
5
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
Keep Alive Keep Alive
通信開始時のシーケンス
6
NATMN RS NATCN
NTM端末:MN DC NTM端末:CN
Keep Alive Keep Alive
シグナリング処理 シグナリング処理
通信開始時のシーケンス
7
NATMN RS NATCN
NTM端末:MN DC NTM端末:CN
Keep Alive Keep Alive
シグナリング処理 シグナリング処理
RS
経由での
トンネル通信を確立
NTMobile
では両端末が
NAT配下にある場合
RS経由での通信経路を確立する
実際には
NATの種類
(次スライド
)によっては端末間で 直接通信を行える場合もある
8
NTMobile
には経路最適化機能が実装済み
納堂 博史
,鈴木 秀和
,内藤 克浩
,渡邊 晃:
NTMobile
における自律的経路最適化の提案
,情報処理学会論文誌Vol.54, No.1, pp.394-403, 2013
通信を行う両端末のうち
,少なくとも一方の
NATが
Cone型であった場合
,経路最適化に成功する
◦
過去の調査結果によると
,82%の
NATが
Cone型
NAT Cone
型
NAT◦ NAT
配下の端末が同一ならば
,通信相手によらず 同一のマッピングを行う
9
サーバA
サーバB NAT配下端末
NAT
プライベートネットワーク
グローバルネットワーク
10
NATMN RS NATCN
NTM端末:MN DC NTM端末:CN
Keep Alive Keep Alive
シグナリング処理 シグナリング処理
11
NATMN RS NATCN
NTM端末:MN DC NTM端末:CN
Keep Alive Keep Alive
シグナリング処理 シグナリング処理
Autonomous Tunnel Request
Autonomous Tunnel Request Autonomous Tunnel Response
12
NATMN RS NATCN
NTM端末:MN DC NTM端末:CN
Keep Alive Keep Alive
シグナリング処理 シグナリング処理
Autonomous Tunnel Request
Autonomous Tunnel Request Autonomous Tunnel Response
経路最適化処理
13
NATMN RS NATCN
NTM端末:MN DC NTM端末:CN
Keep Alive Keep Alive
シグナリング処理 シグナリング処理
Autonomous Tunnel Request
Autonomous Tunnel Request Autonomous Tunnel Response
最適経路での
トンネル通信を確立
現状の
NTMobileでは
,経路最適化が可能な場合に おいても
,まず
RS経由での通信を確立する
◦ RSが不在の場合,経路最適化を行う前にシーケンスが終了
システムや環境によっては経路最適化に成功するこ とがあらかじめ分かっている
◦
その場合でもRSを立ち上げなければならないのは負担
14
(
提案方式
)RSが存在しなくても経路構築を可能にする
15
NAT NAT
○○企業 A支社
○○企業
B支社
DC
Internet
16
NAT NAT
○○企業 A支社
○○企業
B支社
DC
Internet NTMobile
ネットワークを構築
17
NAT NAT
○○企業 A支社
○○企業
B支社
DC
Internet
どちらか一方の
NATが
Cone型の場合
,経路最適化に成功
18
NAT
○○企業
(家庭
,団体
)DC
Internet
モバイルネットワーク
Cone型NAT
19
NAT
○○企業
(家庭
,団体
)DC
Internet
モバイルネットワーク
Cone型NAT
NTMobile
を利用し
,モバイルネットワークの端末と
通信を行うシステムを開発したい
20
NAT
○○企業
(家庭
,団体
)DC
Internet
モバイルネットワーク
○○企業の
NTM端末
Cone型NAT
モバイルネットワークは
Cone型
NATで繋がれているため
経路最適化に成功
提案方式では既存のシーケンスを踏襲し
,RSを用意し ない場合の処理を変更する
◦ RSの有無を設定情報としてDCへ持たせる
◦ DC
は設定情報を見て通信経路を指示
RS
を用意する場合は既存の通信経路
(RS経由
→経路最適化
) RS
を用意しない場合は最初から経路最適化での通信を指示
経路最適化が成功すると分かっている場合は
,RSを 用意しなくても通信を確立できる
◦ RS立ち上げに伴う負担を解消
◦
シーケンスの簡単化
RS(不在)
2122
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
設定情報から RS不要と判断 Direction Request
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
Keep Alive Keep Alive
23
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
設定情報から RS不要と判断 Direction Request
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
Keep Alive Keep Alive
通信開始要求
24
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
設定情報から RS不要と判断 Direction Request
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
Keep Alive Keep Alive
25
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
設定情報から RS不要と判断 Direction Request
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
Keep Alive Keep Alive
通信相手NATのアドレスと
ポート番号を通知
26
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
設定情報から RS不要と判断 Direction Request
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
Keep Alive Keep Alive
相手の
NATに向けて
経路最適化処理
27
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
設定情報から RS不要と判断 Direction Request
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
Keep Alive Keep Alive
最適経路での
トンネル通信を確立
NTMobile
では必ず
RSを用意する必要があった
◦
経路最適化が可能な場合においてもRSが必要
コスト面
,設定面など負担が大きい
RS
を利用せずに経路構築を可能にする手法の提案
◦
提案手法によりRS立ち上げに伴う負担を解消
◦
シーケンスの簡単化
今後の方針
◦
提案方式の実装及び評価
28
29
30
31
NAT NAT
○○企業
A支社
○○企業
B支社
DC
Internet
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
32
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
通信開始要求
33
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
両端末が
NAT配下のため
, RS経由での通信を指示
34
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
両
NTM端末に
RSのアドレスを通知
35
36
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
RSからのパケットを受け
取れるようにする
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
37
NATMN RS NATCN
NTM端末:MN NTM端末:CN
Direction Request
Relay Direction
Route Direction
ACK Route Direction
DC
Relay Response
Hole Punching ACK
Tunnel Request
Tunnel Request
Tunnel Response Tunnel Response
RS
経由での トンネル経路を構築
38
NAT
MNRS NAT
CNNTM端末:MN DC NTM端末:CN
Autonomous Tunnel Request
Autonomous Tunnel Request Autonomous Tunnel Response
39
NAT
MNRS NAT
CNNTM端末:MN DC NTM端末:CN
Autonomous Tunnel Request
Autonomous Tunnel Request Autonomous Tunnel Response
経路最適化処理
40
エンドツーエンドでの トンネル経路を構築
NAT
MNRS NAT
CNNTM端末:MN DC NTM端末:CN
Autonomous Tunnel Request
Autonomous Tunnel Request Autonomous Tunnel Response
41
42
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
RS不在情報を DBへcache Direction Request
Relay Direction
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
通信開始要求
43
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
RS不在情報を DBへcache Direction Request
Relay Direction
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
両端末が
NAT配下のため
, RS経由での通信を指示
RSは存在しないため,
応答がない
44
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
RS不在情報を DBへcache Direction Request
Relay Direction
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
cache
が残っている限り
RSへの中継要求は出さない45
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
RS不在情報を DBへcache Direction Request
Relay Direction
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
通信相手NATのアドレスと
ポート番号を通知
46
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
RS不在情報を DBへcache Direction Request
Relay Direction
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
相手のNATに向けて
経路最適化処理
47
DC
NAT
MNRS(不在) NAT
CNNTM端末:MN NTM端末:CN
RS不在情報を DBへcache Direction Request
Relay Direction
Route Direction
ACK
Autonomous Tunnel Request
Route Direction
Autonomous Tunnel Request Autonomous Tunnel Response
最適経路での
トンネル経路を構築
Cone
型
NAT◦ NAT
配下の端末が同一な らば
,通信相手によらず同一の マッピングを行う
Symmetric
型
NAT◦ NAT
配下の端末が同一で あっても
,通信相手のアドレスや ポート番号毎に別のマッピ ングを行う
48
サーバA
サーバB NAT配下端末
NAT
サーバA
サーバB NAT配下端末
NAT
プライベートネットワーク
グローバルネットワーク プライベートネットワーク
グローバルネットワーク
DC
の設定情報に
RSの有無を追加
◦
設定情報に基づき経路指示の選択
NTM
端末は受信した経路指示パケットを元に
RS経由か経路最適化を選択
49