Serie Redes Informáticas para Principiantes — Parte 6. Esta publicación continúa la Parte 1: Guía Completa de Cómo Funcionan las Redes, la Parte 2: ¿Qué Es el Modelo OSI?, la Parte 3: Dispositivos de Red Explicados, la Parte 4: CDN, VPN, QoS y TTL y la Parte 5: Redes en la Nube Explicadas. Cada publicación de la serie toma un tema y lo explica a fondo. Esta se enfoca en cómo viajan realmente los datos: el Protocolo de Internet, TCP y UDP, los puertos y los sockets.

Cada vez que cargas una página web, revisas tu correo o te unes a una videollamada, tus datos se dividen en partes, se empacan, se etiquetan con direcciones y se envían a través de una serie de redes hasta el programa correcto en la computadora correcta. El sistema que lo hace posible es el Protocolo de Internet (IP), que trabaja junto con dos protocolos de transporte: TCP y UDP.

Esta publicación explica cómo encajan esas piezas usando una analogía sencilla (mover cajas en un camión) y luego cubre los detalles que necesitas para entender el tráfico de red real: en qué se diferencian TCP y UDP, cómo trabajan juntas las direcciones IP y los números de puerto, qué es un socket y por qué algunos números de puerto son permanentes y otros temporales.

Mover Datos como una Mudanza: La Analogía del Camión

Imagina que te vas a mudar a una casa nueva. No cargas tus cosas una por una. Las empacas en cajas, etiquetas cada caja, subes las cajas a un camión y manejas el camión por las calles hasta tu nueva dirección. Cuando llega el camión, se descargan las cajas y se llevan a los cuartos correctos.

Los datos de una red viajan de la misma manera:

MudanzaRedesCapa OSI
Tus pertenenciasLos datos de la aplicación (una página web, un correo, parte de una videollamada)7 – Aplicación
Las cajasLos segmentos TCP o UDP, etiquetados con números de puerto4 – Transporte
El camiónEl paquete IP, etiquetado con direcciones IP3 – Red
Las callesEl hardware y los medios de la red: Ethernet, Wi-Fi, fibra, routers2 y 1
La dirección de la casaLa dirección IP de destino3
El cuarto de la casaEl número de puerto de destino4

Este proceso de meter los datos dentro de un protocolo, y luego ese protocolo dentro de otro, se llama encapsulación, que viste por primera vez en la Parte 2:

  1. Una aplicación, como tu navegador web, crea algunos datos.
  2. Los datos se meten en una “caja” TCP o UDP etiquetada con los números de puerto de origen y destino.
  3. La caja se sube a un “camión” IP etiquetado con las direcciones IP de origen y destino.
  4. El camión recorre las “calles” (el hardware de la red) de router en router hasta llegar a su destino.
  5. En el destino, se descarga el camión: se abre el paquete IP, la caja TCP o UDP que trae se entrega al puerto correcto y los datos llegan a la aplicación correcta.

La idea importante es que cada capa solo se ocupa de su propio trabajo. Al chofer del camión no le importa qué hay dentro de las cajas, y a las cajas no les importa por qué calles va el camión.

IP: El Camión que Lo Lleva Todo

El Protocolo de Internet se encarga del direccionamiento y del enrutamiento: poner las direcciones IP de origen y destino en cada paquete y mover los paquetes de red en red hasta que lleguen. Los routers leen la dirección IP de destino de cada paquete y lo envían un salto más cerca de su destino, igual que un chofer sigue las señales del camino hacia una dirección.

IP por sí mismo es un servicio de entrega de mejor esfuerzo (best effort). Hace todo lo posible por entregar cada paquete, pero no promete nada: los paquetes pueden perderse, llegar en desorden o incluso llegar dos veces. IP deja la confiabilidad al protocolo que viaja dentro de él, y ahí entran TCP y UDP.

Para saber más sobre lo que hay dentro del encabezado de un paquete IP y cómo se toman las decisiones de enrutamiento, consulta ¿Qué Es el Protocolo de Internet (IP)?, y sobre IPv4, IPv6 y las direcciones públicas y privadas, ¿Qué Es una Dirección IP?.

