system onlinepath: /guias/redes/tcp-vs-udp-diferencias-y-cuando-usar-cada-uno/mode: knowledge_baselocal:
Redes · Nivel intermedio

TCP vs UDP: diferencias y cuándo usar cada uno

TCP y UDP son las dos formas de transportar datos por internet. TCP garantiza que todo llegue completo y en orden; UDP prioriza la velocidad. Elegir bien depende de qué necesita la aplicación.

12 min de lectura▣ Actualizada el ◇ Por Underc0de
Respuesta rápida

TCP y UDP son los dos protocolos de la capa de transporte: los encargados de llevar los datos de una aplicación a otra por internet. La diferencia es una elección entre fiabilidad y velocidad. TCP (Transmission Control Protocol) garantiza que todo llegue completo y en orden: establece una conexión con un «saludo» previo, numera los datos, confirma la recepción y reenvía lo que se pierde. A cambio, tiene más sobrecarga y algo más de retraso. UDP (User Datagram Protocol) es lo contrario: envía y no espera confirmación. No garantiza que llegue todo ni el orden, pero es rápido y ligero, sin la sobrecarga de establecer conexión. La regla para elegir es simple: usá TCP cuando no puede faltar ni un byte —webs, correo, transferencias, bases de datos— y UDP cuando importa más la inmediatez que la perfección —videollamadas, streaming en vivo, juegos en línea, DNS—. En una videollamada, es mejor perder un fotograma que congelar la imagen esperando a que se reenvíe; en una transferencia de archivo, en cambio, no puede faltar nada. Ambos usan puertos para dirigir cada comunicación a su aplicación.

Ver índice de contenidos
  1. 01Qué son y qué resuelven
  2. 02TCP: la fiabilidad
  3. 03UDP: la velocidad
  4. 04Errores frecuentes
  5. 05Preguntas frecuentes
  6. 06Fuentes

Qué son y qué resuelven

Cuando dos programas se comunican por la red, la capa de transporte es la que se encarga de llevar los datos de uno a otro. Tiene dos protocolos disponibles, TCP y UDP, y cada aplicación elige el que le conviene. Ambos añaden el concepto de puerto, que permite que en un mismo equipo el navegador, el correo y una videollamada usen la red a la vez sin mezclarse.

Una decisión de diseño: garantía o inmediatez

La diferencia esencial es qué priorizan. TCP antepone la garantía: hace lo que haga falta —confirmar, reordenar, reenviar— para que los datos lleguen exactos. UDP antepone la inmediatez: manda los datos cuanto antes y no se detiene a comprobar si llegaron. No es que uno sea «mejor»: son herramientas para necesidades distintas.

TCP: la fiabilidad

Comparación entre los protocolos TCP y UDP mostrando cómo funciona cada uno y para qué sirve. A la izquierda se representa TCP, etiquetado como fiable y orientado a conexión. Se ilustra su funcionamiento en tres ideas. Primera, el saludo de tres vías previo a enviar datos: el cliente envía una solicitud de conexión, el servidor responde aceptando, y el cliente confirma, estableciendo así la conexión antes de transmitir. Segunda, la transmisión fiable: los datos se dividen en segmentos numerados, el receptor confirma cada recepción, y si algún segmento se pierde o llega dañado, se reenvía, de modo que al final todo llega completo y en el orden correcto. Tercera, el coste: todo este control añade sobrecarga y algo más de retraso. Se listan sus usos típicos, aquellos en los que no puede faltar ni un byte: navegación web, correo electrónico, transferencia de archivos y bases de datos. A la derecha se representa UDP, etiquetado como rápido y sin conexión. Se ilustra su funcionamiento contrario: no hay saludo previo ni establecimiento de conexión, el emisor simplemente envía los datos en paquetes independientes llamados datagramas y no espera ninguna confirmación, por lo que no garantiza que todos lleguen ni que lo hagan en orden, pero a cambio es muy rápido y ligero, sin sobrecarga. Se listan sus usos típicos, aquellos en los que importa más la inmediatez que la perfección: videollamadas, streaming o retransmisión en vivo, juegos en línea y las consultas de DNS. En el centro, como idea que resume la elección, se muestra un ejemplo ilustrativo: en una videollamada es preferible perder un fotograma y seguir en tiempo real que congelar la imagen esperando a que se reenvíe un dato perdido, mientras que en una transferencia de archivo no puede faltar absolutamente nada. En la parte inferior se enuncia la regla de decisión: usar TCP cuando la integridad total de los datos es imprescindible, y usar UDP cuando la baja latencia y la inmediatez son más importantes que recuperar cada dato perdido. Se anota además que ambos protocolos usan puertos para dirigir cada comunicación a la aplicación correcta. Estilo oscuro de red, con TCP y UDP en dos columnas contrastadas y el ejemplo de la videollamada destacado en el centro.
TCP establece conexión (saludo de tres vías), numera y confirma cada segmento y reenvía lo perdido: todo llega completo. UDP envía sin esperar confirmación: rápido pero sin garantías.

