Friday, June 27, 2014

OpenFlow is a programmable network protocol designed to manage and direct traffic among routers and switches from various vendors. It separates the programming of routers and switches from underlying hardware.In a classical router or switch, the packet forwarding(data plane) and the high level routing decisions(control plane) occur on the same device. OpenFlow switch separates the control plane from the data plane. 

Flow tables are installed on switches. Each flow table entry contains a set of packet fields to match, and an action (such as send-out-port, modify-field, or drop).When an OpenFlow Switch receives a packet it has never seen before, for which it has no matching flow entries, it sends this packet to the controller. The controller then makes a decision on how to handle this packet. It can drop the packet, or it can add a flow entry directing the switch on how to forward similar packets in the future.

There are different versions of OpenFlow where V1.4 is the most recent. This version is an improvement to the older versions which has new features like optical ports, improved extensibility, atomic execution of a bundle of instructions and so on.

References
  1. Prof. Raj Jain's lectures and slides on OpenFlow.
  2. Thomas D. Nadeau; Ken Gray, SDN: Software Defined Networks, O'Reilly Media, Inc. 2013.
  3. Enhancing Open Flow to Enable Multilayer Networking by Karim Idoudi and Halima Elbiaze, published in 2013 15th International Conference.
  4. Enabling the future optical Internet with OpenFlow: A paradigm shift in providing intelligent optical network services by Simeonidou, D, Nejabati, R. and Azodolmolky, S , published in 2011 13th International Conference.