Acceso de Internet Completo
2. Navegando IPv4
Acceso desde una LAN privada a varios servidores de Internet
Contexto:
Vamos a explicar el proceso completo de comunicación que ocurre cuando desde un equipo dentro de una LAN privada, abre dos pestañas de un navegador para acceder a Youtube y a Google.

Supongamos una computadora conectada a una red LAN privada. El equipo posee la dirección IP:
192.168.1.20/24
y utiliza como puerta de enlace predeterminada un router cuya interfaz LAN tiene la dirección:
192.168.1.1
El router, a su vez, está conectado a Internet mediante una interfaz WAN que posee una dirección IP pública, por ejemplo:
181.30.40.50
Ahora supongamos que el usuario abre un navegador y, simultáneamente, utiliza dos pestañas:
-
una pestaña para acceder a
www.google.com -
otra pestaña para acceder a
www.youtube.com
NOTA:
Este ejemplo permite observar como intervienen conjuntamente las direcciones de capa 2, las direcciones de capa 3 y los números de puerto de la capa de transporte.
Resolución de DNSs
Cuando el usuario escribe www.google.com, el equipo debe obtener primero la dirección IP asociada al nombre. Para ello realiza una consulta DNS.
Supongamos que el DNS responde: www.google.com →
142.250.79.100
Del mismo modo, al acceder a www.youtube.com, se realiza otra resolución DNS. Supongamos, simplificando el ejemplo, que se obtiene: www.youtube.com → 142.250.184.78
En una comunicación real, Google y YouTube pueden utilizar múltiples direcciones IP, CDN, balanceadores de carga y conexiones adicionales, pero estas direcciones resultan suficientes para comprender el funcionamiento básico.
CDN: Content Delivery Network o red de distribución de contenidos) es un grupo de servidores ubicados en distintas partes del mundo que guardan copias de los archivos de un sitio web para entregarlos más rápido a los usuarios.
En capa 3.
La computadora analiza ambas direcciones IP destino utilizando su máscara /24.
142.250.79.100 && 255.255.255.0 =142.250.79 esto es distinto de
mi sub-red 192.168.1.0 !!!!!
142.250.184.78 && 255.255.255.0 =142.250.184 esto es distinto
de mi sub-red 192.168.1.0 !!!!!
Como ninguna pertenece a la red local 192.168.1.0/24, determina que los paquetes deben ser enviados a su puerta de enlace predeterminada, 192.168.1.1.
Aquí aparece una primera diferencia importante entre capa 2 y capa 3.
Para la conexión con Google, el paquete IP de Capa 3, será inicialmente para Google:
IP origen: 192.168.1.20IP destino:
142.250.79.100
Mientras que para YouTube será:
IP origen: 192.168.1.20IP destino:
142.250.184.78
En capa 2
Sin embargo, para transportar esos paquetes sobre la LAN Ethernet, la computadora necesita conocer la dirección MAC de su siguiente salto, es decir, la MAC del router.
Supongamos:
MAC PC: 00:11:22:33:44:55
MAC Router LAN: AA:AA:AA:AA:AA:01
Si la computadora todavía no conoce esa dirección MAC, utiliza ARP para averiguarla. Una vez obtenida, las tramas Ethernet enviadas hacia ambos destinos tendrán inicialmente:
MAC origen: 00:11:22:33:44:55
MAC destino: AA:AA:AA:AA:AA:01

