Difference between revisions of "MOOC:Verb41"
From Livre IPv6
Line 9: | Line 9: | ||
Les bonnes pratiques du déploiement IPv6 dans un réseau sont : | Les bonnes pratiques du déploiement IPv6 dans un réseau sont : | ||
− | - de ne casser ou perturber ce qui fonctionne en IPv4. IPv6 s'ajoute à l'existant mais ne remplace pas l'existant. Le déploiement d'IPv6 est un processus progressif. | + | - de ne casser ou perturber ce qui fonctionne en IPv4. IPv6 s'ajoute à l'existant mais ne remplace pas l'existant. Le déploiement d'IPv6 est un processus progressif et additionnel. |
- d'être complètement indolore à l'utilisateur comprendre par là transparent. L'utilisateur ne doit constater aucune dégradation du service de communication | - d'être complètement indolore à l'utilisateur comprendre par là transparent. L'utilisateur ne doit constater aucune dégradation du service de communication | ||
Line 17: | Line 17: | ||
- de maintenir la connectivité avec l'Internet IPv4. IPv6 est une évolution de l'Internet et ne doit pas être vue comme un moyen de faire un Internet parallèle. | - de maintenir la connectivité avec l'Internet IPv4. IPv6 est une évolution de l'Internet et ne doit pas être vue comme un moyen de faire un Internet parallèle. | ||
− | + | Une bonne façon de mettre en oeuvre ces bonnes pratiques est de déployer IPv6 avec la technique de la double pile. | |
− | + | ||
Revision as of 03:42, 18 November 2021
Introduction
Les bonnes pratiques du déploiement IPv6 dans un réseau sont :
- de ne casser ou perturber ce qui fonctionne en IPv4. IPv6 s'ajoute à l'existant mais ne remplace pas l'existant. Le déploiement d'IPv6 est un processus progressif et additionnel.
- d'être complètement indolore à l'utilisateur comprendre par là transparent. L'utilisateur ne doit constater aucune dégradation du service de communication
- de viser des améliorations en terme de simplicité, de gestion et de performance du réseau. Constater un meilleur fonctionnement du réseau vise justement à encourager le passage à IPv6.
- de maintenir la connectivité avec l'Internet IPv4. IPv6 est une évolution de l'Internet et ne doit pas être vue comme un moyen de faire un Internet parallèle.
Une bonne façon de mettre en oeuvre ces bonnes pratiques est de déployer IPv6 avec la technique de la double pile.
Technique de la double pile
Le premier mécanisme recommandé de coexistence repose sur la technique dite de la double pile. Cette technique consiste à configurer à la fois la pile protocolaire IPv4 et la pile protocolaire IPv6 au sein d'un même noeud. Ainsi le noeud est capable de communiquer dans les 2 versions du protocole IP. Il est en quelque sorte bilingue. Il parle le langage de son correspondant :
- Lorsque l'adresse IP du correspondant appartient à l'espace d'adressage IPv4, la communication s'effectue avec des paquets IPv4. - Et quand l'adresse IP du correspondant appartient à l'espace d'adressage IPv6, la communication s'effectue en utilisant IPv6.
Dans le cas d'un routeur, il y a une table de routage pour chaque version du protocole. Le routeur est ainsi capable de relayer à la fois les paquets IPv6 et IPv4. De cette façon, IPv4 et IPv6 co-existe sur la même infrastructure. Autrement dit IPv6 n'a pas besoin d'une infrastructure dédiée.
Etude et préparation
Déployer IPv6 dans un réseau, c'est plus qu'un changement de tuyau : - Cela touche tout le système d'information. On ne passe pas d'IPv4 à IPv6 comme on change de version pour un logiciel. Il faut mettre à jour tout le réseau et les applications.
Cette migration doit se faire avec méthode et selon un mode projet en suivant des étapes planifiées.
La première étape commence par une étude et un inventaire du réseau afin d'identifier les points qui vont poser problème. Il n'est pas question de changer tous les équipements. Il faut donc identifier ceux qui disposent d'IPv6.
-- La vérification de la disponibilité d'IPv6 peut être aussi simple que vérifier qu'une interface réseau possède l'adresse auto-configurée de portée locale au lien.
Cependant l'adresse de portée locale au lien n'est pas suffisante. Pour des communications indirectes, il faut une adresse routable. Pour cela, il faut constituée une adresse à partir d'un préfixe public dit GUA. Le préfixe GUA est indispensable si le réseau est destiné à être interconnecté à l'Internet.
Dans le détail, le préfixe pour la partie public est donné par un FAI ou par un registre Internet régional (RIR) comme RIPE pour l’Europe.
Ensuite il reste à définir le plan d'adressage de sous-réseau à l’aide de la partie SID. Le préfixe public complété par le préfixe local va constituer un préfixe de 64 bits.
C'est en combinant ce préfixe sur 64 bits et un identifiant sur 64 bits qu'une adresse IPv6 unicast est composée.
Déploiement des équipements
Une fois le plan d'adressage défini, il reste à distribuer les adresses aux noeuds. Ceci va s'effectuer par la phase de déploiement des équipements en double pile.
Il s'agit cette fois de configurer en IPv6 le réseau, les applications métier et les postes de travail. Comme il y a peu de chances que toutes les applications et systèmes IPv4 soient prêts à migrer dans un avenir proche, le réseau va rester mixte pendant longtemps.
Enfin le service de nommage ou DNS doit intégrer les adresses IPv6 allouées.
Les nouveaux terminaux pourront fonctionner en IPv6 nativement tout en interopérant avec l'existant en double pile.
On peut rappeler ici, la capacité d'IPv6 à se répandre facilement sur les terminaux à l'aide de l'autoconfiguration dite sans état.
- Nous verrons dans une autre activité les solutions lorsque l'interopérabilité avec des services restés en IPv4.
Déploiement des services
Le déploiement d'IPv6 pour les applications consiste ne pas à avoir une version de l'application par protocole. Au contraire, la même application peut aussi bien fonctionner avec IPv4 qu'avec IPv6. Ainsi quelle que soit la version du protocole IP, celle-ci est transparente au niveau de l'utilisateur et de l'application.
Pour avoir des applications qui fonctionnent à la fois en IPv4 et en IPv6, il faut que les applications utilisent un format d'adresse sur 128 bits autrement dit compatible à IPv6. Comme une adresse IPv4 peut être incluse dans une adresse de 128 bits, un format d'adresse IPv6 pour ce cas a été défini. Il s'agit du format dit "IPv4 mapped IPv6" qui consiste à préfixer l'adresse IPv4 par un mot tout à F.
Ainsi lorsque l'adresse de destination est une adresse IPv4, la communication va s'effectuer en utilisant des paquets IPv4. Et lorsque l'adresse de destination contient bien une adresse IPv6, la communication va s'effectuer par des paquets IPv6. On voit que la même application utilise la double pile et que le choix de la pile est fait en fonction de la version de l'adresse de son correspondant.
Soulignons que le développement d'application doit se faire de nos jours exclusivement avec le format d'adresse pour IPv6. Ainsi l’application est compatible avec IPv6 et elle est toujours utilisable dans un environnement IPv4.
Le déploiement d'IPv6 avec la présence d'IPv4 peut amener à des dégradations de service si des précautions ne sont pas prises. C'est ce que nous allons voir maintenant.
Problèmes liés au déploiement d'IPv6
Le premier problème porte sur la phase d'établissement de connexion. Les temps de réponse pour joindre un serveur peut avoir significativement augmenté tout du moins assez pour agacer l'utilisateur. Voyons le problème en détail.
Un client en double pile souhaite accéder à un serveur, après interrogation du service de nommage, il obtient les 2 adresses du serveur qui est lui aussi en double pile.
Conformément aux préconisations, le client demande de préférence l'établissement de connexion en IPv6.
IPv6 ayant des liens à base de tunnel IPv4 a une connectivité plus fragile, il se peut que le serveur soit non joignable. Apres plusieurs tentatives infructueuses qui auront pris de très nombreuses secondes. Le client essaye donc avec l'adresse IPv4 et là, la connexion s'établit dans un temps normal.
Devant ce problème, la méthode va consister à tenter la connexion en IPv6 dans un délai très court (de l'ordre de 500 millisecondes), et passer à IPv4 au plus vite en cas d'échec.
Le second problème est lié à la taille des paquets IP. La taille maximum des paquets IPv6 est souvent plus limitée que pour IPv4 du fait d'un usage des tunnels plus fréquent.
Le client arrive à établir la connexion avec le serveur. Et tant que les échanges utilisent des petits paquets tout se passe bien. Dès qu'un paquet de taille supérieur à la MTU du chemin est envoyé, celui-ci est jeté du fait qu'un routeur IPv6 ne fait pas de segmentation. Le routeur signale à la source, par un message ICMP, cette anomalie de taille.
Mais comme les messages ICMP sont souvent bloqués par des administrateurs réseaux maladroits, il n'y aura pas de segmentation faite par la source. Au final, une connexion est établie mais aucune donnée ne pourra être échangée.
La solution proposée consiste à ce que TCP surveille la taille des paquets perdus et que les retransmissions s'effectuent avec des tailles de paquet de plus en plus petites pour finir par correspondre à la MTU du chemin.
Enfin un autre problème, lié aussi au tunnel, porte sur l'interactivité dégradée.
Comme la connectivité IPv6 comporte souvent des tunnels.
Les tunnels peuvent être de longueur importante ajoutant des délais au temps de transfert du paquet. Ainsi le chemin entre un client et un serveur en IPv6 peut être bien plus long que si la communication avait été faite en IPv4.
La solution n'est pas au niveau de l'application, elle réside dans la constitution des tunnels. Ceux-ci doivent être les plus court possible.
Nous reviendrons sur les tunnels dans l'activité suivante.
Conclusion
La migration d'IPv4 vers IPv6 est bien plus qu'un simple changement de tuyau. C'est tout l'écosystème qui est appelé à évoluer. Aussi, la sensibilisation de tous les acteurs à la problématique de la migration est cruciale. Le déploiement d'IPv6 se conduit, comme un projet, avec une planification. Il touche tous les métiers du système d'information.
Le déploiement d'IPv6 doit se faire en tenant compte de l'existant et de manière progressive. IPv6 est appelé à coexister avec IPv4. Autrement dit, IPv6 est une évolution d'IPv4 et non le moyen de faire un Internet parallèle et disjoint de l'existant.
- La double pile permet la coexistence d'IPv4 et d'IPv6 dans le même réseau.
- IPv4 reste fonctionnel et IPv6 ne risque pas de compromettre le bon fonctionnement des services.
- Le déploiement d'IPv6 s'effectue progressivement et constitue bien une extension à IPv4 plutôt qu'un remplacement.
- Il n'en reste pas moins que la double pile reste transitoire et que la présence d'IPv4 oblige à prendre des précautions pour éviter une perte de performance du service fournie par IPv6.
Le service de communication en IPv6 est appelé à s'améliorer avec la disparition progressive d'IPv4.