Las Cajas: TCP y UDP

La capa de transporte (Capa 4 del modelo OSI) decide cómo se empacan los datos en cajas y si la entrega está garantizada. Hay dos opciones principales, y cada una es buena para cosas distintas.

TCP: Entrega Confiable y Orientada a la Conexión

TCP (Protocolo de Control de Transmisión) está orientado a la conexión y es confiable. Es como un servicio de paquetería que pide una firma por cada caja y reemplaza cualquiera que se pierda.

TCP garantiza que los datos lleguen completos y en orden con varias técnicas:

  • El saludo de tres pasos (three-way handshake). Antes de enviar datos, los dos dispositivos establecen una conexión:
    1. El cliente envía un SYN (“sincronizar”): “Me gustaría hablar”.
    2. El servidor responde con un SYN-ACK: “De acuerdo, yo también estoy listo”.
    3. El cliente envía un ACK (“acuse de recibo”): “Perfecto, empecemos”.
  • Numeración de paquetes. A cada byte de datos se le da un número de secuencia, para que el receptor pueda volver a poner los segmentos en el orden correcto aunque lleguen desordenados.
  • Acuses de recibo. El receptor confirma lo que recibió. Si el emisor no recibe una confirmación a tiempo, retransmite los datos que faltan.
  • Control de flujo. El receptor le dice al emisor cuántos datos puede aceptar a la vez, para que un emisor rápido no sature a un receptor lento. TCP también se hace más lento automáticamente cuando la red está congestionada.
  • Una despedida ordenada. Cuando termina la conversación, ambos lados cierran la conexión con mensajes FIN.

Toda esta revisión agrega un poco de carga y de retraso, pero significa que cada byte llega correctamente. Por eso TCP se usa para las páginas web (HTTP y HTTPS), el correo, la transferencia de archivos y el inicio de sesión remoto (SSH): cualquier cosa en la que no se acepten datos perdidos o revueltos.

UDP: Entrega Rápida y Sin Conexión

UDP (Protocolo de Datagramas de Usuario) es sin conexión y básico. Es como echar postales al buzón: las envías y esperas que lleguen.

UDP tiene:

  • Ningún saludo: simplemente empieza a enviar.
  • Ningún acuse de recibo: el receptor nunca confirma lo que llegó.
  • Ninguna retransmisión: los datos perdidos se quedan perdidos.
  • Ningún orden: los datagramas pueden llegar en cualquier orden.
  • Ningún control de flujo: el emisor no se hace más lento por el receptor.

Su encabezado es diminuto (solo 8 bytes, comparado con al menos 20 de TCP) y no hay esperas, así que UDP es más rápido y eficiente. Se usa donde la velocidad importa más que la perfección, o donde la aplicación se encarga por su cuenta de la confiabilidad:

  • Llamadas de voz y video, transmisiones en vivo y juegos en línea: un paquete que llega tarde ya no sirve, así que es mejor saltárselo que esperarlo.
  • Consultas DNS: una sola pregunta y una sola respuesta; si no llega respuesta, el dispositivo simplemente vuelve a preguntar.
  • DHCP: obtener una dirección IP cuando un dispositivo se une a una red (consulta la Parte 1).

Algo interesante: la versión más nueva del protocolo de la web, HTTP/3, funciona sobre un protocolo llamado QUIC que está construido encima de UDP. QUIC agrega su propia confiabilidad y su propio cifrado, y así obtiene la velocidad de UDP con las garantías que necesitan las páginas web.

TCP vs. UDP de un Vistazo

TCPUDP
ConexiónOrientado a la conexión (saludo de tres pasos)Sin conexión
ConfiabilidadEntrega garantizada con acuses de recibo y retransmisiónSin garantías
OrdenLos datos se rearman en ordenSin orden
Control de flujoSíNo
Velocidad y cargaMás lento, más cargaMás rápido, muy poca carga
Unidad de datosSegmentoDatagrama
Usos comunesWeb (HTTP/HTTPS), correo, transferencia de archivos, SSHVoz, video, juegos, DNS, DHCP

