Difference between revisions of "MOOC:Verb41"

From Livre IPv6

 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
<!--
 
> [[MOOC:Accueil|MOOC]] > [[MOOC:Contenu|Contenu]] >  [[MOOC:Verbatim|Verbatim]]
 
> [[MOOC:Accueil|MOOC]] > [[MOOC:Contenu|Contenu]] >  [[MOOC:Verbatim|Verbatim]]
  
 
----  
 
----  
 +
-->
 +
__NOTOC__
  
 +
= Activité 41 : Communiquer en double pile =
  
'''Introduction'''
+
==Introduction==
  
Le déploiement IPv6 dans un réseau doit se faire  selon de bonnes pratiques comme :
+
<center>
 +
[[image:V41-1.png|400px|thumb|center|]]
 +
</center>
  
* 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.
+
Le déploiement IPv6 dans un réseau doit se faire selon de bonnes pratiques comme :
  
*   d'être complètement indolore à l'utilisateur comprendre par là transparent. L'utilisateur ne doit constater aucune dégradation du service de communication
+
* 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.
  
* 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.
+
* Transparent à l'utilisation ou indolore à l'utilisateur. Ce dernier ne doit constater aucune dégradation du service de communication.
  
* 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.
+
* Viser des améliorations en terme, de simplicité, de gestion et de performance du réseau ou, pire, que cette dernière soit équivalente à celle obtenue en IPv4.  On doit même constater un meilleur fonctionnement du réseau, afin  d'encourager, et de motiver au passage à IPv6.
  
Une bonne façon de mettre en oeuvre ces bonnes pratiques est de déployer IPv6  avec la technique de la double pile.
+
* 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.
  
 +
Nous allons  voir maintenant comment mettre en oeuvre ces bonnes pratiques, avec d'abord la présentation de la technique de la double pile, puis les étapes de déploiement d'IPv6 dans un réseau existant, et enfin les problèmes qui peuvent potentiellement survenir lors de ce déploiement.
  
'''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.  
+
<center>
 +
[[image:V41-2.png|400px|thumb|center|]]
 +
</center>
 +
 
 +
 
 +
Le premier mécanisme d'intégration recommandé 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.  
 
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.  
+
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 :
 
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.
 
* 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.
 
* 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.  
+
Lorsque le serveur est lui-même en double pile, le client commencera par une communication en IPv6, Si sa tentative échoue, il basculera sur une communication en 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.
+
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 ?  
+
Maintenant que nous avons identifié une technique d'intégration d'IPv6 à un 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==
  
'''Etude et préparation'''
+
<center>
 +
[[image:V41-3.png|400px|thumb|center|]]
 +
</center>
  
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.
+
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 dans 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.
+
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.
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.
+
Pour les autres, qui ne disposent pas 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.
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.
+
  
 +
Cependant l'adresse de portée locale au lien n'est pas suffisante.
 +
Pour des communications passant par des routeurs, il faut une adresse unicast routable.
 +
Pour cela, il faut  constituer 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.
 
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 de la double pile==
  
'''Déploiement des équipements'''
+
<center>
 +
[[image:V41-4a.png|400px|thumb|center|]]
 +
</center>
  
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.  
+
Une fois le plan d'adressage défini, il reste à distribuer les adresses aux noeuds. Ceci va s'effectuer, par la configuration en double pile, des équipements existants.  
  
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.
+
Il s'agit cette fois de configurer en IPv6 les routeurs, les serveurs, et les postes de travail. Comme il est peut probable que toutes les applications métiers soient capables de fonctionner en IPv6. Le réseau va rester mixte.
 +
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 inter-opé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'auto-configuration dite, sans état. 
  
Des nouveaux terminaux pourront apparaitre et fonctionner en IPv6 nativement tout en interopérant avec l'existant passé en double pile.  
+
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 doit aussi bien fonctionner, avec IPv4, qu'avec IPv6.
 +
Ainsi, quel que soit le protocole IP, celui-ci est transparent au niveau de l'utilisateur, et de l'application.
  
On peut rappeler ici, la capacité d'IPv6 à se répandre facilement sur les terminaux à l'aide de l'autoconfiguration dite sans état.
+
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 alors de l'adresse de 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 du 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 reste toujours utilisable dans un environnement IPv4.
  
 +
==Problèmes liés au déploiement d'IPv6==
  
'''Déploiement des services'''
+
Le déploiement d'IPv6 dans un réseau existant peut amener à des dégradations de service, si des précautions ne sont pas prises. C'est ce que nous allons voir maintenant.
  
 +
<center>
 +
[[image:V41-5.png|400px|thumb|center|]]
 +
</center>
  
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.
+
Le premier problème porte sur la '''phase d'établissement de connexion'''.
 
+
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.  
 
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.  
+
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.  
+
Conformément aux préconisations, le client demande de préférence l'établissement d'une connexion TCP en utilisant IPv6.  
 
