CHAPITRE VIII : Adressage IPv6, ICMPv6
En route vers la sixième dimension d’IP
À peine digérés les protocoles du monde IP, voilà qu’un nouveau apparaît. Fini donc IP, dont on apprend qu’il était le quatrième du nom, et bienvenue dans le monde IPv6. Le mystère demeure quant à ce qui est advenu des autres versions.
Avec IPv6, il faut presque tout réapprendre, à commencer par le format des adresses. Heureusement, la plupart des protocoles existants sont soit adaptés (BGP, DNS, RSVP…) soit reprennent les principes de leur équivalent en IPv4 (ICMP, OSPF…). Nous pouvons donc réutiliser la plupart des concepts que nous avons appris.
Dans ce chapitre, vous découvrirez ainsi :
À peine digérés les protocoles du monde IP, voilà qu’un nouveau apparaît. Fini donc IP, dont on apprend qu’il était le quatrième du nom, et bienvenue dans le monde IPv6. Le mystère demeure quant à ce qui est advenu des autres versions.
Avec IPv6, il faut presque tout réapprendre, à commencer par le format des adresses. Heureusement, la plupart des protocoles existants sont soit adaptés (BGP, DNS, RSVP…) soit reprennent les principes de leur équivalent en IPv4 (ICMP, OSPF…). Nous pouvons donc réutiliser la plupart des concepts que nous avons appris.
Dans ce chapitre, vous découvrirez ainsi :
- l’adressage ipv6 ;
- les principes de fonctionnement du protocole ;
- les moyens de migrer de IPv4 vers IPv6.
Genèse d’IPv6
Les besoins
Début 2002, il ne restait que 36 % des 4,3 milliards d’adresses publiques IPv4 possibles. En particulier, l’Asie, zone économique à forte croissance, ne disposait que de 20 % de l’espace d’adressage.
En outre, de nouvelles applications d’Internet doivent voir le jour, comme les PDA (Personal Digital Assistants), les téléphones portables de troisième génération (les fameux UMTS) ou encore la domotique (eh oui, certains réfrigérateurs sont déjà connectés à Internet !) ; même la console de jeu X-Box de Microsoft supporte déjà IPv6.
Besoins réels ou non, applications du XXIe siècle ou de science-fiction, la pression sur les adresses se fait de plus en plus forte, ne serait-ce que par le biais des connexions à Internet que nous connaissons déjà aujourd’hui. Ainsi en Asie, la Chine migre vers IPv6 et le Japon investit massivement dans un programme de migration.
Et même si la pression vient du marché grand public, des constructeurs tels que Microsoft et Cisco, en quête de nouveaux débouchés dans les entreprises, souhaitent également accélérer le mouvement.
Les solutions
Face à la pénurie d’adresses qui se profilait en 1990, deux types de solutions ont vu le jour, l’une consistant à ajouter des fonctions autour d’IPv4 (avec la translation d’adresses notamment) et l’autre consistant à développer un nouveau protocole, appelé IPv6.
Il est vrai que la translation d’adresses complexifie la gestion des réseaux et atteindra ses limites. Cependant, les réseaux IPv6 sont toujours en phase pilote, et l’on s’achemine plutôt vers une migration lente par la mise en place de passerelles aux frontières des réseaux publics et privés.
Néanmoins, les concepteurs d’IPv6 ont vu les choses en grand : un espace d’adressage immense de 3,4 1038 adresses et l’intégration de nombreuses fonctionnalités, qui ne sont que des rajouts dans IPv4 :
- la gestion de la QoS DiffServ ;
- la gestion des flux avec les labels ;
- la gestion de la sécurité avec l’authentification et le chiffrement des données IPsec ;
- l’affectation automatique des adresses ;
- le support de la mobilité, qui permet de conserver son adresse partout dans le monde (fonction de roaming utilisée par les téléphones portables).
Mais pour ne pas retomber dans les limitations d’IPv4, les concepteurs ont sans doute répété les erreurs d’ATM : un protocole à tout faire et qui remet en cause l’existant. Car, avec IPv6, il faut apprendre à manipuler un nouveau système d’adressage et un nouvel en-tête ;
réécrire de nouveaux protocoles (ICMP, IS-IS, SNMP…) et adapter les existants (OSPF, BGP…) ; puis installer de nouveaux logiciels dans les routeurs et les ordinateurs (couches TCP/IP, browser, Telnet, FTP, ping, etc.).
Si la lenteur de la migration est rattrapée par des évolutions d’IPv4, alors IPv6 suivra le chemin d’ATM, c’est-à-dire qu’il restera cantonné dans les réseaux des opérateurs.
Mais enfin, tôt ou tard, de près ou de loin, vous serez confronté à IPv6 ; donc autant s’informer dès maintenant.
Comparaison avec IPv4
Afin de donner quelques points de repère à ceux qui connaissent désormais IPv4, voici quelques points de comparaison.
Tout d’abord les adresses : 128 bits au lieu de 32 et plusieurs formats à la place de la notion de classe. On retrouve certes une partie réseau et une partie station, fixée à 64 bits chacune, mais le découpage et le format de chaque partie sont différents. La première utilise des bits variables pour désigner les subnets, permettant ainsi d’agréger les routes selon le principe du CIDR (Classeless Inter-Domain Routing), alors que la partie station correspond à l’adresse Ethernet MAC au format 64 bits.
Le système d’adressage est donc plus compliqué, mais les adresses peuvent être configurées automatiquement avec ou sans DHCP, ce qui simplifie grandement la tâche des administrateurs. Toute la complexité de l’adressage est, en effet, reportée sur les routeurs.
Ceux qui connaissent le protocole IPX et Novell ne seront pas dépaysés.
Ensuite, une série de procédures IPv4 est remplacée. Ainsi :
- le protocole ARP est remplacé par une procédure simple reposant sur deux messages ICMPv6 « Neighbor Solicitation » et « Neighbor Advertisement » ;
- la découverte des routeurs, optionnelle avec IPv4 et désormais obligatoire, repose sur deux messages ICMPv6 « Router Solicitation » et « Router Advertisement » ;
- les adresses de broadcasts sont remplacées par des adresses multicasts permettant de désigner tous les nœuds ou tous les routeurs ;
- le protocole IGMP est remplacé par une procédure similaire, la MLD (Multicast Listener Discovery) reposant sur trois messages ICMPv6.
Enfin, les couches TCP et UDP doivent être mises à jour car le contrôle d’erreur porte sur une partie de l’en-tête IP qui n’est pas la même entre les deux versions.
Remarque sur la terminologie
Dans le jargon d’IP, un nœud désigne une machine TCP/IP connectée au réseau. Parmi celles-ci, on distingue les routeurs et les stations (hosts). Un lien est le réseau sur lequel est connecté le nœud, soit une liaison point à point (lien série PPP, PVC ATM ou Frame Relay), soit un réseau local tel qu’Ethernet. Dans ce dernier cas, le lien désigne le domaine de broadcast MAC délimité par des routeurs.
-------------------------------------------------------------------------------------------------------
L’ADRESSAGE IPV6 (RFC 2373, 2374, 2450)
Une adresse IPv6 est codée sur 128 bits et s’écrit sous la forme de 8 chiffres hexadécimaux représentant chacun 16 bits séparés par " : ", comme par exemple 2001:0000:0000:A7CF:02D0:B7FF:FE26:CB2A.
Plusieurs zéros consécutifs peuvent être abrégés par deux signes " :: " consécutifs, et ce, une seule fois dans l’adresse, comme par exemple, 2001::A7CF:02D0:B7FF:FE26:CB2A.
Pour les adresses compatibles IPv4, les 32 derniers bits peuvent conserver l’écriture standard, comme par exemple, 0:0:0:0:0:0:176.16.10.3 qui s’écrit également ::176.16.10.3.
Le masque indique le nombre de bits codant la partie réseau de l’adresse (subnet), les autres bits codant un éventuel sous-réseau et la partie station (host), comme par exemple : 2001:0660:0100:0:800:1:2:3/41, équivalent à 2001:660:100:0:800::/41, qui précise que les 41 premiers bits codent le réseau. Le masque ne peut jamais dépasser 64 bits, les 64 derniers bits étant réservés à l’identifiant d’interface.
Des formats de préfixe (i.e. les premiers bits de l’adresse) spécifient un format d’adresse.
Par ailleurs, les adresses ::1 et :: sont réservées :
* 0:0:0:0:0:0:0:1 pour l’adresse de loopback qui désigne le nœud lui-même ;
* 0:0:0:0:0:0:0:0 pour l’adresse non spécifiée qui indique l’absence d’adresse sur l’interface.
La RFC 2374 structure les adresses unicasts globales (i.e. publiques) de façon hiérarchique :
Ainsi, la RFC 2450 affecte à l’Internet le TLA 0001 provenant du format de préfixe 2, ce qui correspond au réseau 2001/16. Le IANA, qui détient ce préfixe, délègue ensuite des sous-TLA de 13 bits aux autorités régionales telles que l’APNIC (2001:0200::/29), l’ARIN (2001:0400::/29), ou le RIPE en Europe (2001:0600::/29). Ces organismes distribuent ensuite ces adresses aux opérateurs tels les ISP (Internet Service Provider), qui les allouent ensuite à leurs clients, ces derniers disposant alors des bits du champ SLA pour leur réseau privé (voir l’annexe « La gestion de l’Internet » à ce sujet).
Le format de l’adresse unicast globale retenu pour l’Internet est le suivant :
Le champ sous-TLA correspond aux 8 bits du champ RES, plus 5 bits prélevés sur le champ NLA.
Le champ NLA peut être structuré de manière à permettre l’agrégation de routes en respectant, par exemple, la topologie du réseau de l’opérateur.
Une adresse locale de lien n’est pas routée au-delà du domaine de broadcast délimité par des routeurs.
Ce type d’adresse est utilisé pour la communication des nœuds voisins, (découverte de routeurs, résolution d’adresse, etc.), et pour l’adressage des liaisons point à point (lien série ou tunnel).
Une adresse locale de site est utilisée dans un espace d’adressage privé sans possibilité de routage sur le réseau public.
Une adresse unicast peut être affectée à plusieurs interfaces et à des routeurs différents : on parle alors d’adresse anycast. Sur les 128 bits, le préfixe de sous-réseau est variable, la partie interface étant égale à 0. Étant donné qu’il n’y a aucun moyen de différencier une adresse anycast d’une adresse unicast, elle doit être explicitement déclarée et traitée comme telle dans les routeurs.
L’affectation des préfixes peut être consultée sur le site www.iana.org/assignments/ipv6-address-space. -------------------------------------------------------------------------------------------------------
Configuration des nœuds
À l’initialisation d’un nœud, IPv6 affecte à chaque interface une adresse locale de lien (préfixe FE80::/64).
Si un routeur est présent sur le lien de l’interface, celle-ci se voit affectée d’une ou de plusieurs adresses globales (préfixe 02/3) ou locales de site (préfixe FEC/48), en fait une par préfixe annoncé par le ou les routeurs.
L’identifiant d’interface (adresse MAC au format 64 bits dans le cas d’Ethernet) est ajouté à chacun de ces préfixes.
De plus, chaque nœud IPv6 se met à l’écoute des adresses multicasts suivantes :
Sous Windows 2000 ou XP, nous pouvons visualiser la configuration résultante.
En l’absence de routeur, une station ne peut générer qu’une adresse locale de lien.
-------------------------------------------------------------------------------------------------------
LE POINT SUR IPV6 (RFC 2460)
Le protocole repose sur un en-tête fixe de 40 octets, éventuellement suivi d’extensions de tailles variables, comportant des options utilisées occasionnellement.
Excepté l’extension hop-by-hop, les routeurs intermédiaires n’ont pas besoin d’analyser les extensions, accélérant par là le traitement du paquet IP.
La couche IP a pour rôle de router les paquets individuellement et de traiter les flots de paquets identifiés par des labels de flux. Les paquets peuvent être perdus ou arriver dans le désordre. À la différence de son prédécesseur, IPV6 ne procède à aucun contrôle d’erreur, cette fonction faisant double emploi avec celle réalisée par la couche liaison tel Ethernet ou Frame Relay.
Les stations IP fragmentent également les paquets pour qu’ils puissent tenir dans les MTU des différentes couches liaison traversées. À l’arrivée, les paquets sont réassemblés (à la différence d’IPv4, les routeurs ne procèdent à aucune fragmentation, car le calcul du MTU ne le nécessite pas). Le champ “ hop limit ” est décrémenté d’une unité chaque fois que la paquet traverse le routeur. Arrivé à une valeur de 0, le paquet est détruit au cas où cela serait le résultat d’une boucle dans le réseau.
Le site www.ietf.org/html.charters/ipv6-charter.html permet de suivre les évolutions du protocole dont certains aspects, tels les labels de flux, ne sont pas encore figés. -------------------------------------------------------------------------------------------------------
Sur les routeurs et selon le plan d’adressage retenu, il faut configurer les préfixes d’adresses globales et locales de site.
Notre routeur diffuse alors le préfixe (i.e. les subnets) qu’il supporte sur le réseau local de son interface Ethernet « e0 ».
En plus des adresses précédemment mentionnées, le routeur est à l’écoute des adresses anycasts et multicasts suivantes :
La station récupère le préfixe et construit l’adresse en y ajoutant son adresse MAC au format 64 bits. Nous pouvons alors la visualiser sur notre station Windows XP.
Le RIPE disposant du sous-TLA 0600/29 a alloué 0660/35 à Renater (voir www.ripe.net/ripencc/mem-services/registration/ipv6/ipv6allocs.html) qui gère les 29 bits d’espace d’adressage restant (13 bits de NLA structurés en 63 plaques régionales de 127 campus et laboratoires et 16 bits de SLA, soit 65 535 réseaux). Par exemple, le NLA 0100/41 correspond à la région Ile-de-France et 0180/41, à Grenoble.
Le champ « Interface » a été construit à partir de l’adresse MAC 00-D0-B7-26-CB-2A (D0-B7 indiquant que le fabriquant de la carte réseau est Intel), la valeur du bit U/L (indiqué par une *) étant inversée.
La couche IP créé également une pseudo-interface de loopback comme, par exemple, sur notre PC :
Notre routeur diffuse alors le préfixe (i.e. les subnets) qu’il supporte sur le réseau local de son interface Ethernet « e0 ».
En plus des adresses précédemment mentionnées, le routeur est à l’écoute des adresses anycasts et multicasts suivantes :
La station récupère le préfixe et construit l’adresse en y ajoutant son adresse MAC au format 64 bits. Nous pouvons alors la visualiser sur notre station Windows XP.
Le RIPE disposant du sous-TLA 0600/29 a alloué 0660/35 à Renater (voir www.ripe.net/ripencc/mem-services/registration/ipv6/ipv6allocs.html) qui gère les 29 bits d’espace d’adressage restant (13 bits de NLA structurés en 63 plaques régionales de 127 campus et laboratoires et 16 bits de SLA, soit 65 535 réseaux). Par exemple, le NLA 0100/41 correspond à la région Ile-de-France et 0180/41, à Grenoble.
Le champ « Interface » a été construit à partir de l’adresse MAC 00-D0-B7-26-CB-2A (D0-B7 indiquant que le fabriquant de la carte réseau est Intel), la valeur du bit U/L (indiqué par une *) étant inversée.
La couche IP créé également une pseudo-interface de loopback comme, par exemple, sur notre PC :
-------------------------------------------------------------------------------------------------------
L’ADRESSAGE MULTICAST (RFC 2373 ET 2375)
Une adresse multicast, identifiée par le préfixe FF/16, permet de gérer des groupes de diffusion.
Un certain nombre de groupes permanents est utilisé pour échanger des messages de service ICMP.
Le site www.iana.org/assignments/ipv6-multicast-addresses tient à jour la liste des groupes réservés.
Sur un réseau Ethernet, les paquets multicasts IP sont envoyés dans des trames multicasts dont l’adresse MAC de destination commence par “ 33-33 ”, les 32 derniers bits de cette adresse provenant des 32 derniers bits de l’adresse IP.
À titre de comparaison, vous pouvez consulter le schéma au début du chapitre 15, qui montre le même principe appliqué à IPv4.
L’adresse de sollicitation de nœud a pour but de minimiser le nombre de nœuds devant traiter la trame multicast diffusée sur le réseau local. Son préfixe est FF02::1:FFxx:xxxx/104, “ xx:xxx ” désignant les 24 derniers bits d’une adresse IP.
Ainsi, le nœud d’adresse de lien FE80::02D0:B7FF:FE26:CB2A écoutera également les adresses FE02::1:FF26:CB2A. Et seuls les nœuds dont l’adresse MAC se termine par 26-CB-2A prendront en compte la trame multicast 33-33-FF-26-CB-2A, les autres ne perdant pas de temps à l’analyser. -------------------------------------------------------------------------------------------------------
Fonctionnement standard des nœuds
Chaque nœud IPv6 conserve en mémoire les informations suivantes :
Chaque nœud IPv6 conserve en mémoire les informations suivantes :
- Le cache des voisins, équivalent au cache ARP d’IPv4, indique la liste des adresses IPv6 avec les adresses de niveau 2 associées, par exemple les adresses MAC Ethernet.
- Le cache des destinations contient les adresses IP auxquelles le nœud a récemment envoyé un paquet, avec pour chacune d’entre elles, l’adresse du prochain saut ainsi que le MTU du chemin.
- La liste des préfixes, provenant des messages d’annonce des routeurs (messages ICMP 134), qui contient les préfixes directement joignables (i.e. situés sur le même lien).
- La liste des routeurs qui ont envoyé une annonce (message ICMP 134) et parmi lesquels l’un est susceptible d’être élu routeur par défaut pour ce nœud.
LE POINT SUR ICMPV6 (RFC 2463 ET 3122)
ICMP (Internet Control Message Protocol) regroupe tous les messages de services nécessaires aux communications entre nœuds. ICMP correspond, en effet, à une série de procédures très diverses allant de la découverte des routeurs voisins à la notification d’erreurs. -------------------------------------------------------------------------------------------------------
La découverte des nœuds voisins (RFC 2461 et 3122)
Les voisins sont les nœuds situés sur le même domaine de broadcast Ethernet ou sur le même lien série (PPP, Frame Relay ou ATM).
Derrière le terme ND (Neighbor Discovery), se cache une série de procédures qui sont :
Les voisins sont les nœuds situés sur le même domaine de broadcast Ethernet ou sur le même lien série (PPP, Frame Relay ou ATM).
Derrière le terme ND (Neighbor Discovery), se cache une série de procédures qui sont :
- utilisées par les stations pour la découverte des routeurs, des préfixes réseaux et des paramètres utilisés (MTU, nombre maximal de sauts,…) ;
- utilisées par les routeurs pour la fonction de redirection vers une meilleure route ;
- utilisées par les nœuds en général pour la résolution d’adresses, la vérification de l’état des voisins et la recherche du prochain saut pour aller vers un réseau donné.
Toutes ces procédures reposent sur 5 messages ICMP, contenant un en-tête de message ND et éventuellement des options.
Les options utilisées dans les messages de découverte
Options « Adresse de lien source » et « Adresse de lien destination » utilisées dans divers messages.
Option « Information de préfixe » utilisée dans les messages d’annonce de routeurs.
Option « MTU » utilisée dans les messages d’annonce de routeurs.
Option « Redirection » utilisée par les routeurs.
Le champ « Longueur » indique le nombre de blocs de 8 octets, données et en-tête compris.
La résolution d’adresse
La procédure est relativement simple. Un nœud désirant connaître l’adresse MAC à partir de son adresse IP, émet une requête multicast dans le groupe de sollicitation de nœuds correspondant à cette même adresse IP.
Seuls les nœuds dont l’adresse MAC se termine par les 24 derniers bits de l’adresse MAC de la trame multicast vérifient si l’adresse IP demandée correspond à la leur, et seul le nœud qui répond par l’affirmative renvoie une annonce à l’émetteur.
Les informations ainsi collectées permettent de mettre à jour le cache des voisins.
La résolution inverse d’adresse
Il est des cas, comme par exemple sur un lien Frame Relay, où connaissant l’adresse de niveau 2 du routeur d’en face (en l’occurrence le DLCI), il serait intéressant d’en connaître automatiquement l’adresse IP. La RFC 3122 définit la procédure dite de résolution inverse.
Si présente, l’option 9 indique la liste des adresses IP affectées à l’interface par laquelle la requête est envoyée.
Dans le paquet de réponse, le récepteur met son DLCI dans l’option « Adresse de lien destination » qu’il obtient de la couche niveau 2 de la trame Frame Relay qu’il reçoit. Il y ajoute les adresses IP associées.
La découverte des routeurs
À son initialisation, tout nœud IPv6 recherche l’existence de routeurs sur son ou ses liens afin de déterminer s’il faut récupérer des préfixes et des paramètres.
Les routeurs envoient périodiquement des annonces et répondent également aux sollicitations comme celle montrée ci-dessus.
Dans ce message, le routeur communique à la station une série de paramètres précisés dans le tableau ci-après.
Sauf indication contraire, une valeur à 0 indique que le routeur ne spécifie pas de valeur.
La vérification de l’état des voisins
Une fois les voisins découverts, un nœud vérifie périodiquement leur état et en garde une trace dans le cache des voisins.
Si le voisin est le routeur par défaut et vient à ne plus être joignable, le nœud recherche un autre routeur dans sa liste de routeurs.
La redirection
Un routeur a la possibilité d’informer une station qu’il existe un routeur voisin disposant d’une meilleure route vers la destination spécifiée dans les paquets émis par la station.
De la même manière, il peut informer une station que son destinataire est directement joignable sans passer par un quelconque routeur. Ce cas de figure se produit lorsque plusieurs subnets IP cohabitent sur le même domaine de broadcast Ethernet.
À la réception de ce message, la station envoie les paquets à l’adresse MAC qui lui est indiquée.
L’auto-configuration des adresses (RFC 2462)
Lors de son initialisation, une interface IPv6 s’attribue une adresse de lien sur la base du préfixe FE80::/64 et de son adresse MAC dans le cas d’Ethernet. Des adresses supplémentaires sont créées si des routeurs lui envoient des annonces de préfixe.
Cette procédure d’affectation automatique des adresses est connue sous le nom de stateless par opposition au mode stateful qui fait intervenir un serveur DHCP.
L’affectation automatique des adresses
Le nœud fait appel à la procédure de détection des adresses dupliquées. En cas de détection positive, l’interface ne peut être activée. Dans le cas contraire, l’adresse est enregistrée.
Dans le cas d’une station, la procédure se poursuit par la recherche des routeurs voisins, et en cas de succès, la station sauvegarde les paramètres « Hop limit », « Reachable time », « Retransmission timer », et le MTU.
Pour chaque préfixe indiqué dans l’annonce de routeur, la procédure d’auto-configuration de la station se poursuit comme suit :
- Si l’indicateur « On-Link » de l’option d’information de préfixe est positionné à « 1 », le préfixe est ajouté à la liste des préfixes.
- Si l’indicateur « Autonomous » de l’option d’information de préfixe est positionné à « 1 », le préfixe et l’adresse MAC sont concaténés pour former une adresse, dont l’unicité est vérifiée à l’aide de la procédure de détection des adresses dupliquées.
- Si l’indicateur « Managed address » est positionné à « 1 » dans le message d’annonce du routeur, un protocole tel que DHCP doit être utilisé pour obtenir d’autres adresses.
- Si l’indicateur « Other stateful » est positionné à « 1 » dans le message d’annonce du routeur, un protocole tel que DHCP doit être utilisé pour obtenir d’autres paramètres.
Les adresses IPv6 sont donc allouées dynamiquement, une de lien locale, et d’autres, si des routeurs voisins sont détectés.
La détection d’adresse dupliquée
Il s’agit du cas hautement improbable d’une duplication d’adresse, sans doute suite à une mauvaise configuration lorsque, par exemple, l’administrateur a voulu fixer l’adresse IP indépendamment de l’adresse MAC de la carte réseau.
Si aucune réponse n’est reçue, l’adresse est supposée être libre et est affectée à l’interface.
La découverte du MTU (RFC 1981)
Le MTU (Maximum Transmission Unit) est la taille maximale d’un paquet IP non fragmenté pouvant être transporté par la couche liaison. Étant donné qu’un paquet IP peut traverser des réseaux de nature très différente, le MTU résultant doit correspondre au plus petit MTU trouvé. Par exemple, le MTU d’une trame Ethernet v2 est de 1 500 octets, celui d’une trame Ethernet 802.3, de 1 492 octets et celui d’une trame Frame Relay, de 4 096 octets.
La procédure utilisée est la suivante :
1. Initialement, le MTU correspond à celui de la couche liaison de l’interface par laquelle le premier paquet est envoyé.
2. Si un routeur constate que la taille du paquet est supérieure au MTU de la couche liaison de l’interface vers laquelle il doit transmettre le paquet, il renvoie à l’émetteur un message ICMP « Packet too big » qui contient le MTU correspondant à la couche liaison en cause.
3. L’émetteur ajuste son MTU et renvoie le paquet en le fragmentant éventuellement. Il procède ainsi de suite, tant qu’un routeur situé sur la route d’acheminement du paquet lui envoie le même type d’erreur.
4. Toutes les cinq ou dix minutes, l’émetteur essaye d’augmenter son MTU, afin de détecter un éventuel changement dans la topologie du réseau. En cas d’échec, il reçoit les mêmes messages d’erreur.
En aucun cas, IPv6 n’accepte un MTU inférieur à 1 280 octets.
La gestion des groupes de diffusion (RFC 2710 et 2711)
La procédure MLD (Multicast Listener Discovery) permet d’enregistrer les stations appartenant à un groupe multicast. Elle est identique à IGMP (voir le début du chapitre 15) employé avec IPv4, mais utilise des messages ICMP équivalents.
Les messages MLD sont constitués d’un en-tête IP, d’une extension « Hop-by-hop » comportant l’option « Router Alert », et d’un des trois messages ICMP ci-dessus.
Les messages « Listener Query » sont envoyés par les routeurs pour rechercher les membres d’un groupe (recherche spécifique à une adresse multicast) ou les membres de tous les groupes (recherche générale).
Les membres des groupes répondent à cette sollicitation ou se manifestent d’eux-mêmes en envoyant un message « Listener Report ». Dès que l’un d’eux quitte le groupe, il envoie un message « Listener Done ».
L’option « Router Alert », décrite par la RFC 2711, indique au routeur de traiter le message MLD, même s’il n’est pas à l’écoute de l’adresse multicast parce que n’ayant aucun membre pour ce groupe.
Migrer de la adressage v4 à la v6
Théoriquement, les applications ne doivent pas être réécrites, car elles font référence aux couches TCP et UDP. Or, ces couches doivent être modifiées afin que le calcul du checksum porte sur une partie de l’en-tête IPv6 (voir la fin du chapitre 5).
Avec IPv6, TCP doit calculer le checksum sur les données et la partie d’en-tête suivante, appelée pseudo en-tête :
Dans le cas de Windows, Microsoft a développé une nouvelle couche TCP adaptée à IPv6 et distincte de celle reposant sur IPv4. En conséquence, les applications doivent être réécrites pour supporter la nouvelle interface Winsock conforme à la RFC 2553.
Par exemple, les primitives gethostbyname et gethostbyaddr doivent respectivement être remplacées par getaddrinfo et getnameinfo.
Pour plus d’informations, le lecteur pourra se reporter aux RFC suivants :
• RFC 2529 – « Transmission of IPv6 over IPv4 Domains without Explicit Tunnels » ;
• RFC 2893 – « Transition mechanisms » ;
• RFC 3056 – « Connection of IPv6 Domains via IPv4 Clouds (6to4) »;
• RFC 3142 – « An IPv6-to-IPv4 Transport Relay Translator ».
Adressage IPv6, ICMPv6 - Prorocole IPv6
-----------------------------------------------------------------------------------------------------
Aucun commentaire:
Enregistrer un commentaire