Giter Club home page Giter Club logo

sdn-simulation's Introduction

About this project

This is my first attempt to reproduce the result in academic paper. The paper "QoS-Aware Adaptive Routing in Multi-layer Hierarchical Software Defined Networks: A Reinforcement Learning Approach" designed one hierarchical SDN architecture, and implemented SARSA algorithm on it.

I used an incremental development approach, and each experiment was developed based on the previous experiment. And there are notes in every experiment which include the goal, implement detail, problem(the problem I encountered during the development) parts. Experiment 6 is the final result of the project.

Because there is no open source header files for hierarchical SDN and I didn't find one existing normal SDN framework on omnet++ platform, I implemented the whole SDN framework by myself.

Result

Here is the network topology

Here is the data analysis returned from the omnet++ platform.

Count means the number of the messages that has been transported to this nodes

Mean means the average hops of the route plan

We can see that in this 12-nodes network, the average hop count of the messages transportation is 2~4, which I think is one effective result.

Here is the workflow. The initial message has the source 0, and destination 11. You can see that the super controller runs the SARSA for route planning and it sends the control information to domain controller, which in turn updates the forward table in switches.

Area to be improved

The network I designed and the simulation environment are somewhat simple.

First of all, this network doesn't come from practice or reality. That is to say, I make up this network just for implement the architecture and algorithm.

Further, the parameters in this network, like bandwidth, queuing time, transmission delay, etc., are just static random numbers for the sake of simplicity.

And I didn't implement multi-thread for this program, which is very obvious in demo video.

sdn-simulation's People

Contributors

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