DVRS
Edit a network and watch Bellman-Ford updates turn local knowledge into routes
Why I made it
Distance-vector routing made much more sense once I could watch it happen. This Python simulator lets me add nodes, change link costs, and see each routing table settle after neighbours exchange their current best paths.
Things to try
- Dynamic network creation (add nodes and links)
- Configurable link costs
- Real-time routing table updates
- Visual representation of the distance vector algorithm
Project Architecture
The simulator is built with a modular approach in Python:
- node.py: Core logic for network nodes and neighbor management.
- routing_table.py: Implementation of the distance vector update logic.
- gui.py: Interactive interface powered by Tkinter.
- main.py: Application entry point and component orchestration.
Educational Goals
Designed for the Telecommunications Networks course, this tool helps students grasp complex concepts like hop-by-hop forwarding and cost optimization through direct interaction.
Built with
Language: Python 3.
GUI Framework: Tkinter.
Concepts: Graph Theory, Distance Vector Algorithm, Socket-like simulations.
Link repo: GitHub



