Protocolo de ventana deslizante | Conjunto 2 (lado del receptor)

Consulte este artículo como requisito previo: Protocolo de ventana deslizante (lado del remitente) | serie 1

Sliding Window Protocol es en realidad un concepto teórico en el que solo hemos hablado de cuál debería ser el tamaño de la ventana del remitente (1+2a) para aumentar la eficiencia de detener y esperar arq. Ahora hablaremos sobre las implementaciones prácticas en las que nos ocupamos de cuál debería ser el tamaño de la ventana del receptor. Prácticamente se implementa en dos protocolos, a saber:

  1. Regresar N (GBN)
  2. Repetición selectiva (SR)

En este artículo, le explicaremos sobre el primer protocolo que es GBN en términos de tres características principales y en la siguiente parte hablaremos sobre SR y la comparación de estos dos protocolos.

Protocolo Go Back N (GBN)

Los tres principales rasgos característicos de GBN son:

  1. Tamaño de la ventana del remitente (WS)
    Es el propio N. Si decimos que el protocolo es GB10, entonces Ws = 10. N debe ser siempre mayor que 1 para implementar la canalización. Para N = 1, se reduce al protocolo Stop and Wait.
    Efficiency Of GBN = N/(1+2a)
    where a = Tp/Tt

    Si B es el ancho de banda del canal, entonces

    Effective Bandwidth or Throughput
     = Efficiency * Bandwidth
     = (N/(1+2a)) * B
  2. Tamaño de la ventana del receptor (WR)
    WR is always 1 in GBN.

    Ahora, lo que sucede exactamente en GBN, lo explicaremos con la ayuda de un ejemplo. Considere el diagrama que se presenta a continuación. Tenemos un tamaño de ventana de remitente de 4. Supongamos que tenemos muchos números de secuencia solo por el bien de la explicación. Ahora el remitente ha enviado los paquetes 0, 1, 2 y 3. Después de reconocer los paquetes 0 y 1, el receptor ahora espera el paquete 2 y la ventana del remitente también se ha deslizado para transmitir más los paquetes 4 y 5. Ahora suponga que el paquete 2 es perdido en la red, el receptor descartará todos los paquetes que el remitente haya transmitido después del paquete 2, ya que espera un número de secuencia de 2. En el lado del remitente, para cada paquete enviado, hay un temporizador de tiempo de espera que expirará para el paquete número 2. Ahora desde el último paquete transmitido 5, el remitente volverá al paquete número 2 en la ventana actual y transmitirá todos los paquetes hasta el paquete número 5.

  3. Agradecimientos
    Hay 2 tipos de agradecimientos, a saber:
    • Acuse de recibo acumulativo : se utiliza un acuse de recibo para muchos paquetes. La principal ventaja es que el tráfico es menor. Una desventaja es la menor confiabilidad, ya que si un acuse de recibo es la pérdida, eso significaría que todos los paquetes enviados se pierden.
    • Reconocimiento independiente : si cada paquete va a recibir reconocimiento de forma independiente. La confiabilidad es alta aquí, pero una desventaja es que el tráfico también es alto, ya que para cada paquete recibimos un acuse de recibo independiente.

    GBN utiliza acuse de recibo acumulativo . En el lado del receptor, inicia un temporizador de reconocimiento cada vez que el receptor recibe un paquete que es fijo y cuando expira, enviará un Ack acumulativo por la cantidad de paquetes recibidos en ese intervalo de temporizador. Si el receptor ha recibido N paquetes, el número de acuse de recibo será N+1. El punto importante es que el temporizador de reconocimiento no se iniciará después de que expire el primer temporizador, sino después de que el receptor haya recibido un paquete.
    El temporizador de tiempo de espera en el lado del remitente debe ser mayor que el temporizador de reconocimiento .

Relación entre los tamaños de ventana y los números de secuencia
Ya sabemos que los números de secuencia requeridos siempre deben ser iguales al tamaño de la ventana en cualquier protocolo de ventana deslizante.

Minimum sequence numbers required in GBN = N + 1
Bits Required in GBN = ceil(log2 (N + 1))

The extra 1 is required in order to 
avoid the problem of duplicate packets
as described below.

Ejemplo: Considere un ejemplo de GB4.

  • El tamaño de la ventana del remitente es 4, por lo tanto, requerimos un mínimo de 4 números de secuencia para etiquetar cada paquete en la ventana.
  • Ahora suponga que el receptor ha recibido todos los paquetes (0, 1, 2 y 3 enviados por el remitente) y, por lo tanto, ahora está esperando el número de paquete 0 nuevamente (no podemos usar 4 aquí ya que solo tenemos 4 números de secuencia disponibles ya que N = 4) .
  • Ahora suponga que el acuse de recibo acumulativo 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á las copias duplicadas de los paquetes aceptados anteriormente.
  • 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 siguientes ilustraciones.

Probando con los números de secuencia 4.

Ahora probando con un número de secuencia adicional.

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

En el próximo artículo, explicaremos la repetición selectiva y la comparación entre los 2 protocolos.

Este artículo es una contribución de Pranjul Ahuja . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *