OpenFlow is a networking standard that comes from the Open Networking Foundation (ONF). It is one of the key technologies in SDN because it provides an open interface to the hardware that controls network packets (known as the forwarding layer). Up to this point, the forwarding layer has been integrated into and controlled by proprietary hardware and proprietary routing protocols.
This white paper describes the essence of OpenFlow:
“OpenFlow is based on an Ethernet switch, with an internal flow-table, and a standardized interface to add and remove flow entries.”
Originally designed to aid experimentation in SDN concepts, OpenFlow has become a standard at the core of SDN.
The OpenFlow web site provides another explanation:
“In a classical router or switch, the fast packet forwarding (data path) and the high level routing decisions (control path) occur on the same device. An OpenFlow Switch separates these two functions. The data path portion still resides on the switch, while high-level routing decisions are moved to a separate controller, typically a standard server. The OpenFlow Switch and Controller communicate via the OpenFlow protocol, which defines messages, such as packet-received, send-packet-out, modify-forwarding-table, and get-stats.”
Paul Venezia’s article “Why OpenFlow is the Next Big Thing” is also interesting. Venezia provides a primer on how OpenFlow works and how it “turns traditional networking on its head,” which Venezia points out is clearly necessary.
One nice thing about OpenFlow is its research heritage. It means that people should be able to experiment easily to find ways to improve network performance.