Como um pacote IP de um servidor remoto “encontra” um computador doméstico por trás de um firewall NAT?

2

Eu entendo comunicação entre uma máquina remota, por exemplo um servidor da Web e o computador / dispositivo doméstico do usuário só poderão ocorrer se o computador do usuário iniciar a comunicação (supondo que seu firewall / rede esteja configurado corretamente).

E isso

  • uma rede doméstica típica consiste em muitos dispositivos com endereços IP emitidos de forma exclusiva, por ex. 192.168.1.1 , 192.168.1.2 etc
  • Essa mesma rede se conecta à internet por meio de um único endereço IP "público"

O que estou curioso para saber é que, quando o servidor remoto envia uma resposta à solicitação do computador doméstico, como os pacotes de resposta são capazes de identificar exclusivamente o computador do usuário quando - e Im fazendo uma suposição que poderia ser errado aqui - que o servidor remoto só é capaz de "ver" o endereço IP público geral das redes?

    
por Michael Coleman 20.02.2015 / 05:33

1 resposta

3

O endereço IP não é a única coisa que o servidor remoto vê. Ele também vê uma porta . A porta é um inteiro de 16 bits.

Pense em um computador como um prédio de apartamentos. O IP é como o endereço da rua. A porta identifica qual apartamento. Assim, um navegador, um cliente de e-mail e assim por diante, todos são executados no único IP pertencente ao computador, mas cada um recebe, pelo SO, uma ou mais portas exclusivas para usar.

Quando um computador local envia um pacote a um servidor remoto, o pacote é enviado de uma porta no computador local para uma porta no servidor remoto. O firewall recebe esse pacote e o envia para o servidor remoto, mas o faz somente depois de mudar o endereço IP de para o IP público da rede local e provavelmente também para mudar a porta de para alguma outra porta de escolha do firewall.

Quando o servidor público responde, ele envia um pacote de volta para o IP público e o número da porta que foi fornecido. O firewall recebe esse pacote e o envia para o computador que iniciou a conexão naquela porta.

Se o firewall receber um pacote direcionado a uma porta que nenhum computador local estava usando, é tarefa do firewall manter esse pacote fora da rede local. Ele pode silenciosamente soltá-lo ou enviar uma mensagem de rejeição para a fonte de maneira ruidosa.

Alguns números de porta comuns

Quando o seu navegador envia uma solicitação para algum servidor remoto, essa solicitação é muito provável para a porta 80 do servidor remoto.

  • 22 = ssh
  • 25 = smtp (mail)
  • 53 = DNS (servidor de nomes de domínio)
  • 80 = http
  • 194 = IRC
  • 220 = IMAP
  • 993 = POP (mail)

Geralmente, portas de baixo número, até 1024, são reservadas para uso pelo sistema operacional. Portas com numeração alta, talvez 32000 a 65535, são usadas por aplicativos do usuário, como navegadores.

    
por 20.02.2015 / 05:55