Présentation de NAT64 dynamique
La traduction d’adresses réseau (NAT) est un mécanisme permettant de dissimuler un ensemble d’adresses hôtes sur un réseau privé derrière un pool d’adresses publiques. NAT64 est une technologie connexe qui permet aux clients IPv6 uniquement de contacter des serveurs IPv4 à l’aide de Unicast UDP, TCP ou ICMP.
Une adresse IPv4 publique est partagée entre plusieurs clients IPv6 uniquement. Pour ce faire, NAT64 traduit les paquets IPv6 entrants en IPv4 et vice versa. Cette solution permet aux FAI de passer à un réseau IPv6 tout en gérant simultanément l’épuisement des adresses IPv4.
Lorsque NAT64 dynamique est utilisé conjointement avec DNS64, les modifications ne sont généralement pas requises dans le client IPv6 ou le serveur IPv4. (DNS64 n’est pas couvert dans ce document. Pour plus d’informations, consultez draft-ietf-behave-dns64-12, DNS64 : DNS extensions for Network Address Translation from IPv6 Clients to IPv4 Servers et RFC6147 DNS extensions for Network Address Translation from IPv6 Clients to IPv4 Servers.)
Problèmes résolus par NAT64
NAT64 résout le problème des clients IPv6 qui initient des connexions aux serveurs IPv4. L’une des pierres angulaires de l’architecture est que NAT64 est facilement déployable car il ne nécessite aucune modification du client IPv6 ou du serveur IPv4.
Aujourd’hui, NAT64 fonctionne un peu comme une traduction symétrique de ports d’adresses réseau (NAPT44). Dans NAPT, l’adresse source d’origine et le port source sont traduits. L’adresse et le port traduits sont extraits du pool NAT correspondant.
Les paquets IPv6 provenant de clients IPv6 sont traduits de manière transparente en IPv4 par un périphérique NAT64. L’appareil effectue la traduction des en-têtes de paquets selon l’algorithme de traduction IP/ICMP, en traduisant les adresses IPv4 des hôtes IPv4 vers et depuis les adresses IPv6 et en attribuant un préfixe à la fonction NAT64 dynamique pour la traduction. Pour les fonctionnalités de base, vous déployez la fonction NAT64 dynamique sur le périphérique NAT64, en plus de quelques serveurs de noms compatibles DNS64 accessibles aux hôtes IPv6 uniquement. (Pour une analyse des scénarios d’application, voir draft-ietf-behave-v6v4-framework-10 et RFC 6144 Framework for IPv4/IPv6 Translation.)
Configuration de la traduction d’adresses
Pour effectuer une traduction IPv6 en IPv4, la fonction NAT64 lie une adresse et un port IPv6 (appelés adresse de transport IPv6) à une adresse et un port IPv4 (appelés adresse de transport IPv4). La traduction mappe les adresses de transport IPv6 aux adresses de transport IPv4 et vice-versa. Pour créer ces mappages, le routeur exécutant NAT64 possède deux pools d’adresses : un pool d’adresses IPv6 (pour représenter les adresses IPv4 dans le réseau IPv6) et un pool d’adresses IPv4 (pour représenter les adresses IPv6 dans le réseau IPv4).
Le pool d’adresses IPv6 est un préfixe IPv6 attribué au traducteur lui-même. Cette version ne prend en charge que IPv6 /96
les préfixes, à la fois le préfixe bien connu (64:FF9B::/96
) et les préfixes arbitraires /96
. En raison de l’abondance de l’espace d’adressage IPv6, le préfixe peut être égal ou même supérieur à l’espace d’adressage IPv4 complet. Cela permet de mapper chaque adresse IPv4 dans une adresse IPv6 différente en concaténant simplement le préfixe avec l’adresse IPv4 mappée et un suffixe (autrement dit, une adresse IPv4 X est mappée dans l’adresse IPv6 Préfixe :X :Suffixe).
Le pool d’adresses IPv4 est un ensemble d’adresses IPv4, normalement un petit préfixe attribué par l’administrateur local. L’espace d’adressage IPv4 étant une ressource rare, le pool d’adresses IPv4 est petit et généralement insuffisant pour établir des mappages un-à-un permanents avec des adresses IPv6. Ainsi, à l’exception des mappages créés manuellement, les mappages utilisant le pool d’adresses IPv4 sont créés et publiés dynamiquement. De plus, en raison de la rareté des adresses IPv4, le mappage s’effectue entre des adresses de transport plutôt qu’entre des adresses réelles.
Pour plus d’informations sur les algorithmes de traduction, consultez les documents suivants :
draft-ietf-behave-v6v4-xlate-23, algorithme de traduction IP/ICMP.
RFC 6145, Algorithme de traduction IP/ICMP.
draft-ietf-behave-address-format-10, adressage IPv6 des traducteurs IPv4/IPv6.
RFC 6052, Adressage IPv6 des traducteurs IPv4/IPv6.