¿Cuál es la diferencia entre TCP y UDP?
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 entregar (y recibir) un flujo de paquetes de información ordenados y con errores en la red. Las aplicaciones utilizan el Protocolo de datagramas de usuario (UDP) para entregar un flujo más rápido de información eliminando la verificación de errores. Al configurar algún hardware o software de red, es posible que necesite saber la diferencia.
Lo que tienen en común
Tanto TCP como UDP son protocolos utilizados para enviar bits de datos conocidos como paquetes a través de Internet. Ambos protocolos se construyen sobre el protocolo IP. En otras palabras, ya sea que esté enviando 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 los enrutadores intermedios y al destino.
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 y le solicita que le envíe la página web. El servidor web responde enviando una secuencia de paquetes TCP, que su navegador web une para formar la página web. Al hacer clic en un enlace, iniciar sesión, publicar un comentario o hacer cualquier otra cosa, su navegador web envía paquetes TCP al servidor y el servidor envía paquetes TCP nuevamente..
TCP tiene que ver con la confiabilidad: los paquetes enviados con TCP se rastrean para que no se pierdan o corrompan los datos en tránsito. Esta es la razón por la cual las descargas de archivos no se corrompen, incluso si hay problemas de red. Por supuesto, si el destinatario está completamente desconectado, su computadora se dará por vencida y verá un mensaje de error que indica que no se puede comunicar con el host remoto..
TCP logra esto de dos maneras. Primero, ordena los paquetes numerándolos. Segundo, verifica 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 hace 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 comprobación de errores. Todas las comunicaciones de ida y vuelta introducen la latencia, ralentizando las cosas.
Cuando una aplicación utiliza UDP, los paquetes se envían al destinatario. El remitente no espera para asegurarse de que el destinatario haya recibido 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 reenviará. Perder toda esta sobrecarga significa que los dispositivos pueden comunicarse más rápidamente.
UDP se usa cuando la velocidad es deseable y la corrección de errores no es necesaria. Por ejemplo, UDP se usa frecuentemente para transmisiones en vivo y juegos en línea.
Por ejemplo, digamos 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 viendo. Si pierde la conexión durante unos segundos, el video puede congelarse o ponerse nervioso por un momento y luego saltar al bit 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, puede parecer que los caracteres del jugador 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. Lo único que importa es lo que está sucediendo en este momento en el servidor del juego, no lo que sucedió hace unos segundos. La corrección de errores de Ditching TCP ayuda a acelerar la conexión del juego y reducir la latencia.
Y qué?
Si una aplicación utiliza TCP o UDP depende de su desarrollador, y la elección depende de lo que necesite una aplicación. La mayoría de las aplicaciones necesitan la corrección de errores y la robustez de TCP, pero algunas aplicaciones necesitan la velocidad y la reducción de los gastos generales de UDP. Si dispara una herramienta de análisis de red como Wireshark, puede ver los diferentes tipos de paquetes que viajan de un lado a otro.
A menos que sea un 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..