Direcciones y Cuartos: Direcciones IP y Números de Puerto

Regresemos al camión de mudanzas. El camión necesita una dirección para llegar a la casa correcta, pero una vez que llega, cada caja todavía tiene que ir al cuarto correcto.

  • La dirección IP lleva los datos al dispositivo correcto: la casa.
  • El número de puerto lleva los datos a la aplicación correcta de ese dispositivo: el cuarto.

Esto es necesario porque una computadora ejecuta muchas aplicaciones de red al mismo tiempo: un navegador web, una aplicación de correo, una aplicación de chat, una aplicación de música. Todas reciben datos por la misma conexión de red y la misma dirección IP. Los números de puerto mantienen separados sus datos.

Un número de puerto es un número de 16 bits, así que hay 65,536 puertos posibles, numerados del 0 al 65535, para TCP, y otros 65,536 para UDP. Cada caja TCP o UDP lleva dos de ellos: un puerto de origen (de dónde viene) y un puerto de destino (a dónde va).

Sockets: La Dirección Completa

Un socket es la dirección completa de un extremo de una conversación de red: la combinación de una dirección IP, un protocolo (TCP o UDP) y un número de puerto. A menudo se escribe así:

203.0.113.10:443  (TCP)

Ese es el servidor web en 203.0.113.10, esperando conexiones HTTPS en el puerto TCP 443.

Una conversación completa tiene dos sockets, uno en cada extremo: el del cliente y el del servidor. Juntos, el protocolo, la dirección IP y el puerto de origen, y la dirección IP y el puerto de destino identifican de forma única cada conexión de internet. Así es como un servidor puede hablar con miles de visitantes a la vez sin mezclar sus datos: la conexión de cada visitante tiene una combinación distinta.

Rangos de Números de Puerto: Permanentes y Temporales

No todos los números de puerto se usan de la misma forma. Se dividen en dos grandes grupos.

Puertos No Efímeros: Direcciones Permanentes para los Servicios

Un puerto no efímero es permanente: una aplicación de servidor lo escucha todo el tiempo, así que los clientes saben exactamente dónde encontrarla. Los servicios más importantes usan puertos conocidos en el rango 0–1023:

PuertoProtocoloServicio
22TCPSSH (inicio de sesión remoto seguro)
25TCPSMTP (envío de correo entre servidores)
53UDP y TCPDNS
80TCPHTTP (web)
143TCPIMAP (lectura de correo)
443TCP (y UDP para HTTP/3)HTTPS (web segura)

En la mayoría de los sistemas operativos, una aplicación necesita privilegios de administrador para escuchar en un puerto menor que 1024. Muchos servicios también usan puertos permanentes mayores que 1023, como MySQL en el 3306, PostgreSQL en el 5432 y los servidores web de prueba en el 8080. Para ver una lista más larga, consulta Números de Puerto Conocidos.

Puertos Efímeros: Puertos Temporales para los Clientes

Un puerto efímero es temporal. Cuando una aplicación cliente, como tu navegador, inicia una conversación, tu sistema operativo elige al azar un número de puerto libre para que lo use como puerto de origen. Ese puerto se usa solo para esa conversación y se libera cuando se cierra la conexión. Nunca lo eliges tú, y al servidor no le importa cuál es, porque simplemente envía sus respuestas de regreso al puerto de origen del que vino la solicitud.

Los Rangos Oficiales

En certificaciones como CompTIA Network+ verás seguido una división sencilla: 0–1023 para los puertos no efímeros y 1024–65535 para los efímeros. El registro oficial, que mantiene la IANA (la Autoridad de Números Asignados de Internet), divide los puertos en tres rangos:

RangoNombreSe usa para
0–1023Puertos conocidosServicios básicos como HTTP, HTTPS, SSH y DNS
1024–49151Puertos registradosAplicaciones específicas, como MySQL (3306) y PostgreSQL (5432)
49152–65535Puertos dinámicos (privados)Puertos efímeros para las conexiones de los clientes

