A Python application that computes and visualizes routing tables for a hierarchical 100-node network, using graph theory and shortest-path algorithms.
The network consists of three tiers of nodes:
| Tier | Role | Connectivity |
|---|---|---|
| Tier 1 | Backbone (core routers) | Fully connected |
| Tier 2 | Transit operators | Connect Tier 1 ↔ Tier 3 |
| Tier 3 | Local operators | Connect to Tier 2 only |
- OOP model of the network graph (Tier1, Tier2, Tier3 nodes)
- Graph connectivity verification via depth-first search (DFS)
- Routing table computation for all 100 nodes using BFS / Dijkstra
- Shortest path reconstruction between any two nodes
- Interactive visualization with
tkinter
pip install tkinter pyglet pillow
python main.py| Tool | Purpose |
|---|---|
| Python 3 | Core language |
| Tkinter | GUI |
| Graph algorithms | DFS, BFS, shortest path |
Ahmad Hatoum · Francesco Di Gennaro
L2 Computer Science project — Université de Versailles Saint-Quentin-en-Yvelines