最適なパケット中継装置選択手法の提案と実装
153430021
三宅佑佳渡邊研究室
1.
はじめにモバイル端末の普及や無線通信技術の発展に伴い,イ ンターネットのトラフィックが増加しており,通信効率の 向上が求められている.そのため,通信経路の冗長は可 能な限り抑えることが望ましい.通信端末が異なる
NAT
(
Network Address Translation
)配下にあるとき,あるい はIPv4/IPv6
ネットワークが混在する環境下の相互通信 においては,パケットを中継する装置が必要となる場合が ある.このとき,複数の中継装置から最適な装置が選択で きると有用である.中継装置の選択指標として,エンド端 末と中継装置間のRTT
(Round Trip Time
)を用い,測 定値が最小の中継装置を選択する手法が検討されている.しかし,
RTT
は無線環境において値が大きく,揺らぐと いう特性がある.そこで本稿では,無線区間を除去した経 路のRTT
を調査し,最適な中継装置を選択する手法を提 案する.提案手法をNTMobile
(Network Traversal with Mobility
)[1]
に実装し,性能評価を行った.2.
中継装置の選択指標2. 1
想定するネットワーク図
1
に想定するネットワーク構成について示す.モバ イル端末MN
(Mobile Node
),複数のパケット中継装置RS
(Relay Server
),1
台の端末管理装置DC
(Direction Coordinator
)によって構成される.コアネットワークはほ とんど有線であるが,MN
は無線で接続されることが多い.また,大陸を跨ぐネットワークは海底ケーブルで接続され ている.
RS
は各国のグローバルネットワーク上に分散配 置されている.図1
から分かるように,MN
からNAT
間 の無線区間については,経路が絞られるので経路選択の余 地がない.そのため,RS
とNAT
間のRTT
を調査し,そ の結果を基にRS
を選択すれば良い.Telephone Network Private
Network MN
RSA
IPv4 Network (Japan)
MN
NAT NAT
IPv4 Network (America) DC
Submarine Cable IPv6 Network
(Japan)
MN
RSB RSC
Redundant Route Optimal Route
MN (Mobile Node) : Mobile node.
RS (Relay Server ) : Packet relay device .
DC (Direction Coordinator ) : Managing address information of MNs and RSs.
MN
Direct Route
図
1:
想定するネットワーク構成2. 2
有線・無線におけるRTT
有線と無線では
RTT
にどの程度の違いがあるのかを調 査した.無線環境(3G
),有線環境の各環境において,日 本国内のWeb
サーバ8
か所とアメリカのWeb
サーバ8
か 所に対してping
パケットを送信して,それぞれRTT
の測 定を行った.無線環境とは通信端末が3G
経由で接続して いる場合,有線環境とは通信端末が有線で接続している場 合である.図2
,3
にそれぞれの環境下における国内外の図
2:
有線環境におけるRTT
分布図図
3: 3G
環境におけるRTT
分布図Web
サーバ宛のRTT
測定結果を示す.縦軸が頻度,横軸 がRTT
(ms
)である.このグラフから,無線環境のRTT
は,有線環境のRTT
と比べて値が大きく,かつ振れ幅も 大きいことが分かる.また,図2
,3
より,有線環境では国 内・国外のWeb
サーバ宛のRTT
の分布は重なる部分がな いが,無線環境ではその分布が重なっていることが分かる.RTT
を用いた経路選択指標の関連研究は多数あるが,エ ンド端末と中継装置間のRTT
を測定するものがほとんど である.エンド端末が無線で接続されている場合,RTT
に よる選択が困難になることが分かる.3.
提案方式3. 1
提案方式の概要図
1
においてMN
を起動した際,当該MN
を配下に持 つNAT
とRS
の間のRTT
を調査し,その結果をDC
が 保管しておく.MN
が通信開始時に上記の結果を基にDC
が最適なRS
を選択する.MN
が新しいネットワークに接 続するごとに新たにRTT
を調査し直す.RTT
の値が最小 となるRS
を選択することで,通信経路冗長化,及びネッ トワーク負荷を最小限に抑制することができる.3. 2 RTT
の調査方法図
4
にMN
が配下にあるNAT
(以下NAT MN
)とRS
間のRTT
調査シーケンスを示す.MN
は起動時,あるい はネットワーク接続時に,DC
に対して自身のアドレス情 報登録処理を行う.DC
は途中にNAT
がある場合,受信パ ケットの送信元からNAT MN
のIP
アドレスを知ることが できる.DC
はMN
のアドレス情報登録処理後,自身の管 理下にある全てのRS
からNAT MN
までの経路について,ICMP Echo Request DC
RSs
Survey Direction
ICMP Echo Reply
Survey Report MN
Address Information Registration Process NATMN
図
4: NAT
とRS
間のRTT
調査シーケンスRTT
の調査を行う.RS
側からRTT
を調査することによ り,無線区間を除去したRTT
を測定することができる.DC
は各RS
に対して,NAT MN
のIP
アドレスを記載し たSurvey Direction
を送信し,RTT
調査を行うよう指示 する.各RS
は,それぞれNAT MN
に対してICMP Echo Request
を送信する.NAT MN
からのICMP Echo Reply
を受信すると,ICMP Echo Request
の送信時刻とICMP Echo Reply
の受信時刻の差分からRTT
を取得する.各RS
はRTT
取得後,Survey Report
に,MN
のNode ID
,RS
のIP
アドレス,RS
とNAT MN
間のRTT
の値を記載 し,調査指示を出したDC
に対して調査結果を報告する.DC
は,管理下のRS
からNAT MN
までのRTT
をRTT Table
に記録する.4.
実装と評価本稿の提案手法を,
NTMobile[1]
の機能として実装した.NTMobile
は,通信接続性と移動透過性をIPv4/IPv6
混 在環境において実現する独自の通信技術であり,Linux
環 境での実装,及び動作が確認されている.NTMobile
では エンド端末間が直接通信できない場合に中継装置RS
を経 由する.RS
は複数設置できるが,RS
の選択方法は定めら れていなかった.そこで,本提案手法をNTMobile
のRS
選択に適用した.NTMobile
において,MN
のアドレス管 理を行うDC
,パケット中継装置であるRS
に対して,提 案方式のプロトタイプの実装を行った.4. 1
実装DC
はユーザ空間のNTMobile
デーモンと,BIND
を利 用したDNS
により構成される.DC
のNTMobile
デーモ ン内に,RTT
調査を行うRoute Survey
モジュールのプロ トタイプの実装を行った.RS
はユーザ空間のNTMobile
デーモンと,カーネル空間 のNTMobile
カーネルモジュールによって構成される.RS
にも,NTMobile
デーモンにRTT
調査を行うRoute Sur- vey
モジュールのプロトタイプの実装を行った.RS
ではデバ イスレベルのパケットインターフェースであるPF PACKET
を利用することによって,Route Survey
モジュールがIP
ヘッダを含むパケットを受信可能とした.また,RTT
の調 査を行う際,ICMP Echo Request / Reply
をRaw
ソケッ トにより作成した.4. 2
評価仮想環境において,
NAT
と各RS
の間のRTT
調査にお ける処理時間を計測し,性能評価を行った.図5
に性能評 価を行った仮想環境を示す.仮想マシンの構成は表1
に示 す通りである.実環境での調査時間の検討の為,各仮想マ シンに遅延を発生させて測定を実施した.DC
,RS A
が日 本国内のグローバルネットワーク上,RS B
が日本国外(アDelay:70-190ms
Delay:110-170ms Delay:10-80ms
MN NAT
MNDC RS
ARS
BPrivate Network
図
5:
動作検証におけるネットワーク構成 表1:
仮想マシンの構成DC,MN,RS
A,RSBNAT
OS Ubuntu 12.04 Ubuntu 12.04
Linux Kernel 3.2.0-37-generic 3.2.0-37-generic CPU Intel Core i7-2600 Intel Core i7-2600
Memory
各1GB
各512MB
DC RSA RSB
MN NATMN
Node Information Registration
Survey Direction
ICMP Echo Request ICMP Echo Reply
ICMP Echo Request ICMP Echo Reply
Survey Repot 412.40ms
106.72ms 60.36ms
132.50ms
156.08ms
151.88ms 45.19ms
35.28ms
31.73ms
図
6: RTT
調査時間メリカ)のグローバルネットワーク上に存在し,
MN
が3G
ネットワークに接続することを想定した.仮想マシンの遅 延は,DC
,NAT
,RS A
にそれぞれ10ms
から80ms
の間,RS B
に110ms
から170ms
の間,MN
に70ms
から190ms
の間でパレート分布に基づき遅延が生じるよう設定した.図
6
にRTT
調査時間を示す.RTT
調査にかかった時間 はDC
にてWireshark
1により取得し,試行回40
回の平均 時間を示す.DC
とMN
間でアドレス情報登録処理が完了 してから,DC
が各RS
からSurvey Report
を受信するま で,すなわちRTT
調査にかかる時間の内訳を示している.国内に設置した
RS A
とNAT
間のRTT
は平均35.28ms
, 国外に設置したRS B
とNAT
間のRTT
は平均156.08ms
であった.この測定結果から,国内外のRS
の区別は明確に 可能であり,最適なRS
を選択することができるといえる.4. 3
まとめRS
を経由することによる通信経路冗長化の解決手法に ついて提案し,そのプロトタイプをNTMobile
の機能とし てDC
,及びRS
に実装した.動作検証の結果,仮想マシ ンのネットワークにおけるMN
が配下にある各NAT
と各RS
間までのRTT
の測定が正常にできることを確認した.参考文献
[1]
鈴木秀和,
上醉尾一真,
水谷智大,
西尾拓也,
内藤克浩,
渡邊晃. Ntmobile
における通信接続性の確立手法と実 装.
情報処理学会論文誌, Vol. 54, No. 1, pp. 367–379, Jan 2013.
1
https://www.wireshark.org/
最適なパケット中継装置選択手法の 提案と実装
名城大学大学院 理工学研究科 情報工学専攻 渡邊研究室
153430021 三宅佑佳
研究背景
現状のネットワーク
• コアネットワークは有線・多くの通信端末MN(Mobile Node)は無線
• 大陸間のネットワークは海底ケーブルで接続されている
• 時間経過によりトラフィックが大きく変化
• 通信において中継サーバが必要となる場合がある
◦
通信端末が異なるNAT(Network Address Translation)配下にある場合1
携帯網 プライベート
ネットワーク MN
中継サーバA
IPv4ネットワーク (日本)
MN NAT
NAT
IPv4ネットワーク (米国・欧州) 海底
中継サーバB ケーブル 最適経路
冗長経路
中継サーバC
基地局
研究目的
最適な中継サーバを選択する手法
• パケット往復時間RTT(Round Trip Time)を用いた選択手法を検討
• これまでも通信経路やサーバの選択指標としてエンド端末間の経路のRTTを 用いる手法が多数検討
◦
RTTは無線環境で値が大きくなり,揺らぐという特性をもつ2
無線で接続されたエンド端末から
RTT
を測定すると正確性に欠けるスループット (bps) = TCP ウィンドウサイズ (KB) * 8 / RTT(s)
中継サーバ群
プライベートネットワーク MN
NAT NAT
MN
プライベートネットワーク
有線・無線におけるRTT(1)
有線環境と無線環境でのRTTの違いについて
• 4日間に渡り23:00前後にRTTを測定
◦
1日のトラフィックの推移のうち,23:00前後が最も混雑している時間帯であったため• 日本国内,アメリカのWebサーバに対して実施
3
0 200 400 600 800 1000
0 -5 2 0 -2 5 4 0 -4 5 6 0 -6 5 8 0 -8 5 1 0 0 -105 1 2 0 -12 5 1 4 0 -14 5 1 6 0 -16 5 1 8 0 -18 5 2 0 0 -20 5 2 2 0 -22 5 2 4 0 -24 5 2 6 0 -265 2 8 0 -28 5 3 0 0 -30 5 3 2 0 -32 5 3 4 0 -34 5 3 6 0 -36 5 3 8 0 -38 5 4 0 0 -40 5 4 2 0 -425 4 4 0 -44 5 4 6 0 -46 5 4 8 0 -48 5
頻度
RTT(ms)
有線環境 RTT 分布図
アメリカ
Web
サーバ宛 日本国内Web
サーバ宛 有線環境と無線環境でのRTTの違いについて
• 4日間に渡り23:00前後にRTTを測定
◦
1日のトラフィックの推移のうち,23:00前後が最も混雑している時間帯であったため• 日本国内,アメリカのWebサーバに対して実施
有線・無線におけるRTT(2)
4
0 100 200 300 400 500 600 700
0 -1 0 4 0 -5 0 8 0 -9 0 1 2 0 -130 1 6 0 -17 0 2 0 0 -21 0 2 4 0 -25 0 2 8 0 -29 0 3 2 0 -33 0 3 6 0 -37 0 4 0 0 -410 4 4 0 -45 0 4 8 0 -49 0 5 2 0 -53 0 5 6 0 -57 0 6 0 0 -61 0 6 4 0 -65 0 6 8 0 -690 7 2 0 -73 0 7 6 0 -77 0 8 0 0 -81 0 8 4 0 -85 0 8 8 0 -89 0 9 2 0 -93 0 9 6 0 -97 0
頻度
RTT(ms)
無線( 3G )環境 RTT 分布図
アメリカ
Web
サーバ宛 日本国内Web
サーバ宛無線環境における RTT は
有線環境での RTT よりも値が大きく,揺らぎも大きい
➡正確性に欠ける
RTTの平均値
平均値算出時の基となるデータ数とRTTのばらつきについて
• 96時間(4日間)有線環境にてRTTを測定
◦
5分毎に3回ずつ測定パケットを送信して測定◦
日本国内,アメリカ,ヨーロッパのWebサーバに対して実施 RTTの標準偏差
5
日本
(www.facebook.com)
アメリカ
(www.apn-gcr.org)
ヨーロッパ
(www.dailymotion.com)
平均を取らない場合 5.82 5.77 5.67
2値の平均 4.82 4.92 4.91
3値の平均 4.40 4.61 4.51
5値の平均 3.96 4.34 4.12
10値の平均 3.40 4.06 3.67
15値の平均 3.14 3.86 3.44
20値の平均 2.97 3.68 3.23
‐1.86 ‐1.43 ‐1.55
‐0.56
‐0.26
‐0.17
‐0.28
‐0.20
‐0.18
‐0.45
‐0.23
‐0.21
提案手法
最適な中継サーバを選択する手法を提案
• RTTを選択指標として用いる
◦ RTTが最小となる中継サーバを選択
• MN起動時・ネットワーク接続時にNATと中継サーバ間の有線区間を調査
◦ MNはグローバルネットワーク上にあるサーバとの通信の際にNATを経由するため
◦ NATが無い場合は中継サーバとデフォルトゲートウェイ間の通信経路を調査
• RTT調査を複数回実施
◦ 複数回分の測定値の平均をとることでより正確な選択指標に
6
Private Network 中継サーバ
NAT MN 無線
有線 Global Network
RTT調査
RTT調査
7
Survey Report 管理装置
アドレス情報 登録処理 NAT
ICMP Echo Request ICMP Echo Reply
MN
Survey Direction
中継サーバ群
RTT調査
8
Survey Report
中継サーバ群 アドレス情報
登録処理 NAT
ICMP Echo Request ICMP Echo Reply
MN
Survey Direction
MN と中継サーバ のアドレス情報を 管理
管理装置
RTT調査
9
Survey Report アドレス情報
登録処理 NAT
ICMP Echo Request ICMP Echo Reply
MN
Survey Direction
管理装置 MN と中継サーバ 中継サーバ群 のアドレス情報を
管理
MN が起動すると,管理装置に対し て MN の端末情報を送信する.
このときパケットの送信元から
管理装置は NAT のアドレスを知る.
RTT調査
10
Survey Report アドレス情報
登録処理 NAT
ICMP Echo Request ICMP Echo Reply
MN
Survey Direction
RTT 調査を指示するメッセージ
管理装置 MN と中継サーバ 中継サーバ群 のアドレス情報を
管理
MN が起動すると,管理装置に対し て MN の端末情報を送信する.
このときパケットの送信元から
管理装置は NAT のアドレスを知る.
RTT調査
11
Survey Report アドレス情報
登録処理 NAT
ICMP Echo Request ICMP Echo Reply
MN
Survey Direction
RTT を測定
RTT 調査を指示するメッセージ
管理装置 MN と中継サーバ 中継サーバ群 のアドレス情報を
管理
MN が起動すると,管理装置に対し て MN の端末情報を送信する.
このときパケットの送信元から
管理装置は NAT のアドレスを知る.
RTT調査
12
Survey Report アドレス情報
登録処理 NAT
ICMP Echo Request ICMP Echo Reply
MN
Survey Direction
RTT を測定
RTT 調査を指示するメッセージ
RTT 調査の結果を報告 管理装置 MN と中継サーバ 中継サーバ群
のアドレス情報を 管理
MN が起動すると,管理装置に対し て MN の端末情報を送信する.
このときパケットの送信元から
管理装置は NAT のアドレスを知る.
RTT調査
13
Survey Report アドレス情報
登録処理 NAT
ICMP Echo Request ICMP Echo Reply
MN
Survey Direction
RTT を測定 RTT 測定結果は管理装置の
テーブルに記録され,
MN の通信開始時に中継サーバ を選択する際に使用される.
RTT 調査を指示するメッセージ
RTT 調査の結果を報告 管理装置 MN と中継サーバ 中継サーバ群
のアドレス情報を 管理
MN が起動すると,管理装置に対し て MN の端末情報を送信する.
このときパケットの送信元から
管理装置は NAT のアドレスを知る.
中継サーバの選択方法
モバイル端末間の通信
• 中継サーバを経由した経路で無線区間を 除いてRTTを測定
◦ 各NATと各中継サーバの間の通信経路のRTTの値を算出
• 複数回RTTの測定を実施
◦ 測定結果の平均値から適切な中継サーバを選択する
◦ 過去5回分の測定値の平均を基に中継サーバを選択
14
Node 中継
サーバ
RTT
MN 中継
サーバ A
15ms
MN 中継
サーバ B
20ms
CN 中継
サーバ A
120ms
CN 中継
サーバ B
150ms
RTT Table
Route 中継
サーバ
RTT
MN-CN 中継 サーバ A
35ms
MN-CN 中継
サーバ B
270ms 総経路の RTT を算出 中継
サーバ A
15ms 20ms
中継 サーバ B
CN
(Corresponding Node
):通信相手端末150ms 120ms
管理装置
MN NAT MN NAT CN CN
提案方式のプロトタイプ実装
各装置にRTT調査のモジュールを実装
• 仮想マシン上で動作確認済み
• 本プロトタイプにて性能評価を実施
15 Deamon
管理装置 中継サーバ
Route Survey
Real I/F
User Space Kernel Space
Deamon Route Survey
Real I/F
Kernel Module
16
性能評価における装置仕様
ホスト PC OS Windows10 64bit CPU Intel Core i7-2600
3.40GHz
メモリ 16.00GB
仮想マシン 管理装置, MN ,
中継サーバ A ・ B NAT
OS Ubuntu 12.04 32bit Ubuntu 12.04 32bit Kernel Version 3.2.0-37-generic 3.2.0-37-generic
CPU 割り当て 各 1Core 各 1Core
メモリ割り当て 各 1GB 各 512MB
Delay:70-190ms
Delay:110-170ms Delay:10-80ms
MN
NAT 管理装置 中継サーバA 中継サーバB
日本国内 グローバル ネットワーク
日本国内
3G
ネットワークアメリカ グローバル ネットワーク
一つのホスト PC 上に
全ての装置を仮想マシンで構築
性能評価
RTT調査実施時間
• 試行回数40回の平均時間
17
Private Network
管理装置
中継 サーバA
中継 MN NAT サーバB
アドレス情報登録処理
Survey Direction
ICMP Echo Request ICMP Echo Reply
ICMP Echo Request ICMP Echo Reply
Survey Repot 412.40ms
106.72ms 60.36ms
132.50ms
156.08ms 151.88ms 45.19ms
35.28ms
31.73ms
まとめ
最適な中継サーバ選択手法の提案
• 通信経路においてRTTが最小となる中継サーバを選択
◦ NAT-中継サーバ間の無線区間を除去した通信経路のRTTを調査
◦ RTTは無線環境下で値が大きくなり,揺らぐという特性があるため
◦ 定期的に複数回測定実施して平均値を選択指標とする
実装・評価
• RTT調査のプロトタイプを実装
• 仮想環境にて正常に動作することを確認
今後について
• 提案手法におけるRTT測定間隔について検討
• 帯域幅の測定も組み合わせてより適切な中継サーバを選択できるよう検討
18
より正確に適切な中継サーバを選択することができる
補足資料
19
時間経過によるRTTの変化の一例
20
0 10 20 30 40 50 60 70 80 90
0 :0 0 4 :0 0 8 :0 1 1 2: 0 1 1 6: 0 2 2 0:02 0 :0 3 3 :5 9 8 :0 0 1 2: 0 0 1 6: 0 1 2 0: 0 1 0 :0 2 4 :01 8 :0 3 1 2: 0 4 1 6: 0 6 2 0: 0 6 0 :0 7 4 :0 3 8 :0 4 1 2:04 1 6: 0 5 2 0: 0 5
2016/10/20 2016/10/21 2016/10/22 2016/10/23
R T T(ms)
日本国内 Web サーバ( www.facebook.com )宛ての
RTT 測定結果
NTMobile
通信接続性・移動透過性を同時に実現する技術
• NTM端末(NTMobile Node)
◦ 仮想IPアドレスにより通信を識別
◦ 基本的に端末間の直接通信
• RS(Relay Server)
◦ 直接通信できない場合の通信を中継
◦ IPv4/IPv6混在環境での相互通信の場合
◦ 異なるNAT配下の端末間通信の場合
◦ 一般サーバ(GS)との通信の場合
◦ ネットワーク上に分散配置可能
◦ 通信毎に適切なRSを選択可能
◦ NTM端末同士の通信の場合は通信中にRS切り替え可能
• DC(Direction Coordinator)
◦ アドレス情報とNTM端末やRSの管理
◦ ネットワーク上に分散配置可能
21
GS
(General Server
):一般サーバNAT NTM端末A
NTM端末B
RS DC
NTM端末C RS
GS NAT
Global Network