Thursday 28 April 2016

Empowering Internet of Things(IoT) with SDN

The technology industry has been all a-buzz with the emergence of Internet of Things(IoT). This growing industry refers to the world of smart devices & services starting from mobile devices, cars, wearable's, and many more things. Today is the demand of accessibility and availability for each and every "thing" & customer wants connectivity.

As the breadth of connected devices continues to expand, connected services are also emerging, taking a toll on limited network capacity. Networks are facing a tipping point with the growth of mobile data and need to simultaneously operate over multiple wireless technologies.

One characteristic of many of the devices is that they are extremely power-limited and cost-sensitive. Another is that when they govern industrial processes their communications are extremely time-sensitive. Therefore their communication protocols and technologies might have to be quite specific to their application environment and their priorities and Quality of Service (QoS) need to be maintained across multi-application networks. And while their individual traffic rates might be small, the sheer number of devices means that the volume of aggregated traffic will be large. Thus the rise of IoT means that networks will inevitably be handling an influx in big data and an increase in network traffic.

What can network operators do now to prepare for IoT and avoid crippling their networks with the increased traffic? IoT will require networks to become more agile to accommodate the increased amount of transmitted data along with the expansion of connected devices. In looking ahead to what is in store for networks and IoT, SDN is a viable solution to manage the increased traffic and its QoS.

As a network architecture, SDN allows for network control to be decoupled from the forwarding plane and the forwarding plane to be directly programmable by the control plane. The power-limited and cost-limited nature of many of the devices in the IoT makes them ideal candidates to be optimized solely for their application and basic forwarding, not for network control. Mobile networks are strong candidates for SDN implementation as they already maintain a separation of the control and data planes. With SDN, enterprises and carriers gain vendor-independent control over the entire network from a single logical point, which greatly simplifies network design and operation. SDN allows IT to leverage the simplified network design to deploy new services in a matter of hours or days, not weeks or months, and create new services for differentiation. SDN provides a flexible tool to improve the management of the networks. These network functions can now be implemented in software processes that operators can control centrally and provision automatically with orchestration tools.

--Dan Pitt, Executive Director, Open Networking Foundation

Wednesday 27 April 2016

OpenFlow Concept

By using OpenFlow we can generalize data-paths(OFS) and controller them using any OpenFlow controller. The data-paths contain the flow tables and controller(OFC) is responsible for populating the FlowTable based on the version of OpenFlow protocol. Flow table consists of the match fields and the actions fields or Instructions. Below image shows the high-level overview of the component of Flow Table.

The OpenFlow controller has the ability to ADD/MODIFY/DELETE the flow entry into the switch based on the instruction issued by the Network Administrator


  • Match Fileds: This field contains the matching parameter with respect to the packet, to match against packets. These consist of the ingress port and packet headers, and optionally metadata specified by a previous table
  • Priority: The Flow table may have multiple flow entries for a packet. This field set the priority of Flow entry for a packet.
  • Counters:  Count of packets that hit the flow entry. Counters are managed per port, per queue , per flow entry etc.
  • Timeout: validity time for each flow entry or maximum amount of time or idle time before flow is expired by the switch
  • Cookie: opaque data value chosen by the controller. May be used by the controller to filter flow statistics, flow modification and flow deletion. Not used when processing packets.
  • Instructions: Instructions specify processing for packets that matched conditions or we can say modify the action set or pipeline processing.
A flow table entry is identified by its match fields and priority: the match fields and priority are taken together identify a unique flow entry in the flow table. The flow entry that wildcards all fields (all fields omitted) and has priority equal to 0 is called the table-miss flow entry.

Below Flow Chart shows the packet Flow through the OpenFlow Switch.


Flow Entry:
In traditional each networking device independently identifies the destination for the packet. The basis may be L2, L3 or L4 networking fields. OpenFlow controls traffic by adding rules, which is the combination of identifies of each layer. (L1-L4). Each of these rule is stored into the flow table and known as Flow Entry. A flow entry also consist of actions/Instructions along with maching rules.

There can be two types of flow entry:  
i) Exact Match: when all the parameters of the flow entry are uniquely defined and there is no wild card field. They always have highest priority.
ii) Wildcard Match: When any one parameter of the Flow entry is wildcard then it is known as wild card flow entry. A wild card flow entry can match more than one type of packets.

If a packet satisfy the matching condition of both exact and wildcard flow entries than It will hit the exact flow entry. 


Tuesday 26 April 2016

What is OpenFlow?

OpenFlow is a protocol used for communication between data plane and control plane separated by using SDN architecture. Basically, It is next-generation network technology that divides the network routing functions and the packet forwarding functions on OpenFlow protocol. OpenFlow Controller (OFC) that controls the communication paths and OpenFlow Switch (OFS) that controls the packet forwarding are the elements that constitute a network.


Specifications defined by OpenFlow protocol

  • OpenFlow Switch(OFS) controlled by OpenFlow Controller
  • Packet header referenced by OpenFlow protocol.
  • Flow Table
  • Flow Processing
  • Format of messages transferred between switch and controller
OpenFlow Overview:


Tuesday 19 April 2016

What is SDN?

What is SDN?

Software Defined Networking defines the Network functions using software.
It is not a technology, it's just a concept to centralize Network configuration.

we can categorize Networking into two ways:
Legacy Networking 
SDN Networking

Legacy Networking:
In traditional Networking every device whether it is a switch, router or firewall has
its own control part, which is decentralized from each other. In this scenario, each Network device, process network packet and decide destination for it,



This results in the manual configuration of each of the network device so that each device can 
process packets according to the network configurations. There is always the high possibility of
errors and misconfigurations over devices. 
One more point of concern is that in a Network there can be numerous Network devices developed
by different vendors like CISCO, Juniper, NEC, Broadcom. All these vendors have the different set of API's 
to control the data path of these Network devices. Which results in more chances of misconfiguration 
over Network devices and Network management becomes a tedious task for Administrators.

SDN Networking:
SDN is a new concept that divides the data plane and control plane. It manages the data plane via
a centralize interface which connects all the data plane to the control plane.
In SDN, only one control plane is equipped to manage all the data planes of the Network. means one 
control plane (controller) can manage all the data planes of different vendors. 
This concept simplifies the configuration over Network devices and minimizes the chances 
of misconfiguration.