0% del curso completado
TCP vs UDP y puertos
📋 En esta lección
Los dos protocolos de transporte: TCP (fiable, orientado a conexión, three-way handshake) y UDP (rápido, sin conexión, sin garantías). Cuándo usar cada uno y los puertos conocidos que el examen pregunta siempre.
Qué son TCP y UDP
La capa de transporte (capa 4 del OSI) se encarga de la comunicación extremo a extremo entre procesos — no entre dispositivos, sino entre aplicaciones concretas que corren en esos dispositivos.
Para eso existen dos protocolos: TCP (Transmission Control Protocol) y UDP (User Datagram Protocol). Son complementarios, no competidores — cada uno existe para resolver un problema diferente.
El problema que resuelve
IP mueve paquetes de A a B, pero no garantiza nada: los paquetes pueden llegar en desorden, duplicados, o no llegar. Para una transferencia de archivo, eso es inaceptable — el archivo quedaría corrupto. Para una videollamada en tiempo real, un paquete perdido es mucho menos dañino que pausar la imagen esperando su retransmisión.
TCP y UDP dan a las aplicaciones la opción de elegir: fiabilidad o velocidad. Ninguno es mejor en abstracto — todo depende del caso de uso.
TCP: fiabilidad sobre todo
TCP es orientado a conexión: antes de enviar datos, los dos extremos negocian y establecen la conexión. Los datos se transmiten con garantías de entrega, orden y detección de errores.
El three-way handshake 🎯
Antes de cualquier dato de aplicación, TCP realiza tres mensajes de negociación:
Cliente Servidor
| ────── SYN ─────────────→ | "quiero conectar, seq=1000"
| ←────── SYN-ACK ───────── | "de acuerdo, seq=2000, ack=1001"
| ────── ACK ─────────────→ | "recibido, ack=2001"
| |
[Conexión establecida — fluyen los datos]
- SYN: "synchronize" — el cliente propone sus números de secuencia iniciales
- SYN-ACK: el servidor acepta y propone los suyos
- ACK: el cliente confirma
Una vez establecida, cada segmento lleva un número de secuencia y el receptor envía un acuse de recibo (ACK). Si un segmento no llega, el emisor lo retransmite.
TCP también regula cuántos datos se envían sin confirmación (ventana deslizante) y detecta la congestión de red reduciendo la tasa de envío. Todo esto tiene un coste: overhead de procesamiento y algo de latencia adicional.
UDP: velocidad sobre todo
UDP es sin conexión: envía datagramas sin negociación previa ni esperar confirmación. Si el paquete se pierde, UDP no lo sabe ni le importa — eso es responsabilidad de la aplicación si le interesa manejarlo.
Lo que UDP pierde en fiabilidad lo gana en:
- Baja latencia: sin handshake, los datos salen inmediatamente
- Menor overhead: cabecera UDP de solo 8 bytes frente a los 20–60 bytes de TCP
- Sin bloqueo por cola: un paquete perdido no detiene a los siguientes (TCP sí puede causar head-of-line blocking)
¿Cuándo usar UDP?
| Caso de uso | Por qué UDP |
|---|---|
| Streaming de vídeo/audio | Un frame perdido es menos dañino que pausar la reproducción |
| VoIP (llamadas IP) | La latencia importa más que la perfección |
| DNS (consultas) | Consultas cortas; si se pierde, la aplicación reintenta |
| DHCP | Descubrimiento en broadcast antes de tener IP asignada |
| SNMP, Syslog | Telemetría donde perder algún mensaje es aceptable |
| Juegos online | Latencia mínima; la lógica de sincronización va en la app |
Los puertos: la dirección de la aplicación
Una IP identifica un dispositivo. Pero un dispositivo ejecuta cientos de procesos a la vez: navegador, SSH, cliente DNS, servidor de correo… Los puertos son números de 16 bits (0–65535) que identifican el proceso dentro del dispositivo.
La combinación IP:puerto se llama socket. Una conexión TCP se define por el par de sockets (IP-origen:puerto-origen, IP-destino:puerto-destino) — los cuatro valores juntos identifican unívocamente la conexión.
Rangos de puertos
| Rango | Nombre | Uso |
|---|---|---|
| 0–1023 | Well-known (conocidos) | Servicios estándar definidos por IANA |
| 1024–49151 | Registered (registrados) | Aplicaciones comerciales registradas en IANA |
| 49152–65535 | Dynamic / Ephemeral | Puertos de origen del cliente (asignados por el SO) |
Puertos que el examen pregunta 🎯
| Puerto | Protocolo | Transporte |
|---|---|---|
| 20 / 21 | FTP (datos / control) | TCP |
| 22 | SSH | TCP |
| 23 | Telnet | TCP |
| 25 | SMTP | TCP |
| 53 | DNS | UDP (y TCP para transferencias de zona) |
| 67 / 68 | DHCP (servidor / cliente) | UDP |
| 69 | TFTP | UDP |
| 80 | HTTP | TCP |
| 110 | POP3 | TCP |
| 143 | IMAP | TCP |
| 161 / 162 | SNMP (agente / manager) | UDP |
| 443 | HTTPS | TCP |
| 514 | Syslog | UDP |
📝 🧠 No los memorices todos de golpe
Los irás asimilando de forma natural a medida que los uses en labs y en las configuraciones de ACLs del Módulo 10. Los más importantes para el examen son 22, 23, 53, 67/68, 80 y 443.
Ejemplo técnico: socket en el navegador
Cuando tu navegador abre https://subnetting.com:
- DNS resuelve el nombre a una IP (puerto 53/UDP)
- Se establece conexión TCP: puerto destino 443, puerto origen 54321 (efímero, asignado por tu SO)
- Socket completo:
(192.168.1.10:54321, 93.184.216.34:443)
Cada pestaña que abres genera un socket diferente con un puerto efímero distinto — así el sistema operativo sabe a qué pestaña pertenece cada respuesta del servidor.
Casos de uso reales
- Reglas de firewall por puerto: "permitir TCP/443 desde cualquier origen hacia el servidor web" es una regla de firewall típica — imposible sin conocer los puertos.
- Diagnóstico de conectividad:
netstat -an(Windows/Linux) muestra todos los sockets activos.ss -tlnpen Linux muestra qué servicios escuchan en qué puerto. - ACLs extendidas de Cisco: filtran por IP de origen/destino Y por protocolo/puerto — lo verás en el Módulo 10. Sin los puertos bien memorizados, las ACLs son opacas.
Buenas prácticas profesionales 🔬
- Aprende los puertos comunes no por el examen, sino porque los verás en logs, capturas de Wireshark y reglas de firewall a diario.
- Un servidor web que no responde en el puerto 443 y sí responde al ping es un problema de capa 4 o de la aplicación — no de la red física. El OSI bottom-up lleva aquí en segundos.
- Usa TCP para transferencias que no puedes repetir (ficheros, transacciones, bases de datos). Usa UDP cuando la aplicación puede gestionar las pérdidas ella sola.
💡 💡 Tenla abierta mientras estudias
La chuleta de puertos comunes reúne los que caen en el examen con su protocolo de transporte. Consúltala las primeras veces; a la cuarta ya no te hará falta.
Relación con otros conceptos
- Los puertos son la clave para las ACLs extendidas (Módulo 10) y el troubleshooting de conectividad de aplicaciones.
- El three-way handshake es lo que detecta un firewall stateful para saber si una conexión fue iniciada desde dentro o desde fuera de la red.
- DNS (UDP/53), DHCP (UDP/67-68), SSH (TCP/22) se estudian en profundidad en el Módulo 8 (servicios de red).
Resumen
TCP es orientado a conexión, fiable y usa el three-way handshake (SYN → SYN-ACK → ACK) con números de secuencia y ACKs. Ideal para transferencias críticas. UDP es sin conexión, rápido y sin garantías. Ideal para tiempo real. Los puertos identifican el proceso dentro del dispositivo: 0–1023 bien conocidos, 1024–49151 registrados, 49152–65535 efímeros. Memoriza los puertos más habituales — los usarás en ACLs, firewalls y diagnóstico durante toda tu carrera en redes.