# A Comprehensive Survey on Knowledge-Defined Networking
## 5 Control Plane
### Control Models
However, a logically centralized control plane has caused poor performance in inter-domain networks, such as controlling heterogeneous networks, so a logically distributed control plane architecture has been proposed for better control of such networks [327]. In a logically distributed control architecture, control is distributed among several controllers. The logically centralized control architecture is not preserved in the logically distributed control architecture, as shown in Figure 7d. As evident from Figure 7d, there is no communication between a centralized controller and forwarding elements, as there is no centralized SDN controller in this control architecture. However, forwarding elements in each network portion involve communication with a local controller for obtaining network control. In this architecture, a given controller does not broadcast all its network modifications to other controllers, unlike in the logically centralized flat architecture. Modifications in a given network will be transferred to other controllers only when needed (such as in the case of inter-domain service), where controllers will explicitly communicate in such an instance. A Distributed SDN Controller (DISCO) is a logically distributed and physically distributed controller framework implemented on FloodLight that is proposed for modern heterogeneous networks in a multi-domain environment, where a given DISCO controller will manage its own network, communicate with other controllers using an inter-domain part to provide network services and share aggregated network-wide information (reservation, topology state modifications, disruption), and use an intra-domain part for the main functions of the controller such as network monitoring, reacting to network issues, etc. [328]. DISCO can adapt to heterogeneous multi-domain network topologies to make sure that link failures are mitigated and end points are migrated. In D-SDN, the controller is distributed both logically and physically, which achieves logical decentralization by using a hierarchy of controllers where main controllers delegate control to secondary controllers to manage certain devices [309]. D-SDN has enhanced fault tolerance and security compared to DISCO. Software Defined Exchange (SDX)-based controllers are used to connect participants of different domains using a shared platform, enhancing control over inter-domain traffic management to improve wide-area traffic delivery. SDX, which is enhanced by logical and physical distribution of control, relies on inter-domain control policies to provide end-to-end services such as load balancing, traffic redirection, etc. However, SDX-based controllers have shown security vulnerabilities and reliability issues [329]. Several variations of SDX based controllers have arisen, such as Cardigan [330], AtlanticWave SDX [331], etc. Cardigan is a distributed SDX controller that applies routing as a service abstraction to a RouteFlow-controlled IP network in order to reduce operational complexity. The AtlanticWave SDX controller is able to provide multiple paths dynamically on demand, apply QoS, prioritize policies, manipulate flow levels, etc. in a distributed manner. A hybrid control architecture implements a combination of fully centralized and fully distributed architectures. In other words, both centralized and fully distributed versions of the control plane exist in a hybrid architecture. Based on the network conditions, the hybrid architecture has the flexibility to adjust the distributed or centralized features from zero to full, as shown in Figure 7e. As seen in Figure 7e, control plane communication also involves receiving control messages from the centralized controller and exchanging control messages between the nodes. In this architecture, the data plane elements can be involved in decision-making and network control. This architecture is called hybrid, as both the data plane and the control plane are involved in network control.