A modular Streamlit application for creating and visualizing network topologies with real-time packet routing simulation.
- Router Management: Add/remove routers dynamically (2-50 routers)
- Link Configuration: Create connections with customizable latency, bandwidth, congestion, and packet loss
- Real-time Animation: Live packet routing visualization using Dijkstra's algorithm
- Vector Graphics: Professional router representations with antennas and LED indicators
- Random Networks: Generate random topologies with configurable parameters
- Packet Analytics: Track routing decisions, TTL, hops, and delivery times
pip install -r requirements.txtLinux/Mac:
chmod +x run.sh
./run.shWindows:
run.batManual:
streamlit run main.pymain.py- Main application entry pointnetwork_core.py- Network simulation and routing logicvisualization.py- Vector graphics and packet animationvideo_generator.py- FFmpeg video operations (optional)ui_components.py- Streamlit interface components
- Quick Setup: Generate random networks (2-50 routers)
- Add/Remove Routers: Create network nodes manually
- Configure Links: Adjust latency, congestion, packet loss, and status
- Send Packets: Simulate routing between any two routers
- Live Animation: Watch packets move along calculated paths
- Green Routers: Current packet path
- Blue Routers: Active routers
- Gray Edges: Normal links
- Orange Edges: Congested links (>50%)
- Red Dashed Edges: Failed links
- Red Vector Packet: Moving data with trail effect
- Python 3.8+
- Streamlit
- NetworkX
- Matplotlib
- Pandas
- NumPy
- Pillow (PIL)
- FFmpeg (for video export - not required for core functionality)