MOOC:Verb41
From Livre IPv6
Introduction
Le déploiement IPv6 dans un réseau doit se faire selon de bonnes pratiques comme :
- de ne pas 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 et motiver au 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.
Lorsque le serveur est lui-même en double pile, le client commence par une communication en IPv6, Si sa tentative échoue, il se rabattrera sur IPv4.
Dans le cas d'un routeur, celui-ci possède 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.
Maintenant que nous avons identifiée une technique d'intégration d'IPv6 à réseau existant. Reste le problème de la méthode du déploiement d'IPv6. Par quel bout attaquer le problème ?
Etude et préparation
Déployer IPv6 dans un réseau, c'est bien 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 toutes les applications.
L'intégration d'IPv6 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 de l'existant 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. Pour les autres, qui ne disposent d'IPv6, une mise à jour peut être suffisante. Il ne faut pas oublier qu'IP n'est que du logiciel.
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 unicast 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.
Ensuite il faut définir un préfixe local selon un plan d'adressage reposant sur le champ SID. Le préfixe public complété par le préfixe local va constituer un préfixe réseau de 64 bits attribué à un lien.
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 configuration des équipements existants en double pile.
Il s'agit cette fois de configurer en IPv6 les routeurs, les serveurs et les postes de travail. A ce stade, il ne faut pas oublier d'intégrer dans l'annuaire du domaine les adresses IPv6 allouées.
Des nouveaux terminaux pourront apparaitre et fonctionner en IPv6 nativement tout en interopérant avec l'existant passé 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.
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. La version du protocole utilisée dépendra de l'adresse e destination.
- Lorsque l'adresse de destination est une adresse iPv6 contenant 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 potentiellement des liens à base de tunnel IPv4, ils sont plus fragile. Le risque de ne pas pas pouvoir joindre le serveur est plus important. 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.
Conclusion
- La double pile permet la coexistence d'IPv6 avec d'IPv4 dans le même réseau..
- Au commencement, 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. Autrement dit, IPv6 est une évolution d'IPv4 et non le moyen de faire un Internet parallèle et disjoint de l'existant.
- 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.