Code Monkey home page Code Monkey logo

ee555-openflow's Introduction

EE555-Openflow

Topic: Openflow Based SDN Controller Design using Pox Library

Protocols Concerned: Arp, ICMP, Ethernet, IPv4

Commands to Run Scenario 1 ~ 4.5

  • Please start Pox before Mininet to make sure controllers are discoverable
  • Scenario 1: Flow Installation Tutorial
    • Start Mininet: sudo mn --topo single,3 --mac --switch ovsk --controller remote
    • Start Pox: ./pox/pox.py log.level --DEBUG misc.of_tutorial
  • Scenario 2: Arp & ICMP Handling In Single-Host Subnets & Single Switch
    • Start Mininet: sudo mn --custom topology2.py --topo mytopo --mac --controller remote
    • Start Pox: ./pox/pox.py log.level --DEBUG misc.controller2 misc.full_payload
  • Scenario 3: Multi-Host Subnets & Multiple Switch
    • Start Mininet: sudo mn --custom topology3.py --topo mytopo --mac --controller remote
    • Start Pox: ./pox/pox.py log.level --DEBUG misc.controller3 misc.full_payload
  • Scenario 4: Looped Connection Between Switches
    • Start Mininet: sudo mn --custom topology4.py --topo mytopo --mac --controller remotee
    • Start Pox: ./pox/pox.py log.level --DEBUG misc.controller4 misc.full_payload
  • Scenario 4.5: Firewalling TCP Packets
    • Start Mininet: sudo mn --topo single,3 --mac --switch ovsk --controller remote
    • Start Pox: ./pox/pox.py log.level --DEBUG misc.firewall misc.full_payload

Comments:

  • Scenario 2 & 3 provides *_messy.py & *_neat.py of the controller.
    • They both work, while ICMP & TCP/UDP situations in *_neat.py are jointly handled
    • *_messy.py is served for convenience during development
  • Code quality are improved moving from Scenario 2 -> 3
    • Including better function APIs & pre-fetching informations
  • Majority part of Scenario 4 is identical to that of Scenario 3's
    • Only routing tables are changed
  • Arp Request Forwarding is done in iterative manner
  • Expected TCP bandwidth using "iperf hi hj": 40+ Gbits/s
    • UDP tests are much slower for unknown reasons

Reference & Special Thanks Gives to zjx727:

ee555-openflow's People

Contributors

chengyaowang 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.