TCP y UDP Explicación y Comparación

TCP y UDP: Explicación y Comparación

TCP y UDP
  • Protocolo TCP - 10/10
    10/10
  • Protocolo UDP - 10/10
    10/10
  • Comparación TCP y UDP - 10/10
    10/10
10/10

Resumen

Se explica la forma en que los procesos de establecimiento y finalización de sesión TCP promueven una comunicación confiable. También la forma en que se transmiten y se reconocen las unidades de datos del protocolo TCP para garantizar la entrega, así como los procesos de cliente UDP para establecer la comunicación con un servidor.

En el tema anterior, aprendiste que TCP y UDP son los dos protocolos de capa de transporte. Este tema brinda más detalles sobre lo que hace TCP y cuándo es una buena idea usarlo en lugar de UDP.

1. Protocolo TCP

Para comprender las diferencias entre TCP y UDP, es importante comprender cómo cada protocolo implementa funciones de confiabilidad específicas y cómo cada protocolo rastrea las conversaciones.

Además de admitir las funciones básicas de segmentación y reensamblado de datos, TCP también proporciona los siguientes servicios:

  • Establece una sesión: TCP es un protocolo orientado a la conexión que negocia y establece una conexión permanente (o sesión) entre los dispositivos de origen y destino antes de reenviar cualquier tráfico. A través del establecimiento de la sesión, los dispositivos negocian la cantidad de tráfico que se puede reenviar en un momento dado, y los datos de comunicación entre los dos se pueden administrar de cerca.
  • Garantiza una entrega confiable: por muchas razones, es posible que un segmento se corrompa o se pierda por completo, ya que se transmite a través de la red. TCP asegura que cada segmento que envía la fuente llega al destino.
  • Proporciona entrega en el mismo orden: dado que las redes pueden proporcionar múltiples rutas que pueden tener diferentes velocidades de transmisión, los datos pueden llegar en el orden incorrecto. Al numerar y secuenciar los segmentos, TCP garantiza que los segmentos se vuelvan a ensamblar en el orden correcto.
  • Admite control de flujo: los hosts de red tienen recursos limitados (es decir, memoria y potencia de procesamiento). Cuando TCP es consciente de que estos recursos están sobrecargados, puede solicitar que la aplicación de envío reduzca la velocidad del flujo de datos. Esto se hace mediante TCP que regula la cantidad de datos que transmite la fuente. El control de flujo puede evitar la necesidad de retransmitir los datos cuando los recursos del host receptor se ven desbordados.


Para obtener más información sobre TCP, busque en Internet el RFC 793.

1.1. Encabezado TCP

TCP es un protocolo con estado, lo que significa que realiza un seguimiento del estado de la sesión de comunicación. Para rastrear el estado de una sesión, TCP registra qué información ha enviado y qué información ha sido reconocida. La sesión con estado comienza con el establecimiento de la sesión y termina con la finalización de la sesión.

Un segmento TCP agrega 20 bytes (es decir, 160 bits) de sobrecarga al encapsular los datos de la capa de aplicación. La imagen muestra los campos en un encabezado TCP.

Encabezado TCP
Encabezado TCP

1.2. Campos de encabezado TCP

La tabla identifica y describe los diez campos en un encabezado TCP.

Campo de encabezado TCP Descripción
Puerto de origen Un campo de 16 bits utilizado para identificar la aplicación de origen por número de puerto.
Puerto de destino Un campo de 16 bits utilizado para identificar la aplicación de destino por número de puerto.
Secuencia de números Un campo de 32 bits utilizado para fines de reensamblado de datos.
Número de acuse de recibo Un campo de 32 bits utilizado para indicar que se han recibido datos y que se espera el siguiente byte de la fuente.
Longitud del encabezado Un campo de 4 bits conocido como “desplazamiento de datos” que indica la longitud del encabezado del segmento TCP.
Reservado Un campo de 6 bits que está reservado para uso futuro.
Bits de control Un campo de 6 bits utilizado que incluye códigos de bits o banderas, que indican el propósito y la función del segmento TCP.
Tamaño de ventana Un campo de 16 bits utilizado para indicar el número de bytes que se pueden aceptar a la vez.
Suma de comprobación Un campo de 16 bits utilizado para la verificación de errores del encabezado y los datos del segmento.
Urgente Un campo de 16 bits utilizado para indicar si los datos contenidos son urgentes.

1.3. Aplicaciones que usan TCP

