GO back N protocol is one of the applications of pipeline protocol. In Go back N protocol, packets should be delivered in sequence to the application layer. To better understand the working GBN protocol, you first need to understand how the sender and receiver work to execute GBN protocol.
The application layer provides chunks of data to the transport layer. Transport layer places this data into its buffer and starts sending the data in bulk to the receiver. Once the packet have been send in a pipelined fashion to the receiver, then the sender, either get acknowledgement of the packets or a time out may occur. In case of time out, the sender re-transmits the data packet.
At the receiver end we have two options, either send an acknowledgement to the sender on receiving ordered packets or discard the packet received. The packets will only be acknowledged by the receiver, if its sequence number is “N+1” that is last received packet + 1, as the main restriction of Go Back N protocol is “Order delivery of packets to upper layer”. If the sequence number of the received packet is not in sequence with the previous one then the packet will be dropped and the acknowledgement of the most recent in ordered packet is resend again.
Data in sender buffer are sent in chunks instead of the entire data in buffer. Why? Suppose the sender buffer has the capacity of 1 MB and the receiver buffer has the capacity of 512KB, then 50 % of the data will be lost at the receiver end and this will unnecessarily cause re-transmission of packets from the sender end. Therefore, the sender will send data in chunks less than 512. This will be decided by the help of window size. Window size caters the capacity of the receiver. Flow control is the receiver related problem, we do not want the receiver to be overwhelmed, thus in order to avoid overwhelming situation, we need to control the flow by using window size “N”.
The above figure shows the buffer at the sender end.
“Base” indicates the sequence number of the packet that has not been acknowledged (the first unacknowledged packet).
Window shifts when the packets starting from the base gets acknowledged and it starts moving, this process continues till all acknowledgements are received, so it is also known as sliding window protocol. When window size is reached the packet will not be sent further till the window slides further.
How will the sender be aware of the size of the receiver’s buffer or what should be the window size at the sender end?
Before the data is transmitted from one host to another, a connection is first established between the two. During this establishment, such kind of information are share between the two hosts, like window size, buffer size, etc. After which the data transmission begins.
Question: Suppose an application at node A wants to transfer 500K data in 10K segments to a receiver at node B. Using Go Back N transport layer protocol. Draw a timing diagram if window size is 4. Suppose RTT = 150 msec.
This means that there are 500/10 = 50 segments to be sent in total with 4 at a time. Since there is no packet loss, therefore below diagram shows the movement of segments:
Suppose the window size is very big and bandwidth is greater as well, as shown in the below figure:
In the above case, if a packet is delivered then acknowledgement will be received after 600 msec. This means while we will fill the gap with more packets during 600 msec and if 1st packet drops then we need to send all packets again, so this is the performance penalty for GBN. Therefore, if bandwidth delay product and N (Window size) are very big or greater then GBN will not be efficient.
Go Back N protocol has one timer that is used for all packets, however, Selective Repeat protocol uses single timer for each packet.
For Further Read
What is the Main Cause of a Heart Attack? What is its Solution? A heart attack is the blockage of… Read More
In the vast economic arena, one term that often takes center stage, inciting extensive debates and discussions, is the "debt… Read More
De-Dollarization: The Changing Face of Global Finance The financial landscape is in a state of flux, with an intriguing economic… Read More
The curtains closed on a dramatic Bundesliga season with Bayern Munich standing tall once again, clinching their 11th straight title.… Read More
The Unfolding Story of Celine Dion's Health In recent news that has left fans across the globe stunned, iconic singer… Read More
As the echoes of the recent NBA season start to fade, the attention of enthusiasts is firmly glued to one… Read More