Openflow
What Is OpenFlow?
OpenFlow is a communication protocol that provides an open interface between the control plane and the data plane of software-defined networking (SDN) devices. It allows an external SDN controller to program the forwarding behavior of switches and routers by directly reading and modifying their flow tables, replacing the distributed, embedded control logic that traditional networking equipment uses to make forwarding decisions. OpenFlow was introduced in a 2008 paper by McKeown et al. at Stanford and was subsequently standardized by the Open Networking Foundation (ONF), making it the first widely adopted open protocol for SDN control.
The core premise of OpenFlow is the separation of network control intelligence from packet forwarding hardware. In a conventional switch, the control plane, which decides where traffic should go, and the data plane, which physically moves packets, are tightly coupled inside the same device. OpenFlow decouples them, relocating the control plane to a centralized or logically centralized SDN controller that communicates with forwarding devices using the OpenFlow protocol.
Control and Data Plane Separation
In an OpenFlow network, each switch maintains a flow table containing entries that specify how to handle packets matching particular header fields. When a packet arrives and no existing flow entry matches, the switch forwards the packet to the OpenFlow controller, which computes the correct forwarding decision and installs a new flow entry in the switch's table. Subsequent packets matching the same flow are handled locally at line rate without consulting the controller. This model centralizes policy decisions while preserving high-speed forwarding in the data plane. IEEE Xplore publications on OpenFlow and SDN survey the range of controller designs, flow table management strategies, and scalability challenges that arise from this architecture.
Protocol Mechanics and Flow Tables
The OpenFlow channel between controller and switch uses TCP, typically on port 6653, and the connection is commonly encrypted with TLS. The controller issues messages to add, modify, or delete flow entries, and receives asynchronous messages from the switch reporting events such as unmatched packets and switch status changes. Flow entries consist of a match specification covering header fields including Ethernet addresses, IP addresses, transport ports, and VLAN tags; an action list specifying operations such as forwarding to a port, dropping, or encapsulating for tunneling; and counters that track the number of packets and bytes handled by each entry. Successive OpenFlow versions, from 1.0 through 1.5, have progressively expanded the match fields and action types available, increasing the granularity of control an SDN controller can exercise over forwarding behavior.
SDN Controllers
The SDN controller is the software component that translates network policies into OpenFlow rules and distributes them across the forwarding layer. Controllers such as OpenDaylight, ONOS, Ryu, and Floodlight expose northbound APIs through which network applications describe desired behavior in terms of flows, routes, or policy intent, while the controller translates these into OpenFlow messages for individual switches. Research on OpenFlow controller design addresses challenges including controller scalability, consistency under concurrent policy updates, and high-availability configurations where multiple controller instances coordinate to prevent a single point of failure. The separation of controller from data plane also enables programmatic network control through standard programming languages and management frameworks rather than vendor-specific CLI configurations.
Applications
OpenFlow has applications in a range of fields, including:
- Data center network virtualization and traffic engineering
- Wide-area network (WAN) traffic management and path optimization
- Campus network access control and policy enforcement
- Research and experimental network testbeds requiring programmable forwarding
- Network security applications using flow-level traffic monitoring and anomaly response