TCP está orientado a conexión: antes de enviar datos, cliente y servidor hacen un saludo de tres vías (three-way handshake) —el cliente pide conexión, el servidor acepta, el cliente confirma—. Establecida la conexión, TCP:

  • Numera los datos, para reordenarlos si llegan desordenados.
  • Confirma la recepción de cada parte.
  • Reenvía lo que se pierde o llega dañado.
  • Controla el flujo para no saturar al receptor ni a la red.

El resultado: los datos llegan completos y en orden, garantizado. El precio es la sobrecarga de todo ese control y el retraso del saludo inicial. Por eso lo usan la web, el correo, las transferencias de archivos y las bases de datos: contextos donde no puede faltar nada.

UDP: la velocidad

UDP es sin conexión: no hay saludo ni confirmaciones. El emisor manda los datos en paquetes independientes (datagramas) y no espera respuesta. Esto significa que:

  • No garantiza que todo llegue ni que llegue en orden.
  • No hay reenvíos: lo que se pierde, se pierde.
  • A cambio, es rápido y ligero, sin la sobrecarga de TCP.
i
Por qué perder datos a veces es lo correcto

En una videollamada o un juego en línea, lo que importa es el ahora. Si un fragmento de audio se pierde, reenviarlo llegaría tarde —el momento ya pasó— y además congelaría todo lo demás mientras se espera. Es preferible seguir en tiempo real aunque se pierda algo. Ahí UDP es la elección correcta, y por eso lo usan el streaming en vivo, la voz sobre IP, los juegos y las consultas DNS (una pregunta y respuesta cortas, sin necesidad de conexión).

Errores frecuentes

  • Creer que UDP es «peor» que TCP. No: son para necesidades distintas; UDP es idóneo para tiempo real.
  • Usar TCP para tiempo real crítico. Sus reenvíos introducen retrasos que arruinan una videollamada.
  • Usar UDP donde no puede faltar nada. Una transferencia de archivo por UDP puro llegaría incompleta.
  • Ignorar el coste del saludo de TCP. Para muchísimas conexiones cortas, ese establecimiento pesa.
  • Pensar que UDP «no sirve» para nada importante. DNS, streaming y voz dependen de él.
  • Confundir puerto con protocolo. El puerto identifica la aplicación; TCP/UDP es cómo se transporta.
  • Olvidar que hay protocolos modernos. Algunos construyen fiabilidad sobre UDP para ganar velocidad sin perder garantías.

Preguntas frecuentes

¿Cuál es la diferencia fundamental entre TCP y UDP?

La diferencia fundamental entre TCP y UDP es la elección entre fiabilidad y velocidad, dos prioridades que resultan en gran medida opuestas. TCP está orientado a conexión y prioriza la fiabilidad: antes de enviar datos establece una conexión mediante un intercambio previo, numera los datos que envía, espera confirmación de que han llegado, reenvía lo que se pierde o llega dañado, y controla el ritmo de envío para no saturar. El resultado es que garantiza que toda la información llegue completa y en el orden correcto, pero a cambio introduce una sobrecarga de control y un cierto retraso, especialmente por el establecimiento inicial de la conexión. UDP, en cambio, no tiene conexión y prioriza la velocidad: simplemente envía los datos en paquetes independientes sin establecer nada previamente y sin esperar ninguna confirmación de que hayan llegado, de modo que no garantiza ni la entrega completa ni el orden, pero es mucho más rápido y ligero porque se ahorra toda esa gestión. Ninguno de los dos es intrínsecamente mejor que el otro; son herramientas diseñadas para necesidades distintas. Cuando la integridad total de los datos es imprescindible, como al cargar una página, enviar un correo o transferir un archivo, TCP es la elección adecuada. Cuando importa más la inmediatez que recuperar cada dato perdido, como en videollamadas, streaming en vivo o juegos en línea, UDP es lo que corresponde. Entender esta diferencia es clave para comprender por qué distintas aplicaciones se comportan como lo hacen ante problemas de red.

