< NAT (Network Adress Translation)

NAT (Network Adress Translation)

Le NAT permet de connecter des classes d'adresses IP privées à des groupes (adresses) externes: sa principale utilisation est la connection des ordinateurs d'un réseau local à Internet. Le NAT est principalement implanté dans les routeurs matériels, on le retrouve également dans les serveurs réseaux (Windows 2003 et suivant le gère pour séparer complètement le réseau interne d'Internet), sous Linux et versions professionnelles de Windows. Dans tous les cas, la passerelle qui sert au NAT utilise deux connexions réseau distinctes (deux cartes Ethernet, 2 adresses MAC mais aussi deux adresses IP). Pour chaque demande à partir d'un ordinateur du réseau interne, le NAT mémorise l'adresse de départ non routable et l'adresse externe. A la réception, il va simplement lire la table interne et renvoyer les données sur vers le demandeur. C'est aussi une sécurité puisque les adresses IP locales sont masquées de l'extérieur.

Le nombre d'adresses IP en IPV4 étant relativement faible, une large partie des connexions Internet seraient impossibles sans le NAT puisque chaque ordinateur connecté devrait avoir sa propre adresse Internet.

Les adresses non routables, réservées aux réseaux internes sont:

On distingue le NAT statique du NAT dynamique. Dans le premier cas, le NAT fait uniquement la transition entre une adresse privée interne et une adresse externe (typiquement un serveur WEB). Dans le deuxième cas, il va permettre réellement de partager une connexion Internet. En statique, chaque adresse interne est associée à une seule adresse externe. Cette solution est rarement implantée et permet uniquement une configuration plus aisée des adresses de réseaux internes.

En dynamique, on associe une adresse IP externe à plusieurs adresses externe au niveau du routeur: le routage va à la fois gérer les en-têtes IP, mais également les ports TCP et UDP. Ce mécanisme s'appelle PAT (Port Adresse Translation). Le PAT va associer un port externe (par exemple le port 80 TCP utilisé à la navigation) à un port interne différent utilisé pour communiquer avec le réseau, par exemple le 1562 (supérieur à 1024 et inférieur à 65535). Ces informations (adresse IP, port TCP ou UDP) sont mémorisée dans une table de translation. Utilisée pour le partage de connexion Internet, cette solution ne permet pas directement de joindre un ordinateur de l'extérieur sans utiliser un VPN (notamment le protocole NetBios), le routeur ne sachant pas à quel ordinateur renvoyer les données. C'est donc une solution de sécurité supplémentaire.

Le NAT dynamique pose également quelques problèmes sur les protocoles utilisant le niveau 3 du modèle OSI (TCP utilisant la couche 4). C'est le cas pour l'ICMP et le FTP. Le FTP (File transfert protocol) utilise 2 ports pour la communication (ports TCP 20 et 21). Il utilise également dans son en-tête l'adresse MAC des machines en communications. L'utilisation du protocole FTP en NAT dynamique nécessite l'utilisation d'un proxy, un gestionnaire de cache intelligent, si on doit modifier les données ou un port forwarding (sans modification des données) qui transmet simplement les données sans modifications de ports entre 2 adresses MAC (carte réseaux) différentes. C'est le cas le plus courant.

Ce mécanisme existe également pour le protocole IPX mais est géré différemment.

Définitions associes: protocoles réseaux - Masques de sous-réseaux - routeur - modèle OSI

Dernière mise à jour, le 20/01/2021