近年、公衆無線LANのアクセスポイントの増加やモバイル機器の性能の向上など自宅外でのインターネット環境が整ってきている。通常、インターネットへのアクセスポイントが変わるとIPアドレスも変化する。つまり接続しているネットワークが変わるためアドレスが変わることになる。そうすると変更前のアドレスあての通信は切断され、新しいアドレスでやり直す必要がある。この時IPアドレスが変わっても通信し続けられる仕組みがMobile IPv6である。これは、現在のアドレスへトンネルすることにより、アドレスが変化しても通信し続けられるというものである。例えば、電車などで移動していてもストリーミングが中断することなく続けられるというメリットがある。この研究では、Mobile IPv6での実験を通して、その実用性を確認する。
IPv6(Intrenet Protocol version 6)とは、現行のIPv4(Internet Protocol version 4)の次の世代のインターネットプロトコルである。IPv6とIPv4の大きな違いは、そのアドレス空間である。IPv6では128bitであるので、2128個のIPアドレスがあるが、IPv4では32bitであるので、232個のIPアドレスしかなく、2011年頃にはなくなるといわれている。その他にもNAT(Network Address Translation)を使わなくてよくなりPeer to Peerアプリケーションやネットワークゲームなどの利用が容易になる。
アドレスは128bitの長さがあり、これを16bitずつ":”で区切り、16進数で表される。また、連続したゼロを"::”でまとめることができる。これは1回だけ使える。例えば、
2002:8514:A0E5:0000:0000:0000:0000:0001
というアドレスは
2002:8514:A0E5::1
と表すことができる。また、IPv6アドレスのプレフィックスというものがあり、これはネットワークを意味するアドレスである。つまりはIPv4におけるネットワークアドレスに相当する。例えば
2002:8514:A0E5::/48
この場合だとプレフィックスは上位48bitの「2002:8514:A0E5」となる。
IPv6のアドレスには以下の三つのタイプがある。
IPv6に接続する方法として、ネイティブ、デュアル、トンネルがある。ネイティブ接続とは、IPv6専用の線を引いてIPv6パケットで通信する方式。デュアル接続とは、一つの回線でIPv6/IPv4両方のパケットで通信する方法。トンネル接続とは、IPv6のパケットをIPv4のパケットでカプセル化し通信する方法。
今回の実験では、IPv6への接続は特別な機器を用意することなく接続できる6to4というトンネル接続を使用した。6to4とは、ネイティブなIPv6ネットワークと接続しているリレールータを経由して、IPv4ネットワークからIPv6ネットワークに接続する方法である。
また、6to4でのアドレスは次のようになる。(IPv4アドレスを133.20.160.229とする)
10進数 | 133 | 20 | 160 | 229 |
16進数 | 85 | 14 | A0 | E5 |
IPv4アドレスを8bitごとに10進数から16進数へ変換する。変換したものを16bitずつ2002の後に:で区切って挿入する。
2002:8514:a0e5:……
これが6to4のプレフィックスとなる。
Mobile IPv6を動作させるにはIPv6への接続環境、モバイルノード、通信先ノード、ホームエージェントが必要である。構成は以下の図のようになる。
Mobile
IPv6では、モバイルノードが接続しているリンクにより二つの場合が考えられる。それは、ホームリンクに接続している場合、外部リンクに接続している場合である。Mobile
IPv6では、どちらの場合でもホームアドレスによって通信し続けることができる。ホームアドレスはモバイルノードのホームリンクのサブネットプレフィックスの範囲で割り当てられる。
はじめに、モバイルノードがホームリンクに接続している場合は、パケットは一般的なインターネットのルーティングメカニズムで、モバイルノードのホームリンクのホームアドレスあてに送られる。
一方で、モバイルノードが外部リンクに接続している場合では、モバイルノードと通信先ノードの通信で2つのモードがある。
一つ目は、2方向へのトンネルである。これはMobile IPv6の基本的な動作である。今回の実験ではこのモードをのみを使用した。
2方向へのトンネルとは、以下の二つの状態である。一つ目は通信先ノードへのパケットはモバイルノードからホームエージェントへトンネルされホームリンクから通信先ノードへ送られる場合。パケットはあて先を通信先ノード、送信元をモバイルノードのホームアドレスとして作られ、それをホームエージェントあてでカプセル化して送信する。トンネルを通りホームエージェントへ到着するとカプセル化を解除して通信先ノードへ送信される。
二つ目は通信先ノードからのパケットはホームエージェントへ送られ、ホームエージェントがモバイルノードにトンネルをする場合。パケットはホームアドレスあてで送信され、ホームエージェントに到着するとあて先をモバイルノード、送信元をホームエージェントとしてカプセル化する。モバイルノードに到着するとカプセル化が解除されもとのパケットが取り出される。
また、モバイルノードが外部リンクにある場合、ケアオブアドレスをホームリンク上のルーターであるホームエージェントに登録しなければならない。ホームアドレスとケアオブアドレスの対応のことをバインディングと言い、モバイルノードはホームエージェントにバインディングアップデートメッセージを送ることによるバインディングの登録をおこなう。そしてホームエージェントはバインディングアクノーレッジメントメッセージを返すことでモバイルノードに返事をする。
ふたつ目のモード、"経路最適化”は、通信先ノードからのパケットはモバイルノードのケアオブアドレスあてに直接送ることが出来る。つまり通信先ノードからモバイルノードへの最短経路が使われる。これにはモバイルノードの現在のバインディングを通信先ノードに登録することが必要となる。
通信先ノードがパケットをどこかのIPv6あてに送るとき、通信先ノードはパケットのあて先アドレスエントリーのキャッシュされたバインディングをチェックする。もしあて先アドレスが見つかれば、ノードは新しいIPv6ルーティングヘッダを使って、バインディングが示すケアオブアドレスのモバイルノードへパケットを送る。
Mobile IPv6に対応しているOSはFreeBSDやUbuntuなどがある。今回の実験では、Ubuntuを利用した。また、ホームエージェントはWIDEのNautilus6のホームエージェントサービスを利用した。IPv6への接続環境は6to4というトンネルを利用した。実験のシステム構成は以下の図に示す。
UbuntuでMobile IPv6の機能を使用するには、カーネルの再構築をする必要がある。今回の実験では、Ubuntu8.04、カーネルのバージョンは2.6.27.7を使用した。また、マシンスペックは以下のに示す。
OS | Ubuntu8.04 |
カーネルバージョン | 2.6.27.7 |
CPU | Pentium M 730@1.6GHz |
Memory | 1GB |
Network Adapter | Marvell Gigabit Ethernet Controller |
まずはカーネルのソースコードを入手する必要がある。The Linux Kernel Archives(http://www.kernel.org/)などからダウンロードして解凍する。
#cd /usr/src #wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.7.tar.bz2 #tar jxvf linux-2.6.27.7.tar.bz2 #ln -s linux-2.6.27.7 linux #cd linux
次に、カーネルの再構築に必要なパッケージをインストールする。必要なパッケージは以下のものである。
autoconf automake binutils gcc gettext kernel-package libncurses5-dev libtool linux-libc-dev
パッケージのインストールには以下のコマンドを実行する。
#apt-get update #apt-get install <package>
<package>に必要なパッケージ名を挿入する。
続いて、カーネルのコンフィギレーションを行う。Mobile IPv6のモバイルノードの機能を使用するためには以下の項目をすべて有効にする必要する必要がある。
CONFIG_IKCONFIG_PROC CONFIG_EXPERIMENTAL CONFIG_SYSVIPC CONFIG_PROC_FS CONFIG_INET CONFIG_IPV6 CONFIG_IPV6_MIP6 CONFIG_XFRM CONFIG_XFRM_USER CONFIG_XFRM_SUB_POLICY CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION CONFIG_IPV6_TUNNEL CONFIG_IPV6_ADVANCED_ROUTER CONFIG_IPV6_MULTIPLE_TABLES CONFIG_IPV6_SUBTREES CONFIG_ARPD CONFIG_INET6_ESP CONFIG_NET_KEY CONFIG_NET_KEY_MIGRATE
カーネルの設定をするコマンドは以下の通りである。
#make menuconfig
はじめに"Load an Alternate Configuration File”で現在のカーネルの設定をロードする。
その後、前述した項目を有効にする。設定が終了したら、次はコンパイルである。
#make-kp#make-kpkg -initrd kernel_image
コンパイルが終了したなら、/usr/src/linux-image-2.6.27.7_2.6.27.7-10.00.Custom_i686.debが作成されるので、これをインストールする。コマンドは以下のようになる。
#cd /usr/src #dpkg -i linux-image-2.6.27.7_2.6.27.7-10.00.Custom_i686.deb
インストールが完了した後、再起動すれば自動的に新しいカーネルで起動する。
通信用のデーモンであるmip6dのインストールには以下のパッケージが必要になる場合もあるのでインストールする。
flex bison
コマンドは以下のようになる。
#wget ftp://ftp.linux-ipv6.org/pub/usagi/patch/mipv6/umip-0.4/daemon/tarball/mipv6-daemon-umip-0.4.tar.gz #tar zxvf mipv6-daemon-umip-0.4.tar.gz #cd mipv6-deamon-umip-0.4 #./configure --enable-vt #make #make install
以上によりmip6dのインストールがされる。
mip6dでIPsecの機能を利用するので、その設定をするためにIPsec-toolというソフトウェアが必要となる。
#apt-get update #apt-get install ipsec-tools
mip6dとIPsecの設定をする。設定はmip6d-mn.conf、setkey.confというファイルで行う。設定例は付録に示す。
ifconfigではアドレスの確認や割り当てをおこなう。以下のコマンドで6to4のインターフェースにアドレスを設定する。
#ifconfig sit0 add 2002:8514:a0e5::1/16
表示例は付録に示す。
routeコマンドでルーティングテーブルの確認やルーティングの設定をおこなう。以下のコマンドで6to4リレールーターに転送するように設定する。
#route -A inet6 add ::/0 dev sit0 gw ::192.88.99.1
表示例は付録に示す。
ping6による実験をおこなう。ping6ではICMP Echo Requestメッセージを対象ノードへ送信し、対象ノードからEcho Replyメッセージが帰ってくることで到達性を確認する。またそのときの時間やパケットロスよりラウンドトリップタイム(RTT)やパケットロス率を調べることが出来る。ここではMobile IPv6がON/OFFの時について実行し、それらの変化について調べる。
traceroute6による実験をおこなう。traceroute6では、まずIPv6ヘッダのHop Limitを1としてパケットを送信する。最初のルーターに到着するとHop Limitが0となりICMP Time Exceededメッセージが返される。次にHop Limitを2にしたパケットを送信する。これを対象ノードまで繰り返すことにより経路情報を調べることが出来る。ここでは、Mobile IPv6がON/OFFの時に経路がどう変化するかを調べる。
ファイルのダウンロードに関する実験をおこなう。ここでは、ファイルのダウンロード中に移動しても、つまり、ケアオブアドレスが変化しても、ホームアドレスでダウンロードをし続けられるかを確認する。
はじめに、Windows XPでMobile IPv6を利用しようとしたが、UbuntuはMobile IPv6には対応しているが、Linux用のMobile IPv6通信デーモンであるmip6dを利用するためにカーネルの再構築をした。この状態では6to4でIPv6に接続することはできたが、Mobile IPv6を起動し、ping6でIPv6サイトへpingを打つと、"connect:invalid argument”となってしまった。一方、ホームアドレスに対しpingを打つと応答するので起動していることは確認できた。
このようになってしまった理由は、mip6dがIPv6のトンネル接続の6to4に対応していなかったからである。これは、mip6dのログによって確認できる。ネイティブなIPv6環境がなくこれ以上確認できないので残念だ。
Mobile IPv6は電車で移動しながらストリーミングを視聴するということなどが考えられるが、このように導入にとても手間がかかり、簡単に使えるような状況でないといえる。特に、IPv6への接続の問題は大きいと思う。ネイティブな接続環境は少なく、トンネルで接続するほうが簡単で接続しやすい。この状況ではMobile IPv6は実用的でないと考えられる。また、Windows XPやMacOSでのMobile IPv6対応を調べたが、Mobile IPv6には対応していなかった。Mobile IPv6はIPv6のアプリケーションとして有用であると話題であるが、IPv4システム環境では利用できないことがわかった。
# MIPL daemon configuration file # # Manage Home Agent subscription at https://op-ha.nautilus6.org # Nautilus6 project - visit http://www.nautilus6.org # # 2001:200:0:8450::72 is your Home Address # 2001:200:0:8450::1 is the Home Agent address NodeConfig MN; ## If set to > 0, will not detach from tty DebugLevel 10; ## Support route optimization with other MNs DoRouteOptimizationCN disabled; ## Use route optimization with CNs DoRouteOptimizationMN disabled; UseCnBuAck disabled; MnDiscardHaParamProb disabled; # The Binding Lifetime, for example 60 seconds MnMaxHaBindingLife 60; MnRouterProbes 1; # Replace interface1 with the name of your first network interface Interface "eth0" { MnIfPreference 1; IfType MN; } # Replace interface1 with the name of your first network interface MnHomeLink "eth0" { HomeAddress 2001:200:0:8450::72/64; HomeAgentAddress 2001:200:0:8450::1; } ## ## IPsec configuration ## UseMnHaIPsec enabled; ## Key Management Mobility Capability KeyMngMobCapability disabled; IPsecPolicySet { HomeAgentAddress 2001:200:0:8450::1; HomeAddress 2001:200:0:8450::72/64; IPsecPolicy HomeRegBinding UseESP; IPsecPolicy MobPfxDisc UseESP; IPsecPolicy TunnelPayload UseESP 706 707; }
#!/usr/sbin/setkey -f # NOTE: Do not use this file if you use racoon with racoon-tool # utility. racoon-tool will setup SAs and SPDs automatically using # /etc/racoon/racoon-tool.conf configuration. # # Manage Home Agent subscription at https://op-ha.nautilus6.org # Nautilus6 project - visit http://www.nautilus6.org # # 2001:200:0:8450::72 is your Home Address # 2001:200:0:8450::1 is the Home Agent address # Flush the SAD and SPD flush; spdflush; add 2001:200:0:8450::72 2001:200:0:8450::1 esp 704 -m transport -E des-cbc "LqYYaKrz" -A hmac-sha1 "h9nZ5dDWV7SaEArFR8CA"; add 2001:200:0:8450::1 2001:200:0:8450::72 esp 705 -m transport -E des-cbc "gdKV358K" -A hmac-sha1 "NhVJxaQhvApLEFwcRy7k"; add 2001:200:0:8450::72 2001:200:0:8450::1 esp 706 -m tunnel -u 706 -E des-cbc "TAag47jw" -A hmac-sha1 "JgwqPAKEHLrYkC6pnypB"; add 2001:200:0:8450::1 2001:200:0:8450::72 esp 707 -m tunnel -u 707 -E des-cbc "bUbxmeSs" -A hmac-sha1 "NsVUSUa5xY7GjGF3RjaZ";
#!/bin/sh set -e # # Make sure below as your environment # PATH=${PATH:+$PATH:}/usr/local/sbin:/usr/sbin:/sbin mip6d_conf=/usr/local/etc/mip6d-mn.conf setkey_conf=/usr/local/etc/setkey.conf #device used by mip6d. DEV=eth0 case "$1" in start) # disable to send RS from kernel. #echo 0 > /proc/sys/net/ipv6/conf/all/router_solicitations #echo 0 > /proc/sys/net/ipv6/conf/default/router_solicitations #echo 0 > /proc/sys/net/ipv6/conf/all/router_solicitation_interval #echo 0 > /proc/sys/net/ipv6/conf/default/router_solicitation_interval # set IPsec configuration setkey -f $setkey_conf # bring up the interface which MN will use. ifconfig $DEV up # invoke mip6d mip6d -c $mip6d_conf echo "Starting MIPv6 MN." ;; stop) killall mip6d ifconfig $DEV down # XXX: Deleting IPsec SAs can be here if you want. # # XXX: enable to send RS from kernel here if you want. # echo "Stopping MIPv6 MN." ;; *) echo "Usage: ${0##*/} {start|stop}" exit 1 ;; esac exit 0
eth0 Link encap:イーサネット ハードウェアアドレス 00:0e:7b:d7:42:6d inetアドレス:133.20.160.229 ブロードキャスト:133.20.160.255 マスク:255.255.255.0 inet6アドレス: fe80::20e:7bff:fed7:426d/64 範囲:リンク UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:238 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:40 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:14594 (14.2 KB) TXバイト:4863 (4.7 KB) 割り込み:16 ip6tnl1 Link encap:不明なネット ハードウェアアドレス 20-01-02-00-00-00-84-50-00-00-00-00-00-00-00-00 inet6アドレス: 2001:200:0:8450::72/128 範囲:グローバル inet6アドレス: fe80::20e:7bff:fed7:426d/64 範囲:リンク UP POINTOPOINT RUNNING NOARP MTU:1460 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 inet6アドレス: ::1/128 範囲:ホスト UP LOOPBACK RUNNING MTU:16436 メトリック:1 RXパケット:1367 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:1367 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:68388 (66.7 KB) TXバイト:68388 (66.7 KB) sit0 Link encap:IPv6-in-IPv4 inet6アドレス: 2002:8514:a0e5::1/16 範囲:グローバル inet6アドレス: ::133.20.160.229/96 範囲:Compat inet6アドレス: ::127.0.0.1/96 範囲:不明 UP RUNNING NOARP MTU:1480 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B)
カーネルIPv6 経路テーブル Destination Next Hop Flag Met Ref Use If ::/0 :: !n -1 1 4 lo ::/96 :: Un 256 0 1 sit0 2001:200:0:8450::72/128 :: U 256 0 0 ip6tnl1 2002::/16 :: U 256 0 0 sit0 fe80::/64 :: U 256 0 0 eth0 fe80::/64 :: U 256 0 0 sit0 fe80::/64 :: U 256 0 0 ip6tnl1 ::/0 ::192.88.99.1 UG 1 0 0 sit0 ::/0 :: !n -1 1 4 lo ::1/128 :: Un 0 1 1 lo ::127.0.0.1/128 :: Un 0 1 0 lo ::133.20.160.229/128 :: Un 0 1 0 lo 2001:200:0:8450::72/128 :: Un 0 1 0 lo 2002:8514:a0e5::1/128 :: Un 0 1 0 lo fe80::/128 :: Un 0 1 0 lo fe80::/128 :: Un 0 1 0 lo fe80::20e:7bff:fed7:426d/128 :: Un 0 1 0 lo fe80::20e:7bff:fed7:426d/128 :: Un 0 1 0 lo ff00::/8 :: U 256 0 1 eth0 ff00::/8 :: U 256 0 0 sit0 ff00::/8 :: U 256 0 0 ip6tnl1 ::/0 :: !n -1 1 4 lo
mip6d[7293]: MIPL Mobile IPv6 for Linux v2.0.2-umip-0.4 started (Mobile Node) Thu Jan 15 16:37:51 main: MIPL Mobile IPv6 for Linux started in debug mode, not detaching from terminal Thu Jan 15 16:37:51 conf_show: config_file = /usr/local/etc/mip6d-mn.conf Thu Jan 15 16:37:51 conf_show: vt_hostname = localhost Thu Jan 15 16:37:51 conf_show: vt_service = 7777 Thu Jan 15 16:37:51 conf_show: mip6_entity = 1 Thu Jan 15 16:37:51 conf_show: debug_level = 10 Thu Jan 15 16:37:51 conf_show: debug_log_file = stderr Thu Jan 15 16:37:51 conf_show: PolicyModulePath = [internal] Thu Jan 15 16:37:51 conf_show: DefaultBindingAclPolicy = 0 Thu Jan 15 16:37:51 conf_show: NonVolatileBindingCache = disabled Thu Jan 15 16:37:51 conf_show: KeyMngMobCapability = disabled Thu Jan 15 16:37:51 conf_show: UseMnHaIPsec = enabled Thu Jan 15 16:37:51 conf_show: MnMaxHaBindingLife = 60 Thu Jan 15 16:37:51 conf_show: MnMaxCnBindingLife = 420 Thu Jan 15 16:37:51 conf_show: MnRouterProbes = 1 Thu Jan 15 16:37:51 conf_show: MnRouterProbeTimeout = 0.000000 Thu Jan 15 16:37:51 conf_show: InitialBindackTimeoutFirstReg = 1.500000 Thu Jan 15 16:37:51 conf_show: InitialBindackTimeoutReReg = 1.000000 Thu Jan 15 16:37:51 conf_show: UseCnBuAck = disabled Thu Jan 15 16:37:51 conf_show: DoRouteOptimizationMN = disabled Thu Jan 15 16:37:51 conf_show: MnUseAllInterfaces = disabled Thu Jan 15 16:37:51 conf_show: MnDiscardHaParamProb = disabled Thu Jan 15 16:37:51 conf_show: SendMobPfxSols = enabled Thu Jan 15 16:37:51 conf_show: OptimisticHandoff = disabled Thu Jan 15 16:37:51 conf_show: SendMobPfxAdvs = enabled Thu Jan 15 16:37:51 conf_show: SendUnsolMobPfxAdvs = enabled Thu Jan 15 16:37:51 conf_show: MaxMobPfxAdvInterval = 86400 Thu Jan 15 16:37:51 conf_show: MinMobPfxAdvInterval = 600 Thu Jan 15 16:37:51 conf_show: HaMaxBindingLife = 262140 Thu Jan 15 16:37:51 conf_show: DoRouteOptimizationCN = disabled Thu Jan 15 16:37:51 xfrm_cn_init: Adding policies and states for CN Thu Jan 15 16:37:51 xfrm_mn_init: Adding policies and states for MN Thu Jan 15 16:37:51 conf_home_addr_info: HoA address 2001:200:0:8450:0:0:0:72 Thu Jan 15 16:37:51 conf_home_addr_info: HA address 2001:200:0:8450:0:0:0:1 Thu Jan 15 16:37:51 __tunnel_add: created tunnel ip6tnl1 (5) from 2001:200:0:8450:0:0:0:72 to 2001:200:0:8450:0:0:0:1 user count 1 Thu Jan 15 16:37:51 conf_home_addr_info: Home address 2001:200:0:8450:0:0:0:72 Thu Jan 15 16:37:51 flag_hoa: set HoA 2001:200:0:8450:0:0:0:72/128 iif 5 flags 12 preferred_time 4294967295 valid_time 4294967295 Thu Jan 15 16:37:51 conf_home_addr_info: Added new home_addr_info successfully Thu Jan 15 16:37:51 __md_discover_router: discover link on iface eth0 (2) mip6d[7293]: Interface 3 (sit0):type 776 unsupported Thu Jan 15 16:37:55 __md_discover_router: discover link on iface eth0 (2) Thu Jan 15 16:37:59 __md_discover_router: discover link on iface eth0 (2) Thu Jan 15 16:38:03 __md_discover_router: discover link on iface eth0 (2) Thu Jan 15 16:38:07 __md_discover_router: discover link on iface eth0 (2) ^Cmip6d[7293]: terminated (SIGINT) Thu Jan 15 16:38:08 terminate: got SIGINT, exiting Thu Jan 15 16:38:08 flag_hoa: set HoA 2001:200:0:8450:0:0:0:72/128 iif 5 flags 80 preferred_time 4294967295 valid_time 4294967295 Thu Jan 15 16:38:08 __tunnel_del: tunnel ip6tnl1 (5) from 2001:200:0:8450:0:0:0:72 to 2001:200:0:8450:0:0:0:1 user count decreased to 0 Thu Jan 15 16:38:08 __tunnel_del: tunnel deleted Thu Jan 15 16:38:08 xfrm_mn_cleanup: Deleting policies and states for MN Thu Jan 15 16:38:08 xfrm_cn_cleanup: Deleting policies and states for CN mip6d[7293]: MIPL Mobile IPv6 for Linux v2.0.2-umip-0.4 stopped (Mobile Node)