平成 24 年度 修 士 論 文
邦文題目
NTMobile における名前解決方式の提案と評価
英文題目
Proposal of Name Resolution Method in NTMobile and its Evaluation
情報工学専攻
(
学籍番号: 083430033)
細尾 幸宏
提出日
:
平成25
年1
月31
日名城大学大学院理工学研究科
内容要旨
端末が接続するネットワーク環境にかかわらず通信開始を保証する通信接続性や,移動 してネットワークが切り替わっても通信が継続できる移動透過性への需要が高まっている.
我々は,
IPv4/IPv6
ネットワークが混在する環境においてアドレス空間やアドレス体系に依存しない通信接続性と移動透過性を実現する
NTMobile(Network Traversal with Mobility
)を 提案している.現状のNTMobile
では端末情報の収集と管理を既存のDNS
に依存する方法 をとっており,通信開始時の情報収集における確実性や情報管理の柔軟性に欠けるという課 題があった.そこで本論文では,情報管理をDNS
の仕組みに依存する方法からデータベー スを利用する方法へ移行し,DNS
依存によって発生する通信接続性における課題を解決す る名前解決手法を提案する.また,提案手法の実装を行い,動作検証および評価を行った.この結果,提案方式ではデータベースによる端末情報管理により端末情報の秘匿性と拡張性 および端末情報管理の柔軟性を確保した.また,通信開始において通信接続性を確保できな い課題を解決し,実ネットワーク環境における従来方式の実測値を元にした提案方式の性能 予測によって通信開始時のオーバヘッドを削減可能であることを確認した.
目 次
第
1
章 はじめに1
第
2
章NTMobile 4
2.1 NTMobile
の概要. . . . 4
2.2
通信シーケンス. . . . 5
第
3
章NTMobile
における名前解決手法の課題9 3.1 DNS
(Domain Name System
). . . . 9
3.2 DNS
を用いたNTMobile
の名前解決処理. . . . 10
3.3 DNS
を用いた情報管理および情報収集の課題. . . . 11
第
4
章 提案方式12 4.1
提案方式の方針. . . . 12
4.2
データベースによる情報管理. . . . 12
4.3
提案シーケンス. . . . 13
4.4
内部ネットワークに対する名前解決. . . . 16
第
5
章 評価18 5.1
提案方式の利点. . . . 18
5.2
性能測定. . . . 19
第
6
章 提案方式の今後の展開22 6.1
グループ認証の適用. . . . 22
6.2
ダブルジャンプ問題の解決に向けて. . . . 23
第
7
章 まとめ25
謝辞
26
参考文献
28
研究業績
29
付 録
A
記号の定義30
第 1 章 はじめに
スマートフォンなどの高性能な携帯端末の普及に伴い,ユーザがインターネットを利用す る形態が大きく変化している.現在の状況は通信インフラとして広く普及している
TCP/IP
の当初の想定を超えており,様々な課題が明確になっている.最大の課題はIPv4
グローバ ルアドレスの枯渇である.IPv4
グローバルアドレス枯渇問題に対する短期的な対策として,NAT
を設置する方法が一般的に行われているが,この対策によってグローバルアドレス側か らプライベートアドレス側に対して通信を開始できないNAT
越え問題が発生しおり,IPv4
ネットワークの大きな課題となっている.この課題に対する長期的な対策として,
IPv6 [1]
が定義されているが,現在利用されてい るIPv4
との間には互換性が無く,直接通信ができないためIPv6
の普及は進んでいない.こ のため,長期間IPv4
とIPv6
が混在する環境になることが想定され,この環境における通信 接続性を保証することは極めて重要である.また,
IP
ネットワークには,通信端末が通信中に移動等によって端末が接続するネット ワークや使用するインタフェースの切り替えを行うとIP
アドレスが変化し,通信を継続で きないという課題がある.このような問題を解決する技術は移動透過性技術と呼ばれ,現在 までに様々な移動透過性技術が提案されてきた[2]
.しかし,これらの多くはIPv6
が今後の 主流になることを想定したIPv6
のみに対応した方式であり,NAT
越え問題が存在するIPv4
における移動透過性技術は少ない.これらの課題を解決するため,
IPv4/IPv6
ネットワークが混在する環境において通信接続 性の確保と移動透過性を同時に実現するNTMobile
(Network Traversal with Mobility
)を提 案している[3–6]
.NTMobile
はトンネル通信と仮想IP
アドレスを用いた技術である.トン ネル通信とアドレス変換によりNAT
配下のNTMobile
対応端末(NTM
端末)に対する接続 性を確保でき,IPv4
とIPv6
ネットワーク間の接続性を確保することができる.また,アプ リケーションが仮想IP
アドレスを認識することで通信中にどのようなネットワークへ接続 を切り替えても通信を継続できる.これらの手法により,実ネットワークの違いや実IP
ア ドレスの変化のようなIP
ネットワーク特有の制約を隠蔽し,NTMobile
が提供する制約のな い仮想的なネットワークに全てのアプリケーションを接続する技術である.NTMobile
では,通信トンネルの構築に必要な通信相手のNTM
端末情報を,通信開始側の
NTM
端末が収集する必要がある.NTMobile
はインターネットで世界的に分散管理され ている既存のDNS
(Domain Name System
)[7, 8]
の仕組みを利用することでNTM
端末情 報を収集する手法をとっている.管理装置 ( )が (DNS
)[9]
の機能を包含し,DNS
レコードの形式のNTMobile
専用レコード(NTM
レコード)として
NTM
端末情報をDDNS
に登録している.DNS
レコード形式で扱うことにより,各NTM
端末に割り当てるFQDN
(Fully Qualified Domain Name
)を問い合わせることでNTM
端末が接続しているネットワークのプライマリDNS
サーバを経由してNTM
レコードを取 得することができる.通信開始側のNTM
端末は通信相手のFQDN
から端末情報を収集し,トンネル構築を行う.
しかし,既存の
DNS
の仕組みを利用することで,いくつかの課題が発生している.すな わち,DNS
はインターネットにおける情報共有のためのシステムであり,DNS
レコードと 同様の形式で扱っているNTM
レコードも通常のDNS
レコードと同じく公開された情報と して扱わざるを得ず,FQDN
から誰でもNTM
端末情報を取得することが可能である.また,近年の携帯端末のように急激に進化するネットワークの利用形態に対して柔軟に対応する ネットワークアーキテクチャとして,
DNS
レコード形式に従った現在のNTM
端末情報管理 は拡張性に乏しいという課題がある.さらに,通信接続性を確保するためにはNTM
レコー ドを動的に更新し,全てのノードが最新のNTM
レコードを取得可能状態を維持する必要が ある.このため,DNS
によるネットワークトラフィック削減などのために導入されているDNS
キャッシュは利用できず,NTM
端末が通信を開始する際には毎回DNS
探索をルート サーバから行う必要がある.これに関連した課題として,DNS
サーバの設定やバージョン 等によりDNS
キャッシュがNTM
レコードのTTL
設定通りに適用されず,DNS
サーバに キャッシュが残ってしまう場合がある.この場合,このDNS
サーバを経由してDNS
探索 を行うNTM
端末は,移動を行ったNTM
端末に対してキャッシュが残っている期間は通信 を開始することができないという課題が発生する.さらに,NTMobile
がIPv4
とIPv6
の両 ネットワークをサポートする上で必要な通信開始時のDNS
問い合わせはA, AAAA, NTM4, NTM6
レコード1の計4
回であり,通信遅延が大きいネットワークに接続している場合に通 信開始時のオーバヘッドが大きくなるという課題がある.本論文では,
NTMobile
がDNS
の仕組みに依存することで抱えている通信接続性の確保と 通信開始時のオーバヘッドを低減する手法およびNTM
端末情報の管理における秘匿性と柔 軟性を確保する手法を提案する.具体的には,通信開始側のNTM
端末が行っていた合計4
回のDNS
問い合わせを廃止し,管理装置DC
がNTM
端末情報の収集を行う.また,DNS
キャッシュの影響を回避するためNTM
端末情報はDC
同士が新たに定義する独自の制御 メッセージを用いて共有する.NTM
端末情報はDNS
レコード形式からデータベースで管 理する手法に変更する.これにより,NTMobile
の問い合わせにのみ情報を提供する秘匿性 と,今後の拡張等の柔軟性を確保する.また,提案方式をLinux
に実装し,動作確認を行っ た.この結果,提案方式ではデータベースによる端末情報管理により端末情報の秘匿性と拡 張性および端末情報管理の柔軟性を確保した.また,通信開始において通信接続性を確保で きない課題を解決し,実ネットワーク環境における従来方式の実測値を元にした提案方式の1
NTM4
はIPv4
用のNTM
レコード,NTM6
はIPv6
用のNTM
レコードである.性能予測によって通信開始時のオーバヘッドを大幅に削減可能であることを確認した.
以下,
2
章でNTMobile
について説明し,3
章でNTMobile
における名前解決手法の課題 について述べる.4
章で提案方式について説明し,5
章で提案方式の評価を行い,6
章で提 案方式の今後の展開について述べ,7
章でまとめる.第 2 章 NTMobile
2.1 NTMobile
の概要NTMobile
の概要を図2.1
に示す.NTMobile
はNTM
端末,管理装置DC
(Direction Co- ordinator
),中継装置RS
(Relay Server
)によって構成される.DC
やRS
はグローバルネッ トワークに設置し,ネットワークの規模に応じて複数台設置による負荷分散を行うことがで きる.NTM
端末とDC
およびRS
,DC
同士,DC
とRS
間にはそれぞれ事前に信頼関係があるこ とが前提である.信頼関係を確認後,DC
はNTM
端末に対してFQDN
,Node ID
,仮想IP
アドレスを配布する.NTMobile
で使用される制御メッセージは各端末間で共有している暗 号鍵を用いて暗号化される.DC
はDDNS
(Dynamic DNS
)[9]
の機能を包含しており,NTM
端末のA
レコードとAAAA
レコードに加えNTM
レコードを登録している.これらのレコード情報は通信接続性の確保DC
RS
Internet RS
General Node
NTM Node A
NTM Node B before move
NTM Node C
NTM Node B after move Hand over
General Communication
Encrypted Communication through UDP Tunnel
図
2.1 NTMobile
の概要のために最新の状態を保つよう動的に更新を行う.
DC
はDNS
サーバとして管理するドメ インを元にNTM
端末に一意なFQDN
を割り当てる.このFQDN
と各レコード情報を関連 付けて管理することにより,FQDN
からDNS
問い合わせを利用してNTM
端末情報への到 達性を確保している.これにより,分散管理された異なるDC
に所属するNTM
端末同士はFQDN
を元に互いのNTM
端末情報を共有でき,通信接続性の確保に利用している.NTM
レコードにはNTM
端末を一意に識別するNode ID
,実IP
アドレス,仮想IP
アドレス,NAT
の外側の実IP
アドレス,アドレス情報を管理しているDC
の実IP
アドレスが記載されてい る.また,NTM
端末の通信開始要求を受けて通信トンネル構築時に適切なトンネル経路を 判断し,指示を行う役割を担っている.DC
が各NTM
端末に割り当てる仮想IP
アドレスは 一意なアドレスであり,各DC
は自身に割り当てられたアドレス空間から重複が起きないよ うに割り当てを行う[10]
.NTM
端末は実ネットワークから割り当てられる実IP
アドレスと,DC
から割り当てられる 仮想IP
アドレスの2
種類のIP
アドレスを保持する.NTM
端末上で動作するアプリケーショ ンは仮想IP
アドレスに基づいた通信を行う.仮想IP
アドレスに基づくパケットは,NTM
端 末間に構築されるUDP
トンネルによって転送される.トンネルの経路は通信を行うNTM
端末のどちらか一方がグローバルネットワークに接続している場合には必ずエンドツーエン ドのトンネル通信を行うことができる[11]
.RS
は通信を行うNTM
端末が互いに異なるNAT
配下に接続している場合やNTMobile
未 実装の一般端末と通信を行う場合,さらには一方のノードがIPv4
,もう一方のノードがIPv6
ネットワークに接続している場合,通信の中継を行う装置である.ただし,NTM
端末同士 が互いに異なるNAT
配下に接続していてもNAT
の種類によっては経路最適化によりエンド ツーエンドのトンネル通信に切り替えることが可能である.2.2
通信シーケンス以後の説明では,通信開始側の
NTM
端末をMN
(Mobile Node
),通信相手側のNTM
端末 をCN
(Correspondent Node
)として説明する.また,端末N
のFQDN
をFQDN
N,Node ID
をNID
N,実IPv4
アドレスをRIP4
N,仮想IPv4
アドレスをV IP4
N,端末N
がNAT
配下に 接続している場合のNAT
の実IPv4
アドレスをRIP4
NATNとし,アドレス情報を管理してい るDC
をDC
N,その実IPv4
アドレスをRIP4
DCNとする.NTM
レコードはIPv4
用のNTM4
レコードとIPv6
用のNTM6
レコードの2
つが定義されている.端末N
のNTM4
レコード には,NID
N,RIP4
N,V IP4
N,RIP4
NATN,RIP4
DCNが含まれ,NTM6
レコードにはそれぞれ のIPv6
アドレスが含まれる.N1
とN2
がトンネル通信時に用いるPath ID
をPID
N1−N2と表 す.Path ID
はNTM
端末間の通信を一意に識別するための識別子である.DC
MNMN
NTM Registration Request MN’s Info
DDNS DC
NTM4 Record
・FQDN
MN・NID
MN・RIP4
MN・VIP4
MN・RIP4
NATMN・RIP4
DCMNNTM6 Record
・FQDN
MN・NID
MN・RIP6
MN・VIP6
MN・RIP6
NATMN・RIP6
DCMNNTM Registration Response
Operation Flow Packet Flow
AAAA Record
・RIP6
MNA Record
・RIP4
MN図
2.2 NTMobile
登録処理2.2.1
登録処理図
2.2
にNTMobile
の端末情報登録処理を示す.NTM
端末は通信接続性の確保のために,端 末起動時にDC
に対して実IP
アドレスなどの端末情報を登録する.MN
はFQDN
MN,NID
MN,RIP4
MN,RIP6
MNなどを記載したNTM Registration Request
をDC
MNに送信する.DC
MNはNTM Registration Request
を受信すると,DNS
サーバに登録されているNTM4, NTM6
レコー ドを更新する.このとき,NTM Registration Request
のIP
ヘッダに格納されている送信元IP
アドレスが,メッセージ内のRIP
と異なる場合,MN
がプライベートアドレス空間にいると 判断し,IP
ヘッダの送信元IP
アドレスをNAT
の外側のIP
アドレスとしてNTM
レコードを 更新する.その後,MN
へ応答としてNTM Registration Response
を返す.登録完了後は
MN
とDC
MNは定期的にメッセージの交換をすることで制御メッセージ用 の通信経路を確保する(Keep Alive
).これにより,DC
MNはNAT
配下にいるMN
との制御 メッセージ用経路を維持する.2.2.2
名前解決処理NTMobile
は,DNS
による名前解決をトリガとしてNTMobile
特有のネゴシエーションを 実行する.MN
はDNS
による名前解決処理を検出すると,そこに含まれるFQDN
CNを元にA, AAAA, NTM4, NTM6
レコードの問い合わせを行う.A, AAAA
レコードによりCN
の実IP
アドレスを取得する.NTM4
レコードはIPv4
で,NTM6
レコードはIPv6
でNTMobile
の 通信トンネル構築を行うために収集する必要がある.これらの問い合わせは接続している ネットワークのプライマリDNS
サーバを経由してDC
に到達し,各レコードを取得するこ とができる.DNS
サーバからの応答は一時的に待避し,取得した情報を元に2.2.3
項で説明 するトンネル構築処理を行う.トンネル構築後,
MN
は待避していたDNS
サーバからの応答に含まれるRIP4
CNをV IP4
CNNIDCN PIDMN-CN DCCN
MN
NTM Direction Request
NTM Tunnel Response NTM Tunnel Request
DCMN CN
NTM Route Direction NTM Route Direction NTM Route Direction NATCN
NTM RecordCN NTM RecordMN
NTM RecordCN NIDMN PIDMN-CN
NTM RecordMN NIDCN PIDMN-CN
PIDMN-CN NIDMN
図
2.3 NTM
端末間のトンネル構築手順に書き換えて
DNS
リゾルバへ渡す.これにより,MN
のアプリケーションは通信相手のIP
アドレスとしてV IP4
CN を認識することになる.2.2.3
トンネル構築図
2.3
にトンネル構築シーケンスを示す.NTM
端末は名前解決による情報収集完了後,DC
にトンネル構築の指示を要求する.MN
は2.2.2
項で収集したCN
の端末情報と自身の端 末情報をDC
MNへNTM Direction Request
として送信する.DC
MNはメッセージ内の両端末 の情報から最適なトンネル経路を判断する.DC
MNは経路判断を元にトンネル構築に必要な 情報を載せたNTM Route Direction
をMN
とCN
へ送信する.NTM
端末がNAT
配下にいる 場合,NTM Tunnel Request
をNAT
配下のNTM
端末が送信することによってトンネル通信 の経路を確保する.2.2.4
トンネル通信アプリケーションは通信相手として仮想
IP
アドレスを認識しているため,アプリケーショ ンが生成したパケットは仮想IP
アドレスが記載される.これをカプセル化し,CN
へ転送す る.CN
はカプセル化されたパケットをデカプセル化し,抽出したアプリケーションパケッ トを上位アプリケーションへ渡す.2.2.5
ハンドオーバ時の動作NTMobile
では,通信中にNTM
端末がネットワークを切り替えた場合,通信開始時と同じトンネル構築処理を行うことによりトンネルの再構築を行う.このとき,
MN
は通信開始 時にCN
のレコード情報は取得済みであるため,2.2.2
項の名前解決処理は省略される.MN
はこれと並行して2.2.1
項で説明した登録処理を行い,DC
に登録されているNTM
レコード を最新の情報に更新する.第 3 章 NTMobile における名前解決手法の課題
本章では,
DNS
の仕組みについて概説し,NTMobile
におけるDNS
利用の状況について まとめ,その課題について述べる.3.1 DNS
(Domain Name System
)DNS
とはインターネット上のホスト名と対応するIP
アドレスを管理し,相互に変換する システムである.ドメイン名による階層構造を用いて世界中に分散管理された世界最大規模 の分散型データベースであり,その管理情報は全世界に等しく提供するオープンなシステム である.ホスト名
”cn.example.ne.jp”
を解決するDNS
の動作シーケンス例を図3.1
に示す.名前解 決時にルートサーバから順に問い合わせをしてホストの管理サーバを特定してIP
アドレス を取得する.図
3.1
のように名前解決をする度にルートネームサーバから問い合わせを行うとサーバ リソースやネットワークトラフィックに負荷がかかるため,探索結果を一定時間保持する キャッシュおよびネガティブキャッシュ[12]
が定義されている.これにより,プライマリDNS
サーバはキャッシュを保持している名前解決については探索を行わず,直ちにMN
へ 回答を行う動作が一般的である.MN
DNS Request for A Record
Root Name Server
DNS Search for NS Record cn.example.ne.jp
Primary DNS
jp Name Server
ne.jp Name Server
example.ne.jp Name Server IPCN
DNS Search for NS Record DNS Search for NS Record DNS Search for A Record DNS Response for A Record
図
3.1 DNS
の動作シーケンスPrimary DNSMN DCCN MN
DNS NETWORK
DNS Request for A Record
DNS Request for AAAA Record
DNS Request for NTM4 Record
DNS Request for NTM6 Record
DNS Response for AAAA Record
DNS Response for NTM4 Record
DNS Response for NTM6 Record DNS Response for A Record FQDNCN
DNS Search
FQDNCN
RIP4CN
FQDNCN
FQDNCN
FQDNCN
RIP6CN
NTM4 RecordCN
NTM6 RecordCN
DDNS DC
DNS Request for A Record
図
3.2 DNS
による名前解決処理3.2 DNS
を用いたNTMobile
の名前解決処理NTMobile
において通信トンネル構築に必要なNTM
端末情報の収集はDNS
の名前解決処 理そのものである.DC
は自身に包含するDDNS
にNTM
レコードとしてNTM
端末情報を 登録している.これにより,DDNS
の動作に従ってFQDN
を元に行われるDNS
問い合わせ に対してNTM
レコードを応答する.DNS
の仕組みを利用している限り,NTM
レコードの 応答を特定の相手に限定することはできない.また,DNS
におけるDNS
レコードの管理は テキストファイルにレコードごとに列挙する方法が基本であり,データをリレーショナルに 扱うなどの複雑な処理はできない.また,DC
が管理するNTM
レコードはDNS
キャッシュ の対象にならないよう,TTL
(Time To Live
)を小さく設定する.通信開始時の
NTMobile
における名前解決処理を図3.2
に示す.MN
はアプリケーション が行うDNS
問い合わせを検出すると,そこに含まれるFQDN
CNを元にA, AAAA, NTM4,
NTM6
レコードの4
種類のDNS
レコードすべてを問い合わせる必要がある.DC
MNが最適 なトンネル経路を判断するために,MN
はCN
に関する全てのレコードを問い合わせる.ま た,NTM
レコードが取得できない場合はCN
が一般端末であると判断する.この名前解決処 理はMN
が接続しているネットワークのプライマリDNS
を利用して行う.このDNS
問い合 わせがグローバルネットワークのDNS
サーバに対して名前解決が可能であれば,NTMobile
による接続性が確保されていると言える.3.3 DNS
を用いた情報管理および情報収集の課題DNS
の仕組みに依存したNTMobile
の名前解決処理は,DNS
の特性により以下のような課 題が発生している.これらの課題をDNS
の仕組みを利用することによるスケーラビリティ のような利点を残しながら解決する手法が必要である.課題
1 DC
管理の柔軟性と拡張性NTMobile
ではあらゆるネットワーク環境において通信の接続性を確保するためにNTM
端末情報を管理する必要がある.また,携帯端末は急激な進化を遂げており,その進 化に対して柔軟に対応可能なシステムである必要がある.しかし,現時点ではNTM
端末情報はDNS
レコードとしてテキストファイル形式による画一的なデータ形式と なっている.IP
レベルのネットワークアーキテクチャとして近年のスマートフォンに よる急激なネットワーク利用形態の変化や新たなサービスなどに柔軟に対応し,NTM
端末情報を拡張できるシステムであることが望ましい.課題
2 NTM
端末情報の秘匿性DNS
レコードを用いた情報管理ではDNS
問い合わせによってNTM
端末情報が公開 されている状態となっている.すなわち,誰でもFQDN
を用いてNTMobile
のため に追加でDDNS
へ登録しているNTM
レコードを取得することが可能である.これに より,NTM
レコードに含まれる情報に対してセキュリティを確保することができず,NTMobile
のシステム拡張性が制限される.課題
3
通信開始時の確実性NTM
端末がDNS
による問い合わせを受けると,DNS
サーバにキャッシュが残る場合 がある.この場合,キャッシュが残っている期間はNTM
端末が移動していても移動 する前の情報しか得ることができず,通信の接続性を確保することができない.この ため,DNS
レコードのTTL
を短く設定する必要があるが,キャッシュを利用できず毎 回DNS
問い合わせによる探索を必要とする.DNS
を利用したNTMobile
の名前解決 処理には必ず一般のDNS
サーバが介在することになる.NTM
レコードはDNS
キャッ シュの対象にならないよう設定していても,一部のDNS
サーバのバージョンや設定 によっては強制的にNTM
レコードがキャッシュされるなどの問題が発生する場合が ある.このため,確実な通信接続性を確保するにはこのような課題に対応する必要が ある.課題
4
通信開始のオーバヘッドNTMobile
は通信開始時にNTM
端末が通信相手のFQDN
から通信相手のA, AAAA,
NTM4, NTM6
レコードを合計4
回のDNS
問い合わせで収集する必要がある.NTM
端 末が携帯端末等であることを想定すると,通信遅延の大きい3G
回線を使用している第 4 章 提案方式
4.1
提案方式の方針3.3
項で示した課題を回避するため,NTM
端末から行っていた複数のDNS
問い合わせをDC
MNに依頼する方法に変更する.DNS
レコードの1
つであるNS
レコードを問い合わせ ることで,指定したドメインの情報を管理するDNS
サーバのホスト名やIP
アドレスを取 得することができる.これを利用し,DC
MNはNS
レコードを用いてDC
CNを発見する.そ して,CN
の端末情報はDC
CNからDNS
の仕組みを使わず収集する.このためにDC
MNとDC
CN間で独自の制御メッセージを定義し,直接端末情報を取得する.DC
はグローバルネッ トワーク上に有線接続で設置するため,NS
レコードの問い合わせは比較的高速に行うこと ができる.また,DNS
レコードの1
つであるTXT
レコードには任意の文字列を指定可能で あり,NTMobile
のDC
であることを示す文字列をDC
のTXT
レコードに登録することでDC
と一般DNS
サーバの判別に利用する.この方法により,NTM
端末情報をDNS
問い合 わせによって取得する必要がなくなるため,NTM
端末情報をDNS
レコードではなくデータ ベースとしてDC
に保持させる.4.2
データベースによる情報管理図
4.1
にデータベースの構成を示す.DC
のデータベースでは2
種類のテーブルで情報を 管理する.Node Information
テーブルにはDC
に登録を行っているNTM
端末の端末情報を 記録し,NTMobile
における経路判断およびトンネル構築に利用する.DC
キャッシュはDC
Database in DC Node Information
DC cache
VIP6 RIP6
NATVIP4
RIP4
NATNID
RIP6 FQDN
RIP4
Zone Name NID RIP4 RIP6 DC flag
図
4.1
データベースの構成DC
MNMN
NTM Registration Request MN’s Info
DDNS DC
Node Information
・FQDN
MN・NID
MN・RIP4/6
MN・VIP4/6
MN・RIP4/6
NATMNNTM Registration Response
DC Cache
・Zone Name
・NID
・RIP4
・RIP6
・DC flag
TXT Record
“NTMobile”
図
4.2
提案方式の端末情報登録および
DNS
サーバの情報を一時的に保持するテーブルであり,DC
が新たに管理する情報 である.DC
キャッシュはNS
レコードとTXT
レコードの問い合わせ結果から判断して登録 し,今後同一ドメインのFQDN
に対して通信を開始する際に参照する.Zone Name
はDC
お よびDNS
サーバのドメイン名であり,管理しているゾーン名を指す.DC flag
はDNS
サー バがNTMobile
のDC
として対応しているかどうかを示す情報である.DC
キャッシュの情 報はキャッシュのように扱う.この情報を管理することにより,NTM
端末が通信を開始す る際,通信相手のFQDN
のドメインがDC
キャッシュに存在するかを確認し,情報があればNS
レコードやTXT
レコードを問い合わせる必要がなくなる.また,
DC
はDNS
レコードの1
つであるTXT
レコードにNTMobile
のDC
であることを 示す文字列を含んで登録しておく.これは,4.3.1
節においてこのDNS
サーバがDC
である か一般のDNS
サーバであるかを判断するために使用する.DC
における端末情報の登録,管理を図4.2
に示す.従来方式でDDNS
に登録されていたNTM
レコードの情報はDC
が管理するデータベースへ移行し,DDNS
ではNTM
端末情報 を管理する必要はない.代わりに,DDNS
にはTXT
レコードを新たに登録する.また,NS
レコードはDNS
サーバとして運用する上で必須のDNS
レコードであり,その登録は従来と 同様である.4.3
提案シーケンス提案シーケンスを図
4.3
に示す.MN, CN
のDC
に対する登録処理およびKeep Alive
によ る制御メッセージの経路確保は従来と同様である.登録処理を受け取ったDC
はその情報をNode Information
テーブルに登録しておく.DC
はNTM Registration Request
によって受け 取った端末情報をNode Information
テーブルに登録しておく.DCCN
MN DCMN CN
NTM Route Direction NTM Route Direction NTM Route Direction NATCN DNS
DNS Request for NS Record
DNS Response for NS Record
DNS Request for TXT Record
DNS Response for TXT Record
NTM Information Request
NTM Information Response FQDNCN
FQDNCN
FQDNDCCN
FQDNDCCN
TXTDCCN
FQDNCN
CN info
NIDMN CN info PIDMN-CN NIDCN MN info PIDMN-CN DNS Request
Tunnel establishment
DNS Communication.
NTMobile Negotiation . DNS Request for A Record
Primary DNSMN
NTM Direction Request
DNS Response for A Record
Hold DNS Response
図
4.3
提案シーケンス4.3.1
名前解決処理MN
はアプリケーションからのDNS
問い合わせを検出すると,そのパケットからFQDN
CNを抽出して独自のネゴシエーションを開始する.ここで,トリガとなった
DNS
問い合わせ のパケットはそのままDNS
サーバに向けて送出させ,その応答パケットは待避しておく.この理由については
4.4
節で詳細に説明する.MN
はNTM Direction Request
にFQDN
MN とFQDN
CN を記載してDC
MN へ送り,名前 解決およびトンネル構築指示を依頼する.DC
MNはNTM Direction Request
に記載されて いるFQDN
MN でNode Information
テーブルを検索することによりMN
の端末情報を取得 し,FQDN
CN のドメインでDC
キャッシュを検索する.DC
キャッシュに情報が無い場合,FQDN
CN のNS
レコードをDNS
クエリにより問い合わせる.DNS
からのNS
レコードの応 答にはDNS
サーバの名前だけが含まれ,IP
アドレスが含まれていない場合がある.その場 合にはDNS
サーバの名前からDNS
クエリにより再度IP
アドレスを問い合わせる.ここで,
CN
が一般端末であった場合,DNS
サーバが一般のものである場合があるため,NS
レコードによるDNS
サーバの名前解決後,そのDNS
サーバがDC
であるかどうかの判NTM Header
NID
VIP6 RIP4 RIP4
NATRIP6 RIP6
NATFQDN
NTM Header
NTM Information Request NTM Information Response
VIP4
図
4.4
メッセージフォーマット断を行う必要がある.よって,再度
DNS
クエリによってDC
CNのTXT
レコードの問い合わ せを行う.これにより,
DC
MNはNS
レコードによって特定したDNS
サーバがDC
であるか一般のDNS
であるかを判断できる.DC
MNが収集したDC
CNの情報は,今後の通信確立時および ハンドオーバによるトンネル再構築時に利用できるため,DC
MN内にDC
キャッシュとして 保持しておく.特定した
DNS
サーバがDC
であった場合,DC
MNは提案方式で新たに定義する独自の制御 メッセージであるNTM Information Request/Response
によりNTM
端末情報を収集を行う.NTM Information Request
にFQDN
CNを載せ,DC
CNにCN
の端末情報を要求する.DC
CNは,FQDN
CN が示すCN
の端末情報をNode Information
テーブルから検索し,NTM Information Response
に載せてDC
MNへ送り返す.これによりDC
MNはCN
の端末情報の取得を完了す る.NTM Information Request/Response
のメッセージフォーマットは図4.4
に示す通りであ る.NTM Information Request
には通信相手のFQDN
を含み,NTM Information Response
に はそのFQDN
に対応したNTM
端末情報を含む.これにより,NTM
端末の端末情報収集がDNS
のキャッシュの影響をうけることを防ぐことができる.特定した
DNS
サーバが一般のDNS
サーバであった場合,DC
MNはDNS
サーバに直接FQDN
CN のA
レコードとAAAA
レコードのみを問い合わせる.4.3.2
トンネル構築DC
は従来のNTMobile
と同様に収集したMN
とCN
の端末情報を元に経路を判断し,NTM
Route Direction
によってMN
とCN
が通信可能なトンネル構築を指示する.DCCN
MN DCMN CN
NTM Route Direction NTM Route Direction NTM Route Direction
NATCN
NTM Information Request
NTM Information Response FQDNCN
FQDNCN
CN info
NIDMN CN info PIDMN-CN NIDCN MN info PIDMN-CN
Tunnel establishment NTM Direction Request
NTM Registration Request MN info
NTM Registration Response MN info
図
4.5
ハンドオーバ時の動作4.3.3
ハンドオーバ時の動作ハンドオーバ時の動作を図
4.5
に示す.MN
がネットワークを切り替えた場合,変化したア ドレス情報などを載せたNTM Registration Request
をDC
MNに送り,Node Information
テー ブルを最新の情報に更新する.次に,MN
は4.3.1
項の名前解決処理と同様にFQDN
CN をNTM Direction Request
に載せてDC
MNに送信する.DC
MNはFQDN
CNが示すCN
の端末情 報を再度収集する必要があるが,DC
キャッシュにDC
の管理ゾーンに関する情報を保持し ているため,ただちにNTM Information Request/Response
によりCN
の端末情報を受け取る ことができる.更新されたMN
の端末情報と最新のCN
の端末情報からトンネル経路を判 断し,NTM Route Direction
によって新たなトンネル構築を指示する.NTM
端末は,指示に 従ってトンネルを再構築する.4.4
内部ネットワークに対する名前解決提案の通信シーケンスでは,トンネル構築に係わる
A
レコードなどの名前解決をNTM
Direction Request
によってグローバルネットワークに配置されているDC
に全て任せる形に なっている.このため,MN
が接続しているネットワーク内にCN
の情報を管理するDNS
サーバがあり,かつそのDNS
サーバが外部からのDNS
問い合わせに対して応答しないよう な場合には,MN
がCN
の情報を取得できず通信ができないという課題が発生する.このよ うな場合に対応するため,図4.6
に示すようにNTMobile
の名前解決処理と並行してプライDCCN MN
NTM Direction Request
DCMN
NTM Route Direction
Global DNS DNS Request
NTM Information Collecting
Primary DNSMN
DNS Request
DNS Respose
Hold DNS Response
Determine the communication method.
図
4.6
内部DNS
専用の名前解決マリ
DNS
サーバへの問い合わせもそのまま実行させる.プライマリDNS
サーバからの応 答がある場合は,NTMobile
の名前解決より先に終了する場合が多いため,一時的に待避し ておく.NTMobile
の処理完了後,MN
はDC
MNの名前解決の結果によって内部ネットワーク側と の直接通信を行うかNTMobile
のトンネル通信を行うかを選択する.DC
MNがCN
の名前解 決に成功すればトンネル構築を行う.DC
MNから名前解決ができない場合,待避していたDNS
応答の結果をアプリケーションに通知し,実アドレスによる通信を行う.第 5 章 評価
5.1
提案方式の利点従来の
DNS
レコードを用いた方式と提案方式の比較を表5.1
に示す.• DC
管理の柔軟性DNS
レコードとして登録,管理されていたNTM
端末の端末情報をデータベースによ る管理に移行することにより自由に端末情報を管理できるようになり,柔軟性が確保 された.• NTM
端末情報の秘匿性従来の
DNS
レコードを用いた管理方法ではDNS
問い合わせによってNTM
端末の端 末情報が公開されている状況にあった.提案方式ではNTM
端末情報をデータベース に格納することでNTMobile
の問い合わせに対してのみNTM
端末情報を提供するこ とができるようになった.•
通信開始時の確実性DNS
サーバに残るキャッシュの影響を受けることなく通信相手の端末情報を取得す ることができるようになったため,より確実な接続性を確保することができるように なった.•
通信開始のオーバヘッド携帯端末のネットワークへの接続状況によっては通信遅延が大きい環境が想定される ため,通信開始に時間を要する可能性があった.提案方式で
NTM
端末が複数のDNS
問い合わせによってNTM
端末情報を収集する必要がなくなった.DC
はいずれもグ ローバルネットワークに優先接続により設置するため,遅延は安定して小さくなる.表
5.1 DNS
レコードを用いた方式と提案方式の比較DNS
レコードを用いた方式 提案方式DC
管理の柔軟性 △ 〇NTM
端末情報の秘匿性 △ 〇通信開始の確実性 × 〇
通信開始のオーバヘッド △ 〇
5.2
性能測定5.2.1
実装提案方式を
Linux
に実装し,動作確認を行った.図5.1
にDC
のモジュール構成図を示す.実装は
Linux
ディストリビューションのUbuntu10.04
,カーネルバージョン2.6.32-44-generic
を使用した.また,連携するDNS
はBind9.0
を使用し,提案方式のデータベースによる端 末情報管理のため,新たにデータベースソフトのMySQL 5.1
をDC
にインストールした.DC
にはトンネル構築などのネゴシエーションを行うNTM
デーモンをデーモンプログラ ムとして実装している.また,DC
はDNS
問い合わせを行うため,DNS
サーバ機能を搭載 している.NTM
デーモンには新たに扱うNS
レコード,TXT
レコードおよびデータベース を扱うモジュール群を追加し,通信シーケンスの変更を行った.また,NTM
端末とのネゴ シエーションを行うNTM
デーモンに対しても通信シーケンスの変更に対応するよう実装を 行った.動作確認を行い,正常に通信が行えることを確認した.5.2.2
動作検証動作検証として通信開始における動作を確認し,通信開始時のオーバヘッドを測定した.
図
5.2
に試験ネットワーク構成を示す.1
台の実機PC
上にインストールしたVMware 5.0
を 利用してNTM
端末2
台およびDC2
台を仮想マシンとして構築し,同一のプライベートネッ トワークへブリッジ接続した.また,ネゴシエーション時に使用する暗号化アルゴリズムとDNS
NTM Daemon
Database
Real I/F Negotiation
User Space Kernel Space NTM Negotiation
Message.
DNS Message.
Node Information , DC Cache manegement . DNS Request .
Packet Flow Operation Flow
図
5.1
モジュール構成図1000BASE-T
Virtual Machines Private Network
CN
MN DC
MNDC
CNして
AES-CFB [13]
,認証アルゴリズムはHMAC-MD5 [14]
,鍵長128bit
とし,事前に設定 した.5.2.3
性能評価表
5.2
に名前解決処理に要した時間の測定結果を示す.測定回数は10
回の平均値を示して いる.ネゴシエーション時間合計とはNTM
端末がDNS
問い合わせを検出した時からDNS
応答に仮想IP
アドレスを書き込んでリゾルバに渡すまでの時間である.DC
処理時間とはネ ゴシエーション時間の一部で,DC
がNTM Direction Request
を受け取ってからNTM Route Direction
の送信を完了するまでの処理時間である.DNS
解決時間はDC
処理時間の一部で,DC
キャッシュが無い場合,DNS
サーバの探索からNTM Information Request
を送信するま での処理時間を示す.測定は仮想マシンによって行ったため通信遅延はほとんどないが,実ネットワークでは通 信遅延が大きく影響を及ぼす.実ネットワークにおける提案方式のネゴシエーションにか かる時間の予測および従来方式との比較を図
5.3
従来のDNS
レコードを用いる方式におい ては,3G
ネットワークに接続した携帯端末からA, AAAA, NTM4, NTM6
の各レコードを取 得するまでに4
往復の問い合わせを必要とし,文献[15]
における実測値によると,それに かかる時間は合計450ms
程度であった.さらに,NTM Direction Request
の送信からNTM Route Direction
の受信まで200ms
程度であった.また,3G
ネットワークと無線LAN
にそ れぞれ接続した携帯端末同士のNTM Tunnel Request/Response
の1
往復に要する時間はおよそ
340ms
であり,ネゴシエーション全体を合計するとほぼ1秒かかった.一方,提案方式では最初から
DC
にトンネル構築の指示を依頼するため,3G
ネットワークでの4
往復分の 通信時間が発生しない.また,提案方式ではCN
の端末情報を取得するためDC
同士で1
往 復の通信を行う.グローバルネットワーク上における国内の一般的なRTT
は20ms
程度で あるため,この時間が加算される.NTM
端末とDC
の内部処理にかかる時間が従来方式と 同じと仮定し,通信に係わる時間の違いに着目すると,実ネットワークにおけるネゴシエー ション時間合計の推測値は従来方式が約1s
に対し,提案方式では約570ms
と推測できる.提案方式においては