# A Comprehensive Survey on Knowledge-Defined Networking
###### Abstract
Research conducted in [20] also uses the KDN concept for exploring the knowledge of risk reasoning through vehicular maneuver conflict. More recently, KDN has been used where node mobility is analyzed to measure the centrality degree of a region, and this knowledge is made accessible to nodes [21]. In research [22], sensor information from multiple nodes in a common geographical area is used to generate knowledge to recognize high-level contexts of control. Khan et al., in their research [23], have applied deep learning [24] to learn the transmission patterns of neighboring vehicles, which has resulted in fewer packet collisions. Knowledge creation, composition, and distribution to reduce data volume and cost have been proposed in work [25], which uses the concept of KDN. However, the preceding work failed to bring out a well-studied architecture for KDN, even though its applications have been studied by previous researchers. A knowledge-defined network has been proposed by some researchers as an architecture for applying Machine Learning (ML) to SDN [26]. KDN architecture uses the concept of knowledge-based networking; in other words, it uses information to generate knowledge using ML models or heuristic models. Even though the initial architecture of KDN was proposed in 2003 in research [27], it has gained attention recently due to advancements in machine learning. KDN has an additional management plane and a knowledge plane logically separated from the control plane compared to SDN, where the knowledge plane uses machine learning or heuristic model-based methods to process the information collected from the management plane and generate rules and knowledge to provide to other planes of the KDN. KDN has been utilized to improve network performance through automatic optimization of network traffic routing and load balancing based on real-time data analysis [28]. KDN converts the manually configured control plane actions in conventional SDN to a self-learning automated rule-generating control plane driven by knowledge generated from artificial intelligence [29]. The use of Machine Learning (ML) technology for KDN security has been popular in the recent past, where it has been used to detect intrusions [30], detect Distributed Denial of Service (DDoS) attacks [31], and detect anomalies [32]. ML has also been used for traffic classification [33], packet classification [34], predicting link failure [35], routing optimization [36], etc. in KDN. For knowledge-defined vehicular networks, machine learning has been used for predicting vehicle-to-infrastructure link life times [37], detecting DDoS attacks [38], trust-based routing optimization [39], etc. In [40], the authors show how machine learning, meta-heuristics, and fuzzy logic can be used to generate knowledge for knowledge-defined networks. AI/ML has been applied to the 5G network architecture to make knowledge-driven decisions for slice management, network service orchestration, vertical domain cross-layer optimization, management analytics, and anomaly detection [41]. By automating network management tasks, KDN can reduce the need for manual intervention, lower operational costs, and increase energy efficiency [42]. Work in [43] shows how the KDN concept can be used for closed-loop network monitoring to realize a self-driving network concept. Similarly, another piece of research highlights how closed loop control can be used for automatic routing in a KDN using deep reinforcement learning to learn experiential knowledge, which also includes network monitoring to realize the interaction with the environment [44]. A self-organizing routing algorithm that reactively finds the most reliable route using a deep neural network in a self-organizing knowledge-defined network has been investigated in [45]. Driven by the benefits of automation and recommendation due to the knowledge plane in KDN, a self-driving system that selects the optimal path for service function chaining and reactive traffic functioning using graph neural networks has been studied in [46].