OpenFlow is a Layer 2 networking protocol sponsored by the Open Networking Foundation that allows for the separation of the control plane and the forwarding data plane in Ethernet architectures.
Currently, these two planes are located in the same device − the control plane maintaining network information and routing tables used to maintain connectivity and the data plane providing the interface for incoming and outgoing packets. This requires all networking devices to have access to the same tables and related information, which is usually updated manually as changes to the network are implemented.
Under OpenFlow, the data plane remains in the switch, but the control plane is placed on a separate controller, with OpenFlow enabling communication between the two. By separating control and data forwarding, network configuration settings and updates can take place in software, which opens up the possibility of embedding network information and requirements on the application level. This allows networks to be configured and reconfigured on the fly, with little or no direct involvement on the hardware level, essentially providing virtual, abstract networking environment. This is commonly known as Software Defined Networking (SDN).
OpenFlow 1.3 is the latest update to the OpenFlow protocol. It describes the various port configurations, channel types and flow tables,a s well as the relationships between these elements, to be used in OpenFlow-compatible switches.
Every OpenFlow switch contains a number of flow and group tables used in the packet forwarding process, as well a communications channel to an external controller. In this way, the controller is able to supply the switch with updates to flow tables and other pertinent information needed to maintain network pathways. OpenFlow tables support two kinds of pipeline processing between tables: OpenFlow-only and OpenFlow-hybrid, used for single-protocol and mixed environments respectively.
OF 1.3 also provides information on the port configurations needed to connect switches to each other. The protocol supports three types of ports: physical, logical and reserved. Physical ports correspond directly to a hardware interface, while logical ports exist on the higher, abstracted plane. Reserved ports handle generic forwarding instructions to non-OpenFlow systems.
OF 1.3 includes a number of additions to the previous 1.2 spec. These include:
- Support for IPV6, that allows controllers to implement new routing deployment configurations and Request for Comment (RFC) specifications
- Tunneling and logical port abstractions that can be used in datacenter, Virtual Private Network (VPN) and other deployments
- Provider Backbone Bridging (PBB), which provides a lightweight tunneling method for datacenter-to-datacenter connectivity
- Enhanced per-flow metering and per-connection filtering techniques designed to improve data flow, bandwidth management and QoS
The market for OpenFlow-compatible switches is small, but growing , although no one has released an ONF 1.3 product yet. On the software side, there are a number of Reference Linux builds, which provide an easily configured, although somewhat slow implementation, as well as the 4 Gb NetFPGA targeted mainly at research and educational applications. The Open vSwitch provides for multilayer switching under the open source Apache 2 license and is considered the front-runner for enterprise environments due to its support for leading virtualization platforms like XenServer, KVM and VirtualBox. As well the OpenWRT system provides a means to link OpenFlow to wireless routers and access points, also a key benefit to the enterprise.
In hardware, options include the HP ProCurve 5400zl, featuring up to 48 1 Gb ports under ONF 0.8.9. HP recently announced that it will support OpenFlow on more than a dozen switches in the 3500, 4500 and 8200 families. NEC PF5240 supports ONF 1.0 and also provides 48 1 Gbps ports, as well as a pair of 10 GbEs. Stanford University has also made available several versions of its Pronto switch, providing one OpenFlow instance per switch under the school's own reference design. And IBM recently released the G824 switch, which provides 48 10 GbE ports and four 40 GbE ports, and is capable of operating in traditional L2/L3 or OpenFlow modes.
The Open Networking Foundation expects ONF 1.3 to be the last major revision to the protocol for the next year, at least. The organizations says that, feature-wise, the system is fairly up to date, so the focus will shift away from development and more toward implementation in 2013.
For the enterprise, OpenFlow not only ushers in a new era of dynamic network configuration, but introduces a level of network customization that should allow organizations to optimize both hardware and software to their specific needs. With the toolsets available in ONF 1.3, generic physical and virtual switch environments can easily be configured in-house for a wide array of network and data requirements.
The full spec can be viewed here.