Vous êtes sur la page 1sur 28

Nathan CASTELEIN

Karim HAMIDOU
Csar MARCHAL
Christian PATRY

SR04
Projet dtude et dexprimentation Mobilit IPv6

1
Contenu
Pourquoi IPv6 est arriv ?.................................................................................................................................... 4
Fonctionnement IPv6 .......................................................................................................................................... 5
Adressage ........................................................................................................................................................ 5
Unicast ......................................................................................................................................................... 5
Multicast ...................................................................................................................................................... 6
Anycast ........................................................................................................................................................ 6
Adresses particulires ................................................................................................................................. 6
Auto-configuration .......................................................................................................................................... 7
Neighbor Discovery Protocol ....................................................................................................................... 7
Auto-configuration sans tat (SLAAC) ......................................................................................................... 7
Auto-configuration stateful ......................................................................................................................... 7
Routage ........................................................................................................................................................... 8
Routage interne IGP (Interior Gateway Protocols) ..................................................................................... 8
Routage Externe EGP (Exterior Gateway Protocols) ................................................................................... 8
DHCPv6 ............................................................................................................................................................ 9
Etude de la mobilit .......................................................................................................................................... 10
Dfinition ....................................................................................................................................................... 10
Fonctionnement en IPv4 ............................................................................................................................... 10
La mobilit IPv6 : dfinitions ......................................................................................................................... 11
Home Address ........................................................................................................................................... 11
Care of Address ......................................................................................................................................... 12
Mobile Node (nud mobile) ..................................................................................................................... 12
Correspondent node (nud correspondant) ............................................................................................ 12
Home Agent ............................................................................................................................................... 12
Fonctionnement de la mobilit IPv6 ............................................................................................................. 12
Nud mobile dans son rseau mre ........................................................................................................ 13
Nud mobile dans un rseau tranger .................................................................................................... 13
Interception des paquets .......................................................................................................................... 14
Retour dans le rseau mre ...................................................................................................................... 15
Optimisation de routage ........................................................................................................................... 15
Mobility header ............................................................................................................................................. 16
Nouveaux messages ICMP ............................................................................................................................. 17
Risques et scurit de la mobilit IPv6 .......................................................................................................... 17

2
Mise en uvre de la mobilit............................................................................................................................ 18
Matriel ......................................................................................................................................................... 18
Prparation des terminaux et routeurs IPv6 ................................................................................................. 18
OpenWRT................................................................................................................................................... 18
Historique .................................................................................................................................................. 19
Compilation du noyau ............................................................................................................................... 19
Nouvelle architecture pour notre rseau ...................................................................................................... 21
Virtualisation ................................................................................................................................................. 21
La mobilit IPv6 ct software ...................................................................................................................... 22
Radvd ......................................................................................................................................................... 22
Daemon UMIP et UserSpace ..................................................................................................................... 24
Deuxime plateforme de test avec Nautilus ................................................................................................. 25
Le protocole SSP : un remplaant de la mobilit IP pour la couche application ............................................... 27
Conclusion ......................................................................................................................................................... 28

3
Pourquoi IPv6 est arriv ?
A lorigine, le protocole IP navait jamais t prvu pour fonctionner lchelle mondiale et, lpoque de sa
cration, personne naurait pu prvoir lexpansion dinternet qui eut lieu quelques annes plus tard. Dune
centaine de machines, au maximum, prvu lors de la conception, le rseau a rapidement grandi avec
larrive de nombreuses universits, puis du grand public, quelques annes plus tard.

Comme le format des adresses IPv4 limitait le nombre maximum dquipements connects, les chercheurs
ont rapidement travaill sur une nouvelle version du protocole visant corriger ce dfaut, pendant que
dautres ingnieurs mettaient en place des solutions durgence.

Cest ainsi que les premires universits avoir travaill sur le projet ont accept de rendre une partie de
leur, beaucoup trop grande, plage dadresses. Puis, laide de ladressage priv et du NAT (translation du
port source), des rseaux entiers ont pu communiquer avec lextrieur laide de seulement quelques
adresses publiques. Enfin, la mise au point du Classless Inter-Domain Routing (CIDR) a permis dallger les
tables de routage et dviter le gaspillage dadresses en distribuant des plages plus petites.

De nos jours pourtant, ces premires mesures arrivent essoufflement et internet est de nouveau confront
plusieurs problmes majeurs :
De nombreuses autorits internationales (comme lAPNIC ou IANA) nont plus de rserves
dadresses IPv4. Dans quelques annes, les territoires qui ont t moins bien desservis lorigine
(comme lAsie) risque de connaitre des problmes de connectivits, dus la forte croissance de leur
nombre dinternautes.
Lexplosion du rseau allonge les tables de routage, qui sont de plus en plus surchargs. Les grandes
classes dadresses ont t morceles afin doptimiser leur taux dutilisation, ce qui a coup tout lien
entre adresse et localisation gographique.
Linter-connectivit globale est remise en question, ce qui pourrait amener la cration de plusieurs
rseaux indpendants, ou tout du moins spars.

Ces dernires annes, de nombreuses initiatives ont donc t lances afin dacclrer le dploiement dipv6
sur le rseau. Cest par exemple le cas du World ipv6 Day , qui a regroup les principaux acteurs du web
en 2011. Pourtant, encore aujourdhui, alors que les spcifications du protocole sont termines depuis la RFC
2460 de dcembre 1998, moins de 0,5% du trafic mondial passerait par ipv6.

Dans ce rapport nous ralisons une tude thorique dipv6 afin de mieux comprendre ses mcanismes et ses
avantages. Nous dcrirons ensuite les outils que nous avons utiliss pour notre dmonstration pratique et
les solutions que nous avons tentes de mettre en place afin de tester la mobilit sur ce nouveau protocole.

4
Fonctionnement IPv6
Si la principale nouveaut de la version 6 tient son adressage sur 128bits, de nombreuses innovations ont
aussi t implmentes par rapport la version prcdente.

Le protocole possde dsormais des mcanismes dauto-configuration qui facilite lajout de nouvelles
machines un rseau, de nouvelles possibilits pour les terminaux mobiles, ainsi que des enttes
simplifies, visant faciliter le routage. Enfin la diffusion a t amliore en supprimant les paquets
broadcast, en valorisant le multicast, en faisant disparaitre la fragmentation des paquets et en gnralisant
lutilisation dIPSec.

Adressage
Ipv6 reconnait 3 types dadresses :

Unicast
Dsigne de manire unique une interface. Il en existe 3 types :
Les adresses globales sont uniques pour chaque machine connecte, et peuvent donc tre utilises
sur internet. Elles utilisent le prfixe 2000::/3.

001 Global Prefix Subnet ID Interface ID


3 45 16 64
Global Prefix : Topologie publique du fournisseur, sur 48 bits (assign par le provider).
SID : Topologie du site (sous-rseaux), sur 16 bits (assign par le rseau).

Interface ID : Identifiant pour les machines, sur 64bits (assign manuellement ou de manire automatique).
Peut tre construit partir de ladresse MAC ou gnr alatoirement pour plus de confidentialit.

Les adresses lien-local sont utilises pour les nouveaux protocoles de configuration et de
dcouverte. Elles sont restreintes un seul lien, cest--dire un ensemble de machines
interconnectes, sans routeur intermdiaire. Elles utilisent le prfixe FE80::/10.

FE8 0 Interface ID
10 54 64
Seul lidentifiant de la machine est ncessaire puisque la porte est locale.

Les adresses uniques locales sont les remplaantes des classes dadresses prives dIPv4. Elles sont
dfinies pour un ensemble de rseaux et ne doivent pas tre routes sur internet. Elles utilisent le
prfixe FC00::/7.

FC00 L Global ID Subnet ID Interface ID


7 1 40 16 64
L : Si gal 1, identifie une adresse dfinit localement, le 0 na pas encore de signification.

