Network address translation
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

En informatique, on dit qu'un routeur fait du Network Address Translation (NAT) (ce qu'on peut traduire de l'anglais en " traduction d'adresse réseau ") lorsqu'il fait correspondre les adresses IP internes non-uniques et souvent non routables d'un intranet à un ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut être comprise comme un...) d'adresses externes uniques et routables. Ce mécanisme permet notamment de faire correspondre une seule adresse (Les adresses forment une notion importante en communication, elles permettent à une entité de s'adresser à une autre parmi un ensemble d'entités. Pour...) externe publique visible sur Internet (Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web, en...) à toutes les adresses d'un réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire un petit filet), on appelle nœud (node)...) privé, et pallie ainsi la carence d'adresses IPv4 (L'Internet Protocol version 4 ou IPv4 est la première version d'IP à avoir été largement déployée, et forme encore la base (en 2007) de l'Internet. Elle est décrite dans la RFC numéro 791 (RFC 791).) d'Internet.

Illustration

Un campus (Un campus (du mot latin désignant un champ) désigne l'espace rassemblant les bâtiments et l'infrastructure d'une université ou d'une...) 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.
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 (Un routeur est un élément intermédiaire dans un réseau informatique assurant le routage des paquets. Son rôle est de faire transiter des paquets d'une interface réseau vers une autre, selon un...) qui implémente NAT, on peut changer le plan d'adressage interne (En France, ce nom désigne un médecin, un pharmacien ou un chirurgien-dentiste, à la fois en activité et en formation à l'hôpital...) 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. On notera que 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.
Réseau avec NAT : les adresses des hôtes sont des adresses réutilisables. Le routeur de bordure fait la traduction d'adresse. On notera que la modification du plan d'adressage alloue désormais un réseau /16 par sous-réseau (Le mot sous-réseau a deux significations. Sa signification ancienne mais plus générale est un réseau (Réseau informatique) physique faisant parti d'un réseau plus global (en:internetwork). Au niveau...), 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 (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois...) 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 (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) d'adresses IP uniques utilisées.

Implémentation (Le mot implantation peut avoir plusieurs significations :) 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 (traduite)). Quand l'adresse interne émet une trame (Le mot trame peut désigner :) qui traverse (Une traverse est un élément fondamental de la voie ferrée. C'est une pièce posée en travers de la voie, sous les rails, pour en maintenir l'écartement et l'inclinaison, et transmettre au ballast les charges...) le routeur NAT, cette adresse est remplacée dans l'en-tête du paquet TCP/IP par son adresse IP (Une adresse IP (avec IP pour Internet Protocol) est le numéro qui identifie chaque ordinateur connecté à Internet, ou plus...) externe. Le remplacement inverse (En mathématiques, l'inverse d'un élément x d'un ensemble muni d'une loi de composition interne · notée multiplicativement, est un élément y tel que x·y = y·x = 1, si 1...) 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 (La correspondance est un échange de courrier généralement prolongé sur une longue période. Le terme désigne des échanges de courrier personnels plutôt qu'administratifs.) du NAT si aucun trafic avec ces adresses n'a traversé le routeur pendant un certain temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) (paramétrable).

IP interne IP externe Durée (s) Réutilisable ?
10.101.10.20 193.48.100.174 1200 non
10.100.54.251 193.48.101.8 3601 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 (Le mot monde peut désigner :) 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 ( Seconde est le féminin de l'adjectif second, qui vient immédiatement après le premier ou qui s'ajoute à quelque chose de nature identique. La seconde est une unité de mesure...) machine est restée inactive pendant plus de 3 600 secondes, peut-être qu'elle est é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 champs 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 traduites 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 (Dans les réseaux informatiques et les télécommunications, un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier.) 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 (D'une manière générale, le mot séparation désigne une action consistant à séparer quelque chose ou son résultat. Plus particulièrement il est employé dans plusieurs domaines :) des couches réseaux.

Quelques protocoles " à contenu sale " : FTP en mode passif, 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 traduites. Notez que cela implique de connaître le format du protocole, de recalculer la somme de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) et la longueur (La longueur d’un objet est la distance entre ses deux extrémités les plus éloignées. Lorsque l’objet est filiforme ou en forme de lacet, sa longueur est celle de l’objet complètement...) 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 (Le mot statique peut désigner ou qualifier ce qui est relatif à l'absence de mouvement. Il peut être employé comme :)

Où un ensemble d'adresses internes est traduit dans 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 (Servent est la contraction du mot serveur et client.) à donner accès à des serveurs en interne à partir de l'extérieur.

Il existe trois types de NAT statiques :

  • NAT statique unidirectionnelle qui traduisent uniquement les connexions de l'extérieur vers l'intérieur (attention, les paquets de retour sont aussi traduits). Le plus souvent lorsque la machine interne initie une connexion vers l'exterieur la connexion est traduite par une autre NAT dynamique (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il peut être employé comme :).
  • NAT statique bidirectionnelle qui traduisent les connexions dans les deux sens (SENS (Strategies for Engineered Negligible Senescence) est un projet scientifique qui a pour but l'extension radicale de l'espérance de vie humaine. Par une...).
  • NAT statique PAT (Port Address Translation du port serveur). Conjonction d'une NAT statique uni ou bidirectionnelle et d'une transformation du port serveur. Le nom PAT vient du fait que le port serveur/destination est modifié ; à ne pas confondre avec la NAT dynamique PAT.

NAT dynamique

Où un ensemble d'adresses internes est traduit 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).
Routeur en mode PAT (Port Address Translation). Seule l'adresse de l'interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître de l’autre pour pouvoir fonctionner...) 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 (La Plage est un film anglo-américain réalisé par Danny Boyle en 2000 et adapté du roman The Beach d'Alex Garland) 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 (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un paiement ou un bénéfice non pécuniaire pour être...) 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 la NAT

  • NAT de source où seule la source est traduite. 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.
Page générée en 0.265 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique