Skip to content

simulations and analysis of various TCP variants policies for congestion control using ns-3

Notifications You must be signed in to change notification settings

MahyarTabari/TCP-Congestion-Analysis

Repository files navigation

TCP Variants Analysis in ns-3

This repository contains an analysis of different TCP variants using the ns-3 network simulator. The analysis includes congestion window (cwnd) over time diagrams for various TCP versions.

Table of Contents

Introduction

This project aims to compare the behavior of different TCP variants in ns-3, focusing on their congestion control mechanisms. We simulate multiple TCP variants and analyze their performance by visualizing the congestion window (cwnd) over time.

TCP Variants

The TCP variants analyzed in this project include:

  • TCP NewReno
  • TCP Tahoe
  • TCP Westwood
  • TCP Vegas
  • TCP BBR
  • ... (add more)

Simulation Setup

The simulation code is based on the fifth.cc example from the examples/tutorial directory of ns-3. The code is modified to simulate different TCP variants and collect the cwnd data over time.

Results

Below are the cwnd over time diagrams for different TCP variants:

TCP NewReno

tcp-new-reno

TCP Bic

tcp-bic

TCP Westwood+

tcp-westwoodplus

TCP Vegas

tcp-vegas

TCP BBR

tcp-bbr

TCP Cubic

tcp-cubic

TCP High Speed

tcp-high-speed

TCP Hybola

tcp-hybla

TCP Illinois

tcp-illinois

TCP Scalable

tcp-scalable

TCP Veno

tcp-veno

TCP Yeah

tcp-yeah

Prerequisites

  • ns-3
  • Python (for running the analysis script)

License

This project is licensed under the GNU General Public License (GPL). The simulation code is based on examples/tutorial/fifth.cc from ns-3.

For more details, see the LICENSE file.

About

simulations and analysis of various TCP variants policies for congestion control using ns-3

Topics

Resources

Stars

Watchers

Forks