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.


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).


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.