Cómo funciona UDP
TCP comprueba si llegó cada trozo y reenvía lo que no llega. Eso lo hace preciso, pero también obliga a esperar. En un momento en que hasta 0,1 segundos cuentan, como en una videollamada, es mejor ser rápido aunque falte un trozo o dos. Para eso se usa UDP.
Saltarse la comprobación
Recuerda TCP, de la lección anterior. Cada vez que llegaba un trozo, volvía un acuse de recibo (ACK). Esa sola palabra lo hace preciso, pero cada intercambio cuesta tiempo.
UDP cambia el planteamiento: se salta las comprobaciones y simplemente envía rápido. Sin preguntar si algo llegó, manda los trozos uno tras otro.
Cada vez que pulsas el botón de enviar, sale disparado un trozo más. A diferencia de TCP, no espera ningún acuse de recibo (ACK), así que los cinco trozos salen sin pausa.
Como no espera acuses, los trozos salen sin parar. En el mismo tiempo se puede enviar mucho más y mucho más rápido.
A cambio, se renuncia a una cosa: a UDP no le importa qué llegó. Entonces, ¿qué pasa cuando un trozo se pierde por el camino?
Seguir aunque falten algunos
TCP habría pedido que se reenviara el trozo perdido. UDP no. Aunque un trozo desaparezca por el camino, no se detiene: simplemente pasa al siguiente.
Lo que falta se queda faltando. Puede parecer descuidado, pero hay veces en que detenerlo todo para rellenar uno o dos trozos perdidos sale más caro.
Cada vez que pulsas enviar, un trozo avanza. Dos de los cinco trozos desaparecen por el camino, pero UDP no los reenvía: sigue hasta el final.
Se perdieron varios trozos y, aun así, el envío terminó sin cortes. Quien recibe se quedó con algunos huecos, pero el flujo no se detuvo ni una vez.
Así es UDP: no detenerse importa más que ser perfecto. Pero ¿de verdad está bien que falte algo? Ver dónde se usa da la respuesta.
¿Cuándo se usa?
UDP encaja en tareas que nunca deben llegar tarde. Piensa en un juego en línea: un dato de posición que llega con un instante de retraso ya es cosa pasada, aunque se vuelva a recibir.
Con las videollamadas y las emisiones en directo pasa lo mismo. Lo que importa es este preciso momento; recuperar un trozo que se perdió hace un instante no sirve de nada.
UDP también se usa para intercambiar preguntas y respuestas cortas. Las consultas de nombres que vimos antes suelen preguntar y responder por UDP.
Toca una por una las tarjetas de juego en línea, videollamada y emisión en directo para ver por qué ninguna puede llegar tarde. En las tres, llegar tarde es peor, así que UDP encaja bien.
Los tres casos tienen algo en común: llegar tarde hace más daño que perder un poco. Una pantalla de juego congelada o una voz que se corta y se retrasa en una llamada resultan mucho más frustrantes.
UDP evita esa frustración. Aunque sea un poco tosco, elige no detenerse y que el presente siga fluyendo.
Comparar TCP y UDP
No se trata de cuál es mejor; simplemente persiguen fines distintos. TCP pone primero la precisión: confirma, reenvía y ordena, y para ello espera un poco más.
UDP pone primero la velocidad: envía sin acuses y deja los trozos perdidos como están, así que puede ser tosco. Lo que importa más decide la elección.
Toca los dos botones para comparar TCP y UDP. Con TCP llegan los cuatro trozos, pero espera más; con UDP se pierde un trozo, pero la espera es corta.
La comparación lo deja claro. Los textos y archivos que deben llegar completos y exactos se le encargan a TCP. Los juegos y las llamadas, donde este instante lo es todo, se le encargan a UDP.
Internet tiene ambos porque en el mundo existen los dos tipos de prisa. Basta con elegir la herramienta que encaje con la tarea.
En resumen
En una línea: UDP se salta los acuses de recibo (ACK), envía los trozos rápido, uno tras otro, y sigue adelante sin reenviar aunque falten algunos.
Por eso encaja con lo que no puede llegar tarde, como los juegos, las videollamadas y las emisiones en directo. Si la precisión va primero, TCP; si la velocidad va primero, UDP. Dos acuerdos con fines distintos.
Cada vez que pulsas el botón aparece un punto clave más. (saltarse la comprobación → rápido, uno tras otro → seguir aunque falten algunos → para juegos, llamadas y emisiones) Cuando han salido los cuatro, el repaso termina.
Ahora ya conoces TCP y UDP: si importa la precisión, TCP; si importa la velocidad, UDP. Internet elige así el acuerdo que encaja con cada situación.
Pero una sola computadora tiene funcionando a la vez un navegador, una aplicación de mensajería y un juego. Cuando un trozo llega a la computadora gracias a su dirección, ¿a cuál de esos programas debe ir? La próxima lección responde a eso.