Tomemos un ejemplo:
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)
En este escenario, digamos que ambas PC están autenticadas en Google y las cookies asignadas son Cookie1 y Cookie2 respectivamente.
Ahora, ambas PC abren "gmail.com" simultáneamente. Ahora, cuando el servidor de Google recibe la solicitud, la IP de origen del paquete para ambos paquetes es 3.3.3.3 (eso es lo que sé).
Entonces, cuando el enrutador 1 recibe los paquetes de respuesta del servidor de Google, su IP de destino será la misma (es decir, 3.3.3.3). Entonces, ¿cómo sabe el enrutador si el paquete se enviará a la PC1 o a la PC2?
Podría enviar los correos de la PC1 a la PC2 pero no lo hace. ¿Cómo?
Respuesta1
Una conexión TCP incluye un puerto de origen y de destino. El puerto de origen NO ESTÁ relacionado con el puerto de destino y puede usarse (y en el caso de NAT se usa) para rastrear múltiples dispositivos detrás de NAT, ya que es probable que cada uno tenga un puerto de origen diferente (e incluso si no lo tiene, el el enrutador puede reescribirlo para realizar un seguimiento)