MOOC:Verb43
From Livre IPv6
Contexte d'utilisation
La faible migration des nœuds IPv4 vers IPv6 oblige à avoir recours à une technique de traduction pour faire interopérer un noeud en IPv6, avec un noeud en IPv4. En effet, les nouveaux nœuds sont des clients en IPv6. La grande base des serveurs de l'Internet est restée en IPv4. La communication par traduction vise donc à permettre à ces clients IPv6 à accéder aux services de l'Internet IPv4.
Dispositif de traduction
Lorsque le client envoie une requête en IPv6, le traducteur va intercepter les paquets pour les traduire, et les émettre dans la version du protocole IP du destinataire final Et quand le serveur envoie la réponse en IPv4, le traducteur change la version du protocole IP, pour correspondre à celle du client. Ce dispositif est comparable au NAT des réseaux IPv4. Dans notre cas, ce dispositif n'effectue pas, une simple translation d'un plan d'adressage à un autre, mais une véritable traduction de l'en-tête IP. Un tel NAT est appelé NAT64.
Principe de la traduction entre protocoles IP
La traduction entre protocoles IP comporte essentiellement 2 composants:
- une transposition protocolaire et,
- une traduction des adresses
Dans notre exemple, lorsque le paquet IPv6 est reçu, les champs de l'en-tête IPv6 (à l'exception des adresses) sont transposés dans leur équivalent dans l'en-tête du paquet IPv4. Cette transposition est faite uniquement avec les informations contenues dans le paquet IPv6. On parle alors, de traduction sans état. Le paquet IPv4, une fois l'en-tête complète, et le champ de données chargé avec les données du paquet IPv6, est alors prêt à être émis pour atteindre la destination finale.
La traduction d'adresse consiste à mettre en correspondance une adresse de l'espace d'adressage IPv6 avec une adresse de l'espace d'adressage IPv4, et vice et versa, à la fois pour l'adresse source, et pour l'adresse de destination du paquet reçu par le NAT64.
Dans le réseau IPv6, la communication utilise l'adresse H6 et l'adresse N6. Ces adresses sont mises en correspondance, respectivement avec N4 et H4 pour les communications dans le réseau IPv4
Ceci veut dire, que l'adresse N6 sert à identifier le noeud d'adresse H4, dans le réseau IPv6. Et de manière symétrique l'adresse N4 sert à identifier le noeud d'adresse H6, dans le réseau IPv4.
La correspondance entre une adresse IPv4 avec une adresse IPv6 est évidente lorsque l'adresse IPv6 embarque l'adresse IPv4. En effet, représenter une adresse IPv4 dans l’espace d’adressage IPv6 est simple, car ce dernier est assez grand pour contenir l’ensemble des adresses IPv4. Pour ce faire, une adresse IPv6 va être créée pour inclure l'adresse IPv4.
La méthode de création consiste, à inclure les 32 bits de l'adresse IPv4, à la suite d'un préfixe IPv6, qui dans notre schéma est un préfixe réservé à l'usage de la traduction. Une traduction d'adresse, qui utilise une adresse IPv6 embarquant une adresse IPv4, s'effectue sans état.
Lorsque l'adresse IPv6 n'embarque pas l'adresse IPv4, alors mettre en correspondance une adresse IPv6 avec une adresse IPv4, demande une traduction d'adresse avec état.
La mise en correspondance de l'adresse IPv6 avec une adresse IPv4 est faite dynamiquement, par le traducteur. Comme, il n'y aura pas assez d'adresses IPv4 pour les nœuds IPv6, le traducteur utilise, en plus le numéro de port pour reconnaitre les nœuds IPv6.
Le traducteur retient, dans un état, cette association d'adresses, et de ports entre IPv4, et IPv6.
Fonctionnement de NAT64/DNS64
Nous allons voir ici un exemple de l'utilisation de NAT64 dans un réseau de mobiles. Le réseau de mobiles a été déployé avec IPv6 uniquement.
- Un client, ici, un mobile souhaite accéder à un service qui est resté en IPv4.
- Le mobile envoie, au serveur DNS local, ici, DNS64, une requête de résolution du serveur old.org.
- Le DNS64 demande l'adresse IPv4 au système DNS.
- Il obtient en réponse l'adresse IPv4 demandée.
- Le DNS64 se charge de transformer, cette adresse, en une adresse IPv6, et l'envoie au client.
- A cet instant, le mobile connait l'adresse du serveur old.org. Il l'a connait au moyen d'une adresse IPv6 embarquant l'adresse IPv4. Maintenant, le client IPv6 est en mesure d'envoyer sa requête.
- Cette requête va être acheminée jusqu'au NAT64, qui va traduire le paquet IPv6 en un paquet IPv4.
- La requête continue son acheminement en IPv4 pour atteindre le serveur demandé.
Conclusion
La solution de traduction NAT64 trouve son intérêt pour des nœuds IPv6. Ils peuvent accéder à des contenus accessibles uniquement en IPv4.
Il peut paraitre contradictoire d'utiliser IPv6 pour se passer de la traduction, pour en fait retrouver des traducteurs dans les communications. Il est important de noter, que cette solution se veut transitoire, au contraire d'IPv4.
Le NAT64 est le composant de migration. En effet, il est intéressant aujourd'hui de pouvoir déployer des réseaux IPv6 uniquement à la place de réseaux IPv4 privés. C'est le choix qu'ont fait certains opérateurs de réseaux de mobiles.
L'utilisation de NAT64 a montré, que c'était une solution fonctionnelle. Ça marche, sauf pour les applications, qui font référence à l'adresse IPv4.