Dentro de esas tramas Ethernet se transportan los respectivos paquetes IP.
Importante:
- Es importante observar que la computadora no necesita conocer la dirección MAC de Google ni la de YouTube. Solo necesita conocer la dirección MAC del dispositivo que constituye su próximo salto: el router.
- Ver que las dos tramas, la que va con destino a Youtube y Google NO se diferencian en capa 2, son iguales, solo el contenido de capa 3 es diferente.
Pero todavía debemos incorporar un elemento fundamental: los números de puerto.
Puertos de transporte y puertos efímeros
Cuando el navegador inicia una conexión hacia un servidor web HTTPS, el destino normalmente utiliza el puerto TCP 443 que corresponde a un servicio HTTPS.
La computadora, sin embargo, no puede utilizar simplemente:
192.168.1.20:??? → Google:443
El sistema operativo selecciona entonces un puerto efímero, es decir, un número de puerto temporal utilizado para identificar la conexión desde el lado cliente.
Supongamos que para la pestaña de Google el sistema operativo selecciona el puerto efímero: 51500
Entonces la conexión podría representarse como:
192.168.1.20:51500 → 142.250.79.100:443 (4-tupla)
Para la conexión hacia YouTube podría utilizar otro puerto efímero, por ejemplo: 51501
Por lo tanto:
192.168.1.20:51501 → 142.250.184.78:443
Ahora ambas conexiones pueden coexistir aun cuando proceden de la misma computadora y utilizan la misma dirección IP de origen.
Esto ocurre porque una conexión TCP no queda identificada únicamente por las direcciones IP, sino por la combinación de direcciones IP y números de puerto (4-tupla)
Nota : Ver que NO decimos SOCKET, nos referimos como 4-tupla, ¿por qué?
Rta: el router PAT no actúa como endpoint TCP. No responde al SYN en nombre de YouTube ni genera un nuevo SYN hacia YouTube. Simplemente modifica determinados campos de los paquetes que atraviesan el router y mantiene estado sobre esa traducción, por eso no lo llamamos SOCKET, nos referimos como 4-tupla, es una diferencia sutil que no hace una diferencia al entender el funcionamiento, pero necesitamos diferenciarla.
De manera simplificada, una conexión TCP puede identificarse mediante la denominada 4-tupla:
IP origen, puerto origen, IP destino, puerto destino (4-tupla)
Por ejemplo:
Google:
192.168.1.20 : 51500 → 142.250.79.100 : 443
YouTube:
192.168.1.20 : 51501 → 142.250.184.78 : 443
Aunque ambas conexiones parten desde la misma computadora, resultan completamente diferentes para la pila TCP/IP.

Llegada al router y funcionamiento de PAT
Cuando estos paquetes llegan al router, aparece otro problema.
La dirección: 192.168.1.20 es una dirección IP privada perteneciente al espacio definido para redes internas y no puede ser encaminada globalmente a través de Internet.
El router deberá sustituirla por su dirección IP pública: 181.30.40.50
Si simplemente reemplazara la dirección IP privada por la pública estaríamos hablando conceptualmente de NAT (por que hasta aquí NO hay puertos !!, solo direcciones)
Sin embargo, en una red doméstica o empresarial normalmente hay muchos dispositivos utilizando simultáneamente una única dirección IP pública.
Para resolver este problema se utiliza PAT, Port Address Translation, también denominado frecuentemente NAPT, Network Address and Port Translation. (aquí hay puertos !!)
PAT no solamente modifica la dirección IP, sino que puede modificar también el número de puerto de origen.
Para Google antes del router:
192.168.1.20:51500 → 142.250.79.100:443
Después del router:
181.30.40.50:61000 → 142.250.79.100:443
Y para YouTube, antes del router:
192.168.1.20:51501 → 142.250.184.78:443
Después del router:
181.30.40.50:61001 → 142.250.184.78:443
El router registra estas conversiones en una tabla interna de NAT/PAT. Notar que al cambiar parte de la cabecera , por ejemplo direcciones IP, el router DEBE realizar nuevamente el cálculo del CRC!.
Podríamos representar una parte de esa tabla así:
| IP privada | Puerto privado | IP pública | Puerto público | Destino | Puerto destino |
|---|---|---|---|---|---|
| 192.168.1.20 | 51500 | 181.30.40.50 | 61000 | 142.250.79.100 | 443 |
| 192.168.1.20 | 51501 | 181.30.40.50 | 61001 | 142.250.184.78 | 443 |
Esta tabla es fundamental , gracias a ella, cuando llegan respuestas desde Internet, el router puede determinar qué host interno y qué conexión originaron cada comunicación.
Notar que esta tabla en el Router contiene una entrada por cada una de la aplicaciones o pestañas de cada uno de los equipos de la red local !!

