A viagem de um pacote do meu computador para o servidor web e de volta

4

Eu gostaria de saber como meus pacotes viajam do meu computador para um servidor web. Por favor agüente com o poste longo. Eu vou fazer muitas perguntas entre eles e vou melhorar se você responder qualquer um deles. Estou conectado a uma LAN, onde o roteador me fornece um endereço IP via DHCP. Então, quando eu ligo meu WiFi, envio uma transmissão UDP para a porta 67. O servidor DHCP recebe a transmissão e me atribui um endereço IP e o endereço do servidor DNS. Estou correto até agora? Então agora abro meu navegador e digito "www.cnn.com". O navegador faz uma pesquisa de DNS e encontra o endereço IP de cnn.com. Em seguida, ele envia o pacote para esse endereço. O computador analisa o endereço IP de destino e analisa sua tabela de roteamento. Veja que o endereço IP de destino não está na LAN. Assim. ele envia o pacote para o gateway padrão (meu roteador). O roteador geralmente também fornece o serviço DHCP.

Q1 O roteador está conectado ao meu provedor e tem um IP da WAN e um IP da LAN. Este IP da WAN é globalmente visível? ou o roteador também faz parte de uma LAN do ISP?

Supondo que o roteador tenha um endereço IP globalmente visível. Neste ponto, deve mudar o endereço IP src para seu próprio endereço IP WAN. O roteador também tem um endereço MAC WAN. Altera o endereço MAC src também? Presumo que cada roteador subseqüente que não tenha um endereço IP globalmente visível alterará o endereço IP src para seu próprio endereço IP. Estou um pouco confuso sobre isso.

Q2 Assumindo de alguma forma os pacotes chegam ao servidor e eu recebo uma resposta de volta. Como o roteador de LAN sabe para quem este pacote é? Ele usa o NAT para descobrir isso? Utiliza MAC (se não alterou o MAC acima)? Quando o ARP entra em cena?

Eu sei que existem dois tipos de switches (Camada 2 e Camada 3). Que tipo de comutadores são os roteadores típicos (Linksys etc.)?

Eu sei que estou fazendo muitas perguntas e muitas / todas elas podem ser noobish / burras. Mas eu realmente quero saber as respostas. Por favor, indique se eu perdi alguma coisa na descrição do sistema. Eu apreciaria se você pudesse fornecer links para blogs / artigos etc.

Bruce
fonte

Respostas:

2

Vou dar uma chance ...

Seu primeiro parágrafo parece correto até agora (embora com vários níveis de detalhes, como "o navegador faz uma pesquisa de DNS", que envolve vários outros sistemas).

Q1: O seu IP da WAN é geralmente globalmente visível, mas há casos em que existe realmente outra LAN formada pelo ISP entre você e a Internet. Quando você se conecta a um telefone celular, por exemplo, muitos ISPs implementam NAT de operadora, portanto, muitos celulares compartilham o mesmo ip público.

Seu segundo parágrafo não está correto. Dispositivos NAT como sua caixa em casa mudam seu endereço de lan IP privado para seu endereço WAN público, mas todos os roteadores subseqüentes não alteram os endereços IP src, então o seu pacote chega ao servidor web com seu endereço público wan em seu campo SRC. O que muda de roteador para roteador é o endereço mac src / dst. Cada roteador irá definir o endereço dst mac para o próximo salto de roteamento.

Q2: seu roteador lan possui uma tabela NAT. Esta tabela contém a porta de origem que seu roteador usou para enviar o pacote de requisição e o endereço IP interno correspondente. O pacote de resposta terá este número de porta como porta de destino. O roteador lan saberá a qual cliente interno esse pacote pertence, substitua o IP de destino pelo ip da LAN interna e a porta de destino pela porta de origem usada para iniciar a conexão pelo dispositivo interno. O ARP entra em ação para encontrar o endereço MAC de um dispositivo na mesma LAN. O roteador pergunta "Ei, eu tenho um pacote para 192.168.1.7 e eu sei que esse IP está em algum lugar aqui na lan, quem é? Por favor me dê seu endereço MAC" - o dispositivo enviará um pacote de resposta ARP contendo seu endereço MAC .

Gryphius
fonte
Muito obrigado por responder. Quando eu disse "Eu presumo que cada roteador subseqüente que não tem um endereço IP visível globalmente mudará o endereço IP src para seu próprio endereço IP" Eu quis perguntar o que acontece no caso de uma LAN formada pelo ISP? Eu acho que haverá switching de Camada 2 (e possíveis substituições de SrcIP), mas uma vez que o pacote chegue a um roteador (com IP de WAN global), haverá somente roteamento de Camada 3 a partir daí sem substituições.
Bruce
Se você estiver em um ISP lan, pode haver vários switching de camada 2 e vários roteadores de camada 3 antes de alcançar o gateway visível globalmente, esse gateway fará NAT (substitua o endereço IP de origem dos pacotes de saída e substitua o endereço de destino pacotes de entrada), mas os roteadores intermediários não substituirão o endereço IP. Os endereços da camada 2 serão substituídos, já que a camada 2 é normalmente ponto a ponto.
nos
1

Esta questão é um desafio para responder completamente devido aos detalhes das muitas questões relacionadas; no entanto, existem livros fantásticos sobre este assunto. O que foi mais útil para mim foi o Internetworking de Doug Comer com o TCP / IP ; Eu paguei o custo desse livro milhares de vezes com o conhecimento que ganhei (e o valor que meus empregadores deram a ele). Se a sua biblioteca local tem uma seção técnica decente, você deve ser capaz de encontrar uma cópia, mesmo que seja datada (e isso não deve importar ... até mesmo as antigas edições foram excelentes).

Para resolver suas dúvidas especificamente:

  • Q1 :

    • Ethernet -> Os endereços MAC Ethernet têm um escopo de link e são diferentes para cada enlace de ethernet roteado distinto obtido pela rede. Destination Mac-Addresses são originários do ARP; source Mac-Addresses (normalmente) vêm do endereço gravado no HW da NIC Ethernet.
    • IP -> Endereços IP públicos (como os do seu ISP) têm um escopo global e não devem ser alterados, a menos que haja um problema administrativo envolvido (como uma implementação de NAT).
    • NAT -> Seu roteador FW ou NAT local normalmente tem duas interfaces, uma com um endereço IP local (privado) e outra com um endereço IP global (público). Quando o tráfego passa por esse roteador NAT, as informações de sessão IP e TCP em seus pacotes são regravadas e rastreadas em uma tabela de estado de conexão.
  • Q2 :

    • ARP -> ARP é usado quando um dispositivo tem um endereço IP de destino, mas não possui um endereço MAC de ethernet atual associado a esse endereço IP.
    • NAT -> Seu roteador NAT sabe como entregar o tráfego de retorno, porque ele inspeciona as informações da sessão IP / TCP / UDP (como o número da porta TCP ou UDP) e faz o remapeamento do endereço público traduzido que atribuiu ao seu endereço privado LAN)
Mike Pennington
fonte