Cet article est une traduction gratuite de l'une des entrées de
Avec la permission de l'auteur (ainsi que par souci de clarté et d'intérêt), je l'ai colorié avec des liens et l'ai complété par quelques recherches personnelles.
introduction
Au moins un utilisateur de la paire de connexion doit être en mode actif à ce moment. Le mécanisme de traversée NAT sera utile lorsque le mode actif n'est configuré d'aucun côté. Cela est généralement dû à un pare-feu ou à un périphérique NAT bloquant les connexions entrantes.
Si les deux clients sont en mode actif
Le client initiateur envoie une commande contenant sa propre adresse IP et son propre port
Si l'un des clients est en mode passif
Via le hub, un client passif A envoie une commande
En tant que serveur S dans le cas ci-dessus il y a un hub DC
Si les deux clients sont en mode passif sur
Clients derrière différents NAT A и B rejoint le hub S.
Voici à quoi ressemble la connexion au hub du côté client A
Le hub accepte les connexions sur le port 1511. Client A établit des connexions sortantes depuis son réseau privé via le port 50758. Le hub, à son tour, voit l'adresse du périphérique NAT, travaille avec lui et la diffuse aux clients en fonction de leurs identifiants.
Client A envoie au serveur S message demandant de l'aide pour se connecter avec un client B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Également en mode passif, le client B, après avoir reçu cette commande, doit signaler son port privé utilisé pour se connecter au hub via NAT.
Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Après avoir reçu ces informations, le client A essaie immédiatement d'établir une connexion avec le client B et déclare son propre port privé.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991
Quel est l'intérêt ? L'intérêt est de déplacer le point final d'une même connexion en créant une nouvelle connexion vers une adresse publique via un port privé déjà utilisé.
Bingo!
Bien entendu, dans ce cas, le NAT client B a le droit de refuser la première demande de connexion d'un client A, mais sa propre demande s’engouffre dans le « trou » créé par cette même connexion, et la connexion s’établit.
Illustration adaptée à l'ensemble du processus, avec la mise en garde suivante :
Le final
Au moment de la rédaction de l'article (original), environ la moitié des clients DC travaillent en mode passif. Cela signifie qu’un quart de toutes les connexions possibles ne peuvent pas être établies.
Dans le futur
Source: habr.com