TCP y UDP conviven en Internet desde los inicios del modelo TCP/IP. Elegir uno u otro implica sopesar fiabilidad, latencia, sobrecarga y complejidad en la aplicación. Este capítulo ofrece una guía práctica para decidir en cada escenario.
Ambos protocolos trabajan sobre la capa de red IP, comparten números de puerto y permiten multiplexar servicios, pero adoptan filosofías opuestas: TCP asume responsabilidad total sobre la entrega ordenada, mientras que UDP favorece la inmediatez y delega el control al software que lo utiliza.
Las disparidades arrancan en el establecimiento de la comunicación y llegan hasta la forma de reaccionar ante errores:
| Característica | TCP | UDP |
|---|---|---|
| Tipo de servicio | Orientado a conexión y confiable. | Sin conexión y sin garantías. |
| Orden de entrega | Se mantiene mediante números de secuencia. | No se asegura; los datagramas pueden llegar mezclados. |
| Control de congestión | Integrado (slow start, fast recovery, etc.). | Debe implementarlo la aplicación si lo necesita. |
| Encabezado | 20 bytes mínimos + opciones. | 8 bytes fijos. |
| Latencia | Mayor por handshakes y retransmisiones. | Menor; los datos viajan sin esperas. |
| Ejemplos típicos | HTTP, SMTP, SSH, bases de datos. | DNS, VoIP, streaming en vivo, juegos. |
Elegir correctamente depende del requisito dominante:
TCP introduce latencia adicional por el three-way handshake y por el mecanismo de confirmaciones; sin embargo, permite mantener sesiones largas sin renegociar parámetros. UDP elimina estos pasos y reduce el jitter en flujos constantes, a costa de que la aplicación deba rellenar huecos o descartar datos.
En enlaces de alta velocidad, la eficiencia de TCP depende de configurar correctamente la ventana de recepción y las opciones de escalado. UDP, en cambio, mantiene el mismo tamaño de cabecera sin importar el ancho de banda.
Antes de programar o administrar un servicio conviene responder:
No siempre hay que elegir uno solo. Sistemas completos utilizan TCP para la señalización y UDP para los datos (por ejemplo, sesiones SIP con RTP). También existen protocolos modernos como QUIC que construyen mecanismos fiables sobre UDP para atravesar firewalls con la flexibilidad de los datagramas.
Entender la naturaleza de cada protocolo permite diseñar soluciones híbridas sin sacrificar la compatibilidad con Internet.
TCP aporta confiabilidad y orden a costa de más latencia y memoria; UDP sacrifica esas garantías para reducir el overhead. La decisión correcta depende del tipo de servicio, de la tolerancia a fallos y del entorno operativo. Documentar los motivos detrás de la elección ayuda a futuros mantenedores y evita migraciones innecesarias.