Pour accéder à Internet, une adresse IP publique est nécessaire, mais nous pouvons utiliser une adresse IP privée dans notre réseau privé. L’idée du NAT est de permettre à plusieurs appareils d’accéder à Internet via une seule adresse publique. Pour ce faire, la traduction d’une adresse IP privée en une adresse IP publique est requise. La traduction d’adresses réseau (NAT) est un processus dans lequel une ou plusieurs adresses IP locales sont traduites en une ou plusieurs adresses IP globales et vice versa afin de fournir un accès Internet aux hôtes locaux. En outre, il effectue la traduction des numéros de port, c’est-à-dire masque le numéro de port de l’hôte avec un autre numéro de port, dans le paquet qui sera acheminé vers la destination. Il effectue ensuite les entrées correspondantes d’adresse IP et de numéro de port dans la table NAT. NAT fonctionne généralement sur un routeur ou un pare-feu.
Traduction d’adresse réseau (NAT) fonctionnant –
Généralement, le routeur de frontière est configuré pour NAT c.-à-d. le routeur qui a une interface dans le réseau local (intérieur) et une interface dans le réseau global (extérieur). Lorsqu’un paquet traverse en dehors du réseau local (intérieur), NAT convertit cette adresse IP locale (privée) en une adresse IP globale (publique). Lorsqu’un paquet entre dans le réseau local, l’adresse IP globale (publique) est convertie en une adresse IP locale (privée).
Si le NAT manque d’adresses, c’est-à-dire qu’aucune adresse n’est laissée dans le pool configuré, les paquets seront supprimés et un paquet inaccessible de l’hôte ICMP (Internet Control Message Protocol) vers la destination est envoyé.
Pourquoi masquer les numéros de port ?
Supposons que, dans un réseau, deux hôtes A et B soient connectés. Maintenant, les deux demandent la même destination, sur le même numéro de port, disons 1000, du côté de l’hôte, en même temps. Si NAT fait une traduction seulement des adresses IP, alors quand leurs paquets arriveront au NAT, leurs deux adresses IP seraient masquées par l’adresse IP publique du réseau et envoyées à la destination. La destination enverra des réponses sur l’adresse IP publique du routeur. Ainsi, à la réception d’une réponse, NAT ne saura pas quelle réponse appartient à quel hôte (car les numéros de port source pour A et B sont les mêmes). Par conséquent, pour éviter un tel problème, NAT masque également le numéro de port source et fait une entrée dans la table NAT.
Adresses NAT inside et outside –
Inside fait référence aux adresses qui doivent être traduites. L’extérieur désigne les adresses qui ne sont pas sous le contrôle d’une organisation. Ce sont les adresses réseau dans lesquelles la traduction des adresses sera effectuée.
- Adresse locale interne – Une adresse IP attribuée à un hôte sur le réseau interne (local). L’adresse n’est probablement pas une adresse IP attribuée par le fournisseur de services, c’est-à-dire qu’il s’agit d’une adresse IP privée. C’est l’hôte intérieur vu du réseau intérieur.
- Inside global address – Adresse IP qui représente une ou plusieurs adresses IP locales à l’intérieur du monde extérieur. C’est l’hôte intérieur vu du réseau extérieur.
- Adresse locale extérieure – C’est l’adresse IP réelle de l’hôte de destination dans le réseau local après la traduction.
- Adresse globale extérieure – C’est l’hôte extérieur tel que vu du réseau extérieur. C’est l’adresse IP de l’hôte de destination extérieur avant la traduction.
Types de traduction d’adresses réseau (NAT) –
Il existe 3 façons de configurer NAT:
- NAT statique – Dans ce cas, une seule adresse IP non enregistrée (privée) est mappée avec une adresse IP légalement enregistrée (publique), c’est-à-dire un mappage individuel entre l’adresse locale et l’adresse globale. Ceci est généralement utilisé pour l’hébergement Web. Ceux-ci ne sont pas utilisés dans les organisations car de nombreux appareils auront besoin d’un accès à Internet et pour fournir un accès à Internet, l’adresse IP publique est nécessaire.
Supposons que s’il y a 3000 appareils qui ont besoin d’accéder à Internet, l’organisation doit acheter 3000 adresses publiques qui seront très coûteuses. - NAT dynamique – Dans ce type de NAT, une adresse IP non enregistrée est traduite en une adresse IP enregistrée (publique) à partir d’un pool d’adresses IP publiques. Si l’adresse IP du pool n’est pas libre, le paquet sera supprimé car seul un nombre fixe d’adresses IP privées peut être traduit en adresses publiques.
Supposons que s’il existe un pool de 2 adresses IP publiques, seules 2 adresses IP privées peuvent être traduites à un moment donné. Si la 3ème adresse IP privée veut accéder à Internet, le paquet sera supprimé, de nombreuses adresses IP privées sont donc mappées à un pool d’adresses IP publiques. NAT est utilisé lorsque le nombre d’utilisateurs souhaitant accéder à Internet est fixe. Cela est également très coûteux car l’organisation doit acheter de nombreuses adresses IP mondiales pour constituer un pool. - Traduction d’adresse de port (PAT) – Ceci est également connu sous le nom de surcharge NAT. En cela, de nombreuses adresses IP locales (privées) peuvent être traduites en une seule adresse IP enregistrée. Les numéros de port sont utilisés pour distinguer le trafic, c’est-à-dire, quel trafic appartient à quelle adresse IP. Ceci est le plus souvent utilisé car il est rentable car des milliers d’utilisateurs peuvent être connectés à Internet en utilisant une seule adresse IP mondiale (publique) réelle.
Avantages de NAT –
- NAT conserve les adresses IP légalement enregistrées.
- Il assure la confidentialité car l’adresse IP de l’appareil, envoyant et recevant le trafic, sera masquée.
- Élimine la renumérotation des adresses lorsqu’un réseau évolue.
L’inconvénient de la traduction NAT–
- entraîne des retards de chemin de commutation.
- Certaines applications ne fonctionneront pas lorsque NAT est activé.
- Complique les protocoles de tunnellisation tels que IPSec.
- De plus, le routeur étant un périphérique de couche réseau, ne doit pas altérer les numéros de port (couche de transport) mais il doit le faire à cause de NAT.