Control de Flujo y Errores en Redes: Técnicas y Protocolos

Clasificado en Informática

Escrito el en español con un tamaño de 4,28 KB

Control de Flujo en Redes de Datos

El control de flujo es un mecanismo esencial en las redes de datos que previene la saturación del receptor cuando el emisor transmite a una velocidad mayor. Es crucial para evitar la saturación de los búferes y optimizar el uso del medio de transmisión.

  • Tiempo de transmisión: Tiempo necesario para transmitir todos los bits de un mensaje al medio.
  • Tiempo de propagación: Tiempo que tarda un bit en atravesar el medio de transmisión.

Parada y Espera (Stop and Wait)

En el protocolo Stop and Wait, el emisor envía un frame y espera una confirmación (ACK) del receptor antes de enviar el siguiente. Si no se recibe el ACK, el emisor detiene el flujo.

Fragmentación

La fragmentación divide un mensaje en frames más pequeños. Esto es beneficioso por varias razones:

  • Permite el uso de búferes de tamaño limitado.
  • Facilita el manejo de errores.
  • Evita la ocupación prolongada del medio de transmisión.

Sin embargo, la fragmentación no es adecuada para implementarse con Stop and Wait.

Ventana Deslizante

El protocolo de ventana deslizante permite la transmisión simultánea de varios frames. El receptor debe tener un búfer de longitud L, y el emisor puede enviar hasta L frames sin recibir ACK. Cada frame tiene un número de secuencia que se utiliza en el ACK y está relacionado con L. Si el receptor no está listo, no envía ACK. En conexiones full-duplex, se utiliza piggybacking, donde el ACK se envía junto con la información que circula en sentido receptor-emisor. Si no hay información que transmitir, se envía solo el ACK.

Detección de Errores en la Transmisión de Datos

La detección de errores se realiza mediante el envío de bits de redundancia.

Paridad

Los bits de paridad permiten verificar si la cantidad de unos binarios en un frame es par o impar. Si la cantidad de unos no coincide con la paridad utilizada, se ha producido un error.

Chequeo de Redundancia Cíclica (CRC)

El CRC es un método de detección de errores basado en operaciones polinómicas.

Control de Errores en la Transmisión de Datos

La transmisión de datos se realiza mediante tramas, y cada una puede sufrir un retardo arbitrario. Los problemas comunes incluyen:

  • Trama perdida: La trama no llega a su destino, por ejemplo, debido a errores de ráfagas.
  • Trama dañada: La trama llega, pero con bits alterados.

Las técnicas para el control de errores se basan en:

  • Detección de errores.
  • Confirmación positiva (ACK).
  • Retransmisión después de un intervalo de tiempo (time out).
  • Confirmación negativa y retransmisión (NACK).

Estos mecanismos se conocen como ARQ (Solicitud de Repetición Automática). El objetivo es convertir un enlace inseguro en uno seguro. Existen diferentes variantes de ARQ:

  • ARQ con Stop and Wait.
  • ARQ con Vuelta Atrás-N.
  • ARQ con Rechazo Selectivo.

Stop and Wait

En Stop and Wait, el origen transmite un solo paquete y espera el ACK. Si el receptor recibe un frame dañado, lo descarta. Si se produce un time out en el emisor, se retransmite el paquete. Si se daña o pierde el ACK, el emisor repite el paquete, utilizando ACK0 y ACK1 para diferenciar los paquetes.

Vuelta Atrás-N

Vuelta Atrás-N se utiliza en el protocolo de ventana deslizante. Si se produce un error, se retransmite desde el paquete erróneo en adelante. El receptor descarta todos los paquetes recibidos después del erróneo, garantizando el orden de los paquetes.

Rechazo Selectivo

En Rechazo Selectivo, solo se retransmiten los frames dañados. Los frames correctos que siguen al dañado son aceptados por el receptor. Esto minimiza las retransmisiones, pero requiere un búfer mayor en el receptor y un algoritmo más complejo para mantener el orden.

Entradas relacionadas: