TCP vs UDP

Oct 19, 2023   |   5 minutos
TCP vs UDP

Tabla de contenidos

¿Cuál es el protocolo?

Cuando las computadoras 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 originalmente propuso el concepto de estratificación, dividiendo la comunicación de red compleja 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:


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 datagrama de usuario) se considera un protocolo de transporte no confiable en comparación con el protocolo confiable de TCP. Aún así, proporciona uno de los mejores métodos de entrega utilizando los servicios de IP para hacer su trabajo.

En UDP, el receptor no genera un acuse de recibo del paquete y el remitente no espera la divulgación del paquete. Es esta falla la que hace que el protocolo sea poco confiable 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.

Establecer una conexión confiable entre las dos partes es necesario para enviar y recibir datos. 3 "apretones de manos" para establecer la relación, 4 "ondas" para desconectar la conexión, estableciendo 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 confiable durante la entrega. En cambio, se basa en protocolos de capa superior para garantizar la confiabilidad. 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.

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 una transmisión no confiable, entrega de datos lo más rápido 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.