This is a GUI-based interactive tool, built with Java Swing, designed to help users visualize and understand network routing algorithms. You can build custom network topologies, run routing algorithms, and inspect the resulting routing tables in real-time.
-
Interactive Canvas: Create custom network topologies by adding/removing routers (nodes) and links (edges).
-
Drag & Drop: Click and drag nodes to rearrange the network layout.
-
Configurable Costs: Set custom costs (weights) for each link.
-
Algorithm Simulation: Simulate two a-list routing protocols:
-
Link State: (Using Dijkstra's algorithm)
-
Distance Vector: (Using the Bellman-Ford algorithm)
-
-
Real-time Visualization: Inspect the final routing table (Destination, Next Hop, Cost) for any router.
-
Simulation Log: View a step-by-step log that shows algorithm updates and convergence.
-
Prerequisites: Ensure you have Java Development Kit (JDK) 8 or higher installed on your system.
-
Save the Code: Save the entire source code into a single file named
NetworkRoutingSimulator.java. -
Compile: Open a terminal or command prompt, navigate to the file's directory, and run: