Skip to content

An SDN lab using Mininet and Ryu controller in Docker containers. The lab includes applications to view and create flow entries to forward packets through the network. It also includes applications to collect network metrics.

License

Notifications You must be signed in to change notification settings

martimy/sdn_lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDN Lab

This repository provides a software-defined networking (SDN) lab environment using Mininet, Ryu controller, and FlowManager in Docker containers. The repository also includes Python applications to forward network traffic among hosts in spine-leaf data centre topology. Another set of applications are available to collect traffic metrics from the switches and send them to three common time-series database (Graphite, Prometheus, and InfluxDB). The network stats can be viewed using Grafana.

This lab provides an example of running multiple SDN applications in a network. Each application handles a sperate set of tasks:

  • flowmanager.py: views the network topology and flow tables for all switches. It also allows manual manipulation of the flow tables.
  • dc_switch_1.py, dc_switch_2.py, and dc_switch_3.py: create flow entries dynamically to forward packtes across the spine-leaf topology in a manner that balances the traffic load among the spine switches using different techniques.
  • monitor_graphite.py, monitor_prometheus.py, and monitor_influxd.py: collect network stats from the switches and send them to the corresponding database.

Requirements

  • A Linux-based operating system (tested on Ubuntu 20.04)
  • Docker and docker-compose installed on your machine

Instructions

For instructions on how to use repo for basic SDN oprtaions, consult the lab instructions. To add network monitoring capabilities, consult the monitoring instructions.

About

An SDN lab using Mininet and Ryu controller in Docker containers. The lab includes applications to view and create flow entries to forward packets through the network. It also includes applications to collect network metrics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages