Como um roteador decide o destino do pacote?

5

Eu tenho uma questão básica de rede. Dois PCs estão se comunicando em uma WLAN. Ambos os PCs estão atrás de roteadores ou modems.

Ambos os PCs têm o mesmo IP público. Esse IP público é a maior parte do tempo ou do roteador ou do modem. Pode haver mais de um PC por trás desses roteadores e modems. Como os PCs estão se comunicando? Eu posso entender que os pacotes podem chegar a esses roteadores ou modems e, em seguida, a Internet, mas o que depois disso? No pacote, o IP de destino é definido como o IP público. Quando o pacote retorna, como o roteador ou modem decide para onde enviar o pacote? Alguém pode me explicar isso, por favor.

    
por user58859 10.01.2011 / 10:11

4 respostas

4

A maioria das mecânicas por trás desse mistério é NAT masquerading :

  • Seu PC se comunica com o exterior

por exemplo, seu PC está em uma rede privada, com o IP 10.1.2.3. Seu roteador lembra o IP / porta do PC e inicializou uma conexão com uma porta / IP remota (WAN). Assim, quando há uma resposta no mesmo canal, o roteador encaminha o pacote de volta para o PC, no lado da LAN.

  • Um dispositivo externo se comunica com o seu PC

Nesse caso, o ramal dispositivo inicializa a conexão e, portanto, o roteador não sabe para qual cliente 10.x.x.x deve encaminhar o pacote.
É por isso que o roteador precisa de configurações específicas que dizem, por exemplo, se o seu PC é um servidor Web (porta http)

  HTTP (WAN) ==> (LAN) 10.1.2.3:80

que diz, os pacotes que chegam na porta HTTP vão para o endereço da LAN interna 10.1.2.3 (seu PC) na porta 80.

    
por 10.01.2011 / 10:28
0

Em uma configuração básica, um dispositivo sempre sabe apenas o próximo salto. Este também só conhece o próximo salto para o destino desejado. se o destino não for local para o host / roteador, ele enviará o pacote para o gateway padrão e assim por diante.

Em situações mais complexas, você pode ter rotas estáticas apontando para um gateway explícito para um determinado destino de rede.

Se for muito complexo gerenciar manualmente essas rotas, os protocolos dinâmicos de distribuição de rotas serão usados como RIP

protocolos ainda mais elaborados sabem mais sobre a distribuição global de blocos de ip (via AS Numbers ) e tentam tomar decisões em onde rotear pacotes em custo e distância. exemplos são BGP e OSPF

    
por 10.01.2011 / 10:33
0

Estou um pouco intrigado com a sua "maioria do tempo": acho que é sempre ou nunca. Se o IP público de um PC estiver sempre coincidindo com seu roteador / modem, a rede local estará usando o NAT para fornecer acesso ao PC de fora da rede local. = > veja a primeira resposta

Se o IP público de um PC não coincidir com seu roteador / modem, a rede local estará diretamente acessível a partir da WAN (se ignorarmos possíveis firewalls que possam bloquear o caminho). = > veja segunda resposta

Se você está apenas começando a entender como o roteamento funciona, você deve se concentrar primeiro no segundo cenário e talvez também simplificá-lo como:

PC1 <-LAN1-> Router1 <-WAN_link-> Router2 <-LAN2-> PC2 

(como se não houvesse mais nada ao redor)

    
por 10.01.2011 / 11:17
0

Boa pergunta. Na verdade, existem algumas estratégias, mas essencialmente o roteador mantém uma tabela de todas as conexões NAT (porta do cliente, IP do cliente, IP de destino, porta de destino). Quando um pacote de retorno é retornado, ele corresponde a qual cliente ele deve ser encaminhado com base no local de origem do pacote e de qual porta.

A maioria das implementações de NAT também são PAT (implementações de conversão de endereços de porta), para evitar que dois clientes escolham a mesma porta de origem.

Alguns roteadores, por exemplo, Os dispositivos Cisco fazem a randomização do número de sequência por motivos de segurança - isso pode ajudar a ocultar quantos e quais tipos de clientes estão por trás do NAT. Ele também pode tentar proteger os clientes contra ataques de tipos que segmentam o número de sequência ou adivinha o próximo número de sequência da próxima conexão.

    
por 10.01.2011 / 11:29