/Route_Configuration

Lab in NCTU course "Introduction to Computer Networks 2018"

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Route Configuration

This repository is a lab for NCTU course "Introduction to Computer Networks 2018".


Abstract

In this lab, we are going to write a Python program with Ryu SDN framework to build a simple software-defined network and compare the different between two forwarding rules.


Objectives

  1. Learn how to build a simple software-defined networking with Ryu SDN framework
  2. Learn how to add forwarding rule into each OpenFlow switch

Overview

  1. We will give you a Python code (SimpleTopo.py) that includes an example network topology and another Python code (SimpleController.py) that includes Ryu controller
  2. We will get you a figure illustrating a topology you should generate
  3. Copy the necessary function code from SimpleTopo.py and SimpleController.py to your Python code (topo.py and controller.py) to build your networks with forwarding rules

Tasks

NOTICE: Please follow this slides for detail.

  1. Environment Setup
  2. Example of Ryu SDN
  3. Mininet Topology
  4. Ryu Controller
  5. Measurement
  6. Report

File Structure

Route_Configuration/            # This is ./ in this repository
|--- src/                       # Folder of source code
    |--- scripts/               # Folder of scripts
        |--- run_mininet.sh     # Running script of Mininet
        |--- run_ryu.sh         # Running script of Ryu manager
    |--- topo/                  # Folder of topology figure
        |--- topo.png
    |--- out/                   # Output files
        |--- .gitkeep           # For keeping this folder
    |--- SimpleTopo.py          # Example code of topology
    |--- SimpleController.py    # Example code of controller
    |--- controller.py          # Your program should be here!
    |--- topo.py                # Your program should be here!
|--- LICENSE
|--- README.md
|--- .gitignore                 # For ignoring useless files

References


Contributor


License

GNU GENERAL PUBLIC LICENSE Version 3