TCP es un buen ejemplo de cómo las diferentes capas del conjunto de protocolos TCP/IP tienen roles específicos. TCP maneja todas las tareas asociadas con la división del flujo de datos en segmentos, proporcionando confiabilidad, controlando el flujo de datos y reordenando segmentos. TCP libera a la aplicación de tener que administrar cualquiera de estas tareas. Las aplicaciones, como las que se muestran en la figura, simplemente pueden enviar el flujo de datos a la capa de transporte y utilizar los servicios de TCP.

Aplicaciones que usan TCP
Aplicaciones que usan TCP

2. Protocolo UDP

UDP es un protocolo de transporte de mejor esfuerzo. UDP es un protocolo de transporte liviano que ofrece la misma segmentación y reensamblaje de datos que TCP, pero sin la confiabilidad de TCP y el control de flujo.

UDP es un protocolo tan simple que generalmente se describe en términos de lo que no hace en comparación con TCP.

Las características UDP incluyen lo siguiente:

  • Los datos se reconstruyen en el orden en que se reciben.
  • Los segmentos que se pierden no se vuelven a enviar.
  • No hay establecimiento de sesión.
  • El envío no está informado sobre la disponibilidad de recursos.

Para obtener más información sobre UDP, busque en Internet el RFC 768.

2.1. Encabezado UDP

UDP es un protocolo sin estado, lo que significa que ni el cliente ni el servidor rastrean el estado de la sesión de comunicación. Si se requiere confiabilidad cuando se usa UDP como protocolo de transporte, la aplicación debe manejarlo.

Uno de los requisitos más importantes para entregar video y voz en vivo a través de la red es que los datos continúen fluyendo rápidamente. Las aplicaciones de video y voz en vivo pueden tolerar cierta pérdida de datos con un efecto mínimo o nulo, y se adaptan perfectamente a UDP.

Los bloques de comunicación en UDP se denominan datagramas o segmentos. Estos datagramas se envían como el mejor esfuerzo por el protocolo de la capa de transporte.

El encabezado UDP es mucho más simple que el encabezado TCP porque solo tiene cuatro campos y requiere 8 bytes (es decir, 64 bits). La figura muestra los campos en un encabezado UDP.

Campos encabezado UDP
Campos encabezado UDP

2.2. Campos de encabezado UDP

La tabla identifica y describe los cuatro campos en un encabezado UDP.

Campo de encabezado UDP Descripción
Puerto de origen Un campo de 16 bits utilizado para identificar la aplicación de origen por número de puerto.
Puerto de destino Un campo de 16 bits utilizado para identificar la aplicación de destino por número de puerto.
Longitud Un campo de 16 bits que indica la longitud del encabezado del datagrama UDP.
Suma de comprobación Un campo de 16 bits utilizado para la verificación de errores del encabezado y los datos del datagrama.

2.3. Aplicaciones que usan UDP

Hay tres tipos de aplicaciones que son más adecuadas para UDP:

  • Aplicaciones de video y multimedia en vivo: estas aplicaciones pueden tolerar cierta pérdida de datos, pero requieren poco o ningún retraso. Los ejemplos incluyen VoIP y transmisión de video en vivo.
  • Aplicación simple de petición y respuesta: aplicaciones con transacciones simples en las que un host envía una solicitud y puede o no recibir una respuesta. Los ejemplos incluyen DNS y DHCP.
  • Aplicaciones que manejan la confiabilidad por sí mismas: comunicaciones unidireccionales donde el control de flujo, la detección de errores, los reconocimientos y la recuperación de errores no son necesarios o la aplicación puede manejarlos. Los ejemplos incluyen SNMP y TFTP.

La figura identifica las aplicaciones que requieren UDP.

Aplicaciones que usan UDP
Aplicaciones que usan UDP

Aunque DNS y SNMP usan UDP por defecto, ambos también pueden usar TCP. DNS utilizará TCP si la solicitud de DNS o la respuesta de DNS son más de 512 bytes, como cuando una respuesta de DNS incluye muchas resoluciones de nombre. De manera similar, en algunas situaciones, el administrador de red puede querer configurar SNMP para usar TCP.

Glosario: Si tienes dudas con algún término especial, puedes consultar este diccionario de redes informáticas.

¡Listo! Sigue visitando nuestro blog de curso de redes, dale Me Gusta a nuestra fanpage; y encontrarás más herramientas y conceptos que te convertirán en todo un profesional de redes.