TCP vs UDP

Oct 19, 2023

¿Cuál es el protocolo?

Cuando los ordenadores se comunican con dispositivos de red, al igual que las personas se comunican entre sí, necesitan usar el mismo idioma para garantizar una comunicación fluida.

Las reglas, como cómo iniciar la comunicación, qué idioma usar y cómo finalizar la comunicación, deben determinarse de antemano. Además, estos métodos de comunicación deben seguir una regla llamada protocolo.

TCP/IP es el nombre general de varios protocolos relacionados con Internet, como TCP, UDP, IP, FTP, HTTP y ICMP.

TCP/IP fue inventado en la década de 1970. TCP/IP propuso originalmente el concepto de estratificación, dividiendo la compleja comunicación de red en múltiples capas, cada una con diferentes responsabilidades, de modo que cuando ocurre un problema en una capa, solo se necesita resolver el problema en esa capa, en lugar de cambiar todo el sistema.

Mejorar significativamente la gestión y el mantenimiento del entorno de comunicación de la red. El protocolo tiene cuatro capas, cada una de las cuales está interrelacionada, cada una de las cuales necesita el soporte de la capa inferior y admite la capa superior.

En ese momento, había muchos otros protocolos de red. El OSI (Modelo de Referencia de Interconexión de Sistemas Abiertos) es un modelo de protocolo jerárquico de red más unificado. OSI hizo referencia a varios protocolos, como TCP/IP, al comienzo de su diseño, lo que lo hizo relativamente fácil de implementar la correspondencia.

El modelo OSI tiene siete capas, algunas de las cuales son muy similares a TCP/IP:

the osi model

En la capa de transporte, no se pueden ignorar dos protocolos, a saber, TCP y UDP. ¿Cuáles son las diferencias entre ellos y cómo debemos elegir?

¿Cómo funciona TCP?

Como mencionamos anteriormente, el propósito principal de la estratificación de protocolos es dividir las responsabilidades de cada capa. Por ejemplo, TCP (Protocolo de Control de Transmisión) es un protocolo de capa de transporte que permite la transmisión de datos de un dispositivo digital a otro. La tarea principal de TCP es recopilar datos de la capa de aplicación. Luego, divide los datos en paquetes, asigna un número a cada paquete y envía los paquetes al destino.

TCP es un protocolo confiable. El receptor siempre envía al remitente un mensaje de confirmación sobre el paquete de datos. Mientras tanto, el remitente siempre sabe si el paquete ha llegado al otro lado. La solicitud se devuelve si hay una falla en la transferencia de información durante el proceso de transferencia.

Reensambla los paquetes antes de enviarlos a la capa de aplicación. Dado que TCP es un protocolo orientado a la conexión, la conexión se mantiene hasta que el remitente y el receptor hayan terminado la transmisión de datos.

¿Cómo funciona UDP?

UDP (protocolo de datagramas de usuario) se considera un protocolo de transporte no confiable en comparación con el protocolo confiable de TCP. Aun así, proporciona uno de los mejores métodos de entrega utilizando los servicios de IP para realizar su trabajo.

En UDP, el receptor no genera un acuse de recibo del paquete, y el emisor no espera la confirmación del paquete. Es esta falla la que hace que el protocolo sea poco fiable pero manejable.

Si el reconocimiento de los datos recibidos no es tan importante, en este caso, utilizamos UDP. Es adecuado para una situación de flujo de datos unidireccional y es el más adecuado para la comunicación basada en consultas.

UDP no garantiza que los paquetes se envíen de forma secuencial. Es un protocolo sin estado y no proporciona ningún mecanismo de control de congestión.

¿Cuáles son las diferencias entre TCP y UDP?

Podemos ver las diferencias entre TCP/UDP desde estos aspectos:

Conectividad

TCP es un protocolo orientado a la conexión. Dado que utilizamos este protocolo en conjunto con el protocolo IP, generalmente se le llama TCP/IP.

El envío y recepción de datos deben establecer una conexión confiable entre las dos partes. 3 «apretones de manos» para establecer la relación, 4 «ondas» para desconectar la conexión, sentando así una base confiable para la transmisión de datos.

Se ha establecido una buena conexión antes de que comience la transmisión de datos, y el receptor aceptará los paquetes de datos de manera ordenada para garantizar la precisión de los datos.

UDP es un protocolo sin conexión. Antes de la transmisión de datos, el remitente y el receptor de datos no establecen una conexión. En su lugar, el remitente transmite datos a la red más rápidamente y el receptor lee segmentos de mensajes de la cola de mensajes. Dado que el remitente y el receptor no tienen una buena conexión, el receptor recibe paquetes desordenados.

Confiabilidad

TCP proporciona servicios de transporte confiables, asegurando la confiabilidad y el orden de recepción de datos. Se utilizan muchos métodos en el proceso de transmisión para garantizar servicios de transmisión confiables en la conexión, como numeración y reconocimiento, control de flujo, temporizadores, etc., para asegurar que los datos estén libres de errores, perdidos, repetidos y lleguen en secuencia. Si la transmisión falla, solicitará una retransmisión.

UDP no garantiza una entrega fiable durante la entrega. En cambio, depende de protocolos de capa superior para garantizar la fiabilidad. Los métodos de transmisión desordenados y no precisos son más adecuados para algunos requisitos que no requieren una alta corrupción de datos.

¿Cómo elegir TCP y UDP?

Debido a las ventajas y desventajas de los protocolos TCP y UDP, podemos elegir el protocolo más adecuado para satisfacer diferentes necesidades.

tcp vs udp

El protocolo TCP es confiable, agregando mecanismos complejos como el checksum, la identificación de números de serie, la ventana deslizante, la respuesta de confirmación, el control de congestión, etc., estableciendo un proceso de handshake tedioso y aumentando el consumo de recursos del sistema por TCP. Por lo tanto, hay un efecto de retraso particular en la transmisión de datos, lo que reduce la eficiencia de transmisión.

TCP es adecuado para aplicaciones típicas que requieren baja eficiencia de transmisión pero alta precisión, como el HTTPS (Protocolo seguro de transferencia de hipertexto), HTTP (Protocolo de transferencia de hipertexto), SMTP (Protocolo simple de transferencia de correo) y FTP (Protocolo de transferencia de archivos), etc.

UDP es sin conexión, tiene transmisión no fiable, entrega de datos lo antes posible, protocolo simple, menos requisitos de recursos, velocidad de transmisión rápida y alto rendimiento en tiempo real. Por lo tanto, es adecuado para aplicaciones típicas que requieren alta eficiencia de transmisión pero baja precisión. Se utiliza para la transmisión de video, videotelefonía, servicios de voz sobre IP (llamadas por Internet), DNS (Sistema de Nombres de Dominio), etc.