Este artigo é unha tradución gratuíta dunha das entradas en
Co permiso do autor (así como por claridade e interese), coloreino con ligazóns e complementei con algunha investigación persoal.
Introdución
Polo menos un usuario do par de conexión debe estar en modo activo neste momento. O mecanismo de atravesamento NAT será útil cando o modo activo non estea configurado a ningún lado. Isto xeralmente débese a que un firewall ou un dispositivo NAT bloquean as conexións entrantes.
Se ambos os clientes están en modo activo
O cliente iniciador envía un comando que contén o seu propio enderezo IP e porto
Se un dos clientes está en modo pasivo
A través do hub, un cliente pasivo A envía un comando
Como servidor S no caso anterior hai un concentrador de CC
Se ambos os clientes están en modo pasivo activado
Clientes detrás de diferentes NAT A и B uniuse ao centro S.
Así se ve a conexión ao concentrador desde o lado do cliente A
O concentrador acepta conexións no porto 1511. Cliente A realiza conexións de saída desde a súa rede privada a través do porto 50758. O concentrador, á súa vez, ve o enderezo do dispositivo NAT, traballa con el e remíteo aos clientes segundo os seus identificadores.
Cliente A envía ao servidor S mensaxe solicitando axuda para conectarse cun cliente B.
Hub: [Outgoing][178.79.159.147:1511] DRCM AAAA BBBB ADCS/0.10 1649612991
Tamén en modo pasivo, o cliente B, ao recibir este comando, debe informar do seu porto privado utilizado para conectarse ao concentrador mediante NAT.
Hub: [Incoming][178.79.159.147:1511] DNAT BBBB AAAA ADCS/0.10 59566 1649612991
Despois de recibir esta información o cliente A inmediatamente tenta establecer unha conexión co cliente B e informa do seu propio porto privado.
Hub: [Outgoing][178.79.159.147:1511] D<b>RNT</b> AAAA BBBB ADCS/0.10 <b>50758</b> 1649612991
Cal é o interese? O interese está en cambiar o punto final da mesma conexión creando unha nova conexión a un enderezo público a través dun porto privado xa usado.
Bingo!
Por suposto, neste caso o cliente NAT B ten todo o dereito a rexeitar a primeira solicitude de conexión dun cliente A, pero a súa propia solicitude apura ao "burato" creado por esta mesma conexión, e establécese a conexión.
Ilustración apta para todo o proceso coa advertencia de que
Epílogo
No momento de escribir o artigo (orixinal), aproximadamente a metade dos clientes de DC están traballando en modo pasivo. Isto significa que non se poden facer unha cuarta parte de todas as conexións posibles.
Ademais
Fonte: www.habr.com