This project implements and compares Go-Back-N ARQ and Selective Repeat ARQ flow control protocols using NS3, Wireshark, and Gnuplot. It aims to analyze and visualize the performance differences in terms of throughput and delay under identical network conditions.
In communication networks, reliable data transfer is ensured using Automatic Repeat reQuest (ARQ) protocols. Two widely used ARQ protocols are:
- Go-Back-N (GBN): If a packet is lost or corrupted, the sender retransmits that packet and all subsequent packets.
- Selective Repeat (SR): Only the specific lost or corrupted packets are retransmitted.
Both use the Sliding Window Protocol for efficient flow control.
- NS3: Network simulator for protocol implementation.
- Wireshark: Packet capture and inspection.
- Gnuplot: Visualization of delay and throughput.
- C++: Protocol simulation logic.
The project compares:
- Delay: Time taken for a packet to reach the receiver.
- Throughput: Rate of successfully received data.
Results show that Selective Repeat ARQ achieves lower delay and higher throughput compared to Go-Back-N ARQ, at the cost of increased implementation complexity.
- Custom NS3 modules for GBN and SR protocols.
- Configurable window size, packet drop, and timeout.
- Detailed CSV logs for send/receive timestamps, delays, and throughput.
- Wireshark PCAP files for verifying protocol behavior.
- Gnuplot graphs for visual comparison.