OpenFlow is a protocol that allows a server to tell network switches where to send packets. In a conventional network, each switch has proprietary software that tells it what to do. With OpenFlow, the packet-moving decisions are centralized, so that the network can be programmed independently of the individual switches and data center gear.
In a conventional switch, packet forwarding (the data path) and high-level routing (the control path) occur on the same device. An OpenFlow switch separates the data path from the control path. The data path portion resides on the switch itself; a separate controller makes high-level routing decisions. The switch and controller communicate by means of the OpenFlow protocol. This methodology, known as software-defined networking (SDN), allows for more effective use of network resources than is possible with traditional networks. OpenFlow has gained favor in applications such as VM (virtual machine) mobility, mission-critical networks, and next generation IP-based mobile networks.
Several established companies including IBM, Google, and HP have either fully utilized, or announced their intention to support, the OpenFlow standard. Big Switch Networks, an SDN firm headquartered in Palo Alto, California, has implemented OpenFlow networks that run on top of traditional networks, making it possible to place virtual machines anywhere in a data center to reclaim stranded computing capacity. By early 2012, Google's internal network ran entirely on OpenFlow.