+
IPv6 ayant potentiellement des liens à base de tunnel IPv4, a une connectivité plus fragile. Il se peut que le serveur soit non joignable.  
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.
+
Après 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 de passer à IPv4 au plus vite en cas d'échec.  
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 second problème est lié à la '''taille des paquets IP'''.
 +
La taille maximale des paquets IPv6 est souvent plus limitée que pour celle pour IPv4, du fait d'un usage des tunnels plus fréquent.
 
Le client arrive à établir la connexion avec le serveur.  
 
Le client arrive à établir la connexion avec le serveur.  
 
Et tant que les échanges utilisent des petits paquets tout se passe bien.  
 
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.  
+
Dès qu'un paquet de taille supérieure à la taille maximale du paquet permis par le chemin est envoyé. Celui-ci est jeté, du fait qu'un routeur IPv6 ne fait pas de fragmentation.  
 +
Le routeur qui supprime le paquet 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 fragmentation 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 taille maximale du paquet permis par le chemin.
  
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.
+
Enfin, un autre problème lié aussi au tunnel, porte sur '''l'interactivité dégradée'''.
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.  
 
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.  
 
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.
+
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 courts possible.
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==
  
'''Conclusion'''
+
<center>
 +
[[image:V41-6.png|400px|thumb|center|]]
 +
</center>
  
* 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.  
+
La double pile permet  la coexistence d'IPv6 avec 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.
+
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.  
+
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 fourni par IPv6.  
  
 
Le service de communication en IPv6 est appelé à s'améliorer avec la disparition progressive d'IPv4.
 
Le service de communication en IPv6 est appelé à s'améliorer avec la disparition progressive d'IPv4.

Latest revision as of 09:50, 1 March 2022


Activité 41 : Communiquer en double pile

Introduction

V41-1.png

Le déploiement IPv6 dans un réseau doit se faire selon de bonnes pratiques comme  :

  • 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.
  • Transparent à l'utilisation ou indolore à l'utilisateur. Ce dernier ne doit constater aucune dégradation du service de communication.
  • Viser des améliorations en terme, de simplicité, de gestion et de performance du réseau ou, pire, que cette dernière soit équivalente à celle obtenue en IPv4. On doit même constater un meilleur fonctionnement du réseau, afin d'encourager, et de motiver au passage à IPv6.
  • 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.

Nous allons voir maintenant comment mettre en oeuvre ces bonnes pratiques, avec d'abord la présentation de la technique de la double pile, puis les étapes de déploiement d'IPv6 dans un réseau existant, et enfin les problèmes qui peuvent potentiellement survenir lors de ce déploiement.

Technique de la double pile

V41-2.png


Le premier mécanisme d'intégration recommandé 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 commencera par une communication en IPv6, Si sa tentative échoue, il basculera sur une communication en 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é une technique d'intégration d'IPv6 à un 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

V41-3.png


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 dans 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 pas 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 passant par des routeurs, il faut une adresse unicast routable. Pour cela, il faut constituer 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 de la double pile

V41-4a.png

Une fois le plan d'adressage défini, il reste à distribuer les adresses aux noeuds. Ceci va s'effectuer, par la configuration en double pile, des équipements existants.

Il s'agit cette fois de configurer en IPv6 les routeurs, les serveurs, et les postes de travail. Comme il est peut probable que toutes les applications métiers soient capables de fonctionner en IPv6. Le réseau va rester mixte. 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 inter-opé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'auto-configuration dite, sans état.

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 doit aussi bien fonctionner, avec IPv4, qu'avec IPv6. Ainsi, quel que soit le protocole IP, celui-ci est transparent 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 alors de l'adresse de 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 du 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 reste toujours utilisable dans un environnement IPv4.

Problèmes liés au déploiement d'IPv6

Le déploiement d'IPv6 dans un réseau existant peut amener à des dégradations de service, si des précautions ne sont pas prises. C'est ce que nous allons voir maintenant.

V41-5.png

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 d'une connexion TCP en utilisant IPv6. IPv6 ayant potentiellement des liens à base de tunnel IPv4, a une connectivité plus fragile. Il se peut que le serveur soit non joignable. Après 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 de passer à IPv4 au plus vite en cas d'échec.

Le second problème est lié à la taille des paquets IP. La taille maximale des paquets IPv6 est souvent plus limitée que pour celle 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érieure à la taille maximale du paquet permis par le chemin est envoyé. Celui-ci est jeté, du fait qu'un routeur IPv6 ne fait pas de fragmentation. Le routeur qui supprime le paquet 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 fragmentation 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 taille maximale du paquet permis par le 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 courts possible.

Conclusion

V41-6.png


La double pile permet la coexistence d'IPv6 avec 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 fourni par IPv6.

Le service de communication en IPv6 est appelé à s'améliorer avec la disparition progressive d'IPv4.

Personal tools