¿Qué es el saludo de tres vías de TCP?

El saludo de tres vías, conocido en inglés como three-way handshake, es el procedimiento mediante el cual TCP establece una conexión entre dos equipos antes de empezar a transmitir datos, y consta de tres pasos que le dan su nombre. En el primer paso, el equipo que quiere iniciar la comunicación, típicamente el cliente, envía al servidor una solicitud de conexión, indicando su intención de comunicarse. En el segundo paso, el servidor responde a esa solicitud reconociéndola y, a su vez, indicando que él también está listo para establecer la conexión en el otro sentido. En el tercer paso, el cliente confirma la respuesta del servidor, y con esa confirmación la conexión queda establecida en ambos sentidos y lista para transmitir datos de forma fiable. Este intercambio previo cumple varias funciones importantes: asegura que ambos extremos existen, están accesibles y están dispuestos a comunicarse, y permite acordar los parámetros iniciales que TCP usará para numerar y controlar los datos. La contrapartida de este mecanismo es que introduce un retraso antes de poder enviar el primer dato útil, ya que hay que completar los tres pasos, lo que supone un coste especialmente notable cuando se abren muchas conexiones cortas. Esta necesidad de establecer conexión es precisamente una de las diferencias clave frente a UDP, que no realiza ningún saludo previo y empieza a enviar de inmediato, ganando velocidad a cambio de perder la garantía y el control que aporta la conexión de TCP.

¿Cuándo debo usar TCP y cuándo UDP?

La regla general para elegir entre TCP y UDP se basa en qué prioriza la aplicación: la integridad total de los datos o la baja latencia. Se debe usar TCP cuando es imprescindible que toda la información llegue completa, correcta y en orden, y donde perder o corromper datos resultaría inaceptable. Este es el caso de la navegación web, donde una página debe cargarse íntegra; del correo electrónico, donde un mensaje no puede llegar truncado; de la transferencia de archivos, donde falta un solo byte invalidaría el archivo; y del acceso a bases de datos, donde la exactitud es crítica. En todos estos escenarios, el retraso adicional que introduce TCP para garantizar la fiabilidad es un precio que merece la pena pagar. Se debe usar UDP, en cambio, cuando la inmediatez y la fluidez en tiempo real son más importantes que recuperar cada dato perdido, y donde un dato que llega tarde no sirve de nada. Este es el caso de las videollamadas y la voz sobre IP, del streaming o retransmisión en directo, de los juegos en línea que requieren respuesta instantánea, y de las consultas de resolución de nombres, que son intercambios muy breves de pregunta y respuesta. En estos escenarios, esperar a reenviar un dato perdido causaría cortes o congelaciones peores que la propia pérdida, por lo que es preferible seguir adelante en tiempo real asumiendo alguna pérdida ocasional. En resumen, la pregunta clave es: ¿prefiero que llegue todo aunque tarde un poco más, o prefiero que sea inmediato aunque se pierda algo?

¿Por qué las videollamadas usan UDP si puede perder datos?

Las videollamadas y otras aplicaciones de tiempo real usan UDP precisamente porque, en ese tipo de comunicación, la capacidad de recuperar cada dato perdido que ofrece TCP resultaría contraproducente. La clave está en entender qué ocurre cuando se pierde un fragmento de datos en cada caso. Con TCP, si un fragmento se pierde, el protocolo lo detecta y lo reenvía, y mientras tanto retiene los datos posteriores para entregarlos en orden; esto significa que todo el flujo se detiene o se retrasa a la espera de recuperar ese fragmento. En una comunicación en tiempo real, ese comportamiento es desastroso, porque produce congelaciones y desfases acumulativos: la imagen o el sonido se detendrían cada vez que se pierde algo, esperando datos que, cuando por fin llegan reenviados, ya no tienen sentido porque el momento al que correspondían ha pasado. Con UDP, en cambio, si un fragmento de audio o de vídeo se pierde, simplemente se omite y la comunicación continúa con el siguiente, lo que en la práctica se traduce en una pequeña imperfección momentánea, como un microcorte apenas perceptible, pero manteniendo la fluidez y la sincronía en tiempo real. Dicho de otro modo, en una videollamada es preferible perder un instante y seguir en directo que congelar toda la conversación para recuperar un dato ya caduco. Por eso las aplicaciones de tiempo real eligen UDP y gestionan las pérdidas de forma inteligente a un nivel superior, priorizando siempre la continuidad y la baja latencia sobre la recuperación perfecta de cada dato.

