第 8 章 結論 42
7.1 定性的評価の実験環境
本システムの設計の正当性を検証するために,BPA の動作確認を行った.設計した システムが Mobile IPv6 および CNに新たな機構を必要とすることなく,CN の代理
で Binding を管理し,経路を最適化できることを示す.
7.1.1 実験環境
実験は,測定に影響がないように,図7.1に示すようなインターネットとの接続を持 たないプライベートなIPv6 ネットワークを構築して行った.
CN BPA Router
Foreign Link 2
BPA Link 3ffe:501:100c:3::/64 3ffe:501:100c:2::/64
3ffe:501:100c:1::/64 HA
Home Link 3ffe:501:100c:4::/64
Foreign Link 1 MN
Home Agent
Mobile Node
Correspondent Node Binding Proxy Agent 3ffe:501:100c:1::1
3ffe:501:100c:2::1
3ffe:501:100c:3::1 3ffe:501:100c:1:202:b3ff:fe87:cb44 3ffe:501:100c:4:248:54ff:fe02:b3a6
3ffe:501:100c:3:202:b3ff:fe87:cb39 3ffe:501:100c:2:2e0:18ff:fea8:4e11
10BASE-T
10BASE-T
100BASE-T
図 7.1: 定性的評価の実験環境
Routerは,Foreign Link 1およびForeign Link 2 におけるdefault routerであり,そ
本研究では,定性的評価として,第 2.4.3項に挙げた要求事項を満たしているかの確 認を行う.本研究に求められる要求事項を以下に挙げる.
1. MN と CN 間の経路の最適化
2. CN には新たな機能を追加しない
3. Mobile IPv6 の仕様に変更を加えない 4. ボトルネックを解消する
なお,本項では,(1) を経路最適化の確認,(2)(3)(4) を基本動作の確認 とし,それ ぞれの評価を行う.まず初めに,基本動作の確認を行う.
基本動作の確認
図7.1 に示した実験環境を用いて,CN から MN のHome Address に対して ping6 プログラムを用いて 56 byte の ICMPv6 Echo Request の送信を行った.その結果,
BPA においてMN からのHoTI およびCoTI に対するHoTおよびCoT の代理送信,
Binding Updateに対するBinding Ack の代理送信およびBinding Cacheの代理作成の 動作確認ができた.またMN の Binding Update List にCN のエントリが追加されて いることを確認した.また,MN ではその後も継続して ICMPv6 Echo Reply を確認 できた.これらの結果から,BPA におけるCN の Proxyとしての機能およびRetrun Routability の機能が動作していることを確認できた.図7.2に,この時の BPA にお けるカーネルメッセージを示す.
¶ ³
Jan 17 04:04:01 eternity /kernel: BPA interface set Jan 17 04:04:01 eternity /kernel: Enable BPA
Jan 17 04:04:16 eternity /kernel: [BPA] CoTI Detected. Sending CoT for Jan 17 04:04:16 eternity /kernel: 3ffe:0501:100c:0003:0202:b3ff:fe87:cb39 Jan 17 04:04:16 eternity /kernel: [BPA] HoTI Detected. Sending HoT for Jan 17 04:04:16 eternity /kernel: 3ffe:0501:100c:0003:0202:b3ff:fe87:cb39 Jan 17 04:04:16 eternity /kernel: [BPA] RR Authentication Success
Jan 17 04:04:16 eternity /kernel: BPA Support Enabled for 3ffe:0501:100c:0003:0202:b3ff:fe87:cb39
µ ´
図 7.2: 基本動作確認
次に,ping6プログラムを継続しながら,MN を Foreign Link 1からForeign Link 2 移動させた.その結果,BPA においてMN からのBinding Update に対する Binding
Cache の更新の動作確認ができた.また,MN ではその後も継続して ICMPv6 Echo
Reply を確認できた(図7.3).これらの結果から,BPA における Binding 管理機構お よび適切なヘッダの排除・付加機能が動作していることを確認できた.
¶ ³
% ping6 cn
PING6(56=40+8+8 bytes) 3ffe:501:100c:4:210:4bff:feef:5b47 --> 3ffe:501:100c:3:202:b3ff:fe87:cb39 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=0 hlim=61 time=1.229 ms
16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=1 hlim=61 time=1.266 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=2 hlim=61 time=1.172 ms snip
--16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=18 hlim=61 time=1.069 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=19 hlim=61 time=1.025 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=20 hlim=61 time=1.163 ms
↓ MN の移動
16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=28 hlim=61 time=1.078 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=29 hlim=61 time=1.077 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=30 hlim=61 time=1.05 ms snip
--16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=96 hlim=61 time=1.038 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=97 hlim=61 time=1.07 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=98 hlim=61 time=1.218 ms 16 bytes from 3ffe:501:100c:3:202:b3ff:fe87:cb39, icmp_seq=99 hlim=61 time=1.061 ms
µ ´
図 7.3: MN の移動に伴うping6 出力結果の例
経路最適化の確認
CN と MN 間の通信経路が最適化されていることを確認するために,図7.1におい て,BPA の機能を有効にした場合と,BPA の機能を無効にした場合に分けて以下の 実験を行った.
• RTT を測定するために,MN からCN に対して ping6 を実行
• 経路を確認するために,MN からCN に対して traceroute6を実行
BPAの機能を無効にした場合,BPAは通常のIPv6 ルータとしての処理を行うため,
HA を経由した通信経路となる.なお,実験は,ping6 プログラムおよび traceroute6 プログラムを用いて行った.それぞれの結果を,表7.3 と図7.4 にまとめた.図中の結 果は,BPA の機能を有効にした場合と無効にした場合の順で表す.また,ping6 は56 byte パケットを 1 秒おきに 1000 回送信した結果を表す.
表 7.3: MN と CN 間のRTT
Min Avg Max
BPA の機能を有効にした場合 0.880 msec 0.997 msec 1.258 msec BPA の機能を無効にした場合 1.512 msec 1.620 msec 1.805 msec
¶ ³
% traceroute6 cn
traceroute6 to cn (3ffe:501:100c:3:202:b3ff:fe87:cb39) from 3ffe:501:100c:4:250:4ff:feb7:a01a, 30 hops max, 12 byte packets
1 3ffe:501:100c:1::1 (Router) 0.76 ms 0.626 ms 0.61 ms
2 3ffe:501:100c:1:202:b3ff:fe87:cb44 (BPA) 0.808 ms 0.731 ms 0.729 ms 3 3ffe:501:100c:3:202:b3ff:fe87:cb39 (CN) 1.117 ms 1.069 ms 1.056 ms
% traceroute6 cn
traceroute6 to cn (3ffe:501:100c:3:202:b3ff:fe87:cb39) from 3ffe:501:100c:4:250:4ff:feb7:a01a, 30 hops max, 12 byte packets
1 3ffe:501:100c:4:248:54ff:fe02:b3a6 (HA) 1.351 ms 1.102 ms 1.101 ms 2 3ffe:501:100c:2::1 (Router) 1.888 ms 1.405 ms 1.402 ms
3 3ffe:501:100c:1:202:b3ff:fe87:cb44 (BPA) 2.114 ms 1.172 ms 1.15 ms 4 3ffe:501:100c:3:202:b3ff:fe87:cb39 (CN) 2.17 ms 1.083 ms 1.06 ms
µ ´
図 7.4: MN からCN への traceroute6出力結果
表7.3 に示すように,BPA の機能を有効にした場合では,RTT の平均は 0.997 ms だった.BPA の機能を無効にした場合では,RTT の平均は 1.620 ms だった.また,
図7.4 に示すように,BPA の機能を有効にした場合では,MN とCN間の通信経路は,
3 ホップだった.BPA の機能を無効にした場合では,MN と CN 間の通信経路は,4 ホップだった.また,後者の場合では HA を経由した通信経路であった.これらの結 果から,MN と CN 間の通信経路の最適化が行えていることが確認できた.
以上の結果から,Mobile IPv6 およびCN に新たな機構を必要とすることなく,CN
の代理でBinding を管理し,経路の最適化を実現できた.これにより,本システムは,
表7.4に示す要求事項をすべて満たしていることを確認できた.
表 7.4: 要求事項の解決
要求事項 解決の有無
MN と CN間の経路の最適化 ◯ CN には新たな機能を追加しない ◯ ボトルネックの解消 ◯
Mobile IPv6 の仕様に変更を加えない ◯
MN
CN BC
BPA BC: Binding Cache
BPA Disable
CN BPA MN
BC BPA Enable
Binding Cache at BPA Binding Cache at CN
Optimed Route Optimed Route
BC: Binding Cache
図 7.5: 定量的評価の実験環境 また,各 PC の構成を表7.5にまとめた.
表 7.5: 定量的評価の各 PCの構成
CPU メモリ OS
MN PentiumII 300MHz 96M FreeBSD 4.6-RELEASE BPA Pentium4 1.6GHz 256M FreeBSD 4.6-RELEASE CN Pentium4 1.6GHz 256M FreeBSD 4.6-RELEASE
7.2.2 実験結果
図7.1に示した実験環境を用いて,BPA と 通常のMobile IPv6 CNでかかる Mobile IPv6 の処理コストを比較するために,まず,MNと CN間の RTTを測定した.次に,
BPAにおいてパケット転送時に行う処理がRTTに与える影響を検証するために,IPv6 Routing Headerの付加にかかる処理コストおよび IPv6 Destination Option Headerの 取り外しにかかる処理コストを,それぞれPentium Counter を使って測定した.最後 に,BPA における拡張がパケット転送時に通常のトラフィックに与える影響を計測す るために,それぞれのスループットを測定した.
処理コストの比較
図7.5に示したように,まず,BPA に Bindingがある状態で,MN から CNに対し て ICMPv6 Echo Requestを 1秒おきに 100回送信した.実験は,56 byte で測定した 後,パケットサイズを 100 byte ずつ増加させ,最大 2456 byte で測定した.なお,パ ケットが fragment された場合の影響を計測するために,パケットサイズが 1257 byte
の場合も行った.これは,KAMEの 実装では,MN の hifインターフェースの MTU が 1280 byteであるため,BPA において24 byte の IPv6 Routing Headerを付加する と,1257 byteで fragment される.また,2456 byte はfragment された2つのパケッ トが最大のパケットサイズとなる.同様の実験を CN にBinding がある状態と BPA と CN の両方に Binding がない状態で行った.
図7.6に,MN側で測定したそれぞれの結果を示す.図中の横軸は,送信したICMPv6 Echo Request のパケットサイズを byte で示し,縦軸は,その RTT をミリ秒で示す.
また,RTTは 100 回行った平均を表す.
0 5 10 15 20 25 30
56 500 1000 1500 2000 2456
RTT of ICMPv6 Packet (msec)
Packet Size of ICMPv6 Echo Request (bytes)
Binding Cache at CN Binding Cache at BPA No Binding Cache
図 7.6: RTT による処理コストの比較
測定結果から分かるように,BPAにおいてBinding を管理し,経路を最適化する場 合では,経路の最低化を行わない場合よりも RTT を軽減できていることが分かった.
一方で,Mobile IPv6 の機能を持つ CN がエンドノードでBinding を管理し,経路を 最適化する場合では,BPAの方がオーバーヘッドが大きいことが確認できた.
Pentium Counter を用いたコスト評価
BPA における処理コストを分析するために,BPA においてパケット転送時に行う IPv6 Routing Header の付加にかかる処理コストと IPv6 Destination Option Header の取り外しにかかる処理コストをそれぞれPentium Counter を用いて計測した.実験 は,MN から CNに対して ICMPv6 Echo Request を1秒おきに100 回送信し,BPA において計測した.また,送信したパケットは 56 byte と 1256 byte の場合で行った.
結果を表7.6にまとめた.値は 100 回行った平均をミリ秒で表す.
表 7.6: Pentium Counterを用いた処理コスト
56 byte 1256 byte IPv6 Routing Header Type 2 の付加 0.109 msec 0.290 msec IPv6 Destination Option Header の取り外し 0.131 msec 0.128 msec
表7.6から分かるように,Pentium Counter を用いたそれぞれの処理コストは,56 byte の場合が0.240 msec,1256 byteの場合が0.418 msecと,非効率な通信経路に比 べると無視できる程度に抑えられている.BPAでは,24 ByteのIPv6 Routing Header
Type 2 を付加することによってパケット長が 207 byte を超える場合は,カーネル内
で新たにmbuf cluster を割り当てる必要がある.従って,パケット長に応じて,mbuf cluster にコピーする長さが変わるため,1256 byte では56 byte よりも0.181 msec 多 く処理コストがかかっている.
しかし,実験結果から,BPA で Binding を代理で持つ場合のオーバーヘッドは,通 常の CNの RTTを比較して,平均で 1.929 msに抑えられていることが分かった.さ らに,BPA を用いて経路の最適化を行う場合は,経路の最適化を行わない場合よりも 有効であることが分かった.特に,今回の実験は,最小ホップ数の実験環境を用いて 行ったため,各ノードのネットワーク的な位置によってホップ数が上がるほど,BPA 用いた方が有効であることが確認できた.
通常のトラフィックに対する影響
本システムは,カーネル内のip6 forward 関数を拡張しているため,パケット転送時 には,通常のルータよりも多くの処理を行っている.そこで,本システムで行った拡 張が通常のトラフィックに与える影響を計測するために,拡張する前と後でそれぞれ のスループットを測定した.測定には,iperf [26] と netperf [27] の測定ツールを用い た.実験は,図7.1 において,サーバを CN,クライアントをRouter し,BPA には Binding が 1個ある状態でそれぞれ 60秒間測定して行った.実験結果を表7.7 にまと めた.値は,それぞれ10 回行った平均をMbps で表す.
表 7.7: スループットの測定 iperf netperf 拡張する前 76.397 Mbps 76.277 Mbps 拡張した後 76.419 Mbps 76.219 Mbps
実験結果から分かるように,本システムにおいて行った拡張は,通常のトラフィッ クに対して,ほぼ影響を与えていないことが分かった.しかし,本実験では,Binding
Cache のエントリを 1個で行ったため,エントリが増加するとスループットに影響を
与える可能性がある.この問題については,第7.2.3 項で述べる.