Intégration d'IPv6 et des applications
From Livre IPv6
Un exemple de mise en oeuvre de la pile LIVSIX | Table des matières | Etat de la standardisation à l'IETF |
L'étape de standardisation des protocoles de base de IPv6 (core specs) est achevée, le développement de techniques assurant la transition devient un point clé dans le déploiement à grande échelle du protocole IPv6. Pour certaines catégories d'applications comme le mail, le web, le succès d'IPv6 est fortement lié à l'interopérabilité avec IPv4 puisque jusqu'à présent la majorité des informations et des utilisateurs ne sont accessibles qu'avec cette version du protocole. Il faut donc pouvoir amorcer un cercle vertueux qui permettra de passer à IPv6.
La phase de transition doit être simple, ou au minimum moins compliquée qu'une utilisation prolongée d'IPv4. Elle doit être également souple pour permettre un étalement dans le temps de la transition. Il n'y a pas de jour J pour le passage d'IPv4 à IPv6, il n'y a également pas d'échéance pour la disparition du protocole IPv4.
Généralement, l'identification d'une killer application est recherchée pour justifier un passage rapide vers IPv6. Ce fut le cas avec IPv4 quand le Web est apparu. Les sites sont massivement passés de protocoles propriétaires (IPX, NETBUI) vers IPv4 pour accéder aux informations par un navigateur, ce qui à conduit au concept d'intranet. On ne connaît pas actuellement d'applications particulières pouvant forcer massivement le passage vers IPv6. Les fonctionnalités sont les mêmes, puisqu'il ne s'agit que d'une nouvelle version du protocole IP. La qualité de service est souvent évoquée, mais il s'agit d'un leurre, car les mécanismes de réservation ou de différenciation se trouvent indifféremment dans les deux versions du protocole.
Les raisons qui vont nécessiter le passage à IPv6 vont être fortement liées à la pénurie d'adresses pour les nouveaux réseaux et aux fonctionnalités de configuration automatique que requièrent un grand espace d'adressage :
- le réveil des pays de la zone Asie Pacifique (en particulier la Chine et l'Inde) qui ont actuellement un taux d'adresses par habitant très faible,
- la téléphonie mobile avec GPRS puis les services de 3ème génération où chaque téléphone pourra se voir attribuer une adresse, voire un préfixe,
- les réseaux domotiques ou personnels, où la simplicité de configuration va être un critère important. Dans ces réseaux, on prévoit la généralisation de nouveaux types d'applications, qui sans être LES "killer applications" ne se contentent pas d'un fonctionnement en mode client/serveur :
- les applications de type peer-to-peer (comme la téléphonie sur IP, les jeux répartis,...) nécessitant des connexions entrantes, contrairement aux architectures clients/serveurs autorisées par l'emploi de l'adressage privé,
- les connexions permanentes où les mécanismes d'allocation d'adresses temporaires (PPP, DHCP,...) sont inefficaces.
- les grands parcs de machines où les mécanismes de configuration automatique vont simplifier la gestion du réseau. Avec IPv6, le réseau peut se gérer uniquement au niveau des routeurs, les stations construisant leur adresses automatiquement, alors qu'avec IPv4, chaque équipement doit être configuré.
A l'inverse, plusieurs autres facteurs vont freiner le déploiement d'IPv6 pour rester dans une situation de statu quo ou d'emploi d'autres mécanismes au-dessus d'IPv4. Ces facteurs limitant le déploiement d'IPv6 sont de plusieurs ordres :
- techniques :
- la disponibilité du code IPv6 dans les équipements terminaux (PC, stations de travail, imprimantes,...) et dans les routeurs. Cette phase est achevée pour la plupart des équipementiers. Les fabricants d'équipements d'interconnexion ont intégré le code IPv6 dans leur nouveaux systèmes d'exploitation. Le monde Unix est également à la pointe pour la disponibilité d'une pile IPv6. Windows dispose aussi nativement d'une pile IPv6 aisément configurable pour les versions XP.
- si les piles IPv6 commencent à se généraliser, nombre d'applications spécialisées ne sont pas encore prêtes (environnement de travail intégré, ...) surtout dans les environnements où le code source n'est pas disponible.
Aujourd'hui , plus aucune application ne devrait être programmée sans pouvoir être utilisée dans un environnement IPv6. Cela implique, soit l'utilisation de l'API IPv6, soit tout simplement l'usage de règles de programmation, comme éviter de considérer l'adresse IP comme un entier, et de s'en servir comme d'un identificateur.
C'est actuellement le facteur le plus bloquant pour un déploiement massif d'IPv6. - le problème lié à la phase de démarrage, dit de la poule et l'oeuf : les sites ne vont pas migrer vers IPv6 puisque les opérateurs n'offrent pas de connectivité IPv6 et les opérateurs ne vont pas offrir de réseaux IPv6 puisqu'il n'y a pas de client.
En réalité il s'agit d'un faux problème. Un réseau IPv6 peut être déployé en intranet, les communications avec l'Internet restant en IPv4.
De plus les opérateurs commencent à déployer des réseaux IPv6, les autorités régionales (RIPE-NCC, APNIC, ARIN,...) allouent des préfixes officiels, et les réseaux se mettent en place. Un site voulant acquérir une expérience en IPv6 peut se raccorder relativement facilement à un de ces réseaux. Si cette démarche est impossible, l'emploi de 6to4 permet de construire son propre préfixe IPv6 et de s'interconnecter au reste du monde IPv6, D'autres mécanismes, comme Tunnel Broker permettent de se connecter tres simplement à l'Internet IPv6. Ces mécanismes sont passés en revue au long de ce chapitre.
- psychologiques :
- IPv6 peut sembler mystérieux au premier abord et la taille des adresses peut décourager un ingénieur réseau habitué à manipuler les netmasks et les adresses IPv4. En réalité, les principes sont très similaires, et après quelques heures d'entraînement, leur emploi est relativement simple. Par ailleurs, ce livre participe, nous l'espérons, à ce transfert de connaissance et à la "dédramatisation" de cette nouvelle version du protocole IP.
- le risque de casser quelque chose qui fonctionne correctement en changeant le protocole. Cette possibilité peut exister, mais la migration en douceur du réseau, sans jour J, permet de se focaliser sur les nouveaux réseaux tout en laissant les anciens fonctionner sous IPv4.
La suite de ce chapitre va décrire quelques mécanismes de transition, leurs principes et leurs limites. Le choix repose sur l'expérience de ces mécanismes et l'intérêt qu'ils offrent. Il ne semble pas qu'il soit nécessaire, voire possible, de définir un mécanisme unique et universel de transition entre les deux mondes. Dans certains cas, comme par exemple l'utilisation d'adresses IPv6 au sein d'une entreprise, seules les connexions sortantes doivent être autorisées. Chaque mécanisme répond à un besoin particulier :
- la construction d'une infrastructure IPv6 même si les équipements d'interconnexion ne gèrent que le protocole IPv4. Ces mécanismes sont principalement à base du tunnels statiques où les paquets IPv6 sont encapsulés dans des paquets IPv4.
- l'accès à un réseau IPv6 existant. Ces mécanismes sont principalement axés autour de la création dynamique de tunnels (6to4, Tunnel Broker). Le chapitre Déploiement IPv6 des fournisseurs d'accès (ISP) décrit l'utilisation de ces mécanismes.
- les mécanismes de traduction permettant la communication entre les deux versions du protocole pour que des applications conçues pour IPv4 et celles pour IPv6 puissent échanger des données. Cette traduction peut se faire à différents niveaux de l'architecture réseau :
- au niveau applicatif avec des relais (ALG : Application Level Gateway) ou proxy. Si l'application est connue, comme pour le web, le DNS les serveurs d'impressions ou le web, la traduction est relativement simple à faire. Cette méthode de migration devrait permettre de traiter la majorité des flux.
- au niveau transport avec des relais UDP et TCP [RFC 3142],
- au niveau IP, avec la création d'une interface encapsulant des paquets IPv4 dans des paquets IPv6 et se voyant allouer de manière temporaire une adresse IPv4 (DSTM : Dual Stack Transition Mechanism),
- au niveau de l'équipement de sortie d'un site avec des mécanismes de traduction d'en-tête.
Cette traduction peut se faire sans installer d'état dans le routeur d'un site avec SIIT (Stateless IP/ICMP Translation), le paquet IPv4 est construit à partir d'informations déjà contenues dans l'en-tête IPv6, en particulier un format d'adressage particulier permet de véhiculer une adresse IPv4 dans les adresses IPv6.
Par contre NAT-PT utilise les mêmes mécanismes que pour le passage d'une adresse IPv4 privée vers une adresse IPv4 publique, un pool d'adresses IPv4 est alloué au boîtier traducteur. - La difficulté d'assurer la compatibilité entre les deux mondes n'est pas symétrique. Avec les mécanismes comme NAT-PT, SIIT ou DSTM, il est beaucoup plus facile d'initier une session partant du monde IPv6 pour aller vers le monde IPv4. En effet, il est possible d'ajouter des fonctionnalités au monde IPv6 pour faciliter la cohabitation. De plus comme une adresse IPv6 est quatre fois plus grande, elle peut contenir une adresse IPv4.
Dans le sens inverse, il est impossible de modifier l'existant en IPv4. Ces différents mécanismes de transition s'appuient sur le DNS pour déclencher l'établissement d'un contexte (NAT-PT) ou l'allocation d'adresses temporaires (SIIT, DSTM). Le nom de l'équipement devient la référence commune entre les mondes IPv4 et IPv6.
Le déploiement progressif de ces mécanismes permet d'introduire graduellement et indépendamment le protocole IPv6 dans tous les segments du réseau. Chaque mécanisme a une portée bien définie (terminal, site, réseau). Il apporte une pièce au puzzle que constitue le passage d'IPv4 à IPv6.
En contrepartie chaque mécanisme de transition introduit une complexité supplémentaire dans le réseau. Ces mécanismes dits de transition n'ont pas pour vocation d'exister durablement. Ils devraient décroître dans le temps en fonction du nombre d'équipements IPv6 présents sur le réseau. De plus, les mécanismes de cohabitation (SIIT, DSTM, NAT-PT), ne visent que les applications existantes. Les nouvelles applications en particulier pour la domotique pourraient directement démarrer en IPv6.
Un exemple de mise en oeuvre de la pile LIVSIX | Table des matières | Etat de la standardisation à l'IETF |