UHMMA
Tests IPv6
C. CASTELLUCCIA - L. BELLIER - INRIA Rhône-Alpes
claude.castelluccia@inrialpes.fr
janvier 2000
Je livre ici tous les tests qui me sont passés par la tête. On trouve donc tous les cas qui marchent mais aussi les cas où des problèmes surviennent (pb de connexion, plus de ressource, etc...). J'espère ainsi couvrir le plus grand nombre de situation possible.
Après chaque test, je liste les fonctionnalitées qui ont été veérifiées par ce test. Une fois qu'elle est certifiée, une fonctionnalité n'est plus répétée dans les tests suivants. Je ne mentionne pas du tout les fonctionnalitées issues de MIPv6, telle la détection de CH ou la détection de mouvement.
1 Les deux MA tournent en mode 2
1.1 MH boot en visite
- MH s'enregistre sur MA1.
- MA acquitte.
- HA reçoit BU VCOA.
- HA acquitte.
- détection CH1 d'un autre site - > BU VCOA.
- détection CH2 de ce site - > BU PCOA.
- macro move vers un autre site (qui n'est pas le réseau mère).
- MH s'enregistre sur MA2.
- MA2 envoie forward request à MA1.
- HA reçoit BU nouvelle VCOA.
- CH1 reçoit BU PCOA (car MH est venu dans son site).
- CH2 reçoit BU VCOA.
- MA1 reçoit BU forward request,
- il met à jour la PCOA du mobile par la nouvelle VCOA.
- il est alors possible de pinguer l'ancienne VCOA, les paquets sont forwardés vers la nouvelle VCOA.
- au bout d'un temps fini, le MA retire MH de sa liste.
- au bout d'un temps fini, MH retire l'ancienne VCOA de son interface.
- détection CH3 de ce site - > BU PCOA.
- les retransmission sont assurées par le code de mobile ipv6.
- macro move dans le sens retour : pas de détection de mouvement. Ancienne COA non retirée ?
Fonctionnalitées testées ici :
- la BS véhicule l'adresse du MA.
- le MH sait lire l'adresse du MA dans le rt adv.
- le MH sait s'enregistrer auprès du MA local.
- le MA sait enregistrer des mobiles, des mobiles en mode 1 s'il le désirent, même si le MA tourne le mode 2.
- le MA sait acquitter des mobiles qui s'enregistre.
- le MH détecte fait la distinction entre les CH locaux et externes.
- deux MA sont capables d'initier une "pousuite" ; forward des paquets depuis l'ancienne position vers la nouvelle, après un mouvement inter domain.
- un MA sait retirer un mobile de sa liste si celui-ci n'émet pas de 'old position'.
- un MH sait retirer l'ancienne VCOA de son interface réseau après mouvement.
1.1.2 mode 2, liaison MH-MA down
- MH s'enregistre sur MA.
- MH s'enregistre sur MA.
- MH s'enregistre sur MA.
- etc...
Fonctionnalitées testées ici :
un MH recommence son enregistrement jusqu'à satisfaction.
Note : prévoir un code qui bascule de mode après quelques tentatives refusées.
1.1.3 mode 2, liaison MA-HA down
- MH s'enregistre sur MA.
- MA envoie BU VCOA vers HA.
- MH s'enregistre sur MA.
- MA envoie BU VCOA vers HA.
- etc...
Fonctionnalitées testées ici :
un MA sait relancer une tentative d'enregistrement d'un mobile vers son HA.
- MH s'enregistre sur MA1.
- HA reçoit BU VCOA.
- détection CH1 du site - > BU PCOA.
- macro move vers un autre réseau
- MH s'enregistre sur MA2.
- smooth handoff lancé par MA2.
- la liste des CN circule de MA1 à MA2.
- la liste est actualisée.
- HA reçoit BU VCOA.
- CH1 reçoit BU VCOA.
- MA1 procède au forwarding des paquets destinés à l'ancienne VCOA comme dans le test précédent (même code avec en plus le transfert de liste).
- détection CH2 du site - > BU PCOA.
Note : la durée de vie de MH dans la liste de MA est déterminé par lecture du champ lifetime du paquet d'enregistrement. Si cette valeur est de 20 sec ou moins, cela n'est pas suffisant pour effectuer un mouvement. Ceci peut donc ammener des cas ou MH est sur MA1, puis passe sur MA2. La détection de mouvement aura pris plus de 20 sec, ce qui fait que MH est retiré par MA1. MA2 initie un smooth handoff auprès de MA1 qui n'a plus MH ; cf .
Fonctionnalitées testées ici :
- enregistrement en mode 2 ok pour un MA et un MH.
- un MA sait détecter des nouveaux CH pour un MH enregistré.
- un MA sait envoyer des BU à la place du mobile.
- un MA sait provoquer l'acquittement d'un BU par un CH vers le MH.
- un MA sait faire la distinction entre les CH locaux et externes.
- un MA peut agir comme proxy entre la vcoa et la pcoa.
- deux MA sont capables de faire suivre (smooth handoff) et évoluer (détection de CH) une liste de CH .
1.1.5 lifetime configuré à 20 sec.
- MH s'enregistre mode 2 sur MA1.
- macro move vers un autre site.
- MH est retiré de la liste de MA1 pendant la détection de mouvement.
- détection de mouvement, enregistrement sur MA2.
- MA2 lance smooth handoff.
- MA1 acquitte par la négative.
- MA2 retransmet l'erreur à MH et retire MH de sa liste.
- Le processus d'enregistrement recommence ....
Fonctionnalitées testées ici :
1.1.6 MA n'a plus de tug de libre
- MH s'enregistre mode 1 ou 2 sur MA.
- MA - > BACK insuficient ressource.
- à la main on ferme un tug.
- MH s'enregistre (retransmission).
- MA n'accepte toujours pas. Il ne parvient donc pas à prendre le tug libéré par un autre programme pendant son fonctionnement.
- terminaison de MA.
- fermeture des tugs à la main.
- lancement MA.
- MH s'enregistre.
- MA accepte.
Note : le code utilisé pour la gestion des tunnels est celui du HA de MIPv6.
Fonctionnalitées testées ici :
un MA sait répondre à un mobile qu'il n'a plus de ressource pour le prendre en charge.
1.1.7 mode 2, HA down
- MH s'enregistre mode 2.
- MA acquitte MH et envoie BU VCOA à HA.
- HA up.
- MH se re enregistre car il n'a qu'un seul BACK.
- MA acquitte MH et envoie BU VCOA à HA.
- HA acquitte.
1.1.8 liaison entre MA1 et MA2 down
- MH s'enregistre sur MA1 en mode 2.
- macro move.
- MH s'enregistre sur MA2 en mode 2.
- MA2 initie smooth handoff vers MA1.
- Soit MA1 reçoit le smooth handoff et envoie la liste, mais la liste se perd.
- Soit MA1 ne reçoit pas le smooth handoff.
- MA2 relance le smooth handoff à grande cadence.
- Pendant ce temps, MH se reenregistre car il n'a pas de BACK.
- Liaison up.
- Smooth handoff completed.
Fonctionnalitées testées ici :
un MA sait renvoyer une demande de smooth handoff s'il n'obtient pas satisfaction.
1.1.9 mode 2, grande cadence de 'old position'
- MH s'enregistre sur MA1 avec un lifetime de 100.
- MA1 retransmet des BU vers le HA toutes les 100-10 sec.
- On laisse tourner quelques instants, le MH a envoyé plusieurs 'old position' à MA1. Donc son compteur de séquence est à 14 par exemple.
- MA1 lui a envoyé deux BU aux HA, le numéro de séquence est donc 2.
- macro move.
- MH s'enregistre sur MA2 avec séquence=15.
- MA2 procède au smooth handoff avec séquence=15.
- MA2 acquitte MH avec séquence=15.
- MA2 envoie un BU vers HA en utilisant séquence=15 et non 3.
- HA acquitte avec séquence=15.
Fonctionnalitées testées ici :
Un MA sait synchroniser les numéros de séquence d'un mobile et de son home agent.
- MH s'enregistre sur MA1.
- macro move et MA1 down.
- MH s'enregistre sur MA2.
- MA2 initie smooth handoff.
- MA2 relance les smooth handoff....
- MH abandonne(quitte), il se de enregistre de MA2.
- MA2 retire MH et stoppe le smooth handoff.
1.1.11 mode 2, lifetime < old position
- MH s'enregistre sur MA.
- MA retire MH après lifetime trouvé dans le paquet d'enregistrement car il ne reçoit pas de old position.
- MH ne sais pas qu'il a été retiré, il envoie maintenant des old position.
- MA rejette les old position et acquitte par MH non enregistré.
Note : peut être devrait on mettre en place un système d'acquittement lorsqu'un MH est retiré pour cause de non reception de old position (et non après un macro move).
Le MH recevant un tel acquittement pourrait ainsi augmenter son interval d'envoi de old position et se reenregèistrer.
1.1.12 mode 1, retour sur réseau mère avec MA
- MH s'enregistre sur MA1.
- détection CH1 - > PCOA.
- macro move vers le réseau mère.
- CH1 reçoit BU home.
- HA ne reçoit rien => problème au niveau de résolution d'adresse par ndp sur le réseau mère....
1.1.13 mode 2, retour sur réseau mère avec MA
- MH s'enregistre sur MA1.
- détection CH1 - > PCOA.
- macro move vers le réseau mère.
- MH s'enregistre sur MA1.
- MH lance back timer.
- MA1 de enregistre MH de HA et CH1.
- MA1 retire liste des CH de MH.
- MA1 forward les paquets de l'ancienne VCOA vers H@.
- après back timer, MH retourne état initial en faisant le ménage(tug, vcoa).
- après home timer, MA1 retire MH de sa liste.
Fonctionnalitées testées ici :
un MH sait retourner a une position normale après des mouvements.
Note : lors du de enregistrement de MH par MA1 auprès de HA, les numéros de séquence ont été synchronisés comme vu plus haut. Cela ne sert à rien ici.
1.1.14 mode 2, retour sur réseau mère avec MA, MA précédent down
- MH s'enregistre sur MA1.
- MA1 down.
- macro move vers le réseau mère.
- MH s'enregistre sur MA1.
- MH lance back timer.
- MH relance enregistrement MA1....
- back timer expire, MH retourne état initial + stoppe enregistrement MA1.
- après lifetime timer, MH est retiré de MA1 et de HA.
Fonctionnalitées testées ici :
un MH sait terminer une retransmission d'enregistrement s'il revient sur son réseau mère.
1.1.15 mode 2, retour sur réseau mère avec MA, lifetime < old position
- MH s'enregistre sur MA1.
- MH est retiré de MA1.
- macro move vers réseau mère.
- MH s'enregistre MA1 (avec MA_old = MA1).
- MA1 rejette le paquet et acquitte MH.
- back timer expire, MH retourne état initial + stoppe enregistrement MA1.
Note : MA1 refuse cet enregistrement car il est cité comme MA précédent. Ce qui peut l'ammener à s'envoyer un smooth handoff à lui même !
Fonctionnalitées testées ici :
un MA procède à des vérifications avant d'enregistrer un mobile.
1.1.16 micro mouvements mode 2
- MH s'enregistre sur MA1.
- détection CH1 - > PCOA et CH2 - > VCOA.
- minor move.
- MH s'enregistre sur MA1.
- MA1 envoie BU nouvelle PCOA à CH1.
- macro move.
- MH s'enregistre sur MA2.
- smooth handoff.
- HA et CH1 reçoivent nouvelle VCOA.
- CH2 reçoit nouvelle PCOA.
- micro move.
- MH s'enregistre sur MA2.
- CH2 reçoit nouvelle PCOA.
Fonctionnalitées testées ici :
un MA en mode deux est capables de gérer les déplacements intra domaine.
1.1.17 micro mouvements mode 1
Le même test que si dessus excepté que :
- les enregistrements sont fait en mode 1.
- les BU sont envoyés par le MH.
- il n'y a pas de smooth handoff mais simplement une 'poursuite'.
1.1.18 macro move mode 2 sur site mode 1, ancien MA HS
- MH s'enregistre sur MA1 en mode 2.
- détection CH local - > PCOA.
- macro move vers site mode 1.
- MH envoie smooth request à MA1.
- MH envoie smooth request à MA1.
- MH envoie smooth request à MA1.
- après x tentative, MH swap en mode 1.
- enregistrement sur MA2.
- MA2 envoie forward request à MA1.
- envoie BU VCOA vers HA.
Fonctionnalitées testées ici :
Un MH sait abandonner un swap qui semble ne rien donner.
Note : pour envoyer un BU au HA nous augmentons fortement le numéro de séquence de celui-ci. Cela peut fonctionner ou non, mais nous n'avons pas d'autre solution. De plus la liste des CN est perdue. Les CN devront attendre que leur binding expire avant de retrouver le mobile.
1.1.19 macro move mode 2 sur site MIP, ancien MA HS
- MH s'enregistre sur MA1 en mode 2.
- détection CH local - > PCOA.
- macro move vers site mode 1.
- MH envoie smooth request à MA1.
- MH envoie smooth request à MA1.
- MH envoie smooth request à MA1.
- après x tentative, MH swap en MIP.
- MH envoie BU COA vers HA.
Note : même remarque que ci-dessus.
1.1.20 macro move mode 2, ancien MA HS
1.1.21 liaison entre MA1 et MA2 down
- MH s'enregistre sur MA1 en mode 2.
- macro move.
- MH s'enregistre sur MA2 en mode 2.
- MA2 initie smooth handoff vers MA1.
- Soit MA1 reçoit le smooth handoff et envoie la liste, mais la liste se perd.
- Soit MA1 ne reçoit pas le smooth handoff.
- MA2 relance le smooth handoff à grande cadence.
- après x tentative MA2 rennonce et informe le mobile de l'echec.
- pendant ce temps MH continuait de s'enregistrer.
- s'il est encore en phase d'enregistrement, le back ne le satisfait pas, donc il continue.
- soit il a déjà renonncé de lui même avant de recevoir le back négatif du MA, auquel cas il est en train de swapper. Le back est jeté car inutile.
- MH tente de swapper en mode 1 (car il y a un MA) et lance un smooth handoff à MA1.
- MH relance le SH.
- après x tentatives, MH abandonne et se créait une nouvelle liste avec seulement son HA avec un numéro de séquence très grand.
- MH s'enregistre mode 1 sur MA2.
- MH envoie BU - > VCOA à HA.
Fonctionnalitées testées ici :
Un MA sait abanndonner un smooth handoff qui n'aboutit pas. Il en informe MH.
1.2 MH boot sur réseau mère
1.2.1 Plusieurs mouvements en mode 2
- MH boot.
- macro move vers MA1.
- MH s'enregistre sur MA1.
- détection CH2 - > VCOA.
- macro move vers MA2.
- MH s'enregistre sur MA2.
- smooth handoff depuis MA2 vers MA1.
- MA2 envoie BU VCOA vers HA.
- MA2 envoie BU PCOA vers CH2.
- détection CH1 - > VCOA.
- macro move vers réseau mère.
- MH s'enregistre sur MA2.
- MA2 envoie BU H@ vers HA, CH1 et CH2.
Fonctionnalitées testées ici :
un MH peut gérer plusieurs mouvements en mode 2 avant de revenir sur son réseau mère.
1.2.2 macro move, MA HS
- MH boot.
- macro move vers MA.
- MH s'enregistre sur MA.
- MH s'enregistre sur MA.
- MH s'enregistre sur MA.
- après x tentatives, MA swap MIP.
- HA reçoit BU COA.
Fonctionnalitées testées ici :
Le MH sait abandonner un enregistrement qui visiblement ne donnera rien.
Note : le test a été fait avec le mode 1 et le mode 2.
Un multitude de tests permettent d'affirmer que :
- booter sur son réseau mère et effectuer un macro mouvement.
- booter sur réseau extérieur.
reviennent au même état. C'est pourquoi, il y a une grande quantité de tests dans 1.1 et peu dans 1.2
2 Un MA en mode 1 et un en mode 2
2.1 MH boot en visite
2.1.1 mode 2 sur mode 1.
- MH détecte dans le rtadv que le mode disponible est 1, il swap.
- MH s'enregistre mode 1 sur MA1.
Fonctionnalitées testées ici :
un MH bootant en mode 2 sur un réseau mode 1, est capable de s'adapter au mode 1.
Note : nous voyons ici qu'il n'est pas possible d'envoyer d'enregistrement mode 2 sur un MA mode 1. Cependant, dans le code du MA, nous avons effectuons un test pour vérifier la demande du mobile. Si le test échoue nous lui retournons un acquitement : OPT6_BNDA_MODE.
Le mobile peux alors corriger le tir, s'il ne l'a pas déjà fait à cause des rt adv.
2.1.2 mode 2 vers mode 1.
- MH s'enregistre mode 2 sur MA2.
- détection CH1 - > VCOA.
- macro move.
- détection de MA1 en mode 1.
- lancement smooth handoff vers MA2.
- MA2 envoie liste des CN, forward les paquets vers nouvelle PCOA, et stoppe l'envoie de BU.
- MH s'enregistre sur MA1 en mode1.
- MH envoie BU VCOA vers HA.
- MH envoie BU PCOA vers CH1.
- MA2 retire MH après forward timer.
Fonctionnalitées testées ici :
un MH est capable de lancer lui même des smooth handoff pour récupérer sa liste de CH, afin de changer de mode (mode 2 vers mode 1).
Note : le forwarding des paquets depuis MA2 est fait vers la nouvelle PCOA et non la nouvelle VCOA, car le mobile n'est pas encore enregistré sur le nouveau MA.
2.1.3 mode 2 sur du mode 1
- MH boot et lie les info du MA.
- MH passe en mode 1.
- fonctionnement classique.
Fonctionnalitées testées ici :
un MH lancé en mode 2 est capable de s'adapter au mode 1 lors du boot.
2.1.4 macro move mode 1 vers mode 2
- MH initialisé à 2 boot sur mode 1
- MH s'enregistre mode 1 sur MA1.
- MH envoie BU VCOA à HA.
- détection CH1 - > PCOA et CH2 - > VCOA.
- macro move vers mode 2.
- MH s'enregistre sur MA2.
- MH envoie cn list à MA2.
- MA2 envoie BU VCOA à HA et CH1.
- MA2 envoie BU PCOA à CH2.
- MA2 envoie forward à MA1.
- MA2 acquitte MH.
- MH retire cn de sa liste (sauf HA).)
Fonctionnalitées testées ici :
- un MH sait changer de mode 1 vers mode 2 (envoyer sa liste de cn).
- un MA sait gérer les cn list arrivant pour des mobiles sans smooth handoff.
3 Un MA en mode 2 et MIP
3.1 MH boot en visite
3.1.1 macro move, mode 1 vers MIP
- MH s'enregistre sur MA1.
- détection CH1 - > PCOA et CH2 - > VCOA.
- macro move.
- MH lance lui même la poursuite vers MA1.
- MH envoie BU COA vers HA, CH1 et CH2.
Fonctionnalitées testées ici :
un MH est capable de changer de mode (mode 1 vers MIP).
3.1.2 macro move, mode 2 vers MIP
- MH s'enregistre sur MA1.
- détection CH1 - > PCOA et CH2 - > VCOA.
- macro move.
- MH lance lui même le smooth handoff vers MA1.
- MA1 envoie la liste de CH.
- MH envoie BU COA vers HA, CH1 et CH2.
Fonctionnalitées testées ici :
un MH est capable de changer de mode (mode 2 vers MIP).
3.1.3 mode 2 sur du MIP
- MH boot et lie les info du MA.
- MH passe en MIP.
- fonctionnement classique.
Fonctionnalitées testées ici :
un MH lancé en mode 2 est capable de s'adapter à MIP lors du boot.
3.1.4 macro move MIP vers mode 2
- MH initialisé à 2 boot sur MIP
- MH swap.
- MH envoie BU COA à HA.
- détection CH1 et CH2 - > COA.
- macro move vers mode 2.
- MH s'enregistre sur MA.
- MH envoie cn list à MA.
- MA envoie BU VCOA à HA et CH1.
- MA envoie BU PCOA à CH2.
- MA acquitte MH.
- MH retire cn de sa liste (sauf HA).)
Fonctionnalitées testées ici :
un MH sait changer de mode mip vers mode 2.
3.1.5 macro move MIP vers mode 2
- MH initialisé à 1 boot sur MIP
- MH swap.
- MH envoie BU COA à HA.
- détection CH1 et CH2 - > COA.
- macro move vers mode 2.
- MH s'enregistre mode 1 sur MA.
- MH envoie BU VCOA à HA et CH1.
- MH envoie BU PCOA à CH2.
Fonctionnalitées testées ici :
un MH sait changer de mode mip vers mode 1.
File translated fromTEXby TTH,version 2.56.
On 4 Feb 2000, 17:19.