Software Defined Networking (SDN) – An Intro

Software Defined Networking (SDN) has been gaining momentum over the past few years. Important features of SDN include:

  • Separation of data and control plane,
  • a well defined vendor-neutral interface between the data and control plane (e.g. OpenFlow), and
  • a logically centralized control plane that provides a network view for the control and management applications. One important reason that industry is inclined towards SDN because it enables graceful scaling of network infrastructure and minimize obsolescence.  Basic differences between SDN and legacy network is shown in the diagram below:

As shown in the figure above, the user will see standardized hardware which is controlled by proprietary software (Controller), which in turn is accessed by Open APIs such as REST and HTTP. The advantage is that the network admin need not know the specific hardware command syntax and only need to know the overall design and Openflow.

We can imagine the entire SDN as having an SDN controller with North-bound and South-bound interfaces as shown in the diagram below:

As can be seen in the diagram, the SDN controller is usually proprietary to the vendor. The SDN application is a standardized application  that talks to the SDN controller, which in turn talks to the networking hardware.

The advantages of SDN include the following:

  1. Centralized network provisioning. Because it separates conceptually, the control and data planes, SDN can be used as a firewall and load-balancing traffic between networking nodes.
  2. Comprehensive infrastructure management. It is possible to provision the infrastructure such as servers, networking elements, etc. for more efficient and scalable operation.
  3. Vendor Neutrality: Enables use of old and new equipment with low obsolescence because the data plane is separated from the control pane.
  4. Enhanced security. By separating data plane from control pane, it is possible to enhance the overall security of the network. Further, SDN controller, being the brain of the Software Defined Networking, can be programmed to introduce additional layers of obscurity.
  5. Cloud infrastructure – By using SDN, the infrastructure can easily be migrated to cloud platform.

The SDN course is offered at several leading universities in USA, and typical course ware is given below:

  • API between Control Plane and Data Plane:OpenFlow
  • Controller Design:ONIX, POX and Floodlight
  • SDN Abstraction
    • Protocol Independent Forwarding
    • Composition and Trace Tree
    • Verification
    • Network Update
  • SDN Application
    • Traffic Engineering: Google B4, Microsoft SWAN, SDX
    • Wireless Networks: SoftCell, SoftRAN, OpenRadio, OpenRF
  • SDN Virtualization
    • FlowVisor
    • Open vSwitch
    • NFV
  • SDN Endhosts, Middleboxes, Debugging, fault tolerance and Security
    • SDN Control of Endhosts and Middleboxes
    • SDN Debugging, fault tolerance and Security