iPhone(iOS)からIPv6は、どこまでつながっていられるか?
せっかくモバイルにおけるネイティブIPv6通信環境がありますので、面白い実験をしてみましょう。バイクや車などで移動しつつ、どこの範囲まで同じIPv6アドレスを握ったまま通信できているのか実験してみました(※注意: かなり荒い精度の実験です。あくまでご参考程度としてください)。
まずは、高速道路を都内から移動しサービスエリアやパーキングなどで、前回ご紹介したIp6configを使って付与されたIPv6アドレスを確認します。図6のような距離でサービスエリアやパーキングで付与されたIPv6アドレスを確認すると変化が見られます。無線や有線のネットワーク設計をされた方ならばお分かりだとは思いますが、データ通信用のIPネットワークは、距離が同心円状に綺麗に設計できるほど容易なものではありません。
この結果から、何十kmから何百km単位で同じIPv6アドレスを使ってデータ通信を行えるような環境ではなく、移動距離や電波状態の変化に合わせて頻繁に端末側のIPv6アドレスが変化していくことが分かります。
ちょっと脱線しますが、このIPアドレスの切り替わりのタイミングを記録したデータが、たまたま手元にありましたので、そちらを見ていきましょう。
静岡大学 大学院情報学研究科 木谷先生が取り組まれている自動二輪環境における行動センシングへの研究協力として、SensorLogというアプリをiPhoneに入れてツーリング中の姿勢データなどを保存しているのですが、このデータの中に「端末のIPアドレス情報」が「GPS情報」などと一緒に保存されていました(図8)。
SensorLogが記録するデータの中身は、抜粋すると図9のようになります。iPhoneが持つすべての行動系センサ情報を100Hzのサンプリングレートで保存しているものなのでデータ量はとても多いのですが、今回はこの中から「IPアドレス情報」と「GPS情報」だけに絞り込み、分析を行ってみました。
残念ながら、SensorLogではIPv4アドレスのみしか記録できないことと、今回分析に用いたデータが「KDDI au LTE NET for DATA」契約をする前のCGN(Carrier Grade NAT)配下のIPv4ネットワークでの検証データであるため、直接的にはIPv6とは関係しませんが、ネットワーク切り替わりのメカニズムを少しでも感じていただければと思います。
図10は、SensorLogから見えたIPv4アドレス切替タイミングを示したものです。青色で示されているところがSensorLog中でIPv4アドレスが検出されたエリアで、赤色はIPv4アドレスが検出できなかったエリアを示しています。
少し道路状況が分かりにいくので拡大してみましょう。図11のように山間部の谷をぬうような道でIPv4アドレスが検出できなかったエリアが広がっているのが分かります。
このような移動体とIPネットワークの通信網との関係を考えると、IPv4/IPv6のいずれでもIPアドレス変化は起こるもので、その頻度も移動する場所の状況により刻々と変化することが分かります。なぜ、このような分かりきったことを解説するのかといえば、じつはここで紹介したSensorLogにはモードとして「socket」を通じてデータ送信する機能が備わっているのです。
「モバイル環境でIPv6アドレスが固定的に割り当てられ、移動するセンサからデータがどんどん送信されてくる!」と、夢のようなことを考えられる方もいらっしゃるのではないかと思いますが、残念ながら現実にはまだ、そのような未来にはなっていないようです。私的にも残念な限りです。
さて、少し長めに脱線したお話はこれぐらいにして、最後にiPhone(iOS)からネイティブIPv6通信環境を使ったアプリケーションの例を見ていきましょう。