Estou tentando responder a essa pergunta antiga na esperança de ajudar alguém que esteja procurando por algo assim. Além disso, por favor, deixe-me saber se cometi algum erro.
Para que as informações fluam do seu computador para um servidor da Web na Internet, há muitos componentes, dispositivos e algoritmos diferentes em reprodução, mas nos concentraremos nos algoritmos de rede que tornam isso possível.
Acredito que há principalmente duas tecnologias da Internet que desempenham o papel mais importante em tornar possível o fluxo de informações entre seu computador e um servidor da web da Internet. O protocolo de roteamento e NAT.
Vamos nos concentrar no pacote IP, pois é a unidade de dados em que o protocolo de roteamento e o NAT funcionam.
- Quando o pacote IP enviado do seu navegador para o servidor da Internet alcança o roteador doméstico, ele é inspecionado e tem seu IP de origem alterado do IP da LAN local do remetente original para o do IP público do roteador doméstico e roteado para o IP de destino. Esta tradução é registrada na tabela de conexões . Esse é o trabalho do NAT .
- Se o destino fizer parte da rede do IP público do roteador, ele será enviado para esse IP, caso contrário, ele será avaliado na tabela de roteamento para uma correspondência. Se o roteador não conseguir encontrar um, encaminha o pacote para seu próprio gateway padrão. Esse processo continua até que um roteador encontre uma correspondência. Isto onde o protocolo de roteamento entra em jogo .
- Se nenhuma rota foi encontrada, uma mensagem de destino inacessível do host ICMP de destino é enviada ao host de origem.
- Quando o host final é encontrado, ele aceita os pacotes IP que ele decompõe, processa a solicitação contida e envia uma resposta. A resposta terá em seu IP de destino o IP do roteador de origem.
- A resposta seguirá o mesmo processo seguido pela solicitação até alcançar o originador. Note que quando os pacotes tomam uma certa rota para o seu destino, eles NÃO precisam necessariamente ter a mesma rota de volta.
- Assim que alcançar o IP da Internet de destino, o roteador corresponderá ao tráfego de entrada em relação à tabela de conexão, executará a conversão reversa e, em seguida, encaminhará os pacotes para a máquina apropriada.
É assim que os pacotes IP fluem do navegador para o servidor web de destino.
- Existem4ligaçõesporqueachoqueapáginaqueabriutilizou4pedidosdiferentesparacriarapágina.
- Oclientequeiniciaaconexãopodeusarqualquerportadeorigemdisponível.Estaportaseráreservadatemporariamenteemusoatéqueambasasmáquinasconcordememfecharaconexão.AIANAsugereusarointervalo49152a65535paraessaschamadas"portas efêmeras". Os servidores da Web geralmente são executados na porta 80, a porta padrão para o tráfego HTTP, para que os clientes enviem suas solicitações para visualizar uma página da Web nessa porta.
- No roteador doméstico, a raia é um instantâneo da tabela de conexões do roteador.
- No servidor SuperUser, a raia é um instantâneo das conexões estabelecidas com o servidor.
A tabela de conexões garante a exclusividade, usando principalmente a combinação de IP de origem, porta de origem, IP de destino e porta de destino. Obviamente, o fator mais importante para determinar a exclusividade é a porta de origem, portanto, no caso de um host interno diferente tentar usar uma porta de origem existente, o roteador alterará essa porta e as notas alteradas na tabela de conexões
Isso deve responder a todas as suas perguntas, exceto esta, É possível estabelecer uma conexão com um computador controlado por um roteador, de fora desse roteador, ou seja, você pode direcionar um pacote para um computador não conectado diretamente à Internet?
Se você conhece a porta NAT usada no roteador para um IP específico da Internet e é capaz de falsificar os pacotes IP e enviá-los ao roteador enquanto o roteador tiver sua porta NAT aberta, então, teoricamente, isso deve ser possível, mas estou Certifique-se de que a maioria dos roteadores usa mais parâmetros para identificar a exclusividade e a autenticidade dos pacotes IP.
Eu usei as seguintes referências para construir minha resposta: