OpenFlow

OpenFlow is an open standard defined byt the Open Networking Foundation (ONF) that provides direct access to the switch forwarding plane. The OpenFlow concept was first introduced by Nick McKeown et al. in the paper "Enabling innovation in campus networks" published in 2008.

How does it work?

Looking inside an ethernet switch, two main parts can be found: A Control Path (Software) on top of a Data Path (Hardware).

OpenFlow is a feature added on top of the Data Path at the same level of the Control Path. An OpenFlow controller is placed somewhere outside in the network and talkes to the OpenFlow Client in the switch using a defined protocol. OpenFlow interface is based on three entries in the flow table: Rules, Actions and Stats. Rules are based on a given set of fields. An action is what we can do with a packet that matches a given rule.

OpenFlowSwitch.jpg

Image taken from OpenFlow: Enabling Innovation in Campus Networks - White Paper.

Limitations of OpenFlow Switches