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
Report Bug · Request Feature · Ask Question · Support 🇵🇸 Palestine
- 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.
git clone https://github.com/s-m-quadri/redroute.git
cd redrouteMake sure Python 3.12.9 is installed. Then, install the necessary packages:
pip install -r requirements.txtrequirements.txt should include:
networkx
matplotlib
tkinter-
Launch the application by running
main.py:python main.py
-
Select Source and Destination:
- Use the dropdown menus to choose the source and destination hosts.
-
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.
-
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").
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.
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.
This project is licensed under the GNU General Public License (GPL) - see the LICENSE file for details.
For any issues or support, please contact: Email: dev.smq@gmail.com
