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 : https://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, si 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écessite 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.
----------------------------------------
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 entres eux, il faut donc préciser sur quel port précis la redirection s'applique afin que les logiciels communiquent correctement entres eux. Remarque : les serveurs de type eMule sont utilisés uniquement pour l'indexation et la recherche de fichiers sur le réseau.