MOOC:Verb43
From Livre IPv6
https://www.bortzmeyer.org/7915.html
Contexte d'utilisation
La faible migration des nœuds IPv4 vers IPv6 oblige à avoir recours à une technique de traduction pour faire interopérer un nœud en IPv6 avec un nœud en IPv4.
En effet, les nouveaux nœuds sont des clients en IPv6. La grande base des serveurs de l'Internet est resté 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 en coupure sur la route vers la destination finale va intercepter les paquets pour les traduire et les émettre dans la version du protocole IP du destinataire.
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 espace 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ée chargé avec les données du paquet IPv6, est alors prêt à être émis pour atteindre la destination finale.
Traduction des adresses
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 l'adresse de destination du paquet reçu.
Afin de faire cette correspondance, le NAT64 dispose d'un ensemble d'adresses IPv6 et d'un ensemble d'adresses IPv4 comme le montre la figure.
L'ensemble des adresses IPv6 du NAT64 (notée N6) va servir à représenter les adresses IPv4 (notée H4) dans le réseau IPv6.
Et de manière similaire, l'ensemble des adresses IPv4 du NAT64 (notée N4), va représenter les adresses IPv6 (notée H6) dans le réseau IPv4.
Modes de traduction des adresses
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 large 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
Improvisation
Conclusion
Les solutions de traduction comme NAT64 trouvent leur intérêt pour que des nœuds IPv6 accèdent à des contenus disponibles 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 seulement IPv6 à la place de réseaux IPv4 privés. C'est le choix qu'ont fait certains opérateurs de réseaux de mobile.
L'utilisation de NAT64 a montré que c'était une solution fonctionnelle. Ça marche mais cela ne fonctionne pas pour toutes les applications.