¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Muchos equipos, una dirección pública

La lección completa está aquí para leer. Crea una cuenta gratuita para ejecutar sus comandos en un laboratorio y hacer sus cuestionarios y tareas.

Lección de 45 minSin comandos

Cuarenta portátiles y una sola fibra

Una clínica dental de Bilbao tiene cuarenta equipos: ordenadores, tabletas, la centralita y las impresoras. La operadora le ha dado una sola dirección IP pública.

Aun así, todos navegan a la vez y cada respuesta llega al equipo correcto. El router lleva la cuenta de quién pidió qué. En esta lección ves cómo lo hace.

Al final de esta lección

Nota

Puedo explicar cómo muchos equipos comparten una dirección pública.

Palabras clave

PalabraQué significaEjemplo
IP públicauna dirección que se alcanza desde internet198.51.100.20
IP privadauna dirección que solo vale dentro de una red192.168.1.21
Puerta de enlaceel equipo que saca el tráfico fuera de la red192.168.1.1
NATcambiar direcciones al cruzar el router
Tabla NATla lista del router de quién pidió cada conexión
Redirección de puertosuna regla que deja entrar a un equipo de dentro

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Las direcciones privadas se repiten

No hay direcciones IPv4 para todos los equipos del mundo. Por eso se reservaron tres rangos de IP privadas: 10.x.x.x, 172.16.x.x a 172.31.x.x y 192.168.x.x.

Cualquier oficina puede usarlas. Tu casa y la clínica pueden tener las dos un 192.168.1.21.

Por eso una IP privada no sirve en internet: nadie sabría a cuál de todas ir.

Ejemplo: ¿pública o privada?

DirecciónTipoPor qué
192.168.1.21PrivadaEmpieza por 192.168
10.4.0.12PrivadaEmpieza por 10
172.20.3.9PrivadaEstá entre 172.16 y 172.31
172.40.3.9Pública40 queda fuera de 16 a 31
198.51.100.20PúblicaNo está en ningún rango privado

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

La puerta de enlace es la salida

Un equipo habla directamente con los de su misma red. Para todo lo demás, manda el mensaje a la puerta de enlace.

En una oficina pequeña, la puerta de enlace es el router de la fibra. Suele tener una dirección acabada en .1, como 192.168.1.1.

Si un portátil tiene mal la puerta de enlace, ve la impresora pero no ve internet.

Prueba: encuentra la puerta de enlace

Código: bash
# Así guarda un portátil su configuración de red (copia simplificada)
printf "direccion 192.168.1.21\nmascara 255.255.255.0\npuerta_de_enlace 192.168.1.1\ndns 192.168.1.1\n" > red.txt

# ¿A quién manda el portátil todo lo que va fuera de la oficina?
grep "puerta_de_enlace" red.txt

# Cambia puerta_de_enlace por mascara y pulsa Ejecutar.

El router cambia la dirección al salir

Cuando un mensaje sale, el router hace NAT. Cambia la IP privada de origen por su IP pública y le pone un puerto propio.

Anota el cambio en su tabla NAT. Cuando llega la respuesta a ese puerto, mira la tabla, pone otra vez la IP privada y la entrega.

Así cuarenta equipos salen con una sola dirección pública.

Ejemplo: la tabla NAT de la clínica

Equipo de dentroSale comoLa respuesta llega aSe entrega a
192.168.1.21:50111198.51.100.20:40001198.51.100.20:40001192.168.1.21:50111
192.168.1.22:50111198.51.100.20:40002198.51.100.20:40002192.168.1.22:50111
192.168.1.23:49820198.51.100.20:40003198.51.100.20:40003192.168.1.23:49820

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Prueba: simula la tabla NAT

Código: python
# El router de la oficina tiene una sola IP pública
public_ip = "198.51.100.20"

# Tres empleados abren webs a la vez desde la red privada
outgoing = ["192.168.1.21:50111", "192.168.1.22:50111", "192.168.1.23:49820"]

nat_table = {}
public_port = 40001
for origin in outgoing:
    # El router anota qué puerto público ha dado a cada equipo
    nat_table[public_port] = origin
    print(origin, "sale como", public_ip + ":" + str(public_port))
    public_port = public_port + 1

# Llega una respuesta al puerto 40002: ¿para quién es?
print("La respuesta del 40002 va a", nat_table[40002])

# Cambia 40002 por 40003 y pulsa Ejecutar.

Un error frecuente

Advertencia

Mucha gente cree que, con NAT, desde internet se puede llegar a cualquier equipo de la oficina. El router solo deja pasar respuestas a conexiones que salieron de dentro. Para entrar desde fuera hace falta una regla de redirección de puertos.

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.