Cambio de direcciones de capa 2
Una vez realizada la traducción PAT, el router debe enviar el paquete hacia Internet. El encabezado Ethernet utilizado en la LAN ya no sirve para el enlace siguiente.
La trama original era aproximadamente: MAC PC → MAC Router
El router elimina ese encabezado de capa 2. Luego consulta su tabla de encaminamiento y determina cuál es el próximo salto hacia Internet.
Finalmente construye una nueva trama correspondiente a su interfaz WAN usando la MAC de la interfaz del router, recordar que en general un router podría tener varias interfaces WAN, no es así el router del ISP de la casa de un abonado, por ejemplo, donde siempre hay solo una.
Conceptualmente podríamos tener: MAC Router-WAN → MAC siguiente
salto
Dentro de esa nueva trama se encuentra ahora el paquete IP modificado por PAT: 181.30.40.50:61000 → 142.250.79.100:443
Esto permite destacar una diferencia esencial.
Las direcciones MAC tienen significado local al enlace. No viajan intactas desde la computadora del usuario hasta Google.
Cada router recibe una trama, elimina el encabezado de capa 2, procesa el paquete de capa 3 y genera una nueva trama para el enlace siguiente.
Por lo tanto:
- las direcciones MAC cambian en cada salto de capa 2.
- Las direcciones IP, en cambio, permiten identificar origen y destino a través de múltiples redes.
En este ejemplo, con IPv4, se puede observar la modificación adicional en capa 3 debido a NAT/PAT:
192.168.1.20 → 181.30.40.50
Respuesta desde Google
Supongamos ahora que Google responde a la conexión. Desde el punto de vista del servidor Google, el cliente no es: 192.168.1.20:51500
Google nunca recibió esa dirección. El servidor observa como origen de la conexión:
181.30.40.50:61000
Por lo tanto, responde: 142.250.79.100:443 → 181.30.40.50:61000
Cuando ese paquete llega al router, este consulta su tabla PAT. Encuentra una entrada que indica:
181.30.40.50:61000 ↔ 192.168.1.20:51500
Por lo tanto modifica el paquete que ingresa cambiando la dirección y pueto de destino a 192.168.1.20:51500 :
142.250.79.100:443 → 192.168.1.20:51500

Luego debe enviarlo dentro de la LAN. Para ello necesita nuevamente una dirección de capa 2. Si conoce la MAC de 192.168.1.20 en su tabla ARP, genera una trama: MAC Router LAN → MAC PC
es decir: AA:AA:AA:AA:AA:01 → 00:11:22:33:44:55
Finalmente, el sistema operativo de la computadora observa que el paquete TCP tiene como puerto destino: 51500 y lo entrega al socket correspondiente a la conexión con Google.
Respuesta desde Youtube
Para YouTube se producirá un proceso equivalente, solo que se puede observar que el puerto de destino es distinto al igual que la IP de origen, esto permite que vaya esa trama a la pestaña correspondiente del navegador.
La respuesta podría llegar como: 142.250.184.78:443 →
181.30.40.50:61001
El router consulta su tabla PAT y determina: 181.30.40.50:61001 ↔
192.168.1.20:51501
Por lo tanto, la transforma en: 142.250.184.78:443 →
192.168.1.20:51501
El sistema operativo recibe el paquete y, gracias al puerto 51501, puede asociarlo con la conexión correspondiente a YouTube.

¿Qué ocurriría con varias computadoras?
Aquí se aprecia todavía mejor la utilidad de PAT.
Supongamos que existe otra computadora en la misma LAN: 192.168.1.30
Esta computadora también podría elegir casualmente el puerto efímero 51500 para conectarse a Google.
Tendríamos:
PC1:
192.168.1.20:51500 → Google:443
PC2:
192.168.1.30:51500 → Google:443
El router puede asignar distintos puertos públicos:
192.168.1.20:51500 → 181.30.40.50:61000
192.168.1.30:51500 → 181.30.40.50:61002
Desde Internet, ambas comunicaciones parecen provenir de la misma dirección IP:
181.30.40.50
pero utilizan distintos números de puerto.
Ésta es precisamente una de las funciones más importantes de PAT: permitir que muchos equipos de una red privada compartan simultáneamente una única dirección IPv4 pública.
Resumen del proceso
Podemos observar la comunicación desde tres niveles diferentes.
En capa 2, dentro de la LAN:
MAC PC → MAC Router
En capa 3, antes de NAT:
192.168.1.20 → IP Google
En capa 4:
51500 → 443
Después de atravesar el router PAT:
En capa 3:
181.30.40.50 → IP Google
En capa 4:
61000 → 443
Por lo tanto, una conexión podría representarse completamente como:
192.168.1.20:51500
↓181.30.40.50:61000
↓142.250.79.100:443
Mientras que simultáneamente otra conexión desde la misma computadora podría ser:
192.168.1.20:51501
↓181.30.40.50:61001
↓142.250.184.78:443
Este ejemplo permite apreciar cómo trabajan conjuntamente distintas capas del modelo de comunicaciones.
Ethernet y las direcciones MAC permiten transportar una trama hasta el siguiente dispositivo dentro de un enlace local.
IP permite encaminar paquetes entre diferentes redes.
TCP y sus números de puerto permiten identificar múltiples comunicaciones y aplicaciones simultáneas dentro de un mismo host.
PAT permite que muchas de esas comunicaciones, incluso provenientes de distintos equipos privados, compartan una única dirección IPv4 pública.


