Assignment 5 on Software Defined Networking

In the era of data centers, increasingly widespread use of server virtualization has been a key leading factor for recognizing the need for more flexible and automated switching operations. Increasing use of mobile devices (smartphones, tablets and notebooks) also lay an emphasis on allocating network resources, responding to rapidly changing resources, Quoality of Service (QoS) and security requirements. SDN (Software Defined Networking) innovations provide an open, end-to-end, flexible and automated ways to tackle these challenges in modern networks. In this assignment, we will be focussing only on the security enhancements in a network using OpenFlow (a standard for SDN).

You are required to familiarize yourself with Software Defined Networking and OpenFlow. The first deliverable for this assignment will be a one page summary of your understanding of SDN, potential of network enhancements via SDN and challenges that network administrators will face with SDN implementations. Then, you should download and install Mininet (openflow enabled emulator for SDN that provides openflow network and end-host VMS within a single machine). It includes built-in support to create several common topologies and allows for the construction of custom topologies using a python script. The second deliverable for this assignment will be to create an openflow-enabled topology in mininet and provide an application that increments the security in a network. For instance, your application could reinvent the way rules are created and packets are inspected in firewalls; or change the add rules/drop rules in the switches for efficient control logic based on run-time network conditions; or provide the flexibility to modify traffic prioritization/route preferences in openflow switch control logic. As a part of this second deliverable you are required to provide a description of your application, topology used, how its implemented in networks today, how will openflow improve this implementation, what challenges (limitations) might be encountered for your proposed openflow enabled implementation and how would your implementation behave when the topology scales to include many more hosts. The topology for this network can vary for individual submissions. Although in its simplest form, it must contain atleast one controller, 4 openflow enabled switches and 10 hosts to clearly demonstrate the usage and significance of your application.

Relevant Material

Following are some of the papers and lectures that can be reffered for a basic understanding of openflow, mininet, and some existing implemented modules in openflow:
  1. Ethane : Taking control of the Enterprise
  2. ElasticTree : saving energy in data center networks.
  3. HERCULES: Integrated Control Framework for Datacenter Traffic Management
  4. Automated and scalable QoS control for network convergence
  5. Maestro
  6. Mininet
  7. Spain
  8. A Network in a Laptop
  9. Openflow: enabling innovation in campus networks
  10. DevoFlow: scaling flow managementfor high performance networks
  11. Scalable flow-based networking with DIFANE
  12. Hyperflow: A distributed control plane for openflow
  13. Scot Shenker
  14. Nick McKeown


  • mininet
  • Submission

  • To be done in the group of two.
  • Deadline is 20 Nov.