Hay dos tipos de tráfico por Protocolo de Internet (IP, en inglés). Estos son TCP, que significa Transmission Control Protocol (Protocolo de Control de Transmisión) y UDP, que significa User/Universal Datagram Protocol (Protocolo Universal de Datos/de Usuario). TCP está orientado a conexiones, donde una vez establecida la conexión, la data se puede transmitir en ambas direcciones. UDP es un protocolo de Internet más sencillo, sin necesidad de conexiones. Con él se pueden enviar múltiples mensajes en grupos (paquetes) de data.

Tabla de comparación

TCP versus UDP Tabla de comparación
Edit this Tabla de comparaciónTCPUDP
Abreviatura de Transmission Control Protocol User Datagram Protocol o Universal Datagram Protocol
Conexión ICP es un protocolo orientado a conexiones UDP es un protocolo sin conexiones.
Función Se usa para enviar mensajes por Internet de una computadora a otra. Eso se hace por medio de conexiones virtuales. UDP se usa para transporte de mensajes y/o transferencias. Pero no está basada en conexiones, que significa que un programa puede enviar una carga de paquetes de data y hasta ahí llega esa relación.
Uso TCP es útil para aplicaciones que requieren confiabilidad alta y donde el tiempo de transmisión es menos crítico. UDP es útil para aplicaciones que necesitan transmisión rápida y efectiva. La capacidad de transferencia sin conexiones de UDP le hace útil para servidores que reciben una gran cantidad de peticiones pequeñas de un alto número de clientes.
Uso por otros protocolos HTTP, HTTPs, SMTP, Telnet DNS, DHCP, TFTP, SNMP, RIP, VoIP
Ordenar paquetes de data TCP reordena paquetes de data en el orden especificado UDP no tiene un orden inherente y los paquetes de data son independientes uno del otro. Si requieren un orden, esto se maneja a nivel de aplicación.
Velocidad de transferencia TCP es más lento que UDP UDO es más rápido porque no hace verificación de errores por paquete de data
Confiabilidad YCP ofrece una garantía absoluta de que la data transferida llegará intacta y en el mismo orden en que fue enviado No hay garantía de que los paquetes de data o mensajes lleguen
Tamaño del título TCP usa títulos de 20 bits UDP usa títulos de 8 bits
Campos comunes de títulos Puerto de origen, puerto de destino, "check sum" Puerto de origen, puerto de destino, "check sum"
Fluidez de data La data se lee como una secuencia de bits y no se transmiten indicadores para los límites de segmentos de los mensajes Los paquetes son enviados individualmente; se verifica su integridad sólo si llegan. Los paquetes tienen límites definidos que se honran al recibirse, que significa que la operación de "leer" para el recibidor emite el mensaje completo según envi
Peso TCP es pesado. Requiere tres paquetes para establecer una conexión antes de transmitir. TCP maneja confiabilidad y control de congestión. UDP es liviano, No hay ordenamiento de mensajes, conexiones de verificación, etc. Es un nivel pequeño de transporte sobre el protocolo de Internet (IP, en inglés).
Control de flujo de data TCP hace Control de Flujo. Requiere tres paquetes para establecer una conexión antes de transmitir. TCP maneja confiabilidad y control de congestión. UDP no tiene opción para Control de Flujo.
Verificación de errores TCP tiene verificación de errores UDP tiene verificación de errores, pero no tiene opciones para recuperar/corregir los mismos
Campos 1. Número de secuencia. 2. Número ACK. 3. Indice data. 4. Reservado. 5. Bit de control. 6. Ventana. 7, Indicador de urgencia. 8. Opciones. 9. Relleno. 10. Check Sum. 11. Puerto de origen. 12. Puerto de destino. 1. Largo. 2. Puerto de origen. 3. Puerto de destino. 4. Check Sum.
Reconocimiento Segmentos de reconocimiento No hace reconocimiento
"Handshake" (verifica conexión en 3 tiempos) SYN, SYN-ACK, ACK No hace esta verificación
Checksum Completo Para detectar errores

Diferencias en características de transferencia de data

