logo

Volver atrás N - Protocolo de ventana deslizante

Go-Back-N (GBN) es un protocolo ARQ de ventana deslizante que permite al remitente transmitir múltiples tramas (hasta un tamaño de ventana definido) sin esperar reconocimientos individuales.

edad de rihanna
  • Si un paquete se pierde o se daña, el remitente retransmite ese paquete y todos los paquetes posteriores en la ventana.
  • Ejemplo: si se envían los paquetes 1 a 5 y se pierde el paquete 3, se retransmiten los paquetes 3, 4 y 5.

Este mecanismo garantiza la confiabilidad, pero puede desperdiciar ancho de banda si se producen errores con frecuencia.

Los tres rasgos característicos principales de GBN son:



1. Tamaño de la ventana del remitente (W s )

Es el propio N. Si decimos que el protocolo es GB10, entonces Ws = 10. N siempre debe ser mayor que 1 para implementar la canalización. Para N = 1 se reduce a la Protocolo de parada y espera .

Eficiencia de GBN = N/(1+2a)

dónde

a = Tpag/Tt
tpag= Retraso de propagación
tt= Retraso de transmisión del remitente

¿Cuál será la eficiencia si el retraso en el procesamiento, el retraso en la cola y el retraso en la transmisión del acuse de recibo no es cero?

Eficiencia = N * (Tiempo útil) / (Tiempo total)

donde tiempo útil=Tt

Tiempo total = Tt+2*Tpag+Pr+ Pq + Tt(ack)

dónde

  • t t = Retraso de transmisión del lado del remitente
  • t pag = Retraso de propagación
  • pr = Retraso en el procesamiento
  • Pq= Retraso en la cola
  • t t (ack) = Retraso de transmisión del acuse de recibo

Si B es el ancho de banda del canal, entonces

Ancho de banda o rendimiento efectivo
= Eficiencia * Ancho de banda
= (N/(1+2a)) * B

2. Tamaño de la ventana del receptor (W R )

  • Siempre 1 en GBN.
  • El receptor sólo acepta el siguiente paquete esperado.
  • Los paquetes desordenados se descartan.

3. Agradecimientos

Los acuses de recibo (ACK) son señales enviadas por el receptor para confirmar la recepción exitosa de paquetes de datos. Garantizan una comunicación fiable entre el emisor y el receptor. Si no se recibe un ACK dentro de un tiempo establecido, el remitente asume que el paquete se perdió y lo retransmite.

Tipos de ACK

ACK acumulativo

  • Un único acuse de recibo confirma la recepción de todos los paquetes hasta cierto punto.
  • Ventaja: Menos tráfico (menos ACK).
  • Desventaja: Menos confiable si se pierde un ACK, varios paquetes aparecen sin reconocimiento.

ACK independiente

  • Cada paquete se reconoce individualmente.
  • Ventaja: Alta confiabilidad.
  • Desventaja: Mayor tráfico debido a más ACK.

Funcionamiento del protocolo GB-N

Enviando página

  • Mantiene una ventana de tamaño N (por ejemplo, tamaño de ventana GB4 = 4).
  • Puede enviar hasta N paquetes no reconocidos.
  • Cada paquete transmitido tiene un temporizador.
  • Si se recibe un ACK, la ventana se desliza hacia adelante.
  • Si se agota el tiempo de espera (por un paquete faltante), el remitente retransmite ese paquete y todos los siguientes en la ventana.

Lado del receptor

  • Mantiene un tamaño de ventana de 1 (WR = 1).
  • Acepta solo el paquete esperado en secuencia.
  • Si llega el paquete correcto: envía un ACK y pasa al siguiente número de secuencia esperado.
  • Si llega un paquete desordenado: lo descarta y reenvía ACK por el último paquete recibido correctamente.
Deslizante_SET_2-1' title=

Relación entre el tamaño de la ventana y los números de secuencia

El tamaño de ventana y números de secuencia en un protocolo de ventana deslizante como Go-Back-N o Selective Repeat están estrechamente relacionados.

  • El tamaño de ventana Determina cuántos paquetes puede transmitir el remitente sin necesidad de confirmación. Es como un límite en la cantidad de datos que se pueden enviar antes de que el remitente tenga que detenerse y esperar la confirmación.
  • Números de secuencia se utilizan para etiquetar paquetes para que el receptor conozca su orden y pueda detectar cualquier paquete faltante.

El tamaño de ventana debe ser menor o igual que el rango de disponibles números de secuencia . Si el tamaño de la ventana es demasiado grande en comparación con el rango de números de secuencia, el receptor podría confundirse porque el mismo número de secuencia podría reutilizarse antes de que se reconozca el primero. Esto haría difícil saber si un paquete es nuevo o un duplicado.

La relación entre el tamaño de la ventana y el número de secuencia viene dada por la fórmula:

ENs+ WR<= ASN

donde Wses el tamaño de la ventana del remitente y WRes el tamaño de la ventana del receptor y ASN es el número de secuencia disponible.

ENs+ 1<= ASN because WR= 1 en protocolo GB-N

Entonces, los números de secuencia mínimos requeridos en GBN = N + 1

Bits requeridos en GBN = ⌈ log2(N+1)⌉

El 1 adicional es necesario para evitar el problema de paquetes duplicados.

Ejemplo de Protocolo GB-N

Considere un ejemplo de GB4.

  • El tamaño de la ventana del remitente es 4, por lo que requerimos un mínimo de 4 números de secuencia para etiquetar cada paquete en la ventana.
  • Ahora supongamos que el receptor ha recibido todos los paquetes (0, 1, 2 y 3 enviados por el remitente) y, por lo tanto, ahora está esperando nuevamente el paquete número 0 (no podemos usar 4 aquí ya que solo tenemos 4 números de secuencia disponibles ya que N = 4).
  • Ahora supongamos que el reconocimiento acumulado de los 4 paquetes anteriores se pierde en la red.
  • En el lado del remitente habrá un tiempo de espera para el paquete 0 y, por lo tanto, los 4 paquetes se transmitirán nuevamente.
  • El problema ahora es que el receptor está esperando un nuevo conjunto de paquetes que deberían haber comenzado desde 0, pero ahora recibirá copias duplicadas de los paquetes aceptados previamente.
  • Para evitar esto necesitamos un número de secuencia adicional.
  • Ahora el receptor podría rechazar fácilmente todos los paquetes duplicados que comenzaban desde 0 porque ahora estará esperando el paquete número 4 (ahora hemos agregado un número de secuencia adicional).

Esto se explica con la ayuda de las ilustraciones siguientes. Probando con los números de secuencia 4.

Deslizante_SET_2-3' loading='lazy' title=

Ahora probando con un número de secuencia adicional.

conceptos básicos de compilación de ubuntu
Deslizante_SET_2-4' loading='lazy' title=

Ahora está claro por qué necesitamos 1 bit adicional en el protocolo GBN.

Ventajas del protocolo GBN

  • Simple de implementar y efectivo para una comunicación confiable.
  • Mejor rendimiento que los protocolos de parada y espera para redes sin errores o con pocos errores.

Desventajas del protocolo GBN

  • Ineficaz si los errores son frecuentes, ya que es posible que sea necesario retransmitir varias tramas innecesariamente.
  • Se puede desperdiciar ancho de banda debido a retransmisiones redundantes.
Crear cuestionario