TCP Cubic vs DCTCP - Evaluating Congestion Control in Network Protocols
π€ Anjan Diyora
π Project Link: TCP Cubic vs DCTCP - Evaluating Congestion Control in Network Protocols
This project analyzes the behavior of TCP Cubic and DCTCP protocols under network contention conditions. A dumbbell topology is created to evaluate congestion control mechanisms and measure performance variations across different scenarios.
- 2 Sender Nodes connected to Router 1
- 2 Receiver Nodes connected to Router 2
- Routers 1 & 2 are interconnected
- Link Bandwidth: 1 Gbps
1οΈβ£ TCP Cubic (Single Flow): Sender 1 transfers 50 MB to Receiver 1 using TCP Cubic.
2οΈβ£ TCP Cubic (Multiple Flows): Sender 1 & Sender 2 transfer 50 MB each to Receiver 1 & Receiver 2.
3οΈβ£ DCTCP (Single Flow): Sender 1 transfers 50 MB to Receiver 1 using DCTCP.
4οΈβ£ DCTCP (Multiple Flows): Sender 1 & Sender 2 transfer 50 MB each to Receiver 1 & Receiver 2 using DCTCP.
5οΈβ£ Hybrid Protocols: Sender 1 & Sender 2 use a mix of TCP Cubic and DCTCP to transfer 50 MB to respective receivers.
π The project focuses on congestion behavior but does not account for router buffer size or queuing policies.
π Results reflect a non-contention scenario due to the absence of buffer-based congestion modeling.
The project is built using the NS-3 network simulator. Install the following dependencies before running the simulation:
sudo apt install git-all g++ python3 cmakewget https://www.nsnam.org/releases/ns-allinone-3.41.tar.bz2
tar xfj ns-allinone-3.41.tar.bz2
cd ns-allinone-3.41/ns-3.41
./ns3 configure --enable-examples --enable-tests
./ns3 build./test.pyPlace the project file in the scratch folder of the NS-3 simulator (ns-allinone-3.41/ns-3.41).
cd ns-allinone-3.41/ns-3.41
./ns3 run scratch/tcp_cubic_vs_dctcp.ccAfter execution, a CSV file tcp_cubic_vs_dctcp.csv will be generated containing performance metrics.
π Analyzes how congestion control mechanisms behave under different conditions.
π Highlights differences in flow fairness, bandwidth utilization, and response times.
π Evaluates efficiency of TCP Cubic vs DCTCP under various contention scenarios.
π More Details: Project Page