Consulta GBN

Consulta GBN

de Matias Nassi Correa -
Número de respuestas: 1

Hola, me surgió una duda haciendo algunas pruebas con el applet de Go-Back-N. Estaba intentando simular el mismo ejemplo que está en las diapositivas, es decir, inicialmente se envían todos los paquetes posibles para la ventan (5 en el caso del applet), y el paquete 2 se pierde. Adjunto una imagen para visualizar mejor el escenario, el paquete verde es el que está a punto de perderse.

Escenario ejemplo

El receptor, al llegarle los paquetes 0 y 1 envía los ACKS correspondientes, los cuales al llegar al emisor desplazan la ventana dos lugares y comienza el timer para el paquete 2. Por otro lado, cuando llegan al receptor los paquetes 4 y 5, el receptor los descarta porque no están en orden (se perdió el 2 intermedio) y envía ACK1 que es el último que le llegó en orden. Y acá viene la duda...¿Cuando llegar esos ACKs para los paquetes 4 y 5 al emisor no se supone que se debe reinciar el timer? Según el diagrama tanto del libro como de la diapositivas cada vez que llega un ACK y todavía hay paquetes no ACK-ed el timer se reinicia. Pero ni en ejemplo de las diapositivas ni en el applet se está reiniciando el timer cuando llegar estos ACKs (en la consola del applet no muestra Start Timer cuando llegan).

Imagino que esto puede variar entre implementaciones porque ambos enfoques cumplen los objetivos, con diferentes temporizaciones, pero se termina entregando todo y en órden. Pero solo me pareció raro que tanto el ejemplo que se presenta como el applet sigan una "implementación" diferente a la de la máquina de estados presentada.

Si alguien tiene idea de esto le agradezco me pueda aclarar la duda.

Saludos