5
Global ID : Rend ladresse locale transparente pour les programmes, qui pensent avoir faire une adresse
globale.

Multicast
Dsigne un groupe dinterface.

quivalentes la technologie IPv4, elles utilisent le prfixe FF0X::/8. Gres par les routeurs, ces adresses
ont diffrentes portes (lien, LAN, monde, ) et permettent de contacter un groupe de machines,
pralablement inscrites, souvent en fonction de leur rle sur le rseau (serveurs DHCP, routeurs, ). Le
broadcast nexistant plus en IPv6 (il tait trs couteux en performance sous la version 4), un mcanisme
smilaire existe en utilisant un groupe multicast (all-nodes) qui comprend toutes les adresses du rseau.

Anycast
Dsigne un groupe dadresses de manire transparente. Aprs le premier envoi, la communication seffectue
avec le plus proche (ou le plus rapide avoir rpondu).

Sa structure est encore dfinir car le standard est toujours en cours de recherche et damlioration. Dans
tous les cas, ladresse nest pas diffrenciable par rapport une adresse unicast, seule la machine qui lutilise
est au courant de sa spcificit.

Adresses particulires
:: -> 0.0.0.0 : Passerelle par dfaut et adresse source utilise lors de la dcouverte de son IP.
::1 -> 127.0.0.1 : Boucle Local.
::FFFF:a.b.c.d : Mappage : Communication en IPv4 avec une machine en IPv4.
::a.b.c.d : Compatible : Communication entre deux machines IPv6 travers un rseau ipv4.

6
Auto-configuration
Les crateurs dIPv6 se sont bass sur les caractristiques du plug and play pour btir les mcanismes de
configuration. Le but est de permettre une machine de se connecter de manire autonome un rseau,
sans laide dun serveur auxiliaire, et dentrer rapidement en communication, avec des machines locales et
vers lextrieur.

Neighbor Discovery Protocol


Il sagit du successeur dARP, qui tire sa rvrence. Ce protocole se base sur lchange de messages ICMPv6.
Si tout comme son prdcesseur il permet la rsolution dadresses, tout en vitant les broadcast, ce
nouveau protocole offre aussi de nouvelles possibilits :

Neighbor Unreachability Detection : Permet de dtecter les quipements voisins devenus


inaccessibles et de les effacer de ses tables de routage.
Indication de redirection : En IPv6, si une machine met vers un routeur alors que la machine de
destination est sur le mme rseau, le routeur renverra un message ICMPv6 afin den informer
lmetteur. Une configuration par dfaut pourrait donc tre dmettre toutes les trames en direction
du routeur.

Lauto-configuration seffectue en 4 tapes :

Dcouverte des routeurs.


Dcouverte des prfixes : Ladresse IP que sauto-attribue la machine est constitue de deux parties.
La premire est fixe et dfinie par le rseau, la seconde est constitue partir de ladresse MAC de
linterface.
Dtection dadresse duplique : La machine utilise le protocole DAD (Duplicate Address Detection,
RFC4429) pour vrifier si un quipement sur le rseau ne possde pas dj ladresse IP quelle vient
de crer. Si la vrification est concluante, ladresse IP devient dfinitive et peut tre utilise.
Dcouverte des paramtres : Rcupre les caractristiques du lien physique (MTU, TTL, ).

Cette dernire tape informe aussi la machine du type dauto-configuration mise en place sur le rseau :

Auto-configuration sans tat (SLAAC)


Lauto-configuration sans tat (en anglais StateLess Address Auto Configuration) convient principalement
aux rseaux de petites tailles, et qui nont pas besoin dune table dassociation globale des adresses. Les
machines se dbrouillent toutes seules entre-elles, sans entit dcisionnelle centrale. Chaque terminal
gnre une adresse lien-local et une adresse unicast global, avec le mme identifiant dinterface, ce qui lui
permet de dialoguer lintrieur du LAN comme lextrieur. Si un r-adressage est ncessaire, les
machines seront prvenues par les routeurs, qui fourniront le nouveau prfixe du rseau.

Ce mcanisme dapparence simple pose cependant de nombreux problmes de scurit (type spoofing et
redirect) quil faut correctement analyser et contrer.

Auto-configuration stateful
Le mcanisme de base est identique, mais cette fois-ci la configuration peut tre contrle avec plus de
prcision, et les adresses de chaque machine sont stockes. Lauto-configuration avec tat repose sur
lutilisation dun serveur DHCPv6, dcrite ci-dessous. Il faut savoir que les 2 mthodes de configuration (avec
et sans tat) peuvent cohabiter sur un mme rseau.

7
Routage

Cela fait de nombreuses annes maintenant que les principaux protocoles de routage de linternet sont
compatibles avec IPv6, les algorithmes nont dailleurs pas beaucoup chang avec la nouvelle version. Tout
au plus ont-ils gagn des spcificits permettant de prendre en compte les quelques nouveauts. Le routage
statique IPv6 tant identique son prdcesseur, nous nous concentrerons sur les protocoles de routage
dynamiques.

Routage interne IGP (Interior Gateway Protocols)


Ce type de protocole permet une configuration automatique des tables de routage lintrieur dun rseau.
Ce sont les routeurs qui dterminent les plus cours chemin pour chaque destination, en schangeant des
informations. Il existe trois principaux algorithmes de routage interne : RIPv2, IS-IS et OSPFv2. Le premier est
un protocole vecteur de distance , cest--dire que chaque routeur envoie aux autres la distance qui les
spare. Les deux suivants sont dits tat de lien , les routeurs envoyant leurs voisins ltat de leur
connexion, ce qui permet chacun de dresser une carte globale du rseau.

RIPng, la nouvelle version compatible IPv6 possde un format identique la version 2, mais les
fonctionnalits dauthentification ont t retires, la scurit se basant dsormais sur IPSec, inclus dans IPv6.
Les paquets changs utilisent dornavant le multicast (adresse all-rip-router : FF02::9) et transitent par le
port UDP 521 (au lieu du 520).

Intermediate System to Intermediate System sappuyant sur la couche 2, il est donc compatible nativement
avec toutes les versions du protocole IP. IS-IS utilise des lments appels TLV (Type (proprit), Longueur
(nombre de valeurs diffrentes), Valeur (les informations)) pour faire transiter les donnes sur les routes. De
nouvelles TLV ont donc simplement t ajoutes pour IPv6, afin dinformer de la compatibilit du routeur
avec ce nouveau protocole ou, par exemple, pour supporter les adresses de type lien local.

OSPFv3 est dsormais lui aussi indpendant de toutes version du protocole IP. Les routeurs voisins sont
dornavant identifis par un RouterID (sur 32 bits) et le protocole utilise les adresses de lien local et la
scurit dIPSec. Ladresse multicast correspondant (OSPFv3 AllDR Routers) est FF02::6.

Routage Externe EGP (Exterior Gateway Protocols)


Deuxime groupe de protocole de routage pour linternet. Cette fois-ci les routes sont changes entre deux
rseaux bien distincts (dit autonome ), les informations viennent de lextrieur. Ce systme permet
dallger les tables de routage mondiales, puisque linfrastructure du rseau est masque et que tous les
routeurs internes sont accessibles depuis lextrieur partir dune seule route.

BGP4+ (aussi appel MBGP) est la nouvelle version du protocole BGP4. Elle le rend multi protocole avec
lajout de champs pour diffrencier la famille de ladresse (IPv4 ou IPv6) et de sa sous-famille (Unicast,
Anycast, multicast).

8
DHCPv6
A premire vue, un serveur DHCP tel quimplment dans le protocole IP version 4 nest plus autant
ncessaire en IPv6 :

Les machines peuvent communiquer de manire locale avec des identifiants de faible porte.
Les adresses ne sont plus une ressource rare quil faut conomiser et contrler.
Des mcanismes automatiques existent dsormais pour permettre la connexion des ordinateurs au
rseau.

