Tag: Go back N Protocol

Go back N | Sliding Window Protocol

Sliding Window Protocol-


Before you go through this article, make sure that you have gone through the previous article on Sliding Window Protocol.


The two well known implementations of sliding window protocol are-



  1. Go back N Protocol
  2. Selective Repeat Protocol


In this article, we will discuss about Go back N protocol.


Go back N Protocol-


Go back N protocol is an implementation of a sliding window protocol.

The features and working of this protocol are explained in the following points-




In Go back N, sender window size is N and receiver window size is always 1.


In Go back N,

  • Sender window size = N. Example in Go back 10, sender window size will be 10.
  • Receiver window size is always 1 for any value of N.




Go back N uses cumulative acknowledgements.


In Go back N,

  • Receiver maintains an acknowledgement timer.
  • Each time the receiver receives a new frame, it starts a new acknowledgement timer.
  • After the timer expires, receiver sends the cumulative acknowledgement for all the frames that are unacknowledged at that moment.




  • A new acknowledgement timer does not start after the expiry of old acknowledgement timer.
  • It starts after a new frame is received.




Go back N may use independent acknowledgements too.


  • The above point does not mean that Go back N can not use independent acknowledgements.
  • Go back N may use independent acknowledgements too if required.
  • The kind of acknowledgement used depends on the expiry of acknowledgement timer.




  • Consider after the expiry of acknowledgement timer, there is only one frame left to be acknowledged.
  • Then, Go back N sends the independent acknowledgement for that frame.




Go back N does not accept the corrupted frames and silently discards them.


In Go back N,

  • If receiver receives a frame that is corrupted, then it silently discards that frame.
  • The correct frame is retransmitted by the sender after the time out timer expires.
  • Silently discarding a frame means-

“Simply rejecting the frame and not taking any action”

(like not sending a NACK to the sender to send the correct frame)




Go back N does not accept out of order frames and silently discards them.


In Go back N,

  • If receiver receives a frame whose sequence number is not what the receiver expects, then it silently discards that frame.
  • All the following frames are also discarded.
  • This is because receiver window size is 1 and therefore receiver┬ácan not accept out of order frames.




Go back N leads to retransmission of entire window if for any frame, no ACK is received by the sender.


In Go back N,

  • Receiver silently discards the frame if it founds the frame to be either corrupted or out of order.
  • It does not send any acknowledgement for such frame.
  • It silently discards the following frames too.



  • If for any particular frame, sender does not receive any acknowledgement, then it understands that along with that frame, all the following frames must also have been discarded by the receiver.
  • So, sender has to retransmit all the following frames too along with that particular frame.
  • Thus, it leads to the retransmission of entire window.
  • That is why, the protocol has been named as “Go back N“.




Go back N leads to retransmission of lost frames after expiry of time out timer.


In Go back N,

  • Consider a frame being sent to the receiver is lost on the way.
  • Then, it is retransmitted only after time out timer expires for that frame at sender’s side.


Efficiency of Go back N-


Efficiency of any flow control protocol is given by-


Efficiency = Sender Window Size in Protocol / (1 + 2a)


In Go back N protocol, sender window size = N.



Efficiency of Go back N = N / (1 + 2a)


To gain better understanding about Go back N ARQ,

Watch this Video Lecture


Next Article- Practice Problems On Go Back N Protocol


Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.