Redirection de port

Un article de Wikipédia, l'encyclopédie libre.

La redirection de port ou port forwarding ou port mapping en anglais, consiste à rediriger des paquets réseaux reçus sur un port donné d'un ordinateur ou un équipement réseau vers un autre ordinateur ou équipement réseau sur un port donné. Cela permet entre autre de proposer à des ordinateurs extérieur à un réseau d'accéder à des services répartis sur plusieurs ordinateurs de ce réseau.

Sommaire

[modifier] Pré-requis

Avec le développement de l'internet haut débit, beaucoup de gens sont amenés à abandonner leur modem 56k pour un modem ADSL qui fait également office de routeur. Avec l'émergence du Wi-Fi et le développement de ces boîtiers ADSL, la majorité des modems ADSL sont configurés par défaut en mode routeur, cela signifie que les ordinateurs reliés au modem ADSL ne seront pas directement "visibles" depuis l'extérieur du réseau, c’est-à-dire depuis l'internet.

Pour être plus précis, et par définition, un routeur permet de relier 2 réseaux (au moins) entre eux. En utilisant son modem ADSL comme un routeur, on se retrouve avec deux réseaux bien distincts :

  • Celui entre votre modem ADSL et internet (plus précisément le terminal de votre Fournisseur d'accès à Internet FAI).
  • Celui entre votre modem ADSL et et les ordinateurs qui y sont reliés.

Ce qui donne :

 |--------Réseau 1----------|---------------Réseau 2----------------|-----------------------------
 <pc1>----------\
                 \_____________________                 ______________________________
                  | modem ADSL routeur |---------------|Fournisseur d'accès à internet|----------------- internet
                 /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯                 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
 <pc2>----------/
  • Le réseau 1 est le réseau interne (intranet).
  • Le réseau 2 est le réseau externe (internet).

[modifier] Le principe du NAT

Le NAT, acronyme de Network Address Translation (-> traduction d'adresses réseau) est un mécanisme de traduction d'adresses qui a été mis au point afin de répondre à la pénurie d'adresses IP avec le protocole IPv4.
En effet, en adressage en IPv4 le nombre d'adresses IP routables (donc uniques sur la planète) n'est pas suffisant pour permettre à toutes les machines le nécessitant d'être connectées à internet.

Le principe du NAT consiste donc à utiliser une passerelle de connexion à internet, possédant au moins une interface réseau connectée sur le réseau interne et au moins une interface réseau connectée à Internet (possédant une adresse IP routable), pour connecter l'ensemble des machines du réseau.

C'est le modem routeur qui fait office de passerelle de connexion internet, c'est lui qui doit faire la traduction d'adresses pour permettre à toute machine d'accéder à internet !
Tout individu distant peut seulement connaître l'adresse ip du modem ADSL, mais pas celles des ordinateurs au sein du réseau, ceux-ci sont donc protégés.

[modifier] L'utilité des ports

Sur votre ordinateur, de nombreux programmes peuvent utiliser le réseau. Pour communiquer avec un programme réseau de ce type, il faut donc autre chose que l'adresse IP, c'est là qu'interviennent les ports. Chaque programme qui fonctionne en réseau utilise un port particulier (les ports d'un ordinateur sont numérotés de 0 à 65535) sur votre ordinateur.

Pour faire une comparaison grossièrement, l'adresse IP peut être apparentée à l'adresse postale d'un immeuble. Un port peut être apparenté à une boîte aux lettres de cet immeuble. Et nous avons besoin de ces deux données pour que quelque chose puisse arriver à son destinataire.

[modifier] La redirection de port

Mais alors, si une application d'un utilisateur distant (individu connecté à internet) doit communiquer spécifiquement avec mon ordinateur qui est "caché" derrière mon modem adsl routeur, comment faire ?

La redirection de ports permet ce type de communications en créant une sorte de voie de communication bien précise.

Exemple : http://abeggi.altervista.org/blog/nat.gif

  • Le modem routeur se situe à la jonction des deux zones, c'est lui qui effectue la traduction d'adresses réseaux (address translation system).
  • Le client 1 souhaite se connecter à un serveur externe au réseau, il émet une trame depuis le port 1024.

Le client 2 fait de même.

  • Le routeur applique les règles de NAT et lance deux communications au serveur concerné, l'une sur un port bien précis (2028), l'autre sur un autre (2027).

Dès lors, lorsque le serveur répondra en émettant depuis le port 2027, cela signifiera pour le routeur que le message est adressé au client 2, s'il s'agit du port 2028, alors il faut transmettre le message au client 1.

Cela est valable dans les deux sens réseau interne<->externe.

La traduction d'adresse est effectué par la NAT (Network Address Translation).

Le "port-forwarding" ou "port-mapping" consiste en 2 étapes : il faut d'abord configurer le port à ouvrir (numéro de début et de fin des ports à ouvrir, protocole utilisé) et ensuite le rediriger vers la machine sur laquelle le port doit être ouvert.

Typiquement, les logiciels qui ont besoin de connexion directe entre divers ordinateurs à travers le monde nécessitent une redirection de port. Exemples : jeux, logiciels de peer 2 peer.

Des programmes comme MSN messenger/IRC ne nécessitent pas de redirection de ports car il ne s'agit pas d'une connexion directe entre utilisateurs. Chaque trame transmise passe par un intermédiaire : le serveur.

<utilisateur A>---<modem>-----------------<Serveur>-----------------<modem>---<utilisateur B>

Chaque utilisateur ne parle qu'au serveur. Et c'est le serveur qui parle à tous les utilisateurs. Il retransmet les messages de tout le monde à chaque client connecté.

Dans le cas d'un réseau p2p, les clients se parlent directement entre eux, il faut donc préciser sur quel port précis la redirection s'applique afin que les logiciels communiquent correctement entre eux. Remarque : les serveurs de type eMule sont utilisés uniquement pour l'indexation et la recherche de fichiers sur le réseau.

[modifier] Voir aussi


[modifier] Liens externes