Una mirada al interior de los encabezados TCP y los encabezados UDP
Protocolo de Control de Transmisión y Protocolo de datagramas de usuario son dos protocolos de capa de transporte que se utilizan ampliamente con protocolo de Internet. Un protocolo es un conjunto de procedimientos y reglas que siguen dos computadoras para entenderse e intercambiar datos. Aunque TCP es el protocolo más utilizado de los dos, UDP es más útil en algunas situaciones.
Hallazgos generales
TCP
Garantiza que los datos lleguen tal como se envían.
Verifica errores en los flujos de datos.
Un encabezado de 20 bytes permite 40 bytes opcionales de datos de función.
Más lento que UDP.
Mejor para aplicaciones que requieren confiabilidad.
UDP
No hay garantía de que lleguen los datos.
No se proporciona verificación de errores.
Un encabezado de 8 bytes solo permite datos de función obligatorios.
Más rápido que TCP.
Mejor para aplicaciones que requieren velocidad.
Ambos protocolos enviar datos a través de Internet en paquetes. De los dos, TCP está orientado a la conexión. Una vez realizada la conexión, los datos viajan bidireccionalmente. UDP es un protocolo más simple que no tiene conexión.
TCP es más robusto que UDP. Proporciona funciones de corrección de errores y alta fiabilidad. UDP es más rápido que TCP, principalmente porque no proporciona corrección de errores. Además, TCP maneja el control de flujo, mientras que UDP no tiene una opción para el control de flujo.
Lo mejor para la confiabilidad: TCP
TCP
Entrega de datos garantizada.
Rastrea paquetes de datos.
Comprueba los paquetes en busca de errores.
Control de flujo.
Encabezados de 20 bytes con opción a más.
UDP
Sin garantía de entrega.
Los paquetes se pueden perder.
Sin control de flujo.
Los encabezados están limitados a 8 bytes.
TCP garantiza la entrega de datos al receptor. Si se pierde algún dato, TCP toma medidas para recuperar los datos perdidos y los reenvía. Para hacer esto, TCP rastrea los paquetes de datos y verifica los paquetes en busca de errores.
UDP no garantiza la entrega de datos. Además, los paquetes UDP se pueden perder en tránsito o dañarse.
Tanto TCP como UDP usan encabezados como parte del empaquetado de los datos del mensaje para su transferencia a través de conexiones de red. Debido a que TCP es el más robusto de los dos protocolos, su encabezado es más grande en 20 bytes con una opción para datos adicionales, mientras que los encabezados UDP tienen un tamaño limitado de 8 bytes.
Lo mejor para la velocidad: UDP
TCP
Lento porque realiza muchas funciones.
UDP
Rápido porque proporciona funciones limitadas.
Aunque TCP es confiable, es más lento que UDP, principalmente porque realiza más funciones. Los usuarios finales que requieren la velocidad más rápida posible, como los jugadores y las personas que trabajan con video, se benefician de UDP.
Lo mejor para el uso: depende del uso
TCP
Lo mejor para web, transferencia de archivos, correo electrónico y shell seguro.
UDP
Lo mejor para VPN, transmisión de video, VoIP, transmisiones en vivo y juegos en línea.
Debido a que TCP es confiable, es mejor en situaciones que requieren alta confiabilidad pero no exigen velocidad, como Internet, correo electrónico y FTP.
La velocidad de UDP lo hace más adecuado para juegos en línea, transmisiones en vivo, túneles VPN y transmisión de videos.
Formato de encabezado TCP
Cada encabezado TCP tiene 10 campos obligatorios que suman 20 bytes (160 bits) en tamaño. Opcionalmente, puede incluir un campo de datos adicional de hasta 40 bytes de tamaño.
8 bits equivalen a 1 byte.
Los encabezados TCP aparecen en la siguiente secuencia, comenzando con los puntos finales de comunicación de origen y destino:
- Número de puerto TCP de origen (2 bytes o 16 bits): el número de puerto TCP de origen representa el dispositivo de envío.
- Número de puerto TCP de destino (2 bytes o 16 bits): el número de puerto TCP de destino es el punto final de comunicación para el dispositivo receptor.
- Secuencia de números (4 bytes o 32 bits): los remitentes de mensajes utilizan números de secuencia para marcar el orden de un grupo de mensajes.
- Número de acuse de recibo (4 bytes o 32 bits): tanto los remitentes como los receptores utilizan el campo de números de acuse de recibo para comunicar los números de secuencia de los mensajes que se han recibido recientemente o que se espera que se envíen.
- Desplazamiento de datos TCP (4 bits): el campo de desplazamiento de datos almacena el tamaño total de un encabezado TCP en múltiplos de cuatro bytes. Un encabezado que no usa el campo opcional TCP tiene un desplazamiento de datos de 5 (que representa 20 bytes), mientras que un encabezado que usa el campo opcional de tamaño máximo tiene un desplazamiento de datos de 15 (que representa 60 bytes).
- Datos reservados (3 bits): los datos reservados en los encabezados TCP siempre tienen un valor de cero. Este campo alinea el tamaño total del encabezado como un múltiplo de cuatro bytes, lo cual es importante para la eficiencia del procesamiento de datos informáticos.
- Banderas de control (hasta 9 bits): TCP utiliza un conjunto de seis indicadores de control estándar y tres extendidos, cada uno de los cuales es un bit individual que representa Encendido o Apagado, para administrar el flujo de datos en situaciones específicas.
- Tamaño de ventana (2 bytes o 16 bits): los remitentes de TCP utilizan un número, llamado tamaño de ventana, para regular la cantidad de datos que envían a un receptor antes de requerir un acuse de recibo a cambio. Si el tamaño de la ventana es demasiado pequeño, la transferencia de datos de red es innecesariamente lenta. Si el tamaño de la ventana es demasiado grande, es posible que el enlace de red se sature o que el receptor no pueda procesar los datos entrantes con la suficiente rapidez, lo que resultará en un rendimiento lento. Los algoritmos de ventanas integrados en el protocolo calculan dinámicamente los valores de tamaño y utilizan este campo de encabezados TCP para coordinar los cambios entre remitentes y receptores.
- Suma de comprobación TCP (2 bytes o 16 bits): el suma de comprobación El valor dentro de un encabezado TCP es generado por el remitente del protocolo como una técnica matemática para ayudar al receptor a detectar mensajes que están corruptos o manipulados.
- Puntero urgente (2 bytes o 16 bits): el campo de puntero urgente a menudo se establece en cero y se ignora, pero junto con uno de las banderas de control, se puede utilizar como un desplazamiento de datos para marcar un subconjunto de un mensaje que requiere prioridad Procesando.
- Datos opcionales de TCP (0 a 40 bytes): los usos de datos TCP opcionales incluyen soporte para algoritmos especiales de reconocimiento y escalado de ventanas.
Formato de encabezado UDP
Debido a que UDP tiene una capacidad limitada en comparación con TCP, sus encabezados son más pequeños. Un encabezado UDP contiene 8 bytes, divididos en los siguientes cuatro campos obligatorios:
- Número de puerto UDP de origen (2 bytes): el número de puerto UDP de origen representa el dispositivo de envío.
- Número de puerto UDP de destino (2 bytes): el número de puerto UDP de destino es el punto final de comunicación para el dispositivo receptor.
- Longitud de los datos (2 bytes): el campo de longitud en UDP representa el tamaño total de cada datagrama, incluidos el encabezado y los datos. El valor de este campo varía desde un mínimo de 8 bytes (el tamaño de encabezado requerido) hasta tamaños superiores a 65.000 bytes.
- Suma de comprobación UDP (2 bytes): similar a TCP, una suma de comprobación UDP permite a los receptores verificar los datos entrantes en busca de bits corruptos del mensaje.
Veredicto final
Hay una razón por la que TCP es el protocolo más utilizado. Es robusto y confiable, y garantiza que los datos se reciban exactamente como se enviaron. Su flujo de información con verificación de errores puede ralentizarlo un poco, pero en la mayoría de los casos, el retraso no es un factor decisivo.
El momento en que UDP brilla más que TCP es cuando la velocidad es de importancia crítica, como en el transmisión de videos, VPN o Juego en linea.