A Brief Introduction To OpenFlow, November 14, 2011 OpenFlow is a specification now managed by the Open Networking Foundation, which defines the functions and protocols used to centrally manage switches via a centralized controller.
OpenFlow controllers have a holistic view of the network from edge to edge and know all the paths between any two points. OpenFlow can use most fields from Layer 2 to 4 headers to match flows (a unidirectional set of frames between two points) and look up the path through the network. You can use multiple forwarding mechanisms to get better load balancing and processing without being limited to the physical topology. The controller is a piece of software and can be dynamically programmed based on changing needs, hence the term software-defined networking. That is the promise anyway.