Introduction to Networking

Flow Control of Noisy Channel

For Flow Control of a 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 for the 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 the receiver, the sender understands that the receiver is ready to accept the next frame, and then it transmits the next frame.

All possible scenarios of this protocol are explained under

What is more important in Stop and Wait ARQ is that it uses the timer. If the acknowledgment is not received in some period of time, then timer-out, and the 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 the sliding window, both sender and receiver agree on the number of data frames after which the acknowledgment signal should be sent. So, the sender and receiver can interchange multiple frames without acknowledgment. It receives the frames in the sequence of IN-ORDER. The sliding window follows the rule of pipelining.

It has two types

I. Go Back to 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 the sender.
  • When the sending buffer is full, it waits for acknowledgment, which will be received after the receiving buffer is full.
  • If the acknowledgment of a frame is not received within an agreed period of time, then all frames in the current window are retransmitted.

Note: In go back N, the N is the window size

Example

For example, suppose there are 11 frames required for transmitting, and the 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’s 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 waits for ACK from the receiver of the first frame (i.e., 0).

Step 3: After receiving the ACK, the Sliding window moves one position next and transmits frame 4, and frame No.4 is transmitted.

Step 4: After transmission of frame No.4, Sender waits for ACK from the receiver of the Second frame (i.e., 1).

Step 5: After receiving ACK for Frame No.1, the, the Sender transmits 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 require retransmitting.

Suppose the following situation where ACK of frame No 2 is lost. At this time, the sliding window holds frames No 2, 3, 4, and 5.

All these frames (2, 3, 4, and 5) are retransmitted even though frames 4 and 5 have already been transmitted.

 II. Selective Repeat ARQ

It works 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 be re-transmitted.

As the NACK of frame No.2 is received, only the damaged frame no 2 is re-transmitted.

So, it is the solution of GO Back N, where correct frames were also retransmitted. The following diagram explains all.