Considere uma pequena rede local. Quando cada usuário verifica o endereço IP público (digamos, usando whatismyipaddress), todos os usuários têm o mesmo endereço IP público. No entanto, o ipconfig mostra um endereço IP privado diferente para cada usuário. Digamos que dois usuários estejam acessando o Gmail. Como o servidor do Gmail identifica os dois usuários quando eles têm o mesmo endereço IP público. Os pacotes de dados de ambos os usuários terão um endereço IP de destino e de origem. Para ambos os usuários, o endereço IP de origem no pacote de dados para o Gmail seria o mesmo. A identificação é feita anexando diferentes números de porta ao endereço IP de cada usuário.
Responder1
Você respondeu sua própria pergunta :)
Cada sessão TCP para o servidor GMail se origina de uma porta de origem diferente em sua extremidade, para que ambas as extremidades saibam a qual conexão (ou fluxo) cada pacote pertence. É responsabilidade da implementação do NAT rastrear essas informações. No caso do GMail, cada usuário provavelmente também está se conectando a um servidor diferente no lado do Google, já que eles têm muitos.
O GMail rastreia a qual "usuário" cada conexão/stream pertence com base nos cookies, etc., no tráfego HTTP.