Introduction
The Simplex Stop-and-Wait Protocol for a Noisy Channel is a complicated protocol because it has many functions that needs to be performed. However, regardless of this reason it is also a very useful and successful protocol.
One of the main operations that this protocol does is by assigning a sequence number in the header of each frame that it sends to the receiver and using this number to establish whether a frame was lost and whether it needs to be resend.
We will be examining the process that this protocol entails by providing a diagram and an explanation of how the diagram (protocol) works.
Simplex stop-and-wait protocol for a noisy channel
Simplex stop-and-wait protocol for an error-free channel diagram explained
1. The Sender, which runs in the Data Link Layer of the source machine, fetch a packet from the Network Layer
2. An outbound frame is constructed
3. Sender remembers the next frame’s sequence number before entering the loop
4. The Sender then sends the frame to the Receiver
a. Check: If timer is already running then reset timer to allow full timer interval, else start the timer
b. When interval of timer has elapsed the Sender then assumes that the frame or acknowledgement from the Receiver has been lost and will resend the frame
5. The Sender Waits until an acknowledgement from the Receiver is received
a. The incoming acknowledgement can either be correct, damaged or the timer expired
6. The Receiver, which runs in the Data Link Layer of the destination machine, waits for a frame to arrive and remembers the sequence number of the next frame expected
a. Checksum: If sequence number of frame is a duplicate, then send acknowledgement of last correctly received frame to Sender
b. If sequence number of frame is not a duplicate, then follow next step
7. The
Bibliography: Tanenbaum , A. S. & Wehterall, D. J., 2014. Computer Networks. 5th International Edition ed. London: Pearson Prentice Hall.