5. Doing some tests
5.1. Pre-test
Do every configuration as shown above; it's especially important
to have a different ESSID on the home net and visited network.
When you start mobile-IPv6 on MN, you will see
multicasting router solicitations messages:
# tcpdump -i eth0 -vv ip6 or proto ipv6
...
13:32:54.681763 fe80::202:a5ff:fe6f:a08a > ff02::2: icmp6: router solicitation \
(src lladdr: 0:2:a5:6f:a0:8a) (len 16, hlim 255)
13:32:55.681763 fe80::202:a5ff:fe6f:a08a > ff02::2: icmp6: router solicitation \
(src lladdr: 0:2:a5:6f:a0:8a) (len 16, hlim 255)
13:32:57.681765 fe80::202:a5ff:fe6f:a08a > ff02::2: icmp6: router solicitation \
(src lladdr: 0:2:a5:6f:a0:8a) (len 16, hlim 255)
...
|
5.4. Kernel IP routing table
One interesting thing MIPv6 does is change the default route to
a tunnel. The new default route becomes:
# route -A inet6
Kernel IPv6 routing table
Destination Next Hop Flags Metric Ref Use Iface
::/0 :: UD 64 0 0 ip6tnl1
....
|
If it doesn't add a default route, you may add it manually:
# ip route ::/0 via dev ip6tnl
|
5.5. Travelling through several foregin LAN's
To travel to several visited networks, is no different than
travel to one network. The only thing you
must have in mind is that you will generate a new address for each
visited network.
MN first visits 'visitnet', as we have been through above.
MN is then travelling from 'visitnet' to
'visitnet2'.
When at 'visitnet2', MN generates a new IPv6 address and
do a new binding update to HA.
MN then travels back home. (Se next section.)
The AR at "visitnet2", is configured exactly
as the other AR (at "visitnet"), except using address
fec0:106:1000::/64 instead of
fec0:106:1100::/64.
To make the mobile node travel from 'visitnet' to
'visitnet2', issue the command (on MN):
# iwconfig eth0 essid visitnet2
|
You will then see the MN configures itself to the new network:
# ifconfig eth0
eth1 Link encap:Ethernet HWaddr 00:90:7D:F3:03:1A
inet6 addr: fec0:106:1000:0:290:7dff:fef3:31a/64 Scope:Site
inet6 addr: fec0:106:1100:0:290:7dff:fef3:31a/64 Scope:Site
inet6 addr: fec0:106:2700:0:290:7dff:fef3:31a/64 Scope:Site
inet6 addr: fec0:106:2700::4/64 Scope:Site
inet6 addr: fe80::290:7dff:fef3:31a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1073 errors:212 dropped:212 overruns:0 frame:204
TX packets:371 errors:72 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:120340 (117.5 Kb) TX bytes:56912 (55.5 Kb)
Interrupt:3 Base address:0x100
|
- The new autoconfigured address at 'visitnet2'.
Note! You may have to restart mobile-ipv6 on MN
when coming to a new network!
# /etc/init.d/mobile-ip6 restart
Stopping Mobile IPv6: OK
Starting Mobile IPv6: OK
|
The MN will then perform a new binding update to HA. Notice
the new "care-of address":
# mipdiag -l
Mobile IPv6 Binding update list
Recipient CN: fec0:106:2700::2
BINDING home address: fec0:106:2700::4 care-of address: fec0:106:1000:0:290:7dff:fef3:31a
expires: 973 sequence: 14 state: 1
delay: 3 max delay 32 callback time: 773
|
You can also see the "binding cache" on HA has
been updated:
# mipdiag -c
Mobile IPv6 Binding cache
Home Address Care-of Address Lifetime Type
fec0:106:2700::4 fec0:106:1000:0:290:7dff:fef3:31a 943 2
|
5.6. Returning home
To make the MN return home, you can just issue the
command:
# iwconfig eth0 essid homenet
|
The MN will know it is back home, since HA is sending out
radvd messages with the HA-bit set (AdvHomeAgentFlag), see Section 4.2.4
You can see the MN "is back home", since the
binding cache information at HA is flushed (empty):
Mobile IPv6 Binding cache
Home Address Care-of Address Lifetime Type
|
5.7. Real life testing - smooth handover
To really get the feel on how mobile IP works, fire up GnomeMeeting
(See the figure GnomeMeeting and start a netmeeting. Note! You must use
the latest GnomeMeeting to get support for IPv6! Then do a "travel"
and you can see an almost smooth handover.