Network address translation
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.
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).
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