## 5 Design Choices for OpenFlow-Based SDN
### Control Plane: Physically vs. Logically Centralized  
Typically, a centralized control plane is considered for SDN. It provides a global view and knowledge of the network and allows for optimization and intelligent control. It can be implemented in a single server, which is a physically centralized approach. Obviously, a single controller is a single point of failure, as well as a potential bottleneck. Thus, a single control server is most likely not an appropriate solution for networks, due to a lack of reliability and scalability.  
As an alternative, a logically centralized control plane may be used to provide more reliability and scalability. It consists of physically distributed control elements that interface with each other through the so-called east- and west-bound interface which is illustrated in Figure 8. Since that distributed control plane interfaces with other layers, like a centralized entity, the data plane and network applications see only a single control element. A challenge for logically centralized control is the consistent and correct network-wide behavior. Another common term for the SDN logically centralized control plane is the \"network operating system\" (network OS).  
Several studies investigated the feasibility, scalability and reliability of logically centralized control planes. One research issue is the placement of the distributed control elements inside the network. In [72], the importance of limited latency for control communication in OpenFlow-based networks is highlighted. To meet these latency constraints, they propose a number of required controllers with their position in the network. [PERSON] _et al_. [73] optimize the placement of controllers with regard to latency, as well as controller load, reliability and resilience. Their proposed method can be used to implement a scalable and reliable SDN control plane.  
The authors of [74] propose a control plane named HyperFlow that is based on the NOX OpenFlow controller. They discuss the management of network applications and the consistent view of the  
Figure 8: Logically centralized control plane.  
framework in detail. For example, when a link fails, one controller notices the failure, but other controllers may not be aware of the link failure. The HyperFlow architecture ensures in such cases that network applications operate on a consistent state of the network, even though control elements may not share identical knowledge about the network. A hierarchical control platform called Kandoo is proposed in [75], which organizes controllers in lower and higher layers. Controllers in lower layers handle local network events and program the local portions of the network under their control. Controllers on higher layers make network-wide decisions. In particular, they instruct and query the local controllers at lower layers.  
Another study [76] compares the performance of network applications that run on a distributed control platform. Network applications that are aware of the physical decentralization showed better performance than applications that assume a single network-wide controller.  
[PERSON] _et al._[77] model the performance of OpenFlow controllers by a M/M/1 queuing system. They estimate the total sojourn time of a packet in a controller, which is mostly affected by its processing speed. Furthermore, they calculate the packet drop probability of a controller.