# Mobilité IP

La mobilité IP (mobile IP ou IP mobility en anglais) est un protocole standard de communications de l'IETF (Internet Engineering Task Force). Il a été conçu pour permettre aux utilisateurs de se déplacer depuis un réseau IP vers un autre réseau IP tout en maintenant les connexions actives et la même adresse IP. La mobilité IP pour IPv4 est décrite dans la RFC 5944, avec des extensions décrites dans la RFC 4721. La mobilité IPv6, l'implémentation de la mobilité IP pour IPv6, est définie dans la RFC 3775.

## Vue d'ensemble

Le protocole de mobilité IP permet le routage de paquets IP sur Internet indépendamment de l'emplacement.
Chaque nœud itinérant est identifié par son adresse personnelle (home address), quel que soit son emplacement actuel sur Internet. Quand il est éloigné de son réseau de base, un nœud itinérant se voit attribuer une adresse aux bons soins de (care-of address) qui permet de retrouver sa position actuelle et son adresse personnelle est associée au point d'arrivée d'un tunnel vers son agent personnel (home agent). La mobilité IP précise comment un nœud itinérant s'enregistre auprès de son agent personnel et comment cet agent personnel route les paquets vers le nœud itinérant au travers du tunnel.

## Applications

Dans de nombreuses applications (par exemple les réseaux privés virtuels ou la voix sur IP), les changements brutaux de la connexion au réseau et en particulier de l'adresse IP peuvent causer des problèmes. Le protocole de mobilité IP a été conçu pour permettre un nomadisme transparent et une connexion continue à Internet.
On rencontre le plus souvent la mobilité IP dans les environnements câblés et sans fil où les utilisateurs ont besoin de se déplacer avec leurs équipements portables de réseau local en réseau local. On peut citer les déplacements entre réseaux sans fil qui se recouvrent, c'est-à-dire dans les cas de IP par diffusion vidéo numérique, Wi-Fi, WiMAX et technologie large bande mobile.
La mobilité IP n'est pas nécessaire avec les systèmes cellulaires comme la téléphonie mobile 3G pour offrir la transparence quand les utilisateurs d'Internet se déplacent d'une antenne cellulaire à l'autre. En effet, ces systèmes fournissent leur propre système de basculement au niveau de la couche de liaison ainsi que leurs propres mécanismes de prise en charge du nomadisme. Néanmoins, on l'utilise fréquemment dans les systèmes 3G pour éviter les heurts lorsque l'on change de point d'accès à l'Internet (packet data serving node ou PDSN).

## Principe de fonctionnement

Un nœud itinérant a deux adresses : une adresse personnelle qui ne change pas et une adresse aux bons soins de (care-of address ou CoA en anglais), qui appartient au réseau hôte visité. 2 machines interviennent dans le mécanisme de la Mobilité IP :
* Un agent personnel (home agent) enregistre les informations sur les nœuds nomades. L'adresse personnelle permanente se trouve dans le réseau de l'agent personnel.
* Un agent étranger (foreign agent) enregistre les informations sur les nœuds itinérants visitant son réseau. Les agents étrangers annoncent les adresses aux bons soins de permettant de joindre les nœuds en déplacement. S'il n'y a pas d'agent étranger dans le réseau hôte, c'est le nœud itinérant lui-même qui se charge de tout.
Un ordinateur qui désire communiquer avec le nœud itinérant utilise son adresse permanente pour le joindre. Comme l'adresse personnelle appartient au réseau du home agent, les mécanismes normaux du routage IP font parvenir cette adresse à cet agent. Au lieu de remettre les paquets qui sont destinés au nœud itinérant sur le réseau local, l'agent personnel redirige ces paquets vers l'emplacement réel du poste itinérant au moyen d'un tunnel IP. Pour cela, il encapsule le datagramme en ajoutant un nouvel en-tête IP qui utilise l'adresse temporaire du nœud itinérant.
Lorsque le nœud itinérant est à l'origine de la transmission de données, il envoie les paquets directement à son destinataire, sans passer par son agent personnel. Pour cela, il utilise son adresse permanente personnelle comme adresse source dans le paquet IP. Ce mécanisme est connu sous le nom de routage triangulaire. Si c'est nécessaire, l'agent étranger peut utiliser un tunnel inverse (reverse tunneling en anglais) en plaçant les paquets du nœud itinérant dans un tunnel à destination de l'agent personnel, qui les réémet alors au destinataire. Ce détour est nécessaire dans les réseaux où les passerelles vérifient que l'adresse IP source du nœud itinérant appartient bien à leur réseau.