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