Nanmoins la nouvelle version du protocole va permettre une surveillance plus fine de lauto-configuration,
ce qui peut savrer intressant pour les rseaux de taille importante.

DHCPv6 repose donc toujours sur le modle client-serveur de son prdcesseur. Lors des changes, le client
pourra obtenir les diffrents paramtres dadressage, les serveurs de noms (DNS) ainsi que des adresses
dannuaires (NIS).

Son fonctionnement est proche du DHCP pour IPv4. Un client contacte un serveur DHCP laide de ladresse
multicast FF02::1:2, aprs lchange de donnes didentification, le serveur lui fournit une adresse IP. La
communication avec le client seffectue travers 12 messages DHCP diffrents, cest 4 de plus quen IPv4.
Les nouveaux changes concernent principalement la notification de renouvellement des paramtres que
peut dsormais envoyer le serveur, ainsi que le passage des informations travers un relais intermdiaire
(dans le cas o le serveur DHCP nest pas sur le mme lien que la machine).

Du ct serveur, chaque client possde une liste dadresses pour son interface, appele Identity Association,
ce qui simplifie la gestion des dures de vies des adresses et le processus de renumrotation (changement
des prfixes du rseau). Pour reconnaitre les diffrentes machines, DHCPv6 utilise un identifiant unique
plutt que ladresse MAC, le DUID-LL (Link-Layer). A terme, le but de la configuration avec tat est de dfinir
des adresses permanentes aux machines.

9
Etude de la mobilit
Dfinition
Avant toute chose, il semble important de prendre le temps de dfinir ce quest la mobilit IP. Lide est de
permettre aux utilisateurs de se dplacer dun rseau un autre en conservant une connexion active, et une
mme adresse IP. Elle implique donc trois sous-problmes :

- tre joignable
- Pouvoir communiquer
- Conserver la communication lors dun dplacement

Par connexion active, nous entendons maintenir tous les liens entre le rseau et le nud mobile. Par
exemple si une connexion TCP est mise en place entre deux nuds, ces deux nuds doivent conserver cette
connexion mme si lun des nuds se dplace.

Fonctionnement en IPv4
Contrairement ce que lon peut penser, la mobilit est un sujet qui avait dj t abord dans la version 4
du protocole IP.

Pour rappel, le protocole IPv4 a t dfini en 1981, dans la RFC 791. Dans cette premire dfinition, il ntait
alors pas question de mobilit. Ce concept ntait peut-tre mme pas dans lesprit des gens. Qui aurait pu
penser, en 1981, que le 21ime sicle serait le sicle de la mobilit ?

Toujours est-il que cette mobilit na pas t dfinie la base du protocole IPv4. Bien videmment, quelques
annes plus tard, la mobilit prenait son importance et il devenait intressant dy rflchir. Cest en 1998
que lIETF a standardis une solution de mobilit pour le protocole en IPv4, au travers de la RFC 3344.
Nanmoins, cette poque, le protocole tait dj mature et fortement dploy. Il tait donc impensable de
transformer le protocole la source, ce qui pouvait entraner une modification de toute la structure IPv4
dj existante.

En effet, le protocole IPv4, avec sa notion de masques et de classes de rseaux, ne regarde que trs
rarement ladresse complte dune machine : il ne sy intresse que si la partie rseau de ladresse le
concerne. Les paquets se transmettent de routeur en routeur sans regarder ladresse complte du
destinataire. Un utilisateur mobile qui change de rseau devra donc acqurir une nouvelle adresse IP
provenant du rseau dans lequel il se trouve actuellement.

Nanmoins, lide de la mobilit IPv4 tait de permettre un nud de communiquer avec dautres nuds
aprs stre dplac physiquement, sans changer dadresse IP, et sans risquer douvrir de nouvelles failles de
scurit.

Pour cela, un nouvel en-tte au niveau 3 a t mise en place. Les paquets IP taient donc encapsuls dans le
protocole IP.

Lorsquun correspondant cherche communiquer avec un nud mobile, il envoie son paquet vers ladresse
IP du correspondant. Lorsque le paquet arrive dans le rseau concern, un routeur appel Agent Mre
intercepte les paquets, et les transmet vers la position courante du nud mobile. Une trace de la position
est donc garde par lAgent Mre. Pour rediriger les paquets, deux solutions existent :

10
- Lutilisation dun Agent Relai. Il est prsent dans le rseau du nud mobile, et il sert de relai entre
lAgent Mre et le nud mobile. LAgent Mre connait lexistence de ce relai, et peut envoyer ses
paquets directement cet agent.
- Lautoconfiguration : le nud mobile acquiert une nouvelle adresse IP temporaire, au sein du rseau
dans lequel il se trouve. LAgent Mre peut donc communiquer directement avec lui. Cependant,
cela implique quune plage dadresses soit rserve dans chaque rseau pour ces adresses mobiles
temporaires. Attention, il ne faut cependant pas confondre ce concept dautoconfiguration avec
celui, plus puissant, du protocole IPv6.

Bien videmment, la seconde solution parat inconcevable lorsque lon connait le problme de pnurie
dadresses IPv4.

Cette mobilit IPv4 annonait donc les prmisses da la mobilit IPv6, avec lide dagent mre par exemple,
mais elle est arrive trop tard dans limplmentation du protocole, et elle na donc pas t rellement
dploye. De plus, lencapsulation dun paquet IP dans un paquet IP pouvait se rvler lourde ou coteuse,
car le protocole ntait pas prvu pour cela la base.

Nanmoins, la conception plus moderne du protocole IPv6, ainsi que son systme dautoconfiguration natif a
permis dallger les traitements et de faciliter le dploiement de la mobilit IP.

La mobilit IPv6 : dfinitions


Parce quelle a t prvue ds le dpart dans la conception du protocole, la mobilit IPv6 semble bien mieux
pense et aboutie que celle de son ane. Tout comme pour la mobilit IPv4, lIETF a rapidement dcid que
la gestion de la mobilit devait se faire sur la couche 3, et paratre totalement transparente pour les couches
suprieures.

De par son systme den-ttes modulaires, IPv6 rgle le problme dencapsulation de paquets IP dans des
paquets IP. De plus, lauto-configuration mise en place dans le protocole IPv6 permet tout nud dacqurir
une adresse valide dans chaque rseau travers.

Seulement, on remarque facilement que lorsque le nud mobile se dplace, il change rgulirement
dadresse IP. A chaque changement, il perd son identit . Or, les couches suprieures (notamment la
couche 4) utilisent ladresse IP pour maintenir des connexions, par exemple avec TCP. Changer dadresse IP,
cest aussi rompre ces connexions.

Pour permettre le maintien de ces connexions tout en changeant dadresse IP, le protocole de mobilit IPv6
(dfini dans la RFC3775) utilise la notion de double adresse . Chaque nud mobile va donc retenir son
adresse mre, et une adresse temporaire.

Avant toute chose, il est nanmoins important de dfinir les notions importantes de la mobilit IPv6.

Home Address
A unicast routable address assigned to a mobile node, used as the permanent address of the mobile node

La Home Address, ou adresse mre, ou encore HoA, est une adresse permanente, acquise par le nud
mobile dans son rseau de base. Elle permet didentifier le nud quelle que soit sa localisation et le rseau
dans lequel il se trouve.

11
Care of Address
A unicast routable address associated with a mobile node while visiting a foreign link;
the subnet prefix of this IP address is a foreign subnet prefix.

Adresse temporaire, la Care of Address, ou CoA, est locale et appartient chacun des rseaux que le nud
mobile frquente. Lorsquun nud mobile arrive dans un rseau quil ne connait pas, il peut alors acqurir
facilement, grce au systme dauto-configuration, une adresse CoA dans ce rseau. Cette adresse est
utilise des fins de localisation.

Ainsi, au niveau de la couche 3, le nud mobile communique avec son adresse temporaire CoA. Mais dun
point de vue suprieur (couche 4 et plus), le nud apparat comme communiquer avec son adresse
permanente, HoA.

