Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDN Bandwidth Measurement and Analysis (Mininet + POX)

Project Overview

This project demonstrates bandwidth measurement and analysis in a Software Defined Networking (SDN) environment using Mininet and a POX controller. The controller dynamically installs flow rules, monitors traffic, and calculates per-flow bandwidth.

Objective

  • Measure bandwidth using iperf
  • Analyze network performance under different scenarios
  • Demonstrate SDN concepts such as controller-switch interaction and flow rule design

System Requirements

  • Ubuntu 22.04
  • Python 3
  • Mininet
  • POX Controller
  • iperf
  • Wireshark (optional)

Network Topology

H1 --- S1 --- S2 --- H3
H2 -/ -- H4

Configuration:

  • Host links: 10 Mbps
  • Switch link: 20 Mbps

This topology introduces a bottleneck link for analysis.

Controller Features

  • Handles packet_in events
  • Installs flow rules (match-action)
  • Monitors traffic using flow statistics
  • Calculates bandwidth per flow
  • Detects high-bandwidth flows
  • Optional blocking of high-bandwidth flows

How to Run

  1. Clean Mininet: sudo mn -c

  2. Start POX controller: cd ~/pox python3 pox.py log.level --DEBUG bandwidth_monitor

  3. Run topology: sudo python3 topo.py

  4. Test connectivity: pingall

  5. Single flow test: h3 iperf -s h1 iperf -c h3

  6. Multiple flow test: h1 iperf -c h3 & h2 iperf -c h4

  7. View flow tables: sudo ovs-ofctl dump-flows s1 sudo ovs-ofctl dump-flows s2

Observations:

  • High bandwidth in single flow
  • Reduced bandwidth in multiple flows
  • Bottleneck link limits throughput
  • Simple topology provides higher performance

Performance Analysis

Single flow: Maximum bandwidth utilization Multiple flows: Bandwidth shared Bottleneck: Reduced throughput Simple topology: Improved performance

Outcome

The project demonstrates that SDN enables centralized control and real-time monitoring of network traffic. The POX controller measures bandwidth using flow statistics and helps identify bottlenecks. It can optionally control traffic by blocking high-bandwidth flows.

Proof of Execution

  • pingall output
  • iperf results
  • controller logs
  • flow table entries
  • wireshark capture (optional)

References

  • Mininet documentation
  • POX documentation
  • OpenFlow specification
  • iperf documentation

Author

CHINMAYI HEBBAR AM

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages