Como um NAT diferencia entre os receptores (por trás dele) de um fluxo de pacotes?

0

Depois de ler esta questão, eu ainda não entendo como os pacotes estão sendo mapeados para os hosts correspondentes (receptores) atrás do NAT no caso de protocolos sem conexão.

A resposta aceita sugere que o NAT mantém um registro do número da porta do host, valores SYN e ACK, a fim de mapear corretamente o fluxo de entrada para ele. No entanto, no caso de protocolos sem conexão, os valores SYN e ACK não são usados, portanto, apenas o número da porta permanece como um meio de identificar pacotes. É suficiente? Se mais hosts por trás desse NAT usam a mesma porta de origem (um caso provável com grandes sub-redes (ou seja, 192.xx.xx.xx)) são os pacotes de entrada transmitidos para todos os hosts que usaram a respectiva porta em seus pacotes?

    
por Sebi 10.08.2015 / 11:28

2 respostas

3

Da resposta aceita à pergunta à qual você se vinculou -

The firewall receives that packet and sends it on to the remote server but it does so only after changing the from IP address to local network's public IP and also likely changing the from port to some other port of the firewall's choosing.

Se duas máquinas atrás do NAT enviarem pacotes sem conexão (UDP) para o mesmo servidor, o NAT as encaminhará de portas diferentes no NAT. Em seguida, a porta "para" nos pacotes do servidor permitirá que o NAT determine para qual máquina encaminhar esses pacotes.

Editar: Por exemplo, com os clientes A e B atrás do NAT e do servidor S na Internet, as transmissões UDP podem ter esta aparência (máquina: porta):

A:31337 -> NAT:7 (ECHO) // NAT:31338 -> S:7
B:31337 -> NAT:7 (ECHO) // NAT:**31339** -> S:7
S:7 -> NAT:31338 // NAT:7 -> A:31337
S:7 -> NAT:**31339** // NAT:7 -> B:31337

Ambos A e B estão usando a porta de origem 31337, mas o NAT os mapeia para portas diferentes (31338 e 31339, respectivamente) do NAT para o servidor S.

    
por 10.08.2015 / 11:42
0

Eu não sou especialista, mas

Se você tiver duas máquinas atrás de NAT e duas máquinas com IPs públicos fora do NAT. Então as máquinas por trás do NAT poderiam conhecer uma máquina remota da outra, porque as máquinas remotas têm endereços IP diferentes. E os remotos conhecem um host atrás do NAT, de outro host por trás do NAT, porque eles acessam a porta dest do que eles querem enviar. Se as duas máquinas remotas também estivessem atrás do NAT, e quisessem enviar para qualquer máquina do outro lado, que também estão atrás do NAT ... então o IP e a porta não dariam quem era o remetente.

    
por 10.08.2015 / 15:41