Mobile Node (nud mobile)


A node that can change its point of attachment from one link to another,
while still being reachable via its home address.

Il sagit dun nud qui change rgulirement de point daccs lInternet. Il ne peut donc avoir une adresse
IP fixe, et seule la mobilit IPv6 pourra permettre de donner un identifiant valable dans tout le rseau, sa
home address.

Correspondent node (nud correspondant)


A peer node with which a mobile node is communicating.
The correspondent node may be either mobile or stationary.
Il sagit ici du correspondant qui communique avec le nud mobile. Il existe donc une connexion entre le
nud correspondant et le nud mobile, connexion quil ne faut pas couper.

Home Agent
A router on a mobile node's home link with which the mobile node
has registered its current care-of address.
Le Home Agent, ou agent mre, est lentit charge de faire correspondre CoA et HoA. Il redirige les paquets
destination du nud mobile (identifi par la HoA) vers le nud mobile en dplacement (alors identifi par
son CoA).

Nous verrons plus tard comment fonctionne cet agent, et comment il maintient sa table de correspondance
pendant la mobilit du nud.

Fonctionnement de la mobilit IPv6


IPv6 introduit de nouveaux concepts pour rsoudre le problme de la mobilit. Le rseau mre est le rseau
dans lequel un quipement mobile sest initialis. Ladresse mre (Home address ou HoA) est ladresse de
lquipement dans le rseau mre. Un quipement peut galement acqurir une adresse dans un rseau
auquel il est temporairement connect : cest la care-of-address, ou CoA.

Lagent mre (Home Agent ou HA) est charg de relayer les donnes passant du rseau mre au rseau.

Les protocoles de mobilit permettent aux machines qui passent de leur rseau mre un autre de
conserver leur adresse sur celui-l, grce au Home Agent, qui va se charger de relayer les paquets.

12
Il est alors possible de distinguer plusieurs cas :

Nud mobile dans son rseau mre

Figure 1 - Noeud mobile dans son rseau mre

Cest le cas par dfaut. Lquipement communique comme nimporte quel nud du rseau. Le nud mobile
a en effet rcupr une adresse IPv6 dans ce rseau mre (auto-configuration) et lutilise pour
communiquer. Le Home Agent nintervient pas dans cette tape. Nanmoins, une relation forte est tablie
entre le nud mobile et ce rseau mre.

Pour dcouvrir lagent mre dans le rseau, le nud mobile envoie un message ICMPv6 ladresse anycast
des agents mre du rseau. Lorsquil reoit une rponse positive sa demande dassociation, il a alors
trouv son agent mre.

Nud mobile dans un rseau tranger


Lorsquun nud mobile va arriver dans un rseau tranger, il va tout dabord acqurir une adresse IPv6.
Cette adresse constituera ce que lon a appel care-of-address.

Du ct du nud correspondant, ce dernier continue envoyer ses paquets ladresse quil connait, la
home address du nud mobile. Une fois que le nud mobile a pu rcuprer son adresse temporaire grce
au systme dauto-configuration, il va alors envoyer un message son home agent, lui signalant son nouvel
emplacement en lui donnant son adresse temporaire. Cette opration est appele Binding Update. Le
Binding Update utilise le principe dextension den-ttes afin de crer ce paquet de signalisation du
changement de rseau.

13
Figure 2 - Binding update vers le rseau mre

Le home agent va alors ajouter une nouvelle ligne sa table de correspondance, permettant le lien entre
home address et care-of-address pour le nud mobile. Il va alors pouvoir faire suivre facilement les paquets
vers le nud mobile. Quand le home agent va recevoir un paquet provenant du nud correspondant, il va
lencapsuler dans un nouveau paquet IP grce lextension den-tte IP-IP du protocole IPv6.

Pour le nud correspondant, ce binding update est donc totalement transparent. Il correspond toujours
avec la mme adresse destination. Le nud mobile, quant lui, va utiliser le mme principe. Il va encapsuler
sa rponse (qui a donc pour source la HoA du nud mobile, et comme destination ladresse du nud
correspondant) avec un nouvel en-tte qui aura, cette fois-ci, comme adresse source la CoA du mobile, et
comme destination ladresse du Home Agent.

Une fois le paquet rcupr par le Home Agent, ce dernier enlve le premier en-tte, et envoie le paquet
vers le nud correspondant. Pour ce dernier, ce sera exactement comme si le paquet provenait directement
du nud mobile. Il nest donc pas ncessaire pour le correspondant dimplmenter la mobilit IPv6, car il
nutilise aucun des principes de cette dernire. De son point de vue, il ne fait que de la communication avec
adresse IPv6, il ne sait pas quil discute avec un nud mobile.

Interception des paquets


Pour pouvoir intercepter les paquets qui ne lui sont pas destins, lagent mre doit rgulirement diffuser
une annonce de voisin non sollicite (propagation de changement dadresse physique) dans tout le rseau
mre. Ce message indique aux diffrents routeurs du rseau quil est ncessaire de rediriger les paquets
destination du HoA du nud mobile vers lagent mre.

14
Retour dans le rseau mre
Lorsque le nud mobile retourne dans son rseau mre, il est important de le signaler lagent mre, afin
dviter que ce dernier nenvoie les paquets vers la CoA du nud mobile. Le retour du nud mobile dans
son rseau mre est dtect, au niveau du nud mobile, grce aux diffrentes annonces de routeurs
contenant le prfixe de sa home address. Il va alors faire une annonce de voisin pour prvenir lagent mre
de son retour et supprimer son entre dans la table dassociation de ce dernier.

Optimisation de routage
Les lecteurs attentifs auront vite remarqu que la mobilit, telle que dfinie jusquici, est thoriquement
simple mettre en uvre mais elle nest pas optimise dans son routage. En effet, lorsquun nud mobile
est en dplacement, tous les paquets vont passer par le rseau mre pour atteindre le nud mobile.
Imaginons ds lors un nud correspondant situ en Amrique, un rseau mre situ en France, et un nud
mobile en dplacement au Canada : un paquet de donnes traversera lAtlantique deux fois avant darriver
destination ! Dans cet exemple, il serait bien plus intressant de communiquer directement entre les deux
nuds (correspondant et mobile) sans passer par le rseau mre. Cest pourquoi la mobilit IPv6 a intgr
dans son protocole une optimisation du routage.

Dans un premier temps, pour utiliser cette optimisation de routage, il est ds lors essentiel que le nud
correspondant possde les options de mobilit IPv6 (ce qui ntait pas ncessaire avant). Grce cette
intgration de la mobilit au sein du nud correspondant, ce dernier va pouvoir maintenir une table des
associations, identique celle maintenue par lagent mre. Pour avoir cette table de routage jour, le nud
mobile va devoir, lors de chaque changement de rseau, envoyer un paquet de binding update au rseau
mre, puis au nud correspondant. De cette manire, le nud correspondant pourra ajouter ou mettre
jour la ligne dans sa table de correspondance.

Figure 3 - Binding update vers le noeud correspondant

15
Connaissant la HoA et la CoA, le nud correspondant va pouvoir modifier ses paquets pour leur donner
comme adresse de destination la CoA du nud mobile. Cette modification consistera aussi en lajout dune
extension den-tte de routage particulire contenant ladresse HoA du nud mobile comme destination
finale. Cette extension den-tte de routage est une extension dfinie pour la mobilit IPv6. De cette
manire, les passerelles de scurit pourront adopter un filtrage diffrent de celui appliqu pour les autres
en-ttes de routage.

Lorsque le nud mobile cherche communiquer avec un correspondant, il va dabord tenter denvoyer un
paquet de mise jour dassociation. Si le nud correspondant rpond quil ne comprend pas cette
demande, loptimisation des routes nest pas possible (le nud correspondant nest pas configur pour la
mobilit IPv6). Le nud mobile utilisera alors la voie classique, passant par son rseau mre. Un message
ICMPv6 a t dfini pour ce cas o le nud correspondant ne parle pas le langage mobile IPv6 .

