Il est nécessaire d'effectuer chaque configuration comme indiqué précédemment. Il est particulièrement important de disposer d'identifiants ESSID différents pour le réseau domestique et pour le réseau d'accueil.
Au démarrage de la mobilité IPv6 sur la station mobile MN, des sollicitations de routeurs en multidiffusion apparaissent :
# 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) ...
La détection des déplacements repose sur la détection d'indisponibilité des voisins pour décider que le routeur par défaut n'est plus joignable. La station mobile doit alors découvrir un nouveau routeur par défaut, souvent avec un nouveau lien.
Pour voir plus facilement ce qui se passe, l'emploi de trois consoles différentes est suggéré pour les commandes suivantes :
# watch ifconfig eth0 # watch route -A inet6 # tcpdump -i eth0 -vv ip6 or proto ipv6
Pour « migrer » vers un nouveau réseau, on emploie la commande suivante au niveau de la station mobile MN :
# iwconfig eth1 essid visitnet
La station mobile MN appartient alors au nouveau réseau sans fil et comme elle émet des « sollicitations de routeurs » (en multicast), l'AR répond avec son préfixe. La station mobile MN se configure alors avec une nouvelle adresse IPv6 issue du préfixe reçu et de son adresse MAC. ifconfig eth0 permet de voir la nouvelle adresse IPv6 :
# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:90:7D:F3:03:1A inet6 addr: fec0:106:1100:0:290:7dff:fef3:31a/64 Scope:Siteinet6 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:854 errors:154 dropped:154 overruns:0 frame:148 TX packets:293 errors:58 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:96536 (94.2 Kb) TX bytes:44664 (43.6 Kb) Interrupt:3 Base address:0x100
À peu près au même moment, la station mobile MN effectue une mise à jour d'association avec la station d'accueil HA. Plusieurs paquets à destination de HA apparaissent dans le terminal. On vérifie que la mise à jour d'association a été envoyée et acquittée au niveau de la station mobile MN :
# mipdiag -s Mobile IPv6 Statistics NEncapsulations : 0 NDecapsulations : 0 NBindUpdatesRcvd : 0 NBindAcksRcvd : 1NBindNAcksRcvd : 0 NBindRqsRcvd : 0 NBindUpdatesSent : 1
NBindAcksSent : 0 NBindNAcksSent : 0 NBindRqsSent : 0 NBindUpdatesDropAuth : 0 NBindUpdatesDropInvalid : 0 NBindUpdatesDropMisc : 0 NBindAcksDropAuth : 0 NBindAcksDropInvalid : 0 NBindAcksDropMisc : 0 NBindRqsDropAuth : 0 NBindRqsDropInvalid : 0 NBindRqsDropMisc : 0
La commande suivante permet, elle aussi, de vérifier l'association (au niveau de la station mobile MN) :
# 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:1100:0:290:7dff:fef3:31a expires: 936 sequence: 0 state: 1 delay: 3 max delay 32 callback time: 736
La vérification est également possible, au niveau de la station d'accueil HA, au moyen de l'option d'affichage des statistiques (-s) et de l'option d'affichage du « cache des liaisons » (-c) :
# mipdiag -c Mobile IPv6 Binding cache Home Address Care-of Address Lifetime Type fec0:106:2700::4 fec0:106:1100:0:290:7dff:fef3:31a 971 2
On effectue un ping à destination de l'interface eth1 (fec0:106:1100::1) d'AR depuis la station mobile MN :
# ping6 fec0:106:1100::1 PING fec0:106:1100::1(fec0:106:1100::1) from fec0:106:2700::4 : 56 data bytes 64 bytes from fec0:106:1100::1: icmp_seq=1 ttl=62 time=8.01 ms 64 bytes from fec0:106:1100::1: icmp_seq=2 ttl=62 time=8.02 ms ...
tcpdump affiche les paquets à la volée :
12:13:51.789688 fec0:106:1100:0:202:a5ff:fe6f:a08a > fec0:106:2700::2: \fec0:106:2700::4 > fec0:106:1100::1: icmp6: echo request \
(len 64, hlim 64) (len 104, hlim 255) 12:13:51.797675 fec0:106:2700::2 > fec0:106:1100:0:202:a5ff:fe6f:a08a: \
fec0:106:1100::1 > fec0:106:2700::4: icmp6: echo reply \ (len 64, hlim 62) (len 104, hlim 253)
Les statistiques ont été mises à jour (au niveau de la station mobile MN) :
# mipdiag -s Mobile IPv6 Statistics NEncapsulations : 56 NDecapsulations : 25 ...
Entre autres choses intéressantes, MIPv6 repositionne la route par défaut vers le tunnel. La nouvelle route devient :
# route -A inet6 Kernel IPv6 routing table Destination Next Hop Flags Metric Ref Use Iface ::/0 :: UD 64 0 0 ip6tnl1 ....
On peut ajouter la nouvelle route manuellement si elle n'apparaît pas automatiquement :
# ip route ::/0 via dev ip6tnl
La traversée de plusieurs réseaux n'est pas différente de la migration vers un réseau. Il faut juste garder à l'esprit qu'une nouvelle adresse est créée pour chaque réseau visité.
MN va d'abord dans « visitnet » comme vu précédemment.
MN passe ensuite de « visitnet » à « visitnet2 ».
À son entrée dans « visitnet2 », la station mobile MN crée une nouvelle adresse IPv6 et effectue une mise à jour d'association supplémentaire avec la station d'accueil HA.
MN retourne alors dans son réseau domestique (se reporter à la partie suivante).
Le routeur d'accès AR du réseau « visitnet2 » est configuré de la même façon que le routeur d'accès du réseau « visitnet » à ceci près qu'il emploie l'adresse fec0:106:1000::/64 au lieu de l'adresse fec0:106:1100::/64.
Pour que la station mobile passe du réseau « visitnet » au réseau « visitnet2 », on émet depuis la station mobile MN la commande :
# iwconfig eth0 essid visitnet2
La station mobile MN se reconfigure alors dans le nouveau réseau :
# 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:Siteinet6 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
Remarque : il peut s'avérer nécessaire de redémarrer la mobilité IPv6 au niveau de la station mobile MN quand cette dernière arrive dans un nouveau réseau.
# /etc/init.d/mobile-ip6 restart Stopping Mobile IPv6: OK Starting Mobile IPv6: OK
La station mobile MN effectue alors une mise à jour d'association avec la station d'accueil HA. On note au passage la nouvelle adresse « temporaire » (care-of) :
# 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
Le « cache des liaisons » de la station d'accueil HA a été mis à jour :
# 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
La commande suivante suffit pour ramener la station mobile MN dans son réseau domestique :
# iwconfig eth0 essid homenet
La station mobile MN sait qu'elle est de retour car la station d'accueil HA émet des messages radvd dans lesquels le bit HA (AdvHomeAgentFlag, voir Section 4.2.4, « Configuration de radvd au niveau de la station d'accueil ») est positionné.
On constate que la station mobile MN « est de retour » car le cache des informations de liaison de la station d'accueil HA est purgé (il est vide) :
Mobile IPv6 Binding cache Home Address Care-of Address Lifetime Type
Pour bien réaliser le fonctionnement de la mobilité IP, on se sert de GnomeMeeting (se reporter au schéma avec GnomeMeeting) et on initie une conférence. Remarque : il faut employer la dernière version de GnomeMeeting pour avoir accès à la prise en charge d'IPv6. On effectue ensuite un « déplacement » et on constate alors une transition discrète.