Software Defined Networks (SDN)
This project has an individual component and one in teams of 2-3persons.
For this project, you will design, implement, and thoroughly test a software defined network (SDN) for a distributed server that is going to serve a variety of services, from regular HTTP web pages to real-time applications such as sensor streaming and video players. The network has to support protocols such as TCP/IP and UDP simultaneously.
The project would be done a part in the class workshops and a part outside of the class.
Your project grade will be based on the quality of your report, on the usefulness of the system you’ve built, on the extent to which your design is a good fit for the problem you’re solving, and the quality of the code submitted.
This project mainly consists of four modules:
- Research – Individual
- Implementation of a topology using mininet. – Individual
- Implementation of static and dynamic rules using OpenFlow. – Individual
- Simulation and measurements of the previous two steps using real hardware. -Group
- Design, implement and test a network for a data center that fulfills the requirements given. – Group
Tools that may be handy
iperf, wireshark, tc, cbench, and ovs-ofctl
Week by Week
Your code should comply with the given headers and code structure, a significant part of your grade is going to be from automatic grading, if your code does not meet the requirements a zero would be given for the corresponding section. Tests will be provided for you to verify that your code has the required structure.
What to Hand In (Final submission)
- A report with all the contents exposed in the previous sections, following the template from ACM SIG.
- The code for the topology implementation.
- The code for the OpenFlow implementation
- The code for your final system.
- Any test cases used to test your system with the corresponding Makefile.
All the files have to be submitted using the directory structure obtained from T-Square and compress to tar.gz format.