• Aucun résultat trouvé

Accéder à l’Internet sans adresse routable

Dans le document Sécurité Sécurité (Page 169-172)

Si la gestion des adresses non routables s’arrêtait là, ces malheureux ordinateurs dotés d’adresses de seconde zone ne pourraient jamais naviguer sur l’Internet : en effet, une communication aussi simple que l’accès à un serveur Web demande que les paquets comportent une adresse source et une adresse destination valides, ne serait-ce que pour que le serveur puisse renvoyer au client Web le contenu de la page qu’il a voulu consulter. D’ailleurs dans un réseau fermé sans connexion à l’In-ternet les possibilités de communication sont limitées au réseau local, et c’est pour de tels réseaux qu’avaient été créées à l’origine les classes d’adresses non routables, que NAT a ensuite astucieusement détournées de leur destination, si j’ose dire.

Sur un réseau connecté à l’Internet qui ne contient que des postes de travail do-tés d’adresses non routables, il y a au moins un nœud qui possède une adresse

routable, c’est le routeur d’entrée du réseau, puisque justement il est connecté.

Alors il y a au moins un moyen de faire communiquer un poste du réseau local avec l’extérieur : il faut pour cela que le routeur soit doté de la capacité de traduc-tion d’adresses ; ainsi il pourra jouer vis-à-vis des nœuds du réseau local le même rôle que le standard de l’hôtel vis-à-vis des postes téléphoniques des chambres, en

« passant les communications ». Le principe de NAT est de remplacer une adresse interne non routable par une adresse routable.

Réalisations

La façon la plus simple pour réaliser la traduction d’adresses est la méthode sta-tique: à chaque adresse interne non routable on fait correspondre, bijectivement, une adresse routable qui la remplace. Le routeur contient la table de correspon-dance et fait la traduction, sans autre forme de procès.

Figure 6.17 Réseau avec NAT : les adresses des hôtes sont des adresses réutilisables.

Le routeur d’entrée fait la traduction d’adresses. 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.

La traduction d’adresses statique est simple, mais dans l’univers de la fin des an-nées 1990 la pénurie des adresses IP (la version 4 du protocole IP comporte des adresses sur 32 chiffres binaires, ce qui autorise un maximum de 4 294 967 295 adresses uniques, en fait un peu moins compte tenu des contraintes sur la structure de ces adresses, c’est-à-dire nettement moins que d’êtres humains à la surface de

la Terre) a conduit vers d’autres réalisations, notamment la traduction d’adresses dite dynamique, et plus particulièrement vers une de ces méthodes dynamiques, dite IP masquerading (masquage d’adresse IP), aujourd’hui prédominante et que nous allons décrire brièvement (pour plus de détails et de références, cf. Wikipé-dia8). Avec NAT et le masquage d’adresse IP, seul le routeur possède une adresse routable, toutes les communications des nœuds internes sont vues de l’extérieur comme issues de cette adresse ou destinées à elle, et le tri est fait par le routeur au moyen d’une manipulation des numéros de port, de façon tout à fait analogue au travail du standardiste de l’hôtel que nous évoquions ci-dessus.

Cette façon de recevoir à une adresse unique les paquets destinés en réalité à plu-sieurs machines, et de regrouper comme s’ils provenaient d’une adresse unique les paquets émis par ces diverses machines avant de les lancer dans l’Internet, s’ap-pelle le multiplexage. À l’inverse, lorsque le routeur trie les les paquets reçus de l’Internet à son adresse pour les distribuer à leurs destinataires réels, il effectue un démultiplexage. Plus généralement, on nomme multiplexage le fait d’acheminer plusieurs communications sur un même support physique ou logique.

Figure 6.18 Réseau avec NAT et masquage d’adresse IP : seule l’adresse de l’interface externe du routeur est utilisée ; le multiplexage/démultiplexage des adresses IP internes se fait grâce aux numéros de ports (modifiés par le routeur).

On a vu (encadré page 122) qu’une connexion TCP était identifiée par le qua-druplet {adresse IP de destination, numéro de port de destination, adresse IP d’origine,

8. http://fr.wikipedia.org/wiki/NAT

numéro de port d’origine}. En général, dans le paquet qui initie la connexion, le numéro de port de destination obéit à une convention (par exemple 80 pour l’ac-cès à un serveur Web), et le numéro de port d’origine est quelconque, supérieur à 1 024, et choisi de façon à former un couple unique avec l’adresse d’origine.

Lorsque le routeur recevra un tel paquet, où l’adresse d’origine sera une adresse NAT non routable, il remplacera cette adresse par sa propre adresse, éventuelle-ment il remplacera le numéro de port d’origine par un autre, s’il a déjà utilisé ce couple {adresse, numéro de port} pour une autre traduction, et il conservera dans une table la correspondance entre ce couple {adresse, port} envoyé sur l’Internet et celui du poste émetteur, ce qui permettra, au prix donc d’une traduction, d’acheminer les paquets dans les deux sens.

Sur l’unicité dessockets

Il est possible, lors de l’initiation d’une connexion réseau, de déterminer un tel couple {adresse,port}, nommésocket. Celui-ci est doté de la propriété d’unicité, car ce n’est pas le logiciel client qui établit la connexion, mais lenoyau du système d’exploitation, du moins dans les systèmes sérieux (certains systèmes rudimentaires d’un passé récent ont pu implanter tout ou partie de la pile réseau dans l’espace utilisateur, ce qui ouvrait la voie aux pannes et aux piratages).

Dans le document Sécurité Sécurité (Page 169-172)