Skip to main content

Posts

Performance Evaluation of TCP NewReno and TCP Cubic under Varying Round Trip Times Using NS-3

Recent posts

Simulation of TCP NewReno vs. TCP Cubic with Varying Round Trip Time (RTT) and Throughput Analysis using NS-3

Simulation of TCP NewReno vs. TCP Cubic with Varying Round Trip Time (RTT) and Throughput Analysis using NS-3 2. ONE-PAGE WRITE-UP 2.1 Introduction The Transmission Control Protocol (TCP) is the backbone of reliable communication over the Internet. It uses congestion control algorithms to manage traffic and prevent network collapse. This experiment compares two widely-used TCP algorithms — NewReno and Cubic — under three different Round Trip Time (RTT) conditions using the NS-3 network simulator, measuring throughput, convergence time, and packet loss. 2.2 TCP NewReno TCP NewReno improves TCP Reno's Fast Recovery by correctly handling multiple packet losses within one congestion window. It uses AIMD (Additive Increase Multiplicative Decrease): the congestion window grows by 1 MSS per RTT during slow start / congestion avoidance and is halved on loss. Since throughput ∝ 1/RTT (Mathis equation), NewReno underperforms on high-latency links. 2.3 TCP Cubic TCP Cubi...

Study the Effect of Buffer Size on Packet Loss in a Point-to-Point Router with UDP CBR Traffic

Study the Effect of Buffer Size on Packet Loss in a Point-to-Point Router with UDP CBR Traffic Problem Statement: Study the effect of buffer size on packet loss in a point-to-point router with UDP CBR traffic. Source Code: #include "ns3/core-module.h" #include "ns3/network-module.h" #include "ns3/internet-module.h" #include "ns3/point-to-point-module.h" #include "ns3/applications-module.h" #include "ns3/flow-monitor-module.h" #include "ns3/netanim-module.h" #include <fstream> // Required for writing data to the text file using namespace ns3; int main ( int argc, char *argv[]) { // 1. Default Variables and Command Line Parsing uint32_t bufferSize = 10 ; // Default buffer size in packets CommandLine cmd; cmd.AddValue ( "bufferSize" , "Max number of packets in Queue" , bufferSize); cmd.Parse (argc, argv); // 2. Node Creation NodeC...