Code Monkey home page Code Monkey logo

waelaldroubi1991's Projects

sdn-implementation icon sdn-implementation

## Introduction SDN is a new approach to the current world of networking, in this lab you will learn basic concepts of SDN through OpenFlow. OpenFlow started with several engineers from Stanford University creating a protocol that would have a logically centralised control plane separated from the underlying switching details. OpenFlow was architected for a number of devices containing only data planes to respond to commands sent to them from a logically centralised controller that housed the single control plane for that network. The controller is responsible for maintaining all of the network paths, as well as programming each of the network devices it controlled. The commands and responses to those commands are described in the OpenFlow protocol. ## Background reading Before starting this lab, read up on the technologies you will be using: - The SDN emulation environment, mininet (30 minutes – 1 hour) Link: http://mininet.org/sample-workflow/ - Refresh your Python programming skills. (1 hour +) Link: http://docs.python.org/tutorial/ - Study the Ryu tutorial (~ 2 hours) Link: http://sdnhub.org/tutorials/ryu/ ## Requirements - Key Task 1 Modify simple_switch.py to include logic to block IP traffic between host 2 and host 3. - Key Task 2 Extend simple_switch.py to count all traffic going to and originating at host 1. - Key Task 3 Create a rule in simple_switch.py that routes messages to the controller for topology maintenance. HINT: Ryu’s topology viewer uses LLDP to visualise routes, you will need to create a simple database application to maintain routes and then trap LLDP messages to update the database. You may assume a single database and do not need to address any concurrency issues. Please see the attachment "Topology_Discovery_with_Ryu.pdf" for more information. NOTES: All the files in "ryu" are created by "root", it's better to change the directory owner by the following commands under "/home/mininet" before any modification. Otherwise, all the files under ryu cannot be edited by the user "nwen302". $sudo chown -R nwen302:nwen302 ryu

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.