Cette optimisation tant faite au niveau de la couche 3, elle reste transparente pour les couches suprieures,
qui peuvent alors garder une connexion active tout au long du dplacement du nud mobile.

Figure 4 - Routage optimis dans le cadre de la mobilit IPv6

Mobility header
Dans les prcdentes parties de ce rapport, il est souvent mentionn la notion dextension den-tte. IPv6
propose aujourdhui environ 150 extensions den-tte, rpondant diffrents protocoles et besoins. Parmi
toutes ces extensions, il en est une retenir dans le cadre de notre projet : len-tte 135, appele aussi en-
tte de mobilit (mobility header). Cet en-tte, dfini dans la RFC 6275 (RFC concernant la mobilit IPv6)
propose un format particulier.

16
Figure 5 - En-tte de mobilit IPv6

Le champ den-tte suivant permet dassocier dautres extensions den-tte len-tte de mobilit.

Le type den-tte peut prendre plusieurs valeurs (entre 0 et 7) :

0. Demande de rafrachissement de lien


1. Initialisation de test d'adresse mre (HoTI)
2. Initialisation de test d'adresse temporaire (CoTI)
3. Test d'adresse mre (HoT)
4. Test d'adresse temporaire (CoT)
5. Mise jour d'association (binding update)
6. Acquittement de mise jour d'association
7. Erreur de mise jour d'association

Nouveaux messages ICMP


La RFC 6275 dfinit aussi de nouveaux formats de messages ICMP, rpondant aux besoins de la mobilit.
Deux concernent la dcouverte dynamique du Home Agent et deux pour la renumrotation et la
configuration du mobile.

Home Agent Address Discovery Request


Home Agent Address Discovery Reply
Mobile Prefix Solicitation
Mobile Prefix Advertisement.

Risques et scurit de la mobilit IPv6


IPv6 supporte par dfaut IPsec, qui offre une scurisation au niveau de la couche Rseau.

Dans le cadre dIPv6, IPsec permet :

- dassurer lauthentification de lmetteur et lintgrit des donnes. (Authentification Header)


- doffrir la confidentialit des donnes en chiffrant les paquets IPv6, en-tte comprise ou non.
(Encapsulation Security Payload)

Lauto-configuration sans tat des adresses (vu prcdemment) pose un problme au sein de rseaux
locaux. Une fois quune machine a configur son adresse locale, il interroge ses voisins pour vrifier que son
adresse nest pas utilise. Sil ne reoit pas de rponse ngative, le processus se termine. Dans le cas o une
personne dcide volontairement de rpondre toujours positivement cette requte, elle peut notamment
dtourner des donnes ou usurper une adresse IP par exemple (usurpation ARP).

17
Mise en uvre de la mobilit

Aprs cette tude prliminaire nous sommes passs la pratique. Notre but tait de
crer deux rseaux IPv6 et de tester le passage dun nud mobile (connect en Wifi) de
lun lautre.

Matriel
Nous disposions de quatre routeurs de marque TP-LINK, gracieusement fournis par
lassociation Rhizome. Ces routeurs proposent quatre ports Ethernet, du Wi-Fi en norme
n et un port WAN pour raliser linterconnexion en Ethernet des deux rseaux
indpendants. Ces routeurs sont configurs sous une distribution de Linux nomme
OpenWRT et disposent au total de 4Mo de mmoire Flash. En excluant lespace pris par
linstallation dOpenWRT, il restait environ 1,5Mo de mmoire libre.

Figure 5 : Le modle de routeur que nous avons utilis

Prparation des terminaux et routeurs IPv6


Il tait essentiel pour nous de disposer de machines facilement configurables, et sur lesquelles nous
pouvions avoir la main. Naturellement, nous nous sommes orients vers une distribution Linux, la
configuration rseau tant difficile sur les systmes dexploitation concurrents (Windows et Mac). Nous
avons choisi des distributions Debian (et sa drive Ubuntu) car nous tions habitus celles-ci.

Concernant les routeurs, OpenWRT tant bas sur un noyau Linux, le choix tait dj fait pour nous, et
semblait nous convenir.

OpenWRT
OpenWRT est une distribution GNU/Linux ddie aux matriels embarqus. Cette distribution fournit un
systme de fichiers totalement modifiable et implmentant la gestion des packages. Cela permet aux
utilisateurs de se librer totalement de la configuration initiale fournie par le constructeur et pouvoir
personnaliser lappareil leur guise, sans aucune contrainte et sans avoir crer un firmware complet.

Nos routeurs TP-Link sont bon marchs et dispose par dfaut de peu doptions. Si ces rglages suffisent
parfaitement pour une utilisation courante, le firmware constructeur ne couvre pas du tout nos besoins,
bien trop spcifiques. Heureusement ce routeur est trs bien suivi par la communaut et dispose donc de
versions spcifiques dOpenWRT ainsi que de nombreux tutoriaux et autres documentations.

18
Historique
Dans un premier temps, nous avons regard o en tait limplmentation IPv6 au sein du systme Linux.

IPv6 est officiellement prsent dans le noyau Linux depuis la version 2.2, sorti en janvier 1999. Il tait ds
lors possible dutiliser Linux pour exprimenter IPv6 (adressage, envoi et rception de paquets, etc.).
Nanmoins, la mobilit ntait pas encore rellement envisage cette poque. Cest en effet quelques
annes plus tard que les premires RFC concernant la mobilit apparaissent, notamment pour IPv4. On peut
par exemple noter la RFC 3344, apparue en aot 2002 (puis rvise par avec la RFC 5944 datant de
novembre 2010).

Concernant IPv6, il faudra attendre juin 2004, avec la RFC 3775, pour voir apparatre la notion de mobilit
IPv6.

La mobilit IPv6 ntait donc videmment pas prsente dans le noyau 2.2. Cest dans la version 2.6 du noyau
quelle commencera tre implmente. Cependant, bien que prsente au sein du noyau, celle-ci nest pas
active par dfaut. Et ce jusqu aujourdhui. En effet, cest toujours le cas dans la dernire version du
noyau (3.7), sortie le 11 dcembre dernier.

Compilation du noyau
Pour activer la mobilit IPv6 sur nos machines, il est ncessaire de recompiler le noyau Linux afin de
cocher les cases permettant la mobilit.

Pour les machines


