Le mécanisme des extensions permet d'offrir une grande variété de fonctions/services supplémentaires au niveau réseau de manière à impliquer soit:
C'est l’émetteur qui choisit quelles extensions sont à inclure dans le message. Cela simplifie le traitement car les options ne seront présentes que si nécessaire. Les équipements non impliqués par le traitement n'examinent pas les en-tête d'extension.
Les extensions ne modifient pas la structure originale de l’en-tête IPv6. Le champ Next Header indique quel protocole de niveau supérieur est encapsulé par IPv6. Dans le cas de l'utilisation de l'extension, le champ est déplacé dans un autre champ Next Header au début de l'extension. Plusieurs mécanismes d'extension peuvent ainsi s’enchaîner.
Les valeurs du champs Next Header correspondant aux extensions:
dec | hexa | extension | Description |
---|---|---|---|
0 | 0x00 | Proche-en-proche | Traitement a effectuer sur tous les noeuds intermédiaires |
43 | 0x2b | Routage | Imposer a un paquet une route différente du routage mis en oeuvre dans un réseau |
44 | 0x2c | Fragmentation | fragmentation et ré-assemblage |
50 | 0x32 | ESP Confidentialité | |
51 | 0x33 | AH Authentication Header | authentification de la source des données |
59 | 0x3b | IPv6 No Next (Fin des en-têtes) | |
60 | 0x3c | Destination | options traitées par le destinataire |
135 | 0x87 | MIPv6 | Mobilité IPv6 |
140 | 0x8c | Shim6 | gestion de l'attachement multiple |
194 | Jumbogramme | échange de paquet avec des tailles supérieure à 64Ko |
La mise en œuvre d'options de confidentialité/sécurité en IPv6 passe par les extensions AH1) et ESP2) qui peuvent être utilisées séparément ou ensemble. AH fournit une authentification de l'origine des données et une protection contre les attaques par rejeu, et ESP offre l'intégrité sans connexion, l'authentification de l'origine des données, une protection contre les attaques par rejeu et une confidentialité limitée du flux de trafic, ainsi que la confidentialité via le chiffrement de la charge utile.
Les extensions impliquant uniquement le destinataire:
Les extensions impliquant tous les routeurs intermédiaires:
Les extensions impliquant les routeurs intermédiaires désignés
L'enchaînement des extensions se fait dans un ordre bien déterminé. Par exemple, une extension concernant tous les routeurs sur le chemin (Hop-by-Hop) devra forcément se trouver en première position. Si elle se trouvait à la suite d'une extension Destination, elle ne pourrait être lue, l'extension Destination n'étant interprétée que par le destinataire du paquet.
cet enchaînement d'extension rend difficile la lecture des numéros de port. Il faut en effet lire tout l'enchaînement d'extension pour arriver au protocole de niveau 4. Ceci a servi de justification à l'identificateur de flux qui permettait de refléter au niveau 3 un flux particulier et évitait de dérouler l'enchaînement. Bien entendu, les équipements de type pare-feux devront vérifier les numéros de ports.
D'autres extensions de routages ont été prévues comme la Mobilité IPv6 désignée MIPv6. Elle permet de changer de réseau et donc d'adresse IP de manière transparente pour les correspondants. Elle s'appuie sur:
Les extensions sont facultatives, elles simplifient le traitement des paquets car elles ne sont présentes que si nécessaire mais permettent lorsqu'elles sont ajoutées, d'identifier des paquets nécessitant des traitements spécifiques à effectuer dans la couche réseau.
Ce mécanisme a un impact sur le fonctionnent des équipements de sécurité qui devront néanmoins identifier les champs successifs Next Header pour filtrer correctement les flux en se basant sur des couches de protocoles de type liaison, réseau, transport.