¿UDP no garantiza nada, entonces es inseguro?

Conviene no confundir dos conceptos distintos: la fiabilidad de la entrega y la seguridad. Cuando se dice que UDP no garantiza nada, se refiere a la fiabilidad de la entrega, es decir, a que no asegura que todos los paquetes lleguen ni que lo hagan en orden, pero esto no tiene relación directa con la seguridad en el sentido de protección frente a ataques o confidencialidad de los datos. Ni TCP ni UDP, por sí mismos, cifran la información ni la protegen; ambos se limitan a transportar los datos, con o sin garantías de entrega, y la seguridad se añade en capas superiores mediante protocolos de cifrado. De hecho, las comunicaciones seguras se construyen tanto sobre TCP como sobre UDP añadiendo esas capas de protección por encima. Por otro lado, la falta de garantías de entrega de UDP tampoco lo hace inadecuado o poco serio, sino simplemente distinto: para las aplicaciones que eligen UDP, esa ausencia de garantías es una característica deseada que les permite ganar velocidad, y esas aplicaciones gestionan por su cuenta, a un nivel superior, cómo tolerar o compensar las pérdidas según sus necesidades. Es más, existen protocolos modernos que construyen mecanismos de fiabilidad sofisticados sobre UDP, obteniendo así lo mejor de ambos mundos: el control fino y la velocidad de UDP como base, con garantías añadidas a medida por encima. En resumen, que UDP no garantice la entrega es una cuestión de diseño del transporte, no un defecto de seguridad, y la protección de los datos es un asunto aparte que se resuelve con cifrado independientemente del protocolo de transporte que se use.

¿Qué es un puerto y qué relación tiene con TCP y UDP?

Un puerto es un número que identifica a una aplicación o servicio concreto dentro de un equipo, y es un concepto que aportan precisamente los protocolos de la capa de transporte, es decir, TCP y UDP. La necesidad de los puertos surge de un hecho práctico: un mismo equipo, identificado por una única dirección de red, ejecuta simultáneamente muchas aplicaciones que usan la red, como un navegador, un cliente de correo y una videollamada, y todas comparten esa misma dirección. Si solo existiera la dirección del equipo, no habría forma de saber a cuál de todas esas aplicaciones corresponde cada comunicación que llega. El puerto resuelve este problema añadiendo un segundo nivel de direccionamiento: la dirección de red lleva los datos hasta el equipo correcto, y el número de puerto los dirige a la aplicación correcta dentro de ese equipo. Tanto TCP como UDP incorporan en su información de control los números de puerto de origen y destino, de modo que cada comunicación queda etiquetada con la aplicación a la que pertenece y no se mezcla con las demás. Además, ciertos servicios conocidos tienen puertos estándar asociados por convención, lo que permite que un cliente sepa a qué puerto dirigirse para hablar con un tipo concreto de servicio. Es importante entender que el puerto identifica la aplicación, mientras que la elección entre TCP y UDP determina cómo se transportan los datos hasta ella; son dos aspectos complementarios y distintos, y existe una guía específica dedicada a explicar en detalle qué es un puerto y cuáles son los más usados.

Fuentes

Documentación oficial y material de la comunidad consultados para esta guía. Fecha de consulta: 28 de julio de 2026.

Aportes de la comunidad Underc0de

  1. Underc0de, foro. Sección Redes. Protocolos de transporte.
  2. Underc0de, blog. Blog de la comunidad. Artículos de redes.

Documentación oficial

  1. IETF. RFC 9293: TCP. La especificación actual de TCP.
  2. IETF. RFC 768: UDP. La especificación de UDP.
  3. Cloudflare. What is UDP?. Explicación de referencia.
  4. MDN. TCP (glosario). Definición práctica de TCP.