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

conmutador de red

Probablemente haya visto referencias a TCP y UDP al configurar el reenvío de puertos en un enrutador o al configurar el software de firewall. Estos dos protocolos se utilizan para diferentes tipos de datos.

TCP / IP es un conjunto de protocolos que utilizan los dispositivos para comunicarse a través de Internet y la mayoría de las redes locales. Lleva el nombre de dos de sus protocolos originales: el Protocolo de control de transmisión (TCP) y el Protocolo de Internet (IP). TCP proporciona a las aplicaciones una forma de enviar (y recibir) un flujo de paquetes de información ordenado y con verificación de errores a través de la red. Las aplicaciones utilizan el Protocolo de datagramas de usuario (UDP) para entregar un flujo de información más rápido al eliminar la verificación de errores. Al configurar algún hardware o software de red, es posible que deba conocer la diferencia.

Qué tienen en común

Tanto TCP como UDP son protocolos que se utilizan para enviar bits de datos, conocidos como paquetes, a través de Internet. Ambos protocolos se basan en el protocolo IP. En otras palabras, ya sea que envíe un paquete a través de TCP o UDP, ese paquete se envía a una dirección IP . Estos paquetes se tratan de manera similar, ya que se reenvían desde su computadora a enrutadores intermediarios y luego al destino.

diferencia-de-router-entre-tcp-y-udp

TCP y UDP no son los únicos protocolos que funcionan sobre IP. Sin embargo, son los más utilizados.

Cómo funciona TCP

TCP es el protocolo más utilizado en Internet.

Cuando solicita una página web en su navegador, su computadora envía paquetes TCP a la dirección del servidor web, pidiéndole que le envíe la página web. El servidor web responde enviando un flujo de paquetes TCP, que su navegador web une para formar la página web. Cuando hace clic en un enlace, inicia sesión, publica un comentario o hace cualquier otra cosa, su navegador web envía paquetes TCP al servidor y el servidor devuelve los paquetes TCP.

TCP tiene que ver con la confiabilidad: los paquetes enviados con TCP se rastrean para que no se pierdan ni corrompan datos en tránsito. Esta es la razón por la que las descargas de archivos no se corrompen incluso si hay problemas en la red. Por supuesto, si el destinatario está completamente desconectado, su computadora se rendirá y verá un mensaje de error que le indica que no puede comunicarse con el host remoto.

TCP logra esto de dos maneras. Primero, ordena los paquetes numerándolos. En segundo lugar, verifica los errores haciendo que el destinatario envíe una respuesta al remitente diciendo que ha recibido el mensaje. Si el remitente no obtiene una respuesta correcta, puede reenviar los paquetes para asegurarse de que el destinatario los reciba correctamente.

Process Explorer y otras utilidades del sistema pueden mostrar el tipo de conexiones que realiza un proceso; aquí podemos ver el navegador Chrome con conexiones TCP abiertas a una variedad de servidores web.

Cómo funciona UDP

El protocolo UDP funciona de manera similar a TCP, pero elimina todas las cosas de verificación de errores. Toda la comunicación de ida y vuelta introduce latencia , ralentizando las cosas.

Cuando una aplicación usa UDP, los paquetes simplemente se envían al destinatario. El remitente no espera para asegurarse de que el destinatario recibió el paquete, simplemente continúa enviando los siguientes paquetes. Si el destinatario pierde algunos paquetes UDP aquí y allá, simplemente se pierden; el remitente no los volverá a enviar. Perder toda esta sobrecarga significa que los dispositivos pueden comunicarse más rápidamente.

UDP se utiliza cuando la velocidad es deseable y la corrección de errores no es necesaria. Por ejemplo, UDP se usa con frecuencia para transmisiones en vivo y juegos en línea.

Por ejemplo, supongamos que está viendo una transmisión de video en vivo, que a menudo se transmite usando UDP en lugar de TCP. El servidor simplemente envía un flujo constante de paquetes UDP a las computadoras que están mirando. Si pierde la conexión durante unos segundos, el video puede congelarse o ponerse nervioso por un momento y luego saltar a la parte actual de la transmisión. Si experimenta una pérdida de paquetes menor, el video o el audio pueden distorsionarse por un momento mientras el video continúa reproduciéndose sin los datos faltantes.

Esto funciona de manera similar en los juegos en línea. Si pierde algunos paquetes UDP, los personajes del jugador pueden parecer que se teletransportan a través del mapa a medida que recibe los paquetes UDP más nuevos. No tiene sentido solicitar los paquetes antiguos si los perdiste, ya que el juego continúa sin ti. Todo lo que importa es lo que está sucediendo ahora mismo en el servidor del juego, no lo que sucedió hace unos segundos. Eliminar la corrección de errores de TCP ayuda a acelerar la conexión del juego y reducir la latencia.

juego-de-pc-team-fortress-2-usando-udp

¿Y qué?

Si una aplicación usa TCP o UDP depende de su desarrollador, y la elección depende de lo que necesite la aplicación. La mayoría de las aplicaciones necesitan la corrección de errores y la solidez de TCP, pero algunas aplicaciones necesitan la velocidad y la reducción de la sobrecarga de UDP. Si activa una herramienta de análisis de red como Wireshark , puede ver los diferentes tipos de paquetes viajando de un lado a otro.

A menos que sea administrador de red o desarrollador de software, esto no debería afectarle demasiado. Si está configurando su enrutador o software de firewall y no está seguro de si una aplicación usa TCP o UDP, generalmente puede seleccionar la opción «Ambos» para que su enrutador o firewall aplique la misma regla al tráfico TCP y UDP.