Fundamentos de los Protocolos de Transporte: UDP y TCP en Redes de Datos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 126,61 KB
Protocolos Fundamentales de la Capa de Transporte: UDP y TCP
Suma de Comprobación UDP: Detección de Errores
La suma de comprobación UDP proporciona un mecanismo esencial para la detección de errores. Su principal función es determinar si los bits de un segmento UDP han sido alterados durante su tránsito desde el origen hasta el destino.
Funcionamiento en Emisor y Receptor
- En el Emisor: UDP calcula el complemento a uno de la suma de todas las palabras de 16 bits del segmento. El resultado de esta operación se inserta en el campo de suma de comprobación del encabezado del segmento UDP.
- En el Receptor: Se suman las cuatro palabras de 16 bits del segmento junto con la suma de comprobación recibida. Si no se han producido errores durante la transmisión del paquete, la suma resultante en el receptor será una secuencia de todos unos (es decir, 1111...1111 en binario). Si cualquier bit de esta suma es un 0, se detecta inmediatamente la existencia de un error en el paquete.
Protocolo de Control de Transmisión (TCP): Conexión y Fiabilidad
El Protocolo de Control de Transmisión (TCP) se caracteriza por ser un protocolo orientado a conexión. Esto significa que, antes de que dos procesos de aplicación puedan iniciar el intercambio de datos, deben establecer un acuerdo o conexión previa. Durante este proceso, ambos extremos de la conexión inicializan diversas variables de estado TCP asociadas a la misma.
Una conexión TCP ofrece una transferencia de datos full-dúplex, lo que implica que el flujo de datos es bidireccional y simultáneo a través de la misma conexión. Además, TCP es siempre punto a punto, es decir, se establece entre un único emisor y un único receptor, lo que imposibilita la multidifusión (multicast) con TCP. Su naturaleza orientada a conexión se manifiesta en el procedimiento de establecimiento, conocido como apretón de manos de tres vías (three-way handshake), debido al número de segmentos intercambiados.
La cantidad máxima de datos que puede ser encapsulada en un segmento TCP está limitada por el Tamaño Máximo de Segmento (MSS).
Transferencia de Datos Fiable en TCP
TCP construye un servicio de transferencia de datos fiable sobre el servicio no fiable proporcionado por IP. Existen tres eventos principales que desencadenan acciones de transmisión y retransmisión en un emisor TCP:
- La recepción de datos desde la capa de aplicación.
- El vencimiento de un temporizador.
- La recepción de un segmento de acuse de recibo (ACK).
Eventos Clave en la Transmisión y Retransmisión
- Datos Recibidos de la Capa de Aplicación:
- Se crea un segmento TCP con un número de secuencia. Este número de secuencia corresponde al número del primer byte de datos del segmento dentro del flujo de bytes total.
- Se inicia un temporizador si no estaba ya en ejecución. Este temporizador está asociado al segmento no reconocido más antiguo.
- El intervalo de caducidad del temporizador es dinámico y se ajusta para optimizar el rendimiento.
- Fin de Temporización (Timeout):
- El emisor retransmite el segmento que causó el vencimiento del temporizador.
- Se reinicia el temporizador para el segmento retransmitido.
- Recepción de un ACK:
- Si el ACK recibido reconoce segmentos que previamente no habían sido reconocidos (unACKed), el emisor actualiza su información sobre los segmentos reconocidos.
- Si aún quedan segmentos no reconocidos, se inicia o reinicia el temporizador para el segmento no reconocido más antiguo.
Retransmisión Rápida: Optimización del Rendimiento
Uno de los inconvenientes de las retransmisiones basadas en el vencimiento del temporizador es que el periodo de espera puede ser considerable. Para mitigar esto, el emisor TCP puede detectar la pérdida de paquetes mucho antes de que el temporizador expire, gracias a la retransmisión rápida. Un ACK duplicado es un acuse de recibo que el emisor recibe por un segmento para el cual ya había recibido un reconocimiento previo. La recepción de múltiples ACK duplicados (típicamente tres) es una fuerte indicación de que un segmento se ha perdido, lo que permite al emisor retransmitirlo sin esperar al timeout.
Control de Flujo TCP: Prevención de Desbordamientos
TCP proporciona un servicio de control de flujo a sus aplicaciones para evitar que el emisor sature o desborde el búfer del receptor. Este mecanismo actúa como un servicio de equiparación de la velocidad entre el emisor y el receptor. Es importante destacar que un emisor TCP también puede ser regulado por la congestión dentro de la red IP, un mecanismo conocido como control de congestión.
El control de flujo en TCP se implementa mediante una variable que el emisor mantiene, denominada ventana de recepción (receive window). Esta ventana de recepción informa al emisor sobre la cantidad de espacio libre disponible en el búfer del receptor, permitiéndole ajustar la tasa de envío de datos.