This project measures and analyzes latency between hosts using Software Defined Networking (SDN). It uses Mininet for network emulation and Ryu as the SDN controller.
Before running this project, ensure the following are installed:
- Ubuntu 20.04 / 22.04 (recommended)
- Minimum 4GB RAM (for smooth Mininet execution)
- Python 3.x installed
python3 --version- Network emulator used to create virtual topology
sudo apt install mininet -y- SDN controller for managing switches
pip3 install ryu- Required for switch functionality
sudo apt install openvswitch-switch -y- Used for plotting graphs
sudo apt install python3-matplotlib -y- Used for throughput measurement
sudo apt install iperf -y- Run Mininet scripts using
sudo - Ensure the Ryu controller is started before running the analysis script
ryu-manager controller.pysudo python3 delay_analysis.py- ICMP ping-based delay measurement
- RTT extraction and analysis
- Comparison across different network topologies
- Throughput measurement using iperf
- Visualization using graphs
- RTT values (min, max, average)
- Delay variation
- Throughput results
- Graph comparing topologies
The controller implements a learning switch using OpenFlow. When packets arrive, the controller learns MAC-to-port mappings and installs flow rules.
Delay is measured using ping, and RTT values are extracted and analyzed. Different topologies are used to compare delay across paths.


