Hola:
En la solución del problema, B retransmite mensajes D aunque en la letra se dice que Los mensajes D, una vez enviados, siempre son correctamente entregados. Buscando en los foros, ví que más gente tuvo la misma duda:
https://eva.fing.edu.uy/mod/forum/discuss.php?d=40908
En ese hilo se explica que es debido a que la letra no dice que los mensajes no puedan reordenarse dentro del canal. Pero si eso pudiera pasar, y teniendo en cuenta que el retardo del canal es desconocido y variable, podría ocurrir que apareciera un D0 de "primera generación" cuando el receptor esté esperando un D0 de "quinta generación", por ejemplo. De hecho, creo haber leído en el libro que los protocolos S&W funcionan con la hipótesis de que el canal no reordene mensajes. Es decir, que con solamente dos números de secuencia no habría manera de saber si A recibe el D0 correcto.
Entonces, si no entendí mal, me parece que podría darse una de estas dos situaciones:
1) Si el canal puede reordenar mensajes, habría que usar una rango lo suficientemente amplio de números de secuencia para que sean poco probables las repeticiones, de modo que habría que implementar una FSM extendida con variables para manejar esas secuencias.
2) Si el canal no reordena mensajes, entonces sería innecesario que B retransmita los mensajes D, porque A los recibirá a todos y en orden.
¿Se entiende la duda?