Estou tentando entender por que a perfuração UDP funciona.
A
, B
atrás de um roteador NAT e Server
com a porta 80 aberta. A
envia um pacote para Server
da porta 1234
. Isso faz com que o roteador abra uma rota de / para A:1234
e S:80
B
envia um pacote para Server
da porta 4321
. Isso faz com que o roteador abra uma rota de / para B:4321
e S:80
Neste ponto, A
deve ser capaz de enviar diretamente pacotes para B:4321
e B
deve ser capaz de enviar pacotes diretamente para A:1234
.
Eu tenho duas perguntas:
Server
? Isso não é um risco de segurança? UPDATE : Respondendo a minha própria pergunta aqui, pois ela está marcada como fechada. A perfuração de furos NAT funciona da seguinte maneira:
A
, B
por trás de um roteador NAT e Server
. A
e B
se conectam a Server
e enviam uma lista de portas que eles usarão para conexões de entrada / saída. A
liste a porta 1234
e B
lista a porta 4321
, então A
envia um pacote da porta 1234
para B
na porta 4321
. Isso faz com que o roteador abra uma rota de / para A:1234
e B:4321
. B
envia um pacote da porta 4321
para A
na porta 1234
. Isso faz com que o roteador abra uma rota de / para B:4321
e A:1234
. A
aceita a conexão de entrada, pensando que é uma resposta ao passo 3. A
e B
.