Mobilite IPv6
Rappel IPv6
Limite IPv4
L'adressage IPv4 est sur 32 bits, autrement dit environ 4,30 Milliards d'adresses disponibles. Le problème qui ce pose depuis quelques années est le stockage limité. Les principales causes sont l'arrivée des services mobiles (GPRS, EDGE, UMTS, LTE), de l'électronique connectés, les véhicules communicants et la domotique. En février 2011, Le dernier bloc d'adresses IPv4 disponible (/8) a été alloué par l'Internet Assigned Numbers Authority (IANA) au registre Internet régional en charge de la zone Asie-Pacifique, l'APNIC (Asia Pacific Network Information Center).
La répartition très inégale des adresses est également constatée. La zone américaine est très favorisée (environ 74%) par rapport à l'Europe (environ 17%) et l'Asie (environ 9%) pourtant de plus en plus active (Chine, Inde, ...). Plus de 50% des adresses sont antérieures aux RIR (Regional Internet Registry) et donc non contrôlées.
La pénurie de ces adresses a été retardée par l'utilisation du NAT (Network Address Translation) qui brise cependant la philisophie de bout en bout (end to end).
Avec le développement d'internet, le nombre de réseau et de routeur a augmenté, ce qui provoque une explosion des tables de routages, malgré le routage CIDR.
Pour finir, le protocole IPv4 n'est pas adapté pour :
- l'auto-configuration (plug and play)
- la gestion de la qualité de service (QoS)
- la gestion de la sécurité en natif
- la mobilité
Histoire
Le début des travaux a commencé aux milieu des années 1980 pour améliorer IP : ipng (IP Next Generation). IPv6 est retenu comme nouveau standard et est adopté vers la fin des années 1990 avec la RFC 2460.
La version 6 a été utilisé au profit de la version 5, car IPv5 était déjà réservée à un protocole de contrôle de flux. Celui ci ayant été abandonné au profit d'RSVP.
Le lancement des plus gros acteurs d'internet (Google, Yahoo, Microsoft, Facebook,...) à IPv6 est intervenu le 6 juin 2012.
Objectifs
IPv6 permet de pallier aux limitations de IPv4. Il apporte un certain nombre d'amélioration par rapport à IPv4 et de changement :
- Un adressage sur 128 bits qui permet 7 x 10^23 adresses IP par m² sur la planète.
- L'utilisation d'un adressage hiérarchique permet d'optimiser pour le routage.
- L'entête est devenue plus simple (plus que 8 champs) et de taille fixe afin d'améliorer les performances et d'intégrer de nouvelles fonctionnalités, comme le mécanisme de liste chaînée d'extensions.
- L'intégration dans le protocole de service non natif d'IPv4 comme le sécurité (IPSec), des mécanismes d'auto configuration, et de mobilité.
- Le broadcast a été abandonné au profit du multicast.
Entête et extension
L'en-tête du paquet IPv6 est de taille fixe à 40 octets, tandis qu'en IPv4 la taille minimale est de 20 octets, des options pouvant la porter jusqu'à 60 octets, ces options demeurant rares en pratique.
La signification des champs est la suivante :
Il est possible qu'un ou plusieurs en-têtes d'extension suivent l'en-tête IPv6. Voici sur l'image ci-dessous l'ordre d'utilisation des extensions :
- Version (4 bits) : fixé à la valeur du numéro de protocole internet, 6
- Traffic Class (8 bits) : utilisé dans la qualité de service.
- Flow Label (20 bits) : permet le marquage d'un flux pour un traitement différencié dans le réseau.
- Payload length (16 bits) : taille de la charge utile en octets.
- Next Header (8 bits) : identifie le type de header qui suit immédiatement selon la même convention qu'IPv4.
- Hop Limit (8 bits) : décrémenté de 1 par chaque routeur, le paquet est détruit si ce champ atteint 0 en transit.
- Source Address (128 bits) : adresse source
- Destination Address (128 bits) : adresse destination.
TLV (Type Lenght Value)
Les extensions "hop by hop" et "destination" transportent un nombre variable de valeur.
- Option type: 8 bits, nature de l'option
Valeurs des 2 bits de poids fort:Le 3ème bit indique que le routeur peut modifier le contenu de l'option (si 1) ou non (si 0).
- 00 :saute cette option et continue à parcourir l'entête
- 01 :jette le paquet
- 10 :jette le paquet, et retourne un message ICMP d'erreur
- 11 jette le paquet, et retourne un message ICMP d'erreur si l'adresse destination n'était pas une adresse multicast
- Option data length: 8 bits, longueur de la zone donnée.
- Option data: longueur variable, données.
Extension Destination et ROUTING
L'extension "Destination" informe le destinataire final en lui fournissant divers informations. Par exemple les informations échangées lors de la mobilité sont contenues dans l'extension. Le format de l'extension est TLV.
L'extension "Routing" quant à elle, permet d'influencer sur le choix de la route à emprunter pour arriver à la destinataire.
Signification des champs :
Fonctionnement : Le champ destination dans l'entête IPv6 contient l'adresse du premier relais. Lorsque le premier relais est atteint, il remplace l'adresse de destination par l'adresse du prochain relais et son adresse est retirée de la liste des relais à traverser.
- Code du prochain entête.
- Longueur : nombre de mot de 64 bits composant l'extension.
- Type : Seul le routage par la source est supporté quand type = 0.
- Nombre d'équipement.
- Liste des adresses.
Adressage
La notation décimale pointée employée pour les adresses IPv4 (par exemple 172.31.128.1) est abandonnée au profit d'une écriture hexadécimale, où les 8 groupes de 2 octets (soit 16 bits par groupe) sont séparés par un signe deux-points : 2001:0db8:0000:85a3:0000:0000:ac1f:8001.
Un espace d'adressage aussi long permet de subdiviser les adresses disponibles en une hiérarchie de domaines de routage reflétant la topologie d'Internet. Il permet également de mapper les adresses des cartes réseau (ou interfaces) qui relient les périphériques au réseau.
Principaux type d'adresse IPv6 :
Pour plus d'informations sur ce sujet très vaste, vous pouvez vous référer au site internet de l'IETF RFC 4291 ou sur le Wikipédia Address Ipv6 .
- Lien Local : Cette adresse ne traverse pas les routeurs. Elle permet de découvrir ses voisions.
- Unique Local Address : Cette adresse est routé uniquement à l’intérieur d’un site ( ex: une entreprise).
- Adresse Globale : Cette adresse est routable sur tout les réseaux connectés.
- Adresse Multicast : Sert par exemple à communiquer avec tous les routeurs d'un lien (ff02::2).
ICMPv6
Dans IPv4, ICMP (Internet Message Control Protocol) sert à la détection d'erreurs (par exemple : équipement inaccessible, durée de vie expirée,...), au test (par exemple ping), à la configuration automatique des équipements (redirection ICMP, découverte des routeurs). Ces trois fonctions ont été mieux définies dans IPv6. De plus ICMPv6 (RFC 2463) intègre les fonctions de gestion des groupes de multicast (MLD : Multicast Listener Discovery) qui sont effectuées par le protocole IGMP (Internet Group Message Protocol) dans IPv4. ICMPv6 reprend aussi les fonctions du protocole ARP utilisé par IPv4. Le protocole se voit attribuer le numéro 58.
Le format générique des paquets ICMPv6 est donné figure Format générique d'un message ICMP :
- Le champ type : correspond au de la code la nature du message ICMPv6 (ex : Type 1 correspond à un destination inaccessible).
- Le champ Code : précise la cause du message ICMPv6 (ex: avec le type 1, le code 0 signifie qu'aucune route vers la destination a été trouvé..
- Le champ checksum permet de vérifier l'intégrité du paquet ICMP.