Como o servidor Http faz distinção entre computadores atrás de um roteador?

2

Os servidores HTTP geralmente operam na porta 80. No entanto, os roteadores NAT, como a maioria, atualmente atribuem porta a solicitações de saída, para que eles saibam quando a solicitação é retornada a qual computador conectado a ela, é suposto que seja. Eles fazem isso porque eles só podem usar um IP público, mesmo que todos os computadores atrás do roteador tenham um endereço IP público, eles são endereços IP locais. Significa que eles só funcionam para todos por trás desse roteador.

Então, como o servidor lida com isso? Ele só funciona na porta 80, e o roteador envia para qualquer porta que deseje fazer com base no que está disponível e como está programado.

Meu entendimento:

  1. Computador A para o roteador. 22.22.22.22.22: 80

  2. Roteador para o mundo: 12.68.191.1.102: 1 -IP endereço IP fornecido: Porta para distinguir entre computadores conectados a ele.

Agora o que

Ou talvez haja uma diferença entre a porta e a porta de origem.

    
por Muhammad Umer 05.03.2013 / 05:50

2 respostas

1

Você está confundindo portas de origem e de destino. Quando a solicitação é enviada ao servidor HTTP, a porta de destino é 80, pois é isso que os servidores da Web normalmente escutam. Os roteadores NAT podem escolher qualquer porta de origem que desejarem. Quando eles recebem respostas, eles usam a porta de destino (e outras informações), que deve corresponder à porta de origem que eles escolhem para os pacotes de saída, para saber com qual conexão os pacotes estão associados.

Seu computador precisa fazer o mesmo. Digamos que você ative dois navegadores diferentes e aponte cada um para superuser.com . Como você acha que seu computador informa quais pacotes de entrada de conexão TCP pertencem?

    
por 05.03.2013 / 05:56
0

O servidor sempre recebe os dados na porta 80 - o roteador não reescreve a porta, apenas o endereço de origem - pelo menos no caso "típico".

A verdade é que o servidor NÃO sabe qual máquina atrás do roteador NAT está solicitando o tráfego inicialmente, mas há algumas coisas que ele pode fazer para descobrir -

  1. Ele pode examinar as informações que o navegador envia ao servidor como parte do solicitar, e usar coisas como o campo REFERER (referrer) para ver o último página do navegador visitado e a cadeia de identificação do navegador. (Lá não há dúvida de que outros, é possível "impressão digital" um cliente razoavelmente unicamente se você está desesperado)

  2. Na primeira vez em que o navegador visita o site (ou faz o login ou qualquer outro), cookies podem (e geralmente são) usados pelo servidor para rastrear os navegadores movimento através do site. Esses cookies podem ser usados para diferenciar máquinas / sessões.

por 05.03.2013 / 06:04

Tags