Coder Social home page Coder Social logo

elec5517-assignment1's Introduction

elec5517-assignment1

Our code for our assignment can be found at https://github.com/nicolezyi/elec5517-assignment1.git


Setup environment for all tasks:

There are two options to implement our efficient QoS system.

Option 1 - Docker image

  1. Download our image, and run our image. This image includes ryu controller, mininet and ofsoftswitch13 vSwitch. CLI to download it.
sudo docker pull nicoleyi/ryu-qos-controller
  1. Use the following command to run the image to make sure you have x11 forwording turn on
docker run -it --privileged -e DISPLAY=$DISPLAY \
             -v /tmp/.X11-unix:/tmp/.X11-unix \
             -v /lib/modules:/lib/modules \
             nicoleyi/ryu-qos-controller

Option 2 - Install Ryu, mininet and ofsoftswitch13 vSwitch manually.

CLI to install Ryu in Debian family Linux distro. The rest of instruction is based on Debian family

$ sudo apt-get install git python-dev python-setuptools python-pip $ git clone https://github.com/osrg/ryu.git $ cd ryu $ sudo pip install .

CLI to install mininet

sudo apt-get install mininet

Instruction to install ofsoftswitch13 vSwitch.

https://github.com/CPqD/ofsoftswitch13


Task 1 custom_topo.py is to invoke mininet and setup custom tree topology (3 layer depth and fan out 3 topology) for task 1 and tak 2. injectRules.sh is used to inject the QoS rules and Meter table for all 13 Switches.

#CLI to turn on controller, vSwitch, start mininet with custom topology and inject the rules

ryu-manager ryu.app.rest_qos ryu.app.qos_simple_switch_13
sudo python custom_topo.py
sh injectRules.sh

Task 2 In task 2, in additon to the QoS implementation, we also implement the traffic monitoring for this QoS network.

We also include a sample test results here: port_statistics_sample.txt

ryu-manager ryu.app.rest_qos ryu.app.qos_simple_switch_13 traffic_monitor_all.py
sudo python custom_topo.py
sh injectRules.sh

Task 3 Mobile_vhf_uhf.py is the Python script for task three.

Run "sudo python task.py" after login to Mininet to create the topology with specified configuration.

elec5517-assignment1's People

Contributors

nicolezyi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.