Flow Control of Noisy Channel
For Flow Control of Noisy channel, we assume a non ideal channel where frames are lost, corrupted, or duplicated. There are two Protocols in flow control for noisy channels are
1. Stop and Wait ARQ) protocol
- The sender sends a frame and waits for acknowledgment. Once the receiver receives the frame, it sends an acknowledgment frame back to the sender.
- On receiving the acknowledgment frame from receiver, the sender understands that the receiver is ready to accept the next frame then it transmits the next frame.
All possible scenarios of this protocol are explain under
More important in Stop and wait ARQ is that, it uses the timer. If the acknowledgment does not receive in some period of time then timer-out and sender again retransmit that frame.
The concept of timer is not used in Stop and wait of Noiseless channel protocols.
2. Sliding Window ARQ Protocol
In sliding window, both sender and receiver are agreed on the number of data-frames after which the acknowledgement signal should be sent. So, sender and receiver can interchange multiple frames without acknowledgement. It receive the frames in the sequence of IN-ORDER. Sliding window follows the rule of pipelining.
It has the two types
I. Go Back N
- Both the sender and the receiver have finite sized buffers which is called window size.
- The number of frames to be sent depends upon the window size of sender.
- When sending-buffer is full, then it waits for acknowledgment which will receive after the receiving buffer is full.
- If the acknowledgement of a frame is not received with in agreed period of time, then all frames in current window are retransmitted.
Note: In go back N, the N is the window size
For example, suppose there are 11 frames required transmitting and sender window size is 4 (22 bits) then the sequence number will be 0,1,2,3, 0,1,2,3, 0, 1 and 2. The number of bits in sequence number is 2 to generate the binary sequence 00, 01, 10, 11.
Let explain this example through the following steps
Step 1: 11 frames (0-10), window size, sender and receiver are shown below
Step 2: After sending all frames equal to window size, Sender wait for ACK from receiver of first frame (i.e. 0).
Step 3: After receiving the ACK the Sliding window moves one position next and transmit frame 4 and frame No.4 is transmitted.
Step 4: After transmission of frame No.4, Sender waits for ACK from receiver of Second frame (i.e. 1).
Step 5: After receiving ACK for Frame No.1 Sender transmit the Next frame No.5 by moving the sliding window one position next and so on.
Problem with GO BACK N
Successfully transmitted frames may be requiring retransmitting.
Suppose the following situation where ACK of frame No 2 is lost. At this time, the sliding window holds the frame No 2, 3, 4 and 5.
All these frames (2, 3, 4 and 5) are retransmitted even though the frame No 4 and 5 are already transmitted.
II. Selective Repeat ARQ
It work just like GO BACK N ARQ but In Selective repeat ARQ only the lost frames are retransmitted, while the correct frames are not re-transmitted.
It sends the negative ACK for missing or damaged frames. So, that it can re-transmitted.
As the NACK of frame No.2 is received the only the damage frame no 2 is re-transmitted.
So it is solution of GO Back N where correct frames were also retransmitted. Following diagram explain all