TCP vs UDP
TCP y UDP son los dos protocolos de transporte fundamentales de Internet, con un compromiso opuesto entre fiabilidad y velocidad.
| Conexión | Orientado a conexión (handshake previo) | Sin conexión |
| Fiabilidad | Garantiza entrega y orden de los paquetes | No garantiza entrega ni orden |
| Velocidad | Más lento por el control de errores | Más rápido, menos overhead |
| Control de flujo | Sí, evita saturar al receptor | No |
| Casos de uso típicos | Web (HTTP), email, transferencia de archivos | Streaming, VoIP, videojuegos online, DNS |
| Tamaño de cabecera | 20 bytes mínimo | 8 bytes |
TCP (Transmission Control Protocol) y UDP (User Datagram Protocol) son los dos protocolos de la capa de transporte que usan prácticamente todas las aplicaciones de Internet, pero resuelven el mismo problema —enviar datos entre dos dispositivos— con filosofías opuestas.
TCP es orientado a conexión: antes de enviar ningún dato, establece una conexión mediante un proceso conocido como "three-way handshake" (SYN, SYN-ACK, ACK). A partir de ahí, garantiza que todos los paquetes lleguen, en el orden correcto, y retransmite automáticamente cualquier paquete perdido. También implementa control de flujo y control de congestión, ajustando la velocidad de envío según la capacidad de la red y del receptor. Esta fiabilidad tiene un coste: mayor overhead (cabeceras más grandes, confirmaciones constantes) y mayor latencia, especialmente notable en redes con pérdida de paquetes.
UDP, en cambio, es un protocolo sin conexión: simplemente envía los datagramas sin negociación previa, sin garantía de entrega, sin orden garantizado y sin retransmisión automática. Si un paquete se pierde, UDP no hace nada por recuperarlo —esa responsabilidad, si es necesaria, recae en la aplicación—. A cambio, UDP es mucho más ligero y rápido, con una cabecera de solo 8 bytes frente a los 20 (o más) de TCP.
La elección entre ambos depende completamente del caso de uso. Para transferencia de archivos, páginas web o email, donde perder un solo byte puede corromper el resultado, TCP es la opción correcta: mejor una pequeña espera que datos incompletos. Para streaming de vídeo en directo, videollamadas o videojuegos online, en cambio, UDP suele ser preferible: si se pierde un paquete de audio de hace medio segundo, retransmitirlo ya no tiene sentido —es mejor seguir adelante con el siguiente dato en tiempo real que bloquear el flujo esperando una retransmisión—. DNS, por su parte, usa típicamente UDP por la rapidez de sus consultas cortas, aunque recurre a TCP para respuestas que exceden cierto tamaño.
Herramientas relacionadas
Preguntas frecuentes
¿Qué protocolo usa una videollamada, TCP o UDP?
Normalmente UDP, porque prioriza la fluidez en tiempo real frente a la fiabilidad absoluta: perder un paquete de audio antiguo es preferible a esperar su retransmisión.
¿UDP es inseguro por no verificar la entrega?
No tiene que ver con seguridad, sino con fiabilidad de entrega. La seguridad (cifrado, autenticación) es una capa independiente que puede añadirse sobre cualquiera de los dos protocolos.
¿Puede una aplicación usar ambos protocolos a la vez?
Sí, es habitual: por ejemplo, muchos videojuegos usan TCP para el chat y las transacciones importantes, y UDP para sincronizar la posición de los jugadores en tiempo real.
Otras comparativas