Signup/Sign In
LAST UPDATED: JUNE 5, 2023

Flow Control - Go-Back-N ARQ Protocol

Technology #computer-network

    What is Go-Back-N ARQ Protocol?

    Go-Back-N ARQ (Go-Back-N automatic repeat request) is a flow control protocol(Read about Stop & Wait and Stop & Wait ARQ Flow Control Protocols) where the sender continues to send several frames specified by a window size even without receiving feedback from the receiver node. It can be said that it's a special case of the general sliding window protocol where the transmitter or sender window size is N and the receiver's window size is 1, which means that it can transmit N frames to the receiving node before waiting for feedback.

    Now the receiver's duty is to keep track of the sequence number of the next frame it expects to receive and sends the feedback after every data packet it receives. Once the sender has sent all the frames in its window, it makes sure that it has then received all the feedback of the transmitted data packets, if in any case, it hasn't received feedback of any data packet and the time-out timer expires, it then resends all the data packets again, starting from the lost data packet to the final data packet.


    Let's take an example

    Consider a sender has to send data packets indexing from p1 to p5, it sends all the data packets in order (from p1 to p5), but the receiver has only received p1, and the data packet p2 is lost somewhere in the network, then the receiver declines all the data packets after p2 ( i.e. p3, p4, p5 ) because the receiver is waiting for packet p2 and will not accept any other data packet than that. So, now as the time out time index of p2 expires, the sender goes back 3 packets and starts sending all the data packets from p2 to p5 again.

    We can see the process in the illustration below,

    Go-Back-N ARQ  Protocol


    Sender window size (WS):

    In Go-Back-N ARQ Protocol, N is the sender window size, which we can see in the above example was 5. Now, here N should be greater than 1 in order to implement pipelining. If N=1, then our system reduces to the Stop & Wait protocol.

    Now the efficiency of Go-Back-N ARQ = N/(1+2a), where a = tp/tt.

    Where tp is the propagation delay and tt is the transmission delay

    Also, tt = D/B; and here D = data size and B = bandwidth

    And tp = d/s, here d = distance and s = wave propagation speed.

    Now to find the effective bandwidth (or throughput),

    Effective bandwidth = efficiency * bandwidth, which means,

    Effective bandwidth = (N/(1+2a)) *B


    Receiver window size (WR):

    WR is always equal to 1 in the case of Go-Back-N ARQ.


    Feedbacks/Acknowledgements

    There are basically 2 types of feedback/acknowledgments:

    1. Cumulative Ack: Here we use only one feedback for many data packets, because of this the main advantage we get is that the traffic is less. But it can also result in a huge drawback which is, if one acknowledgment is lost then it means that all the data packets transmitted are lost.

    2. Independent Ack: Here every data packet gets acknowledged independently. Here the reliability is high, but the main drawback is high traffic.

    Go-Back-N ARQ uses a cumulative acknowledgment technique, which means the receiver starts an acknowledgment timer whenever it receives a data packet that is fixed & when it expires, it will transmit a cumulative acknowledgment for the number of data packets received in that interval of time out timer. Now, if the receiver has received N data packets, then the feedback/acknowledgment number is going to be N+1. The important point here is that the acknowledgment timer will not start after the expiry of the first timer, but it will do so when the receiver has received a data packet. The thing which should be kept in mind is that the time-out timer at the sender node must be greater than the acknowledgment timer.

    Conclusion

    The Go-Back-N ARQ protocol is a powerful flow control mechanism that plays a vital role in ensuring reliable data transmission in computer networks. By allowing the sender to transmit multiple packets before receiving acknowledgments, it optimizes throughput and reduces latency.

    The protocol's ability to handle packet loss, and retransmissions, and dynamically adjust the window size for congestion control contributes to its effectiveness. Understanding the intricacies of the Go-Back-N ARQ protocol provides valuable insights into the world of flow control and enhances your knowledge of network communication.

    Whether you're a network engineer or an aspiring programmer, mastering this protocol opens up new possibilities for designing efficient and robust data transmission systems. So dive into the fascinating realm of the Go-Back-N ARQ protocol and unlock the secrets behind reliable data delivery.

    Frequently Asked Questions(FAQs)

    1. What is flow control in computer networks?

    Flow control refers to the mechanisms and techniques used to manage the rate of data transmission between sender and receiver to prevent congestion, and buffer overflow, and ensure reliable delivery.

    2. What is the Go-Back-N ARQ protocol?

    The Go-Back-N ARQ protocol is a flow control mechanism used in network communication. It allows the sender to transmit a window of packets before waiting for acknowledgment from the receiver. If an acknowledgment is not received within a specified time, the sender retransmits the entire window.

    3. How does the Go-Back-N ARQ protocol handle packet loss?

    In the event of packet loss, the Go-Back-N ARQ protocol relies on the receiver's selective acknowledgment to inform the sender about the lost packets. The sender then retransmits the lost packets and continues transmitting from the next expected packet.

    4. What is the advantage of using the Go-Back-N ARQ protocol?

    The Go-Back-N ARQ protocol provides efficient and reliable transmission of data by allowing the sender to transmit multiple packets without waiting for individual acknowledgments. This improves throughput and reduces the overhead associated with acknowledgments.

    5. How does the Go-Back-N ARQ protocol handle congestion control?

    The Go-Back-N ARQ protocol uses a sliding window mechanism to control the number of unacknowledged packets in the network. Adjusting the window size dynamically based on network conditions, it helps prevent congestion and ensures optimal utilization of available bandwidth.

    You may also like:

    Shashwat Pandey is an accomplished technical author with a wealth of experience in writing about computer networks. His passion for the subject extends beyond his writing, and he enjoys exploring new networking technologies to stay on the trend.
    IF YOU LIKE IT, THEN SHARE IT
    Advertisement

    RELATED POSTS