Réflexion sur la détection de mouvement Mobile IPv6

 

INRIA, PLANETE

Projet MobiSecV6

juillet 99

 

Nous allons ici nous livrer à une réflexion sur la détection de mouvement dans Mobile IPv6. Ce document sert donc de base pour discuter du problème au sein du projet MobiSecV6. Le débat pourra ensuite être porté devant le G6, et/ou un working group de l'IETF.

 

La détection de mouvement niveau 2 / niveau 3

 

Pour obtenir un Mobile IP totalement indépendant de la couche 2, il convient de réaliser la détection de mouvement au niveau IP. Utiliser les informations des diverses couches de niveau 2 (GSM, WLAN), pourrait être des optimisations. Il n'est pas raisonnable de les utiliser par défaut car on devient dépendant de l'architecture. Ceci pourrait être possible s'il n'existait qu'un seul type de protocole niveau 2, mais ce n'est aujourd'hui pas le cas. De plus ces protocoles sont souvent des protocoles propriétaires. Nous nous efforcerons donc d'énoncer des solutions basées sur IP.

 

Algorithmes de détection de mouvement basés sur les routers adv.

 

Petit rappel : le démon de ND utilise les router adv. (RA) pour construire une liste de préfix accessibles et une liste de routeurs. A l'initialisation le routeur par défaut est le premier de la liste.

Ensuite chaque nouvelle arrivée de RA donne naissance à un nouveau préfix dans la liste.

 

La question est donc, quand doit on changer de routeur par défaut / préfix ?

 

On peut répondre qu'il faut changer de préfix lorsque le routeur par défaut actuel n'est plus accessible. La question devient comment détecter qu'un routeur n'est plus accessible.

 

Un préfix a une durée de vie. La première idée est de dire j'utilise le préfix associé au routeur par défaut jusqu'à l'expiration de sa durée de vie. Lorsque cette durée a expiré, il suffit de choisir un nouveau préfix.

Le fait que la durée de vie ait expiré ne signifie pas que le routeur n'est plus accessible. Il suffit de solliciter le routeur, s'il ne répond pas on prend le routeur suivant dans la liste. S'il répond, on repart pour une durée de vie.

 

Pour améliorer encore un peu cette méthode, on peut imaginer que chaque RA reçu durant le décompte de la durée de vie du préfix associé, ré initialise le compteur.

Pour optimiser un peu on peut envoyer la sollicitation lorsque la durée de vie est presque expirée.

 

Une telle méthode suppose évidemment que l'intervalle des RA est relativement court. Nous ne sommes pas obligés de forcer la réduction de cet intervalle sur l'ensemble des réseaux. Il est plus que probable qu'un site n'autorise pas la connexion des mobiles sur n'importe lequel de ses réseaux. Il y aura certainement des réseaux autorisés ou même des réseaux dédiés. Sur ces types de réseaux l'administrateur pourra configurer un intervalle d'émission des RA adapté à la mobilité.

 

Ceci peut être un inconvénient car le trafic sur le réseau augmente.

Ceci n'est pas adapté pour des réseaux de mobiles qui sont des réseaux à faible bande passante.

Et ce n'est pas non plus adapté pour des réseaux mixtes, car cela augmente la signalisation en permanence pour rien. Dans ce cas précis, on laisse un intervalle d'émission de RA classique, et un mobile arrivant sur un réseau mixte provoque les émissions de RA en sollicitant le routeur à une grande fréquence. Tous les mobiles profitent alors des RA. Il convient de synchroniser les mobiles, car si chacun d'entre eux émet des sollicitations, le réseau va s'écrouler. Si aucun mobile n'est présent sur le brin, alors les RA sont émis avec un intervalle classique.

Un petit problème apparaît si on imagine être sur une liaison unidirectionnelle, telle un lien satellite. Comment envoyer des sollicitations ?

 

Une autre solution pour changer de routeur par défaut est de dire dès que l'on reçoit un nouveau préfix, c'est qu'on a bougé, donc on change de préfix / routeur. Cette méthode est un peu brutale et peut amener au phénomène de "ping pong".

Pour éviter ceci, à la réception d'un nouveau RA, on peut solliciter le routeur actuel.

a) S'il répond, on le conserve.

b) S'il ne répond pas dans un temps déterminé, on change de routeur pour prendre le nouveau.

 

Le cas a) est intéressant à approfondir. Imaginons que nous avons un mobile avec une interface réseau sans file. Les réseaux sont des zones géographiques, des cellules. Il est fort probable que les zones se recouvrent un peu dans les régions frontières. Dans ces régions, il y aura donc deux RA différents.

Lorsqu'un mobile arrive dans une telle zone, il reçoit un nouveau RA. Il sollicite son routeur par défaut, qui est toujours accessible. Il le conserve donc. Il n'est pas judicieux de initialiser la durée de vie du routeur, car il est fort probable que le mobile poursuivra sa course dans la même direction et que donc la portée de l'actuel routeur par défaut soit proche de sa limite.

L'arrivé d'un nouveau RA pourrait dans ce cas là raccourcir la durée de vie du routeur par défaut, ce afin de détecter au plus vite la perte du routeur par défaut.

 

Réseau mère

 

Une mention spéciale doit être faite sur le réseau mère. Il serait bon de prendre le routeur du réseau mère dès que possible, afin d'éviter la triangulation. J'entend par là que la détection du home prefix est un cas particulier de détection de mouvement qui ne doit pas suivre les méthodes vues ci dessus. Dès que le home prefix est détecté, le mobile doit le prendre pour routeur par défaut, et ainsi utiliser sa home address.

 

Algorithmes de détection de mouvement non basés sur les routers adv.

 

Une solution pourrait être d'écouter tous les paquets du brin de réseau sur lequel l'interface est connectée. En décodant l'adresse source, on doit être capable de déterminer que l'on a changé de préfix. Il suffirait alors de solliciter le routeur par défaut actuel pour vérifier s'il peut être joint. En même temps, une sollicitation de tous les routeurs du brin peut être faite. En fonction des réponses, on change ou non.

 

Les inconvénients de cette méthode sont que l'interface doit être en promiscuous mode et que s'il n'y a pas de trafic sur le brin, on ne détecte pas le mouvement instantanément.

 

 

Remerciements

 

Imad ADD, INRIA.

Claude Castelluccia, INRIA.