Skip to content

RedRoute is a conceptual network simulation tool designed to visualize and compute the shortest path between two hosts in a complex network topology. Built using Python, NetworkX, Tkinter, and Matplotlib, RedRoute helps users better understand network routing by visualizing paths, nodes, and their interconnections.

License

Notifications You must be signed in to change notification settings

s-m-quadri/redroute

Repository files navigation

image

RedRoute Network Shortest Path Finder & Simulator

RedRoute is a conceptual network simulation tool designed to visualize and compute the shortest path between two hosts in a complex network topology. Built using Python, NetworkX, Tkinter, and Matplotlib, RedRoute helps users better understand network routing by visualizing paths, nodes, and their interconnections.

Homepage · Repository · Download Executable · Contact

Release Version GitHub Readme Profile Code Quality Issues Pull Requests Contributors

Report Bug · Request Feature · Ask Question · Support 🇵🇸 Palestine

📌 Features

  • Interactive GUI built with Tkinter, allowing users to select source and destination hosts.
  • Shortest Path Calculation using NetworkX's graph algorithms to find the optimal route between any two hosts.
  • Dynamic Visualization of the network topology with Matplotlib, displaying nodes (hosts and switches) and edges (connections) clearly.
  • Red-themed Design for an intuitive and aesthetically pleasing user interface.

📌 Installation

1. Clone the repository

git clone https://github.com/s-m-quadri/redroute.git
cd redroute

2. Install dependencies

Make sure Python 3.12.9 is installed. Then, install the necessary packages:

pip install -r requirements.txt

requirements.txt should include:

networkx
matplotlib
tkinter

📌 Usage

  1. Launch the application by running main.py:

    python main.py
  2. Select Source and Destination:

    • Use the dropdown menus to choose the source and destination hosts.
  3. Find the Shortest Path:

    • Click the "🔍 Find Shortest Path" button to calculate the path.
    • The shortest path will be visualized on the network graph, with red edges highlighting the selected path.
  4. View Status:

    • The status bar will update to show the progress of the calculation (e.g., "Finding shortest path..." or "Path found: H0 ➜ S0 ➜ S4 ➜ H7").

📌 PyInstaller Executable

You can also download the RedRoute executable built with PyInstaller. The .exe file, packaged using setup.spec, is available in the Releases section of this repository.

📌 Network Topology

The network topology is based on a series of interconnected switches with hosts distributed in a circular pattern. Switches are placed in a structured grid layout to ensure a variety of routing possibilities, which allows the app to find meaningful routing paths between any selected hosts.

📌 License

This project is licensed under the GNU General Public License (GPL) - see the LICENSE file for details.

📌 Contact Support

For any issues or support, please contact: Email: dev.smq@gmail.com

About

RedRoute is a conceptual network simulation tool designed to visualize and compute the shortest path between two hosts in a complex network topology. Built using Python, NetworkX, Tkinter, and Matplotlib, RedRoute helps users better understand network routing by visualizing paths, nodes, and their interconnections.

Topics

Resources

License

Stars

Watchers

Forks

Languages