LE
NAT
Network
Address Translation
1. De
quoi s'agit-il ?
NAT est l'acronyme de Network Address Translation. Il
s'agit d'une méthode qui utilise un mécanisme
de traduction d'adresse IP (Internet Protocole).
2. Pourquoi s'y intéresser ?
Le NAT est une des solutions temporaires envisageables
pour faire face à la pénurie des adresses
IP, pour alléger l'administration du réseau,
pour faciliter le plan d'adressage, pour contribuer à
la sécurisation du réseau.
3. Comment en est-on
arrivé là ?
L'Internet est un agrégat de réseaux indépendants
les uns des autres, mais préservant néanmoins
une certaine cohérence. Cette cohérence
est notamment fondée sur un mode d'adressage, et
donc d'identification, unique, qui s'appuie sur un système
de numérotation (IPv4) affectant un numéro
unique à chaque ordinateur dans le monde. Le codage
de ce numéro est constitué par une combinaison
de bits sur 4 octets ou encore 32 bits (un octet étant
lui-même constitué de 8 bits). Dans le monde
numérique, un bit est susceptible de prendre 2 valeurs :
0 ou 1. Un octet, constitué de 8 bits, est donc susceptible
de prendre 256 valeurs (2 à la puissance 8) correspondant
aux 256 combinaisons possibles de 0 et de 1. Un numéro
IP codé sur 4 octets est donc susceptible de prendre
un peu plus de 4 Milliards de valeurs différentes
(256 à la puissance 4). Nous disposons donc, en théorie,
de 4 Milliards de numéros IP pour identifier les
ordinateurs de la planète. Cela est trop peu, si
l'on considère à la fois le taux de croissance
du nombre d'ordinateurs d'une part, et la diversité
des nouveaux usages qui sont faits d'autre part, et qui
nécessite d'affecter un numéro IP non seulement
aux ordinateurs mais de plus en plus à des "terminaux"
aussi divers qu'un téléphone, une console
de jeu, un poste de télévision, un appareil
électroménager, etc.
Dès que fut détecté ce risque de
pénurie, différents acteurs sur l'Internet
se mirent au travail pour trouver des solutions, qu'elles
répondent à du court terme (c'est le cas du
NAT) ou à du plus long terme comme la nouvelle norme
d'adressage baptisée IPv6. Le NAT consiste à
gérer la pénurie en faisant correspondre une
"vraie" adresse IP à une "fausse",
partant du principe que l'on pourra utiliser un grand nombre
de "fausses" adresses, la pénurie n'ayant
plus cours s'agissant de ces adresses.
IPv6 consiste à se doter des moyens faisant disparaître
cette pénurie; on augmente la taille de l'adresse
que l'on code sur 16 octets au lieu de 4, et l'on dispose
évidemment d'un nombre considérable d'adresses
utiles (tellement grand que l'on parle d'au moins 10 Milliards
de réseaux).
(*)
4. Comment ça
marche ?
Le principe du NAT est simple : il consiste à
être en mesure de faire correspondre à une
adresse privée, non reconnue sur l'Internet ( on
dit non routable), une autre adresse, officielle celle-ci
(on parle d'adresse routées). Dans la mesure
où l'on peut se doter pratiquement d'autant d'adresses
non routées que l'on désire, si, un mécanisme
nous permet d'utiliser un petit nombre d'adresses routées
pour faire reconnaître un nombre important d'adresses
non routées, le tour est joué. le NAT permet
cela.
Dans le cadre de la norme IPv4, il a été
prévu que certaines adresses, dites aussi privatives,
ne soient pas routées sur l'Internet. Ces séquences
d'adresses sont réutilisables à volonté
dans différents réseaux privatifs. Par contre,
à l'intérieur d'un réseau privatif
utilisant de telles adresses, il est bien entendu nécessaire
de prévoir un plan d'adressage qui affecte de façon
unique une adresse IP à chacun des ordinateurs de
ce réseau. La cohérence de cet adressage est
assurée à l'intérieur d'un domaine
privé. On parle d'espace d'adressage privé
et d'adresse locale par opposition à espace d'adressage
public et adresse globale.
Le dispositif qui assure le NAT est un routeur qui se
situe à la frontière d'un domaine privé,
entre le domaine public et le domaine privé.
Son rôle est d'adresser dans l'espace public, une
requête émanant d'un ordinateur de l'espace
privé, doté d'une adresse locale. Inversement
une information en provenance de l'espace public doit pouvoir
atteindre sa cible, même si elle est dotée
d'une adresse privée. C'est le routeur et sa fonctionnalité
NAT qui vont assurer ces travaux de traduction d'adresses
privées en adresses publiques et vice et versa.
En termes plus précis, en ado-ptant les con-ventions
et définitions suivantes :
- les mots interne et externe désignent
l'origine d'une adresse par rapport au routeur NAT
- les mots local et global désignent le côté
du routeur où cette adresse évolue
- un routeur NAT est un routeur sur lequel la fonction
NAT a été activée
- un site NAT est un site qui dispose d'un routeur NAT
au point de connexion de son réseau avec l'Internet
On peut définir les différentes adresses
de la façon suivante :
Il existe différents modes de fonctionnement du
NAT :
- statique, il fait correspondre une AGI
unique à une ALI, utile pour des machines recevant
des connexions de l'extérieur
- dynamique, il prend une AGI dans une séquence
donnée pour la faire correspondre à une
ALI
- dynamique étendue, le port source est pris en
considération, et un routeur peut associer jusqu'à
quelques milliers d'ALI à une même AGI
- en overlapping, il différencie une ALI qui utilise
une adresse publique affectée par l'IANA (l'organisme
chargé de gérer les adresses publiques)
à un autre réseau que celui qui l'utilise.
- il peut faire de la distribution de charge TCP
(*) 
5. Avantages et inconvénients
Puisqu'il y a traduction, il y a délai supplémentaire,
et nécessité de correctement dimensionner
les ressources (processeur et mémoires) affectées
au NAT. Le CRI qui a mis à l'essai un système
de NAT depuis l'été 1999, optera probablement
pour un NAT assuré par une machine dédiée
ayant un système d'exploitation Linux, plutôt
que de confier ce rôle à un routeur.
Si une application spécifie l'adresse IP dans
les données, elle ne pourra pas franchir le NAT,
sauf si ce dernier sait traiter spécifiquement une
telle application. Des dispositions particulières
doivent être prises pour la mise à jour des
tables de routage, pour la résolution des noms de
domaine, et pour des protocoles comme le Bootp ou le SNMP
par exemple.
NAT masque l'identité des machines, ce qui
peut à la fois constituer un avantage et un inconvénient
en terme de sécurité.
En jouant sur des variables de temps, l'administrateur
d'un réseau, peut se permettre de faire des économies
sur les adresses officielles nécessaires (AGI).
Enfin le NAT ne saurait être une solution à
long terme, mais il pourra être un complément
très utile pour assurer une migration douce vers
IPv6.
(*) Nos Remerciements à
D. Benza, JRES 99, Montpellier.
{Auteur}