Network Address Translation

Network Address Translation

Network address translation

Page d'aide sur l'homonymie Pour les articles homonymes, voir NAT.

En informatique, on dit qu'un routeur fait du Network Address Translation (NAT) (ce qu'on peut traduire de l'anglais par « traduction d'adresse réseau » – certains utilisent encore le mot « translation », mais cet emploi est fautif et son usage tend à disparaître) lorsqu'il fait correspondre les adresses IP internes non-uniques et souvent non routables d'un intranet à un ensemble d'adresses externes uniques et routables. Ce mécanisme permet notamment de faire correspondre une seule adresse externe publique visible sur Internet à toutes les adresses d'un réseau privé, et pallie ainsi la carence d'adresses IPv4 d'Internet.

Sommaire

Illustration

Un campus est composé de 1 000 hôtes (ordinateurs, imprimantes, etc.), répartis dans 4 sous-réseaux. Sans utilisation du NAT, un tel campus nécessiterait l'attribution de presque 1 000 adresses IPv4 uniques et routées.

Réseau sans NAT : les adresses des hôtes sont des adresses uniques et routées sur Internet.

En interfaçant un tel campus avec l'Internet via un routeur qui implémente NAT, on peut changer le plan d'adressage interne et utiliser des adresses non uniques (utilisées ailleurs dans le monde) et non routables sur Internet (cf. RFC 1918). On parle aussi d'adresses publiques (uniques au monde) et privées (uniques seulement dans le réseau privé). Un des buts du NAT est de rendre les adresses privées invisibles depuis Internet.

Réseau avec NAT : les adresses des hôtes sont des adresses réutilisables. Le routeur de bordure fait la traduction d'adresse. La modification du plan d'adressage alloue désormais un réseau /16 par sous-réseau, s'affranchissant de la limite des 254 adresses possibles avec un /24.

On n'assignera que quelques centaines d'adresses à l'ensemble des adresses externes du NAT, sachant que les imprimantes (et certains autres équipements) n'ont pas besoin de communiquer avec l'extérieur de façon permanente (donc leurs adresses n'ont pas besoin d'être traduites).

Le NAT permet donc de diminuer significativement le nombre d'adresses IP uniques utilisées.

Implémentation du NAT

Pour faire correspondre les adresses internes avec un groupe d'adresses externes, on se sert d'une table. Celle-ci contient des paires (adresse interne, adresse externe). Quand l'adresse interne émet une trame qui traverse le routeur NAT, cette adresse est remplacée dans l'en-tête du paquet TCP/IP par son adresse IP externe. Le remplacement inverse sera fait quand une trame vers cette adresse externe doit être traduite en IP interne.

Aussi, on peut réutiliser une entrée dans la table de correspondance du NAT si aucun trafic avec ces adresses n'a traversé le routeur pendant un certain temps (paramétrable).

IP interne IP externe Durée (s) Réutilisable ?
10.101.10.20 193.48.100.174 1 200 non
10.100.54.251 193.48.101.8 3 601 oui
10.100.0.89 193.48.100.46 0 non

Voici par exemple une table de NAT simplifiée. On supposera qu'une entrée pourra être réclamée si la traduction n'a pas été utilisée depuis plus de 3 600 secondes.

La première ligne indique que la machine interne, possédant l'adresse IP 10.101.10.20 est traduite en 193.48.100.174 quand elle converse avec le monde extérieur. Elle n'a pas émis de paquet depuis 1 200 secondes, mais la limite étant 3 600, cette entrée dans la table lui est toujours assignée. La seconde machine est restée inactive pendant plus de 3 600 secondes, elle est peut-être éteinte, une autre machine peut reprendre cette entrée (en modifiant la première colonne puisqu'elle n'aura pas la même IP interne). Enfin, la dernière machine est actuellement en conversation avec l'extérieur, le champ Durée étant 0.

Actuellement, la plupart des pare-feu et routeurs possèdent cette caractéristique. Elle est par exemple utilisée par les abonnés ADSL qui connectent plusieurs ordinateurs sur une ligne unique.

