NAT-PAT
Requisitos de finalización
3. Port Address Translation (PAT)
En el capítulo anterior vimos el tema de NAT, en el mismo NO EXISTÍAN PUERTOS, solo direcciones IP que se traducían.
El concepto de puerto está relacionado con capa 4 : TCP.
PAT (NAT con Sobrecarga)
La traducción de la dirección
del puerto (PAT), también conocida como NAT con sobrecarga, asigna
varias direcciones IPv4 privadas a una única dirección IPv4 pública o a
algunas direcciones.
La mayoría de las redes domésticas implementan PAT.
Esto es lo que hacen la mayoría de los routers
domésticos. El ISP asigna una dirección al router,
no obstante, varios miembros del hogar pueden acceder a Internet de
manera simultánea. Esta es la forma más común de NAT. En este tipo de
implementación aparece el concepto de PUERTO (Capa 4).
Con PAT, se pueden asignar varias direcciones a una o más direcciones, debido a que cada dirección privada también se rastrea con un número de puerto.
Cuando un dispositivo inicia una sesión TCP/IP, genera un valor de
puerto de origen TCP o UDP para identificar la sesión de forma
exclusiva. Cuando el router NAT recibe un paquete del cliente, utiliza
su número de puerto de origen para identificar de forma exclusiva la
traducción NAT específica.
PAT garantiza que los dispositivos usen un número de puerto TCP distinto para cada sesión con un servidor en Internet. Cuando llega una respuesta del servidor, el número de puerto de origen, que se convierte en el número de puerto de destino en la devolución, determina a qué dispositivo el router reenvía los paquetes. El proceso de PAT también valida que los paquetes entrantes se hayan solicitado, lo que añade un grado de seguridad a la sesión.
PAT garantiza que los dispositivos usen un número de puerto TCP distinto para cada sesión con un servidor en Internet. Cuando llega una respuesta del servidor, el número de puerto de origen, que se convierte en el número de puerto de destino en la devolución, determina a qué dispositivo el router reenvía los paquetes. El proceso de PAT también valida que los paquetes entrantes se hayan solicitado, lo que añade un grado de seguridad a la sesión.
Proceso de PAT
Supongamos que una máquina de la red LAN intenta navegar, abre dos pestañas en el navegador, cada una en google.com. ¿Cómo se podría identificar ese flujo si las direcciones de Origen IP Privada y las de Destino IP Pública son las mismas?.
Es evidente que para este escenario NO sería posible, esto por que tenemos UNA IP PRIVADA y UNA IP PÚBLICA (la de google.com) para diferenciar DOS FLUJOS DISTINTOS.
El concepto de PUERTO ES NECESARIO, esto concluye PAT o NAT con sobrecarga, en el cual aparece el concepto de puerto.
Con este nuevo concepto es totalmente posible que el navegador de una maquina con una IP Privada se conecte a DOS sitios iguales, el flujo será diferenciado por los puertos de Origen solamente. Recordar el concepto de Socket.
La NAT con sobrecarga o PAT (Port Address Translation) es el más común de todos los tipos, ya que es la utilizada en los hogares. Se pueden mapear múltiples direcciones IP privadas a través de una dirección IP pública, con lo que evitamos contratar más de una dirección IP pública. Además del ahorro económico, también se ahorran direcciones IPv4, ya que aunque la subred tenga muchas máquinas, todas salen a Internet a través de una misma dirección IP pública.
Para poder hacer esto el router hace uso de los puertos. En los protocolos TCP y UDP se disponen de 65.536 puertos para establecer conexiones. De modo que cuando una máquina quiere establecer una conexión, el router guarda su IP privada y el puerto de origen y los asocia a la IP pública y un puerto al azar. Cuando llega información a este puerto elegido al azar, el router comprueba la tabla y lo reenvía a la IP privada y puerto que correspondan.
Para poder hacer esto el router hace uso de los puertos. En los protocolos TCP y UDP se disponen de 65.536 puertos para establecer conexiones. De modo que cuando una máquina quiere establecer una conexión, el router guarda su IP privada y el puerto de origen y los asocia a la IP pública y un puerto al azar. Cuando llega información a este puerto elegido al azar, el router comprueba la tabla y lo reenvía a la IP privada y puerto que correspondan.
PAT garantiza que los dispositivos usen un número de puerto TCP distinto para cada sesión con un servidor en Internet. Capa 4!!!
Cuando llega una respuesta del servidor, el número de puerto de origen, que se convierte en el número de puerto de destino en la devolución, determina a qué dispositivo el router reenvía los paquetes.
Veamos un ejemplo:
Dos equipos distintos.
Podemos ver en esta figura que el Socket es distinto para cada equipo:
- 192.168.10.10:1444 , 209.165.200.225:1444
- 192.168.10.11:1444 , 209.165.200.225:1445
El router de borde REGISTRA en una tabla, para luego hacer la conversión inversa cuando el paquete regrese.
Veamos como sería el Socket si la PC de IP 192.168.10.10 abre DOS PESTAÑAS de google.com (IP: 142.250.79.68)
- 192.168.10.10:2345 , 142.250.79.68:80
- 192.168.10.10:2356 , 142.250.79.68:80
Los puertos efímeros, que toman valores temporales permiten identificar el Flujo de datos para cada pestaña del navegador!!