ContriHUB / Congestion-Control-Simulator

Simulates TCP congestion control algorithms
MIT License
0 stars 6 forks source link
contrihub hacktoberfest mnnit networking opensource

TCP Congestion Control Simulator

This tool is designed to help students and enthusiasts understand and visualize the congestion control algorithms in Transmission Control Protocol (TCP), specifically the Slow Start and Congestion Avoidance mechanisms.

Project Overview

This simulator provides an interactive way to learn about TCP's congestion control algorithms. By simulating packet transfers and visualizing the impact of network conditions, users can gain a deeper understanding of how TCP manages congestion to maintain efficient data transfer. The primary focus is on the Slow Start and Congestion Avoidance algorithms.

Features

How to Use

  1. Enter ssthresh: Start by entering the desired value for ssthresh in the input field.
  2. Select Packet State: Before each packet transfer, select the future state of the packet as either "Delivered" or "Lost".
  3. Simulate: The simulator will run the selected TCP algorithm (Slow Start or Congestion Avoidance) and display the results in real-time, showing the sequence numbers and acknowledgments.

Deployment

Visit the deployed site here to start simulating TCP congestion control algorithms.

Technologies used

The simulator is built using React.js for a responsive and interactive user experience. The logic for the TCP algorithms is implemented in JavaScript to provide real-time feedback and visualization.

Getting Started

To get started with the project locally:

  1. Fork and Clone the Repository:

    git clone https://github.com/Nandika-A/Congestion-Control-Simulator.git
  2. Install Dependencies:

    npm install
    (use project name as tcp-congestion)
  3. Run the Simulator:

    cd tcp-congestion
    npm start
  4. Open in Browser: Open http://localhost:3000 in your web browser to start using the simulator.

Acknowledgments

This project was created to support educational efforts in computer networking courses, helping students visualize and understand TCP congestion control algorithms.