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 .