¿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

Direcciones IP y puertos

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

¿Falla la máquina o el programa?

Son las nueve de la mañana en una gestoría de Valencia. Nadie puede abrir el programa de nóminas. El técnico de guardia pregunta: «¿Responde el servidor? ¿Y responde el programa?»

En una red, cada mensaje lleva dos números para llegar a su sitio. Uno encuentra la máquina. El otro encuentra el programa dentro de esa máquina. En esta lección aprendes a leer los dos.

Al final de esta lección

Nota

Puedo decir qué son una dirección IP y un puerto.

Palabras clave

PalabraQué significaEjemplo
Redequipos conectados que se envían mensajes
Servidoruna máquina que atiende peticiones
Clienteel programa que hace la petición
Dirección IPel número de un equipo en la red192.168.10.5
Puertoel número de un programa dentro de un equipo443
Dirección de serviciouna IP y un puerto juntos203.0.113.25:443

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

Una dirección IP señala un equipo

Cada equipo de una red tiene una dirección IP. La tienen los portátiles, los móviles, las impresoras y los servidores.

La forma más común se llama IPv4. Son cuatro números separados por puntos, como 192.168.10.5. Cada número va de 0 a 255.

También existe IPv6, con direcciones más largas como 2001:db8::25. Nació porque las direcciones IPv4 se estaban acabando.

Ejemplo: la red de una gestoría

EquipoDirección IPQué hace
Portátil de recepción192.168.10.31Hace peticiones
Impresora de la entrada192.168.10.40Recibe documentos para imprimir
Servidor de ficheros192.168.10.5Guarda las carpetas de los clientes
Router de la fibra192.168.10.1Une la oficina con internet
Web de la gestoría203.0.113.25Atiende a quien visita la web

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

Un puerto señala un programa

Un servidor suele tener varios programas en marcha a la vez. Puede servir la web, la base de datos y el acceso remoto.

Un puerto es un número del 1 al 65535. Le dice al servidor qué programa debe recibir el mensaje. Algunos números son conocidos por todo el sector. Por ejemplo, una web con HTTPS escucha en el puerto 443.

Puertos que verás en el trabajo

PuertoServicioPara qué sirve
22SSHEntrar en un servidor a distancia
53DNSConvertir un nombre en una dirección
80HTTPWebs sin cifrar
443HTTPSWebs cifradas
3306MySQLUna base de datos
3389Escritorio remotoManejar un equipo Windows desde otro sitio

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

Prueba: busca un puerto

Código: bash
# Una lista corta de puertos conocidos, como la que guarda un técnico
printf "22 ssh\n53 dns\n80 http\n443 https\n3306 mysql\n3389 escritorio-remoto\n" > puertos.txt

# ¿Qué servicio suele escuchar en el puerto 3306?
grep "^3306 " puertos.txt

# Cambia 3306 por 22 y pulsa Ejecutar.

Un error frecuente

Advertencia

Mucha gente cree que un puerto es el enchufe de la parte de atrás del ordenador. Aquí un puerto es un número, no un hueco para un cable. Viaja dentro del mensaje y le dice al equipo qué programa debe leerlo.

Cada extremo tiene IP y puerto

La IP y el puerto se suelen escribir juntos: 203.0.113.25:443. Es una dirección de servicio.

Una conexión tiene una IP y un puerto en cada extremo. El puerto del servidor es fijo y conocido. El cliente elige un número alto al azar para cada conexión. Así un portátil puede abrir varias pestañas de la misma web sin mezclarlas.

Ejemplo: una conexión vista por dentro

ExtremoIPPuertoEscrito junto
Cliente: portátil de recepción192.168.10.3152814192.168.10.31:52814
Servidor: web de la gestoría203.0.113.25443203.0.113.25:443

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

Prueba: separa la IP y el puerto

Código: python
# Una dirección de servicio junta la IP y el puerto con dos puntos
endpoint = "203.0.113.25:443"

parts = endpoint.split(":")
ip = parts[0]
port = int(parts[1])

print("Máquina:", ip)
print("Programa (puerto):", port)

# Cambia la dirección por "198.51.100.7:22" y pulsa Ejecutar.

¿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.