Bénéfices du NAT

Les adresses internes peuvent être choisies parmi les adresses définies dans la RFC 1918. Ainsi plusieurs sites peuvent avoir le même adressage interne et communiquer entre eux en utilisant ce mécanisme. Étant donné que les adresses internes sont réutilisées, on économise des adresses IP, dont l'occupation, en IPv4, arrive à saturation.

On peut avoir moins d'adresses dans l'ensemble des adresses externes que ce qu'on a comme adresses IP à l'intérieur du réseau, si l'on met en place un mécanisme permettant de récupérer des adresses inutilisées après un certain temps (on appelle ceci un bail). Plus précisément, si une entrée dans la table des traductions n'est pas utilisée pendant un certain temps (paramétrable dans le serveur DHCP du réseau), cette entrée peut-être réutilisée : une autre machine avec une adresse interne va récupérer l'adresse externe.

Le NAT masquant l'adresse IP de la machine interne, participe ainsi à la sécurité du site.

Problèmes inhérents

Le problème majeur se pose lorsqu'un protocole de communication transmet l'adresse IP de l'hôte source dans un paquet. Cette adresse n'étant pas valide après avoir traversé le routeur NAT, elle ne peut être utilisée par la machine destinatrice. Ces protocoles sont dit « à contenu sale » ou « passant difficilement les pare-feu », car ils échangent au niveau applicatif (FTP) des informations du niveau IP (échange d'adresses) ou du niveau TCP (échange de ports), ce qui transgresse le principe de la séparation des couches réseaux.

Quelques protocoles « à contenu sale » : FTP, H.323, les protocoles faisant du poste-à-poste (IRC-DCC), les protocoles de gestion de réseau (DNS, certains messages ICMP, traceroute), le protocole SIP.

Pour pallier cet inconvénient, les routeurs NAT doivent inspecter le contenu des paquets qui les traversent, et remplacer les adresses IP spécifiées par les adresses externes. Notez que cela implique de connaître le format du protocole, de recalculer la somme de contrôle et la longueur du paquet.

Le NAT ne fait que participer à la politique de sécurité du site, et ce n'est pas son objectif principal : une fois la traduction établie, elle est bidirectionnelle.

Différents types de NAT

NAT statique

Où un ensemble d'adresses internes fait l'objet d'une traduction vers un ensemble de même taille d'adresses externes. Ces NAT sont dites statiques car l'association entre une adresse interne et son homologue externe est statique (première adresse interne avec première externe…). La table d'association est assez simple, de type un pour un et ne contient que des adresses. Ces NAT servent à donner accès à des serveurs en interne à partir de l'extérieur.

Il existe trois types de NAT statiques :

  • NAT statique unidirectionnelle qui transfèrent uniquement les connexions de l'extérieur vers l'intérieur (attention, les paquets de retour sont aussi transférés). Le plus souvent lorsque la machine interne initie une connexion vers l'extérieur la connexion est traduite par une autre NAT dynamique.
  • NAT statique bidirectionnelle qui transfèrent les connexions dans les deux sens.
  • NAT statique PAT (Port Address Translation du port serveur). Conjonction d'une NAT statique uni ou bidirectionnelle et d'une traduction du port serveur. Le nom PAT vient du fait que le port serveur/destination est transféré ; à ne pas confondre avec la NAT dynamique PAT.

NAT dynamique

Où un ensemble d'adresses internes est transféré dans un plus petit ensemble d'adresses externes. Ces NAT sont dites dynamiques car l'association entre une adresse interne et sa contre-partie externe est créée dynamiquement au moment de l'initiation de la connexion. Ce sont les numéros de ports qui vont permettre d'identifier la traduction en place : le numéro du port source (celui de la machine interne) va être modifié par le routeur. Il va servir pour identifier la machine interne.

Routeur en mode PAT (Port Address Translation). Seule l'adresse de l'interface externe du routeur est utilisée. Le multiplexage/démultiplexage des IP internes se fait grâce aux numéros de ports (modifiés par le routeur).

Il existe plusieurs types de NAT dynamiques :

  • NAT dynamique PAT (Port Address Translation du port client/source) où les adresses externes sont indifférentes (le plus souvent la plage d'adresse que votre fournisseur d'accès vous a attribuée). Le nom PAT vient du fait que le port source est modifié ; à ne pas confondre avec la NAT statique PAT.
  • Masquerading où l'adresse IP du routeur est seule utilisée comme adresse externe. Le masquerading est donc un sous cas de la dynamique PAT.
  • NAT pool de source est la plus vieille des NAT. La première connexion venant de l'intérieur prend la première adresse externe, la suivante la seconde, jusqu'à ce qu'il n'y ait plus d'adresse externe. Dans ce cas exceptionnel le port source n'est pas modifié. Ce type de NAT n'est plus utilisé.
  • NAT pool de destination permet de faire de la répartition de charge entre plusieurs serveurs. Peu d'adresses externes sont donc associées avec les adresses internes des serveurs. Le pare-feu se débrouille pour répartir les connexions entre les différents serveurs.

Autre façon de catégoriser le NAT

  • NAT de source où seule la source est transférée. Les NAT de source sont donc par exemple :
    • NAT dynamique PAT,
    • NAT dynamique masquerading,
    • NAT dynamique pool de source
  • NAT de destination où seule la destination est traduite. Les NAT de destination sont donc par exemple :
    • NAT statique unidirectionnelle (peut, mais dans de rares cas, être une NAT de source),
    • NAT dynamique pool de destination
  • NAT de service ou port permet de changer le port serveur de la connexion. Ce type de NAT est très souvent mixé avec les autres types de NAT.

Quelques subtilités :

  • Pour les types source et destination seule la direction du premier paquet d'une connexion est prise en compte (oubliez les paquets retours).
  • Les règles de NAT statiques bidirectionnelles ne sont classables, ni en source, ni en destination car elles font les deux.
  • On peut mixer les trois types de NAT, les quatre possibilités étant envisageables (S+D, S+P, D+P, S+D+P). Quand source et destination sont mixées on parle de NAT double.

Voir aussi

Articles connexes

Liens externes

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Network address translation ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Network Address Translation de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Network Address Translation — (NAT) ist in Rechnernetzen der Sammelbegriff für Verfahren, die automatisiert Adressinformationen in Datenpaketen durch andere ersetzen, um verschiedene Netze zu verbinden. Daher kommen sie typischerweise auf Routern zum Einsatz.… …   Deutsch Wikipedia

  • Network Address Translation — Network Address Translation,   NAT …   Universal-Lexikon

  • Network address translation — NAT redirects here. For other uses, see Nat (disambiguation). In computer networking, network address translation (NAT) is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device. The… …   Wikipedia

  • Network address translation — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Network Address Translation (NAT) ist in Rechnernetzen der… …   Deutsch Wikipedia

  • Network address translation — Pour les articles homonymes, voir NAT. En réseau informatique, on dit qu un routeur fait du Network Address Translation (NAT) (« traduction d adresse réseau »[1]) lorsqu il fait correspondre les adresses IP internes non uniques et… …   Wikipédia en Français

  • Network Address Translation — NAT (Network Address Translation Traducción de Dirección de Red) es un mecanismo utilizado por enrutadores IP para intercambiar paquetes entre dos redes que se asignan mutuamente direcciones incompatibles. Consiste en convertir en tiempo real las …   Wikipedia Español

  • network address translation —    Abbreviated NAT. A term used to describe the process of converting between IP addresses on an intranet or other private network and Internet IP addresses.    See also name resolution …   Dictionary of networking

  • Network Address Translation — …   Википедия

  • Address translation — or address resolution may refer to:* Address Resolution Protocol or ARP, a computer networking protocol used to find out the hardware address of a host (usually a MAC address), when only the network layer address is known. * Reverse Address… …   Wikipedia

  • Port address translation — (PAT) is a feature of a network device that translates TCP or UDP communications made between hosts on a private network and hosts on a public network. It allows a single public IP address to be used by many hosts on a private network, which is… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”