See the download page to obtain this program
The protocol simulation shows a time-sequence diagram with transmitting and receiving protocol entities, and a communications medium that carries messages. The transmitter simply sends messages numbered DT(0), DT(1), etc. Once sequence numbers reach a maximum number (like 7), they wrap back round to 0. The content of messages is not explicitly identified. An acknowledgement AK(n) means that the DT message numbered n is the next one expected (i.e. all messages up to but not including this number have been received). Since sequence numbers wrap round, an acknowledgement with sequence number 1 refers to messages 0, 1, 7, 6, etc. Note that if a DT message is received again due to re-transmission, it is acknowledged but discarded.
The protocol has a maximum number of messages that can be sent without acknowledgement. If this window becomes full, the protocol is blocked until an acknowledgement is received for the earliest outstanding message. At this point the transmitter is clear to send more messages.
Up one level to Protocol Simulators