Recompiler le noyau pour les machines na pas t une tape trs difficile. En effet, la compilation de noyau
sous Debian ou Ubuntu est une opration relativement facile et prvue. Nous avons donc suivi lun des
nombreux tutoriaux disponibles sur la toile pour compiler le noyau 3.6 afin dy activer la mobilit
(http://n0dev.org/articles/mobilite-ipv6.php).

Voici les diffrentes tapes suivies :

1. Tlchargement de la dernire version du noyau sur le site www.kernel.org


2. Dcompression de larchive
3. Activation des options de mobilit IPv6 laide de la commande make menuconfig

Figure 6
Options activer dans le
noyau Linux

19
4. Compilation du noyau
5. Redmarrage de la machine sous le nouveau noyau

Nous disposions alors dun noyau compatible avec la mobilit IPv6. Il ne restait plus qu installer des
paquets permettant lutilisation de cette dernire, grce au projet UMIP (prsent dans la partie suivante).

Pour les routeurs


Concernant les routeurs sous OpenWRT, la mthode tait sensiblement la mme. En effet, OpenWRT est
bas sur un noyau 2.6 de Linux, lIPv6 et sa mobilit sont donc prsents, mais la mobilit nest pas active.

Il suffit donc de suivre les mmes tapes que prcdemment. Seulement, la compilation dcrite la page
prcdente compile un noyau pour larchitecture o est effectue la compilation. Malheureusement, il tait
impensable deffectuer cette compilation au sein du routeur TP-Link, cause des faibles performances et du
peu despace disponible sur ces routeurs.

Cest pourquoi nous avons dcid dutiliser un PC de bureau pour compiler le noyau pour OpenWRT. Nous
avons donc choisi de suivre le tutoriel fourni par OpenWRT afin de compiler le noyau pour larchitecture du
routeur.

Cependant, cette tape na pas abouti. En effet, nous avons eu beaucoup de difficults compiler le noyau
sans erreurs. Nous avons fini par avoir une version qui semblait avoir compil sans problmes, mais lorsque
nous lavons inject dans le routeur, ce dernier na plus fonctionn comme auparavant : linterface web
ntait plus accessible, nous ne pouvions accder au routeur que par SSH. Nous ne pouvions pas non plus
vrifier que les options actives fonctionnaient. Et il nous restait un problme de taille : aprs avoir compil
le noyau et activ les options concernant la mobilit, il fallait disposer de paquets permettant lexploitation
de cette mobilit.

A partir de ce moment-l, nous avons fait face un constat : il nexiste pas de paquets OpenWRT permettant
lexploitation de la mobilit IPv6. Nous avons cherch dans les diffrents dpts, sans rellement trouver de
solutions.

Nous sommes alors partis sur la cross compilation. La cross compilation permet de compiler un code prvu
la base pour une certaine architecture vers une architecture diffrente. Nous voulions compiler les paquets
UMIP (voir paragraphe suivant) pour OpenWRT. Des tutoriaux de cross compilation pour OpenWRT existent,
cest pourquoi nous sommes partis sur cette piste.

Nanmoins, aprs avoir plus ou moins russi cette cross compilation, il nous a t impossible de la tester : le
paquet gnr tait dune taille bien trop importante pour tre mise sur le routeur TP-Link, ces derniers ne
possdant que 4Mo de mmoire interne.

Nous navons donc pas pu installer les paquets ncessaires la mobilit IPv6 sur les routeurs TP-Link sous
OpenWRT. Notre premire ide dutiliser les routeurs comme home agent ntait plus possible.

Pour contrer ce problme nous avons rflchi une nouvelle architecture o les routeurs supportent
uniquement IPv6, et non sa mobilit. Ils routent alors les paquets en sarrtant lanalyse de ladresse de
destination. Le travail sur la mobilit se faisant uniquement au niveau de lagent mre et du nud mobile
qui, cette fois-ci, seront des ordinateurs sous debian, avec la variable net.ipv6.ip_forward TRUE.

20
Nouvelle architecture pour notre rseau
Nous avons dcid de modifier larchitecture de notre rseau pour utiliser les routeurs OpenWRT
uniquement comme routeurs. Voici un schma de larchitecture que nous avons conue :

Figure 7 - Architecture mise en place

Les routeurs OpenWRT sont utiliss pour crer un rseau Wifi. On connecte galement aux routeurs par un
port Ethernet le serveur de mobilit (home agent). Nous avons choisi cette configuration pour deux raisons :
dabord parce quelle permet deffectuer des tests assez simplement - le nud mobile a juste passer dun
rseau wifi lautre - ensuite parce que nous comptions utiliser des OS virtualiss pour faire office de
serveur et que dans le cadre de la virtualisation, les connexions Ethernet sont beaucoup mieux supportes
que les connexions Wifi.

Virtualisation
Lors de la mise en uvre du projet, nous avons dcid de virtualiser les serveurs qui excuteraient le Home
Agent et le Care of Agent. En effet, pour chacune de ces machines il est ncessaire de passer par des
tapes assez longues de configuration (du noyau, du compilateur, des dmons voir ci-aprs) pour obtenir
un systme fonctionnel. Un systme virtualis permet de ne faire ce travail quune seule fois pour les deux
machines. Il apporte galement une trs grande souplesse en permettant de sauvegarder et de recharger
ltat dune machine et mme de la dplacer sans problme sur une autre machine hte.

Dans le cadre du projet nous avons choisi dutiliser la distribution linux Debian qui est trs stable et qui a
de plus t utilise dans la plupart des mises en uvre que nous avons vues. Lun des autres avantages
dutiliser des nuds virtualiss est de protger nos machines personnelles. Si un noyau est facile
supprimer, les nombreux services et packages installer, souvent en version beta, auraient pu rendre
instable des machines que nous utilisons quotidiennement.

Malheureusement nous avons d abandonner lide dutiliser des systmes virtualiss cause de problmes
dimplmentation : il semblerait que dans le cas dIPv6, il y ait des conflits entre le systme dexploitation
hte et la machine virtuelle : nous nous sommes rendu compte que les paquets IPv6 destins notre VM
taient tout simplement jets silencieusement par la machine hte.

21
Tandis que le nud mobile capte bien les paquets de neighbour solicitation du protocole NDP, les
machines virtuelles ne reoivent rien. Il pourtant possible de les solliciter laide de la commande ping6,
mais certains paquets semblent filtrer, quelle que soit la configuration de VirtualBox (Bridge ou NAT).

Plutt que dutiliser une machine virtuelle, nous avons donc du patcher le noyau install sur nos ordinateurs
portables.

La mobilit IPv6 ct software


Maintenant que la pile protocolaire IPv6 a t modifie, notre noyau est compatible avec les mcanismes de
mobilit IPv6. Pourtant lordinateur nest pas encore prs pour une phase de test concrte. Pour recevoir les
messages et grer la communication entre le nud mobile et son home agent un dmon linux est
ncessaire, souvent appel userspace . De la mme manire, lautoconfiguration des machines se
connectant un rseau est gre par un dmon spcifique.

Radvd
Radvd (Router Advertisement Daemon) est un logiciel open-source implmentant les annonces lien-local
pour des routeurs IPv6. Il permet de distribuer des adresses aux postes se connectant au rseau grce au
protocole NDP (Neighbour Discovery Protocol) conformment la RFC 2461. Ladresse est gnre en partie
partir dun prfixe rseau tablit par ladministrateur, le reste pouvant tre construit avec ladresse MAC
de la carte rseau ou via DHCPv6.

NDP rend possible la dcouverte des autres machines dun mme lien et de leur adresse, il permet aussi
d'identifier les routeurs prsents (il prend donc comme prvu la relve dARP). Ce protocole est implment
dans la couche 3. Le dmon radvd permet lautoconfiguration sans tat des machines, concept que nous
avons voqu plus haut.

Lorsque les machines IPv6 configurent leur interface rseau, elles diffusent des requtes de Router
Sollicitation sur le rseau dans le but de dcouvrir les routeurs disponibles. Radvd rpond ces requtes par
des messages de Router Advertisement qui contiennent, entre autres informations, le prfixe rseau
utiliser pour lautoconfiguration, ainsi que ladresse du routeur. Des messages de mme type sont
galement envoys rgulirement par radvd sur le lien connect pour mettre jour la liste des voisins.
Radvd prend galement en charge les options de Recursive DNS Server (RDNSS) et de DNS Search List
(DNSSL) dcrites dans la RFC 6106.

Voici la configuration que nous avons utilis pour notre prfixe : config prefix
option interface 'lan'
Ladresse peut bien sr tre change en fonction des besoins. Avec list prefix '2001:123:456:789::/64'
cette configuration, le routeur met sur le LAN de manire option AdvOnLink '1'
automatique. AdvOnLink et AdvAutonomous active lutilisation du option AdvAutonomous '1'
prfixe pour lautoconfiguration. option AdvRouterAddr '0'
option ignore '0'

A laide de la capture Wireshark en page suivante, ralise lors de la mise en place de larchitecture de test,
expliquons plus en dtail le fonctionnement de ce logiciel :

22
Comme expliqu prcdemment, les adresses commenant par fe80 sont dites lien-local , elles ont une
visibilit limit et permettent la communication des machines connectes sur un mme lien.

Trame 44 : Neighbor Solicitation : Lun de nos ordinateurs portables vrifie lexistence et la connectivit au
voisinage. Il vient de sattribuer une adresse de lien-local et demande au rseau si celle-ci est unique, et sil
peut donc lutiliser. Pour communiquer il utilise ladresse ::, quivalente 0.0.0.0 pour IPv4. La destination
(ff02 ::1) commenant par ff, il sagit donc dune adresse multicast, le 02 correspond au lien-local, le 1
toutes les machines.

Trame 86 : Aprs stre attribu une adresse le portable tente de dcouvrir si un routeur est prsent laide
du message Router Solicitation envoy ladresse multicast (ff02::2). Les routeurs sy enregistrant
automatiquement, ceux prsents vont donc recevoir son message.

Trame 88 : En rponse au message prcdent, ou grce au logiciel radvd qui permet leur mission rgulire
(impossible de savoir), le routeur envoie un Router Advertisement sur ff02::1. Ce paquet donne de
nombreuses informations sur le lien-local, il est rmis priodique car ces donnes ont une dure de vie
limite. Il permet de configurer la route par dfaut et donne les prfixes pour lautoconfiguration ou, dans le
cas dune autoconf statefull, ladresse du serveur DHCPv6 disponible.

Trame 91 : Il sagit dune trame du protocole Multicast Listener Discovery (MLDv2) qui permet au routeur de
dcouvrir les nuds en cours dcoute sur le lien. Ces paquets sont envoys ladresse multicast ff02::16.

Trame 205 : Grce aux adresses en fec0:106:2700/64 que se sont attribues nos machines grce aux trames
de Router Advertisement mises par radvd, nous tentons de faire communiquer 2 de nos machines.

Trame 206 : La machine de destination ne connaissant pas ladresse MAC de celle ayant initie la requte
echo, elle la demande sur le rseau en utilisant NDP (Neighbor Discovery Protocol). Ce paquet est envoy
ladresse multicast de dcouverte des nuds (ff02::1:ff00:xxx) ou xxx sont les 24bits de ladresse recherche
(ici, seulement :4).

Trame 207 : La machine 4 rpond la machine 2 avec son adresse MAC laide dun Neighbor
Advertisement. Cet change montre parfaitement le remplacement dARP par le NDP.

Trame 209 : Le routeur observant la conversation entre 2 et 4 tente damliorer leur change laide dun
ICMPv6 Redirect, qui donne la machine 4 une meilleure route pour communiquer avec 2. En effet, par
dfaut les machines envoient leurs paquets sur le rseau au premier routeur disponible, sans se demander si
une meilleure route existe travers un autre routeur.

23
Daemon UMIP et UserSpace
En plus du daemon Radvd ct routeur/agent, un daemon grant la mobilit doit fonctionner sur tous les
quipements du rseau.

Depuis la finalisation des RFC traitant de la mobilit, quelques groupes de recherche ont propos leur
implmentation du protocole afin de fournir ce logiciel. Les premiers le faire furent les anglais de la
Lancaster University, qui stopprent le dveloppement la fin des annes 90. Apparemment la dernire
version du noyau pris en charge tait la version 2.1, leur site ntant plus accessible, leur code nest plus
disponible.

Le deuxime projet ayant vu le jour propos de la mobilit IPv6 nous vient de Finlande, il sagit du projet
MIPL (Mobile IPv6 for Linux), hberg par la Helsinki University of Technology's. Ce groupe nexiste plus non
plus aujourdhui, et toute trace de leur implmentation a disparu. Elle tait compatible jusquau noyau 2.4.
MIPL 2.0 est sortie en 2006, sa dernire version (2.0.2) tait compatible avec le noyau 2.6.16, et nous avons
retrouv plusieurs articles ayant test cette solution de manire concluante. Encore une fois, le site internet
nest plus disponible, mais danciens miroirs non officiels sont encore disponibles pour rcuprer le code
source.

De toute manire, ces premires implmentations sont aujourdhui largement obsoltes. Elles ont en effet
pris place avant lintgration de MIPv6 dans le kernel, qui a eu lieu la version 2.6.26. Il fallait donc patcher
les sources du noyau, avant de le recompiler, ce qui nest plus ncessaire aujourdhui car la mobilit IPv6 est
prsente (mais non active). Si les nouveaux travaux se sont bass sur ces recherches, elles ne sont gure
utilisables aujourdhui.

Des travaux plus rcents sur la mobilit ont t repris au Japon par lUSAGI (UniverSAl playGround for Ipv6)
Project. Bas sur la dernire version de MIPL, leur daemon (UMIP 0.4) a t dvelopp jusqu la version
2.6.24 du kernel. Enfin le projet UMIP.org sest bas sur leurs travaux pour intgrer le support du protocole
NEMO et corriger de nombreux bugs. NEMO permet de maintenir des communications avec un rseau
entier dlments mobiles et non plus un seul nud. UMIP.org a prsent sa solution sur un kernel 2.6.29.

Toutes ces solutions nous ont poss de nombreux problmes, que nous navons pas encore russi
rsoudre. Tout dabord nous avons commenc travailler sur danciennes versions du noyau, puisque la
plupart des tests avaient t effectus sur une 2.6. Nous avons donc rcupr les sources des deux noyaux
encore mis jour de cette version (2.6.32.60 et 2.6.34.13) sur le dpt officiel. Malheureusement, aprs leur
avoir appliquer les modifications ncessaires, nous navons jamais russi les compiler. Les versions de
linux, Debian et Ubuntu, actuellement installs sur nos ordinateurs personnels ne sont plus compatibles. La
compilation, en fonction du noyau test, chouait cause dincompatibilit avec gcc et qt, ou refusait
carrment de se lancer.

En compilant un noyau plus moderne (3.6.9, de la manire dcrite au chapitre prcdent), ces problmes ne
sont pas apparus et le systme fonctionnait correctement. Nous navons cependant pas t capables
dexcuter les daemons MIP, le lancement ne fonctionnant pas ou entrainant inexorablement un Kernel
Panic obligeant un reboot de la machine.

24
Nos espoirs se sont donc tourns vers un dernier projet travaillant sur la mobilit, le nautilus6.

Ce groupe de travail propose un LiveCD prt pour effectuer des tests sur la mobilit, bas sur la version 7.10
dUbuntu (datant doctobre 2007). Le kernel (2.6.22) est dj configur, et le logiciel UMIP est prinstall. En
modifiant le fichier dinstallation des paquets pour utiliser le dpt old-releases.ubuntu.com, nous avons
mme t capables de mettre jour le systme. Cette distribution avait pour but dimplmenter les derniers
standards de son poque sur la mobilit IPv6. Ses dveloppeurs ont aussi beaucoup travaill sur NEPL
(NEMO Platform for Linux), lextension du MIPL de lUniversit dHelsinki, leur site internet fournit donc
beaucoup dexplications sur la mise en place de cette extension, mais peu sur le test simple dun seul nud
mobile.

Deuxime plateforme de test avec Nautilus


A la suite de nos prcdents checs, nous avons tent une approche diffrente, laide de la distribution
Nautilus. Le noyau de cette distribution tant nativement compatible avec la mobilit IPv6, il nous suffisait
de linstaller sur 3 de nos ordinateurs pour mettre en place notre architecture.

La premire difficult vint de lge du systme. Bas sur Ubuntu 7.10, Nautilus a refus de se lancer sur la
plupart de nos machines modernes, nous avons donc utilis danciens ordinateurs portables, exclusivement
bas sur le couple processeur/carte graphique intel/nvidia.

Une fois le systme dmarr, plusieurs rglages sont ncessaires :

Changement de la disposition du clavier en Azerty.


Activation du wifi et des cartes Ethernet sur les diffrents ordinateurs, une ip fixe ipv6 est ensuite
manuellement ajoute.
Le fichier /apt/sources.list est modifi avec ladresse de dpts de logiciels encore fonctionnels pour
cette version dUbuntu (Gutsy) et les paquets disponibles sont mis jour.
echo "net.ipv6.ip_forward = 1" >> /etc/sysctl.conf suivi dun sysctl p, permet dactiver le transfert
des paquets sur les machines qui en ont besoin.
A lorigine le systme ne comporte pas de fichier de configuration pour le daemon mip6 (charg de
la mobilit). Nous avons cr 3 configurations pour le nud Mobile (MN), le Home Agent HA
(connect au rseau de dpart du MN) et la Care of Address CoA (connect au rseau de destination
du nud mobile). Pour raliser ces fichiers nous sommes parties dexemple disponibles sur internet
(principalement sur le site UMIP.org).

25
Au dpart, le nud mobile est connect au routeur A, sur le rseau db8. Il senregistre auprs de son Home
Agent, et va tenter de passer sur le rseau wifi du routeur B, sans perdre ses connexions actives, qui
transiteront par le rseau db6 interconnectant les routeurs.

En thorie, les deux routeurs devraient tre relis travers internet, mais pour des raisons pratiques, nous
avons choisi de travailler entirement lintrieur dun rseau local.

Les deux routeurs sont configurs pour distribuer des adresses IPv6 aux mobiles qui se connectent leur
rseau. Cette fonctionnalit est gre par un dmon RADVD (voir les explications disponibles au chapitre
prcdent) que nous avons install sur la distribution OpenWRT des routeurs TP-Link.

Enfin, pour permettre la communication entre les rseaux db8 et db7, nous avons modifi les routes par
dfaut des routeurs et des postes HA et CoA afin que les paquets transitent par le rseau dinterconnexion
db6.

Malheureusement, nous navons pas russi observer de paquets MIPv6 sur le rseau. Bien que les dmons
fussent lancs, lcoute des diffrentes interfaces laide de Wireshark est reste muette, sans que nous
ayons pu en trouver la cause. Le mobile avait beaucoup de difficult se connecter aux rseaux, la carte wifi
ntant pas vraiment compatible avec cette vieille distribution, mais les diffrents processus sur les machines
auraient d transmettre au moins quelques sollicitations.

Aprs ce nouvel chec, nous avons tent une nouvelle forme de mobilit, en remontant dune couche dans
le modle OSI, afin dutiliser des technologies plus actuelles.

26
Le protocole SSP : un remplaant de la mobilit IP sur la couche application

Au cours de nos recherches sur le sujet, nous avons dcouvert un protocole trs rcent, nomm SSP
(Simple Synchronization Protocol), qui est spcialement conu dans une optique de mobilit.

Pour lanecdote, SSP a t conu la base pour dvelopper un remplaant de telnet et de SSH, nomm mosh
(http://mosh.mit.edu). Mosh a pour but de rsoudre deux problmes qui sont trs agaants avec SSH et
telnet :

la mobilit. Si lon est sur un portable et quon passe dun rseau wifi lautre, la connexion au
serveur distant est perdue
les problmes de latence lorsquon est sur une connexion forte latence. En effet, SSH utilise TCP,
qui est assez mal adapt aux connexions forte latence. Au contraire, SSP utilise UDP pour
davantage de ractivit.

SSP rsout ces problmes de manire assez lgante. En effet, SSP a la particularit dtre un niveau au-
dessus de SSH : SSH a pour but de crypter un flux entre deux machines; SSP synchronise les tats de donnes
entre deux machines. Cest dire que par exemple si ma machine est dconnecte du serveur pendant 2
minutes, alors que SSH tenterait de rcuprait le flux lendroit o il la perdu, SSP demande au serveur de
lui fournir tous les tats de lapplication entre le moment o le client a t dconnect et maintenant. Par
dfaut, une version correspond un paquet UDP ce qui simplifie beaucoup limplmentation du systme.

La faon dont SSP implmente la mobilit est galement trs intressante : tant donn que le protocole
gre lauthentification laide de cls publiques/prives, il nest plus ncessaire de se proccuper de
ladresse IP dun client puisquon peut certifier quil est la personne quil prtend tre laide de sa cl
prive. De cette manire, un client peut passer dun rseau lautre et continuer converser avec le serveur
sans mme se rendre compte que son IP a chang.

Un test est disponible sur internet pour le comparer SSH en utilisant larchitecture suivante :

Figure 8 - Exemple du protocole SSP

Il suffira alors de vrifier la ractivit de mosh vis vis de ssh. A dfaut davoir pu tester une vraie mobilit
IPv6 ( la couche 3 du modle OSI donc), nous esprons pouvoir tester plus amplement cette solution
applicative permettant la mobilit sur un protocole prcis (ici SSH). Le but tant de prsenter nos
investigations lors de la soutenance en Janvier. Nous voyons donc que cette mobilit est possible, mais que
pour la gnraliser, il est important de la situer en couche infrieure et non en couche applicative. Chaque
application pourrait en effet proposer son propre module de mobilit, mais cette mobilit ne serait pas
standard. Cest pourquoi nous continuons penser que la mobilit IPv6 est un protocole important.

27
Conclusion
Malgr lchec de la mise en uvre de la mobilit IPv6, nous sommes trs contents davoir travaill sur ce
projet orbitant autour du protocole IPv6. Dans cette phase dexprimentation, plus pratique, nous avons
appris beaucoup de choses techniques : compilation dun noyau Linux pour machine et routeur, installation
de machines virtuelles, configuration de routeurs en CLI ou par interface web, mise en place dune
architecture rseau simple, analyse de paquets grce Wireshark, adressage IPv6, configuration de la
mobilit au sein des diffrentes entits (nud mobile, home agent, etc.).

En plus de cela, la premire phase du projet, la phase dtude, a t trs enrichissante pour chacun dentre
nous. Le protocole IPv6 avait dj t abord lors dun cours de SR04, mais navait pas t approfondi. Nous
avons donc pris le temps de mieux comprendre ce protocole encore naissant (bien quil existe depuis plus de
dix ans), au dploiement est encore limit. Les diffrentes caractristiques du protocole ont t tudies,
certaines ont mme t testes :

Lautoconfiguration, grce radvd notamment ;


Ladressage ;
Le principe de dcouverte des voisins.

Au-del du protocole IPv6, nous nous sommes particulirement penchs sur la mobilit. Cette seconde
partie de ltude a t un travail de longue haleine, o nous avons pris le temps de lire une RFC. Nous y
avons dcouvert la rigueur dcriture dun protocole, mais aussi son accessibilit. Lcriture dune RFC doit
tre un travail long et fastidieux, mais aussi pdagogique. Il est important de rester clair afin que la RFC soit
comprhensible pour un maximum de monde.

Lanalyse de cette RFC, couple la lecture de quelques articles concernant la mobilit nous a permis de
vritablement comprendre cette mobilit et ses mcanismes. Et donc de comprendre son utilit dans ce
21me sicle nomade . Lessor de linternet connect partout et toujours, notamment grce de simples
appareils usuels comme un tlphone portable, vient poser la question de la mobilit. Les gens bougent,
traversent le monde de rseaux en rseaux. Pouvoir offrir un internet sans perte de connexion lutilisateur
est une demande qui se fera de plus en plus sentir.

Avec la pnurie dadresse IPv4, il ny a nul doute que le protocole IPv6 va prendre son envol, mais il est
difficile de dire si ce sera dans les annes venir. En effet les grands rseaux dentreprise resteront encore
longtemps en IPv4, le budget pour passer en IPv6 tant difficile justifier. Il peut tre intressant de noter
que des oprations comme lIPv6 Day (06/06/2012) permettent de faire avancer ce dploiement.

Lorsque le protocole IPv6 aura t mondialement dploy, la mise en place de la mobilit se fera
naturellement car elle rpond un besoin concret.

Cest aussi pour cette raison que nous avons apprci travailler sur ce projet. Bien que la mobilit ne semble
pas encore mature dans son implmentation, nous navons aucun doute quant son utilit (et son
utilisation) dici quelques annes.

28

Vous aimerez peut-être aussi