TCP asegura una entrega ordenada y confiable de una serie de data del usuario al servidor y vice versa. UDP no está dedicado a conexiones de punto a punto y no verifica la disponibilidad del quien reciba la data.

Confiabilidad

TCP es más confiable porque maneja reconocer que se recibió el mensaje y retransmite las partes que se hayan perdido. Esto asegura que nunca se pierde data. UDP no verifica que la comunicación haya llegado porque no tiene los pasos de corroborar y retransmitir en su protocolo.

Ordenar

Las transmisiones por TCP se envían en secuencia y se reciben en la misma secuencia. En el caso de que parte de la data llegue fuera de orden. TCP reordena la data para completarla. En el caso de UDP, la secuencia del mensaje puede cambiar una vez llegue a su destino. No hay manera de predecir en qué orden llegará.

Conexión

TCP es una conexión pesada que requiere 3 paquetes para una conexión "socket" y maneja control de congestión y confiabilidad. UDP es una capa de transporte liviano diseñado para operar encima de protocolos del Internet. No hay conexiones de rastreo ni ordenamiento de mensajes.

Método de transferencia

TCP lee data como una secuencia y el mensaje se transmite en segmentos definidos. Los mensajes por UDP son paquetes de data que se envían individualmente y se verifica su integridad al llegar. Los paquetes tienen límites definidos mientras que la secuencia de data no los tiene.

Cómo trabajan TCP y UDP

Una conexión de TCP se establece en un vínculo de 3 tiempos ("3-way handshake"), que es un proceso de iniciar y verificar una conexión. Una vez se establece la conexión, puede comenzar la transferencia de data. Luego de la transferencia, la conexión se termina cerrando los circuitos virtuales establecidos.

UDP usa un modelo sencillo de transmisión sin vínculo ("handshake") implícito que garantice confiabilidad, orden o integridad de data. Por ello, UDP provee un servicio poco confiable y la data puede llegar fuera de orden, duplicada o incompleta sin que haya aviso. UDP asume que las correcciones y verificación de errores o no es necesario o se hace por medio de la aplicación activa, evitando usar recursos a nivel de la interfase de la red misma. A diferencia de TCP, UDP es compatible con transmisiones amplias de paquetes (envíos a todos los puntos de una red local) y multi-envíos (enviados a todos los suscriptores.)

Diferentes aplicaciones de TCP y UDP

Navegar la Internet, email y transferencia de archivos son aplicaciones comunes que hacen uso de TCP. TCP se usa para controlar los tamaños de los segmentos de data, el nivel de intercambio, el flujo y la congestión dentro de la red. TCP es preferido donde se requieren facilidades de corrección de errores a nivel de interfase de red. UDP se usa mayormente por aplicaciones sensitivas a tiempo al igual que servidores que respondes a pequeñas peticiones de un alto número de clientes. UDP es compatible con transmisiones amplias de paquetes--envíos a todos los puntos de una red local--y multi-envíos--enviados a todos los suscriptores. UDP es usado comúnmente en el Sistema de Nombres de Dominios, Voz sobre IP (VoIP, en inglés), el Protocolo de Transferencia de Archivos Triviales y juegos por Internet.

TCP vs. UDP para servidores de juegos

Para juegos masivos de múltiples jugadores por Internet (MMO, en inglés), los desarrolladores a menudo tiene que hacer una selección arquitectónica entre usar conexiones de UDP o de TCP. La ventaja de TCP estriba en conexiones persistentes, confiabilidad y el poder enviar paquetes de data de tamaños arbitrarios. El problema más grande con TCP en este escenario es que su algoritmo de control de congestión, que responde a paquetes perdidos como un problema de ancho de banda y automáticamente reduce el envío de paquetes. En redes de Wi-Fi o 3G, esto puede causar atrasos significativos. Christopher Lemó, un desarrollador con experiencia, pesó los pros y contras y recomienda los siguientes criterios para escoger si usar TCP o UDP para un juego:


Referencias

Comparte esta comparación:

Si usted lee este momento, usted debe seguirnos:

"TCP vs UDP." Diffen.com. Diffen LLC, n.d. Web. 9 Nov 2017. < >