Exercice Traduction d’adresses IPV4 (NAT)

Dans quels buts a-t-on défini ces deux types d’adresses (avec quels avantages et quels inconvénients) ?

Exercice  :

La norme RFC 1631 (mai 1994) ('The IP Network Address Translator’), définit un principe général de traduction d’adresses IP. La dernière version, la plus récente de cette approche RFC 3002 (janvier 2001) améliore différents points.

La traduction d'adresses peut être appliquée par différents types d’appareils dont la caractéristique principale est d’être situés entre un réseau IPV4 privé et le réseau IPV4 global. Typiquement la traduction est effectuée par un routeur, mais on peut aussi appliquer la traduction dans un hôte quelconque ou dans un filtre (pare-feux ou ‘firewall’).

La traduction au niveau des adresses IP s'applique à l'adresse source d'un datagramme IP en provenance du réseau privé (baptisé encore en NAT réseau interne) et à destination du réseau public (baptisé encore en NAT réseau externe). De manière symétrique, la traduction est effectuée sur les datagrammes en provenance du réseau public (ou externe) vers le réseau privé (ou interne).

La traduction d’adresse peut être réalisée de différentes façons qui sont examinées dans les questions suivantes.

Question 1

Dans le mode NAT statique l’adresse IPV4 source privée est traduite en une adresse IPV4 source publique qui est toujours la même. La correspondance dans ce cas est bijective (biunivoque) c'est-à­dire qu’à une adresse privée est associée de manière statique une adresse publique (selon une table de correspondance statiquement définie par un administrateur réseau).

Quelle utilisation peut-on faire d’un tel mode de traduction d’adresses IF ? Quels sont les inconvénients ?

Question 2

Dans le mode NAT dynamique, la traduction d’une adresse source IPV4 privée est effectuée vers une adresse source IPV4 publique qui est prise dans un bloc d’adresses publiques disponibles. L’adresse publique utilisée n’est donc pas toujours la même. Par exemple si l’on suppose que l’hôte d’adresse 172.20.40.17 émet un datagramme à un instant donné vers l’Internet global, son adresse est traduite dans la première adresse disponible d’un bloc. Par exemple, si l’adresse 212.19.50.63 du bloc disponible 212.19.50.0 à 212.19.50.255 est non utilisée au moment de l’émission du datagramme, on l’utilisera et on traduira 172.20.40.17 en 212.19.50.63. Cette correspondance est enregistrée dans une table. De manière à éviter de bloquer indéfiniment une adresse attribuée dynamiquement, un temporisateur est utilisé pour révoquer l’attribution d’une adresse publique. A l’échéance, on récupère une adresse attribuée et l'on procède à une nouvelle attribution d’adresse si un nouvel échange à lieu (éventuellement on peut reprendre la même adresse pour un autre quantum).

Quel avantage nouveau obtient-on d’un tel mode de traduction d’adresses IF ?

Question 3


Le troisième mode est connu sous différents noms (mode NAT avec surcharge NAT 'overloading' encore appelé NAT with PAT 'Port Address Translation'). Dans ce cas la traduction d’une adresse source IPV4 privée vers une adresse source IPV4 publique est complétée par la traduction du numéro de port. Le plus souvent, dans ce cas on suppose l'utilisation d'une seule adresse publique (par exemple une adresse publique comme 212.19.50.63 disponible). Si l’on suppose que l’hôte d’adresse 172.20.40.17 émet un datagramme selon le protocole TCP avec le numéro de port source 5032, alors son adresse IP est traduite en l’adresse IP publique (212.19.50.63) et le numéro de port source TCP est également traduit vers un numéro de port non utilisé (par exemple 4097 si ce port n'est pas déjà attribué à une autre communication). Comme dans le cas du NAT dynamique, les attributions sont associées à un temporisateur avec récupération à échéance. Ce mode de fonctionnement est le plus utilisé.

Quels en sont les avantages et les inconvénients ?