Como o roteador sabe para qual dispositivo enviar pacotes? [duplicado]

15

minha pergunta não diz respeito a como ela se move pela Internet, mas como ela se move através do roteador para um determinado dispositivo. Todos os dispositivos conectados a um roteador em uma rede doméstica têm o mesmo IP externo. Digamos que o dispositivo A esteja carregando uma página e os pacotes sejam enviados de uma fonte externa para o roteador porque os pacotes conhecem o IP externo do dispositivo A e podem acessar o roteador. Mas agora, como chega ao dispositivo A? Como o roteador sabe enviá-lo para o dispositivo A em vez do dispositivo B?

Eu acho que isso envolve o NAT, mas estou apenas procurando uma explicação lógica do que o NAT faz para fazer isso.


fonte
Não posso fornecer uma resposta muito específica, mas o roteador monitora para onde está indo uma solicitação e quem a enviou. Quando a fonte externa responde, o roteador simplesmente verifica para ver qual dispositivo tentou entrar em contato com a fonte externa inicialmente e encaminha a resposta para esse dispositivo. Se você precisar de mais informações, consulte o NAT.
Jack Humphries
Esta pergunta pertence a Superuser.com
TimothyP

Respostas:

11

Quando você inicia uma conexão com um site externo, o roteador usa um número de porta de origem diferente a cada vez ... então ele usa esse número de porta de origem (que é onde os dados retornam) como a chave para procurar em qual máquina sua rede interna da qual o pedido veio. Isso é chamado de Conversão de Endereço PORT (em oposição à Conversão de Endereço de Rede, que é quando você tem vários endereços de rede disponíveis para o seu roteador).

Michael Bray
fonte
1
isso explicaria coisas como conexões TCP, mas alguns aplicativos não têm conexão. E os pacotes UDP? E se você estiver hospedando um servidor em um dispositivo, mesmo que ele use TCP para a conexão, ele não poderá inicializar uma conexão sem o roteador saber em qual dispositivo o servidor está.
1
Para conexões UDP, geralmente é necessário pré-definir uma porta no seu roteador que possa ser usada para rotear para um dispositivo específico. Esse é o recurso de "encaminhamento de porta" dos roteadores e pode ser usado para pacotes UDP de entrada (em resposta a uma mensagem de saída ou um novo pacote de entrada), bem como para pacotes TCP de entrada (por exemplo, aqueles iniciados por um cliente remoto) do seu próprio PC.)
Michael Bray
1

Normalmente, todos os dispositivos da rede doméstica têm um endereço interno diferente (endereço privado, sempre 192.168.0.1 ~ 192.168.0.255).

Quando um pacote é enviado da rede doméstica (digamos, dispositivo A: 192.168.0.123), quando passa pelo roteador, o roteador traduz o endereço privado para o endereço externo do roteador (suponha que seja 140.191.2.5), e o roteador também registra isso mapeamento em seu NAT.

Quando a resposta está de volta, o roteador que mapeia o NAT e encontra a fonte original é o Dispositivo A.

então o dispositivo A finalmente recebe o pacote.

Este é apenas um conceito, para mais detalhes, consulte o wiki: NAT.

NCola.L
fonte