An Introduction to OpenFlow

OpenFlow was designed by academic researchers as one of the first software-defined networking(SDN) standards for administering computer network. The goal was to make all the access points such as network routers and network switches programmable in order to meet changing business requirements.

Sponsored Links

Role of  OpenFlow

Main role of an OpenFlow is to allow administrators to centrally control data routing decisions of routers and switches. Unlike  traditional networks where administrator configure each device with necessary policies, in an OpenFlow enabled network, the policies are programmed as a group on all switches and routers. If needed policies can be altered and each device can be re-programmed using the same interfaces. OpenFlow can play a crucial role in datacenter by simplifying management of virtual servers and similar re-provisioning applications.


How OpenFlow Works?

OpenFlow works by establishing OpenFlow Controller which is a central service device on the network. These OpenFlow Controller setup connections with OpenFlow aware routers and switches and then sends instructions or commands to them using a specific network protocol. These commands, in turn instruct the receiving devices to adjust their logic for processing packets. Routers and switches can also in return send messages or error notifications back to the Controller.

Sponsored Links

The OpenFlow protocol describes message exchanges that take place between an OpenFlow controller and an OpenFlow switch. The OpenFlow protocol allows the controller to perform add, update, and delete actions. It supports mainly three types of messages:

Controller-to-Switch Messages: Such messages are started by controller and, in certain cases, it also need a response back from the switch. Messages of this class allows the controller to handle the logical state of the switch. This class also involves Packet-out message which is needed  when the controller choose not to drop the packet which was sent by the switch. Instead the controller direct it to a switch output port.

Asynchronous Messages: Such messages are sent without seeking confirmation from the controller. This class involves types of status messages including the Packet-in message sent by the switch while moving packet to the controller.

Symmetric Messages: Such messages are sent without consulting either the controller or the switch. These types of messages are used to send Hello messages between the controller and switch during their first connection. To measure bandwidth or latency of the connection, echo request and reply messages are used by either the switch or the controller.

Issues Involved With OpenFlow

There are several limitations or extra efforts involved in implementing OpenFlow environment:

  • For any device to work in an OpenFlow environment and communicate to an SDN/OpenFlow Controller, it must support the standard OpenFlow protocol.
  • A business which is willing to adopt OpenFlow environment and which has larger  amounts of legacy hardware to upgrade for the new environment, will have to undertake a significant effort and expense to work with the protocol.
  • Many administrators are not familiar with the concept of programmable devices, thus businesses may have tough time finding the right candidate in the absence of proper training and certification programs for OpenFlow.
  • Besides OpenFlow there are many alternatives for handling Software Defined Networking. The pace at which industry is evolving, we can’t simply say no to the possibility of a newer standard to emerge that can replace OpenFlow and hence, it can make a business to worry about the return on investment involved in adopting it.

Several applications are using OpenFlow such as mission-critical networks, VM (virtual machine) mobility, and new generation IP-based mobile networks. Some of the big companies like IBM, Google, and HP are showing interest in OpenFlow standard, in fact, few of them have already utilised it.

Leave a Reply

Your email address will not be published. Required fields are marked *