Vamos dar um exemplo:
PC 1 (1.1.1.1)
|
|----- **Router 1** (IP 3.3.3.3) ------------- **Router 2** --- Google Server(8.8.8.8 for eg)
|
PC 2 (2.2.2.2)
Neste cenário, digamos que ambos os PCs estejam autenticados no Google e os cookies atribuídos sejam Cookie1 e Cookie2 respectivamente.
Então agora, esses dois PCs abrem “gmail.com” simultaneamente. Agora, quando o servidor do Google recebe a solicitação, o IP de origem do pacote para ambos os pacotes é 3.3.3.3 (é o que eu sei).
Portanto, quando os pacotes de resposta forem recebidos do servidor Google pelo Roteador 1, o IP de destino será o mesmo (ou seja, 3.3.3.3). Então, como o roteador sabe se o pacote será enviado para PC1 ou PC2?
Poderia enviar os e-mails do PC1 para o PC2, mas isso não acontece. Como?
Responder1
Uma conexão TCP inclui uma porta de origem e de destino. A porta de origem NÃO ESTÁ relacionada à porta de destino e pode ser (e no caso do NAT é) usada para rastrear vários dispositivos atrás do NAT, pois cada um provavelmente terá uma porta de origem diferente (e mesmo que não tenha, o roteador pode reescrevê-lo para manter o controle)