edubun
Español

TCP, UDP y puertos

Un número de puerto tiene 16 bits, así que va del 0 al 65535. Los servidores web con HTTPS escuchan en el puerto 443.

Primero, dos acertijos. En una videollamada, un trocito de la voz de tu amigo se pierde por el camino. ¿Tu app debería pedirlo otra vez? Ahora estás descargando un archivo de tarea y se pierde un trozo del archivo. La misma pregunta. Decide las dos antes de seguir leyendo.

Dos trozos perdidos, dos respuestas distintas

Si dijiste que no para la llamada y que sí para el archivo, ya elegiste entre los dos protocolos de transporte. Un trozo de sonido que llega medio segundo tarde no sirve. La conversación ya siguió, así que es mejor saltarse ese trozo y reproducir el siguiente. Un archivo al que le falta un trozo está roto, así que vale la pena esperar ese trozo. Internet tiene un transporte para cada caso: TCP espera y reenvía, UDP envía y sigue adelante. Pero antes de que cualquiera de los dos ayude, el paquete tiene que llegar al programa correcto.

Qué programa recibe el paquete: los puertos

Una dirección IP lleva un paquete a la computadora correcta. Pero una computadora ejecuta muchos programas a la vez: un navegador con varias pestañas, una app de chat, una app de música. Los encabezados de TCP y de UDP llevan un puerto de origen y un puerto de destino, cada uno un número de 16 bits del 0 al 65535, y el puerto indica para qué programa es un paquete. Un programa servidor escucha en un puerto acordado: 80 para HTTP simple, 443 para HTTPS, 53 para DNS, 25 para el correo entre servidores. El RFC 6335 divide el rango en puertos del sistema del 0 al 1023, puertos de usuario del 1024 al 49151 y puertos dinámicos del 49152 al 65535. Tu computadora elige un puerto de origen temporal para cada conversación, a menudo del rango dinámico. Una dirección y un puerto juntos, como 198.51.100.20:443, nombran con exactitud un extremo de una conversación.

TCP lleva la cuenta de cada byte

TCP (RFC 9293) convierte un flujo de paquetes poco fiable en algo parecido a una línea telefónica para bytes. Primero, los dos lados establecen una conexión con un saludo de tres pasos: el cliente envía SYN, el servidor contesta SYN-ACK y el cliente responde ACK. A partir de ahí, cada byte tiene un número de secuencia. El receptor envía confirmaciones (ACK) que dicen hasta dónde ha llegado, y vuelve a colocar en su sitio los trozos desordenados. Si el remitente no recibe un ACK dentro de un tiempo de espera, vuelve a enviar los datos. El RFC 6298 fija el primer tiempo de espera en 1 segundo y luego lo ajusta al tiempo de ida y vuelta medido. TCP también frena cuando detecta pérdidas, para no saturar un enlace ocupado.

UDP envía y sigue adelante

UDP (RFC 768, 1980) hace mucho menos. Su encabezado tiene solo 8 bytes: dos puertos, una longitud y una suma de comprobación. No hay saludo, ni número de secuencia, ni reenvío. Para la videollamada del primer acertijo, eso es justo lo adecuado. Las preguntas cortas de DNS también usan UDP, porque una pregunta y una respuesta van más rápido sin saludo. QUIC, el transporte que hay debajo de HTTP/3, funciona sobre UDP y construye encima su propio reenvío.

Cargando

Arrastra para girar. Desplaza o pellizca para acercar.

La pérdida está en 25%. Con TCP, vuelven ACK verdes por cada paquete; cuando falta uno, la portátil espera el tiempo de espera y envía otra vez ese paquete (morado), así que el servidor siempre termina con el mensaje completo. Cambia a UDP y vuelve a enviar: los paquetes perdidos dejan puntos en el mensaje. En este modelo los ACK nunca se pierden y cada paquete recibe su propio ACK; el TCP real envía ACK acumulativos.

Cuatro números distinguen dos pestañas

Cuatro números juntos identifican una conexión TCP: dirección de origen, puerto de origen, dirección de destino y puerto de destino. Así un servidor en el puerto 443 puede hablar con miles de navegadores a la vez sin confundirlos, y así tu portátil distingue dos pestañas del mismo sitio, porque la conexión de cada pestaña usa un puerto de origen distinto. Toca un paquete en el simulador y lee su encabezado. Antes del router de casa, el origen es 192.168.0.12, puerto 51000. Después, el NAT cambió los dos números, y el router recuerda el cambio para que las respuestas vuelvan a la pestaña correcta.

TCPUDP
EstablecimientoSaludo de tres pasosNinguno
Datos perdidosSe reenvían tras un tiempo de esperaSe quedan perdidos
OrdenSe restablece con números de secuenciaNo garantizado
Encabezado20 bytes o más8 bytes
Usos típicosPáginas web, correo, descargas de archivosPreguntas DNS, llamadas de voz y video, juegos, QUIC
Puerto 443HTTPS
Puerto 80HTTP sin cifrar
Puerto 53DNS
Puerto 25Correo entre servidores de correo (SMTP)
SYN, SYN-ACK y ACKSaludo de tres pasos de TCP
ACKConfirmación: "he recibido hasta aquí"
  1. ¿Cuál es el número de puerto más grande?
  2. ¿Qué puerto usa un servidor web para HTTPS?
  3. ¿Qué puerto usa el DNS?
  4. Tu navegador usa el puerto de origen 50000. ¿En qué rango del RFC 6335 está?
    • Dinámico (49152 a 65535)
    • Del sistema (0 a 1023)
    • De usuario (1024 a 49151)
    • No es un puerto válido
  5. Ordena el saludo de TCP.
  6. ¿Cuántos bytes tiene un encabezado UDP?
  7. Antes de medir ningún viaje de ida y vuelta, ¿qué primer tiempo de espera de retransmisión fija el RFC 6298?
  8. Con 25% de pérdida, ¿qué hace TCP con un paquete que falta?
    • Lo envía otra vez tras el tiempo de espera
    • Se lo salta
    • Envía otra vez el mensaje completo desde el principio
    • Cierra la conexión de inmediato
  9. ¿Por qué las videollamadas suelen usar UDP?
    • El sonido que llega tarde no sirve, así que esperar un reenvío no ayuda
    • UDP cifra la llamada
    • UDP nunca pierde paquetes
    • TCP no puede llevar sonido
  10. ¿Cuántos números de puerto distintos hay?