Cada sistema operativo elige su propio rango de puertos efímeros. Windows y macOS usan 49152–65535, siguiendo a la IANA, mientras que la mayoría de los sistemas Linux usan 32768–60999. En macOS puedes revisarlo con:

sysctl net.inet.ip.portrange.first net.inet.ip.portrange.last
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.last: 65535

(En Linux, ejecuta cat /proc/sys/net/ipv4/ip_local_port_range.)

Un Cliente, Muchas Conversaciones

Ahora puedes ver cómo una computadora tiene muchas conversaciones con el mismo servidor al mismo tiempo. Imagina que tu laptop, en 192.168.1.25, se conecta a un solo servidor en 203.0.113.10 que ofrece un sitio web, correo y SSH. Cada aplicación de tu laptop recibe su propio puerto efímero, mientras que el servidor usa el puerto conocido de cada servicio:

Aplicación en tu laptopSocket del clienteSocket del servidorServicio
Navegador web (primera pestaña)192.168.1.25:53488203.0.113.10:443HTTPS
Navegador web (segunda pestaña)192.168.1.25:53489203.0.113.10:443HTTPS
Aplicación de correo192.168.1.25:53490203.0.113.10:143IMAP
Terminal192.168.1.25:53491203.0.113.10:22SSH

Las cuatro conversaciones viajan por la misma conexión de red entre las mismas dos direcciones IP, y aun así nada se mezcla. Cuando el servidor envía una respuesta al puerto 53490, tu laptop sabe que es para la aplicación de correo. Incluso las dos pestañas del navegador que hablan con el mismo puerto 443 se mantienen separadas, porque sus puertos de cliente son distintos.

Velo en tu Propia Computadora

Puedes ver sockets como estos en tu propia computadora. Este es un ejemplo real de una Mac, donde un programa cliente abrió dos conexiones a un servidor web de prueba en el puerto 8080 y una a un servidor de prueba en el puerto 2222, todo en la misma computadora (127.0.0.1 es la dirección que usa una computadora para hablar consigo misma). El comando lsof muestra las conexiones de red abiertas (aquí se quitaron algunas columnas para ahorrar espacio):

lsof -nP -iTCP
COMMAND   PID   USER   FD   TYPE   NODE NAME
Python  97064   you    3u   IPv4   TCP 127.0.0.1:8080 (LISTEN)
Python  97064   you    4u   IPv4   TCP 127.0.0.1:2222 (LISTEN)
Python  97064   you    5u   IPv4   TCP 127.0.0.1:53488->127.0.0.1:8080 (ESTABLISHED)
Python  97064   you    6u   IPv4   TCP 127.0.0.1:53489->127.0.0.1:8080 (ESTABLISHED)
Python  97064   you    9u   IPv4   TCP 127.0.0.1:53490->127.0.0.1:2222 (ESTABLISHED)

Las líneas LISTEN son los dos servidores esperando en sus puertos permanentes. Las líneas ESTABLISHED son las tres conexiones del cliente: cada una recibió su propio puerto efímero (53488, 53489 y 53490, todos dentro del rango 49152–65535 de macOS), aunque dos de ellas se conectan exactamente al mismo puerto del servidor.

Para ver las conexiones de tu propia computadora:

  • macOS y Linux: lsof -nP -iTCP -sTCP:ESTABLISHED (o ss -tn en Linux).
  • Windows: netstat -an en el Símbolo del sistema, o Get-NetTCPConnection en PowerShell.

Abre primero algunos sitios web y verás los puertos efímeros de tu navegador conectados a servidores remotos en el puerto 443.

Todo Junto

