Su dirección IPv4:
Sistema operativo:
Proveedor:

TCP frente a UDP: diferencias de transporte y ejemplos prácticos

TCP y UDP transportan datos de aplicaciones sobre IP, pero ofrecen servicios distintos. TCP proporciona a las aplicaciones un flujo de bytes ordenado con confirmaciones y retransmisión. UDP envía datagramas individuales sin esas garantías en la capa de transporte. Ninguno es mejor de por sí: lo que decide son los requisitos de la aplicación.

Qué proporciona TCP

TCP establece una conexión entre los extremos antes de intercambiar datos de la aplicación. Numera los segmentos, puede retransmitir los datos que faltan y entrega los bytes en orden a la aplicación receptora. El control de flujo y de congestión ayudan a evitar que un emisor sature al receptor o a la red. Estas propiedades son adecuadas para archivos, correo electrónico y muchas conexiones web. No implican cifrado: para proteger el contenido se necesita un protocolo de seguridad aparte, como TLS.

Cuando se pierde un segmento, la aplicación puede tener que esperar a los bytes que faltan antes de procesar los siguientes. Eso es adecuado para un documento que debe llegar íntegro, pero puede añadir retardo al tráfico interactivo. TCP tampoco conserva los límites de los mensajes de la aplicación. Dos escrituras del emisor no tienen por qué aparecer como dos lecturas en el receptor; la aplicación debe definir cómo se delimitan sus mensajes.

Qué deja UDP en manos de la aplicación

UDP conserva los límites de los datagramas y no establece una conexión al estilo de TCP. UDP por sí mismo no confirma la entrega, no reordena los paquetes ni retransmite los datos perdidos. Una aplicación basada en UDP puede añadir esas funciones, junto con control de congestión y cifrado, cuando las necesite. El DNS suele usar UDP para las consultas. QUIC funciona sobre UDP, pero implementa flujos fiables y seguridad moderna en una capa superior.

En una conversación en directo o en un juego, un paquete muy retrasado puede ser menos útil que el siguiente que llegue a tiempo. Por eso algunas aplicaciones optan por gestionar ellas mismas las pérdidas y los plazos. Usar UDP no hace rápida una red congestionada: las colas y los descartes afectan a ambos transportes. Mida la aplicación real en lugar de suponer que el nombre del protocolo predice el rendimiento. Como punto de partida, puede usar la herramienta de ping y traceroute de 2IP.

Puertos y elección del protocolo

Ambos usan números de puerto, pero el puerto TCP 443 y el puerto UDP 443 identifican extremos distintos. Una comprobación de puertos TCP no puede demostrar que funcione un servicio UDP con el mismo número. HTTP/1.1 y HTTP/2 suelen usar TCP con TLS, mientras que HTTP/3 usa QUIC sobre UDP. Cuando falla la conectividad UDP, un cliente puede recurrir a una versión de HTTP basada en TCP; el resultado exacto depende de ambos extremos.

Parta de las necesidades de la aplicación: entrega completa, orden, límites de los mensajes y plazos. Después compruebe la compatibilidad de la red y los requisitos de seguridad. Las especificaciones de TCP y UDP definen sus servicios de transporte. Consulte la guía sobre puertos de red para conocer el significado de los números.