# A Comprehensive Survey on Knowledge-Defined Networking
###### Abstract
Additional difficulties for SDN include security flaws [7], and, due to the substantial movement of nodes and changing network layout, network tasks such as routing and control of transmission [8, 9]. Additionally, SDN encounters difficulties, including integration with outdated networks that are not compatible with the OpenFlow protocol, the centralized controller's inability to independently control all traffic, the availability of only a few protocols for communication between the controller and services, etc. [10]. There are primarily three types of SDN architectures: centralized, distributed, and hybrid. In a centralized design, all logical control is centralized, and data plane nodes execute activities in line with the SDN controller's rules for traffic [11]. However, the control plane connection between the data plane elements and the centralized controller in this design has a larger delay [12]. Additionally, this design has limited extensibility and has the potential for inaccuracy when control plane connections disappear or are interrupted. Control is divided across numerous controllers in a distributed architecture, and the controllers may interact with one another for coordination and uniformity. The sole point of collapse and capacity issues seen in the centralized control architecture are avoided by this design. To determine the best paths, this design takes longer time than the centralized architecture [13]. A hybrid control architecture has been created to overcome the shortcomings of both distributed control and centralized control designs. The centralized controller in this system is able to adjust the degree of control exerted over the nodes from total to none depending on the situation, allowing it to behave as a blend of fully centralized control with a conceptually centralized control plane and fully distributed control, with a portion of the control plane split among the end devices [14]. The literature that is now available describes four types of functionally centralized control architecture for the SDN based on the organizational structure of the data and control planes: fully hierarchical, hierarchical data plane, hierarchical control plane, and standard. A fully hierarchical architecture contains tiered data and control planes that are separated into upper and lower planes [15]. The upper data plane is made up of border network forwarding devices such as wireless access points, eNodeB, and gNodeB, while the lower data plane is made up of SDN-enabled nodes. The upper control plane has an overall picture of the network and is made up of SDN controllers of the primary network. The lower control plane is responsible for controlling the subsystems of the network and is made up of SDN controllers of the edge network connected to the upper control plane by a cable network. Because multiple secondary SDN controllers may be allocated to different parts of the network, this design provides the maximum level of agility and programming abilities. The control plane in a hierarchical data plane SDN architecture is non-hierarchical, whereas the data plane is separated into lower and upper data planes [7]. The data plane in a hierarchical control plane SDN architecture is not separated into upper and lower data planes, but the control plane is [16]. The control plane is totally centralized and has the least adjustability in the standard SDN architecture, which is equivalent to the original SDN planes [17]. The standard SDN paradigm is the most generally used design, while the full hierarchical SDN structure is the most rarely utilized model by academics as a result of its more complicated nature in terms of control and implementation, according to the study conducted in [18]. Knowledge-Defined Networking (KDN) is the concept of using information to generate knowledge using machine learning models or rule-based models and making network decisions accordingly [19]. The work in [19] presents a framework for cooperative knowledge building and sharing.