Este es el recorrido completo cuando abres https://example.com en tu navegador:

  1. La aplicación crea los datos. Tu navegador prepara una solicitud HTTPS para la página.
  2. TCP empaca la caja. Tu sistema operativo elige un puerto efímero de origen (por ejemplo, 53488), y TCP establece una conexión con el puerto 443 del servidor usando el saludo de tres pasos; luego empaca la solicitud en segmentos numerados.
  3. IP carga el camión. Cada segmento se mete en un paquete IP con tu dirección IP como origen y la del servidor como destino. (El NAT de tu router cambia tu dirección por tu IP pública al salir, como aprendiste en la Parte 1.)
  4. El camión recorre las calles. Los paquetes cruzan el Wi-Fi, Ethernet y la fibra, saltando de router en router por internet. Cada router solo lee la dirección IP y reenvía el paquete más cerca del servidor.
  5. El servidor descarga. La capa IP del servidor acepta los paquetes, TCP vuelve a poner los segmentos en orden y confirma su recepción, y el puerto 443 entrega la solicitud al software del servidor web.
  6. La respuesta regresa. El servidor envía la página de regreso por el mismo camino, dirigida a tu dirección IP y al puerto 53488, así que llega exactamente a la pestaña correcta del navegador.

Ideas Equivocadas Comunes

  • “IP garantiza la entrega.” No: IP es de mejor esfuerzo. La confiabilidad la da TCP, o la aplicación cuando usa UDP.
  • “UDP no es confiable, así que es peor.” UDP no es peor; está hecho para otro trabajo. En la voz y el video en vivo, esperar un paquete perdido empeoraría las cosas, no las mejoraría.
  • “Un puerto es un conector físico.” Los números de puerto de red son solo números en el encabezado de un paquete. No tienen nada que ver con los puertos Ethernet de la parte de atrás de un switch.
  • “Solo una conexión puede usar un puerto a la vez.” Un servidor puede manejar miles de conexiones en el mismo puerto, como el 443, porque el par de sockets de cada conexión es distinto.
  • “Los puertos mayores que 1023 siempre son efímeros.” Muchos servicios permanentes, como las bases de datos, escuchan en puertos mayores que 1023. “Efímero” describe cómo se usa un puerto (de forma temporal), no solo su número.

Lo que Sigue en esta Serie

Ahora sabes cómo se empacan, se dirigen y se entregan los datos: los datos de la aplicación en cajas TCP o UDP, llevados por camiones IP por las calles de la red hasta la dirección IP y el puerto correctos. Las próximas publicaciones de la serie Redes Informáticas para Principiantes seguirán construyendo sobre estas bases. Mientras tanto, prueba los comandos de esta publicación: revisa el rango de puertos efímeros de tu computadora y mira tus conexiones abiertas mientras navegas.

Conclusión

El Protocolo de Internet es el camión de internet: lleva cada paquete de red en red usando direcciones IP, con un servicio de mejor esfuerzo. Dentro de cada paquete viaja una caja de la capa de transporte. TCP es la opción cuidadosa: orientada a la conexión, con un saludo de tres pasos, números de secuencia, acuses de recibo, retransmisión y control de flujo para garantizar la entrega. UDP es la opción rápida: sin conexión y básica, sin garantías, perfecta para el tráfico en tiempo real y las consultas rápidas.

Las direcciones IP llevan los datos al dispositivo correcto, y los números de puerto los llevan a la aplicación correcta. Junto con el protocolo, forman un socket. Los servidores escuchan en puertos permanentes, no efímeros, como el 80 y el 443, mientras que los clientes usan puertos efímeros temporales para cada conversación, y así una computadora puede hablar con muchas aplicaciones en muchos servidores al mismo tiempo sin mezclar nunca los datos.

Siguiente en la serie Redes Informáticas para Principiantes: ¿Cuáles Son los Números de Puerto Conocidos?, una referencia práctica de los puertos que verás con más frecuencia.

Serie Redes Informáticas para Principiantes: Parte 1: Guía Completa de Cómo Funcionan las Redes · Parte 2: ¿Qué Es el Modelo OSI? · Parte 3: Dispositivos de Red Explicados · Parte 4: CDN, VPN, QoS y TTL · Parte 5: Redes en la Nube Explicadas · Parte 6: El Protocolo de Internet Explicado · Parte 7: Números de Puerto Conocidos · Parte 8: Protocolos para Diagnóstico, Túneles y Seguridad