Errores frecuentes
  • "UDP es una versión defectuosa de TCP que pierde datos." UDP se elige a propósito cuando los datos que llegan tarde no sirven o cuando basta con una pregunta y una respuesta, como en llamadas, juegos y DNS. QUIC incluso construye su propia fiabilidad encima.
  • "Un puerto es un conector en la parte de atrás de la computadora." La palabra es la misma, pero un puerto TCP o UDP es un número de 16 bits en el encabezado del paquete, del 0 al 65535. Nombra un programa, no un enchufe.
  • "Cuando se pierde un paquete, TCP envía otra vez todo el archivo." Solo se reenvían los datos que faltan, tras el tiempo de espera. Los números de secuencia y los ACK muestran qué parte no se ha confirmado; el receptor ya tiene el resto.
Nota para docentesHaz las dos preguntas del acertijo antes de decir TCP o UDP. Cuando los estudiantes han decidido por sí mismos que un trozo de sonido tardío no vale nada, los dos nombres se vuelven etiquetas de una elección que ya hicieron. El saludo se queda grabado cuando lo representan tres personas: una en cada extremo y otra en medio llevando tarjetas con SYN, SYN-ACK y ACK. Donde se atascan es en los cuatro números que nombran una conexión. Escribe las conexiones de dos pestañas una al lado de la otra y deja que descubran que solo cambia el puerto de origen.
Ideas clave
  • Los puertos (16 bits, del 0 al 65535) eligen el programa: 80 HTTP, 443 HTTPS, 53 DNS.
  • TCP: saludo (SYN, SYN-ACK, ACK), números de secuencia, ACK, reenvío tras el tiempo de espera.
  • UDP: encabezado de 8 bytes, sin saludo, sin reenvío; útil cuando los datos tardíos no sirven.
  • QUIC (HTTP/3) funciona sobre UDP y añade su propia fiabilidad.
Fuentes de este curso (28)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then operators and papers, history sources last)
  • IETF RFCs (rfc-editor.org): RFC 768 UDP (1980, 8-byte header)
  • RFC 791 IPv4 (1981, 32-bit addresses, "does not provide a reliable communication facility", TTL field "measured in units of seconds" but every module must decrease it by at least one, so it is only an upper bound)
  • RFC 792 ICMP (Time Exceeded)
  • RFC 801 NCP/TCP transition plan (1 January 1983)
  • RFC 894 Ethernet (1500-byte payload)
  • RFC 1034 and RFC 1035 DNS (1987, HOSTS.TXT kept by SRI-NIC, labels up to 63 octets and names up to 255, TTL in seconds)
  • RFC 1122 (127.0.0.0/8 loopback)
  • RFC 1918 private addresses (10/8, 172.16/12, 192.168/16)
  • RFC 2131 DHCP, RFC 3022 NAT, RFC 3596 AAAA records, RFC 3849 and RFC 5737 documentation addresses, RFC 4271 BGP-4, RFC 4291 IPv6 text form, RFC 6298 TCP retransmission timer (initial RTO 1 second)
  • RFC 6335 port ranges (0-1023, 1024-49151, 49152-65535)
  • RFC 7766 DNS over TCP, RFC 8200 IPv6 (128-bit addresses, Hop Limit)
  • RFC 8446 TLS 1.3 (one round-trip handshake)
  • RFC 9000 QUIC and RFC 9114 HTTP/3, RFC 9110 HTTP semantics (status code classes)
  • RFC 9293 TCP (three-way handshake, sequence numbers)
  • IANA: ip-parameters registry (recommended default TTL 64)
  • IPv4 free pool depleted 3 February 2011 (NRO and ARIN announcements)
  • Official documentation: MDN Web Docs "How does the Internet work?" (45 cables for 10 computers, switches, routers, MAC and IP addresses, internet and web)
  • "What is a URL?", "HTTP response status codes" (developer.mozilla.org)
  • Cloudflare Learning Center: "What is DNS?" (four kinds of DNS server, 8 steps of an uncached lookup, browser and OS caches, TTL)
  • "What is HTTP/3?" (cloudflare.com/learning)
  • Google Chrome Help, "Browse in Incognito mode" (support.google.com/chrome/answer/95464, checked 2026-10-19: Incognito limits what is saved to the device; websites and organisations that manage your network, like your school, employer or internet service provider, may be able to observe your activity)
  • Operators and papers: root-servers.org (13 root name servers run by 12 organisations, 2047 instances on 2026-10-17)
  • Jacobson and Karels 1988, Congestion Avoidance and Control (loss mostly congestion)
  • History blocks only: UCLA Samueli School of Engineering, Internet50 (first ARPANET message "LO", UCLA to SRI, 29 October 1969, 22:30)
  • historyofinformation.com and Wikipedia ARPANET (Kline)
  • Spiceworks/SRI history (HOSTS.TXT kept by SRI-NIC)
  • Numbers (2^32, 2^96, 45 and 6 cables, packet counts, round-trip times)

Fecha de consulta: 2026-10-17