# Software-Defined Named Data Networking in Literature: A Review
## 5 Discussion
However, it is important to evaluate the processing time and efficiency of different route discovery algorithms and to choose the best one for SD-NDN models. In addition, one may consider using AI algorithms and machine learning to improve performance. In addition to the points previously discussed, it is important to note that the majority of SD-NDN architectures, as presented in Section 4, could unintentionally compromise the benefits that NDN aims to provide. This could potentially result in the SD-NDN model being less effective than a pure NDN or a host-centric model. Therefore, when integrating SDN into the NDN protocol stack, one should consider avoiding major changes. Significant alterations could negate most of the benefits that one aims to achieve from NDN, potentially rendering the SD-NDN model less effective than an NDN-only model or a host-centric model. Figure 9 serves as an example architecture, demonstrating a possible approach to circumvent this issue. The architecture divides the network into two layers: the control layer and the infrastructure layer. The control layer is composed of a number of controller nodes that manage multiple NDN routers. To prevent controllers from being overwhelmed, the quantity of NDN routers that each controller supervises should be balanced and proportionate to its capacity. The infrastructure layer, on the other hand, is composed of NDN routers, producers, and consumers. Here, unlike regular NDN  
Figure 8: NDN-fabric architecture. networks, the router nodes are responsible only for packet forwarding and switching, and the routing burden is carried to the controllers. Shifting the routing task to the controllers enables NDN routers to focus exclusively on forwarding tasks, thereby reducing the burden on NDN router nodes and persevering the benefits of NDN architecture. As explained in Section 3.1.3, in an NDN only network, exchanging LSA between two adjacent routers' NLSRs is done periodically to ensure that routers have a fully updated network view and detect broken links as soon as possible. However, frequent transmission of LSA can overwhelm the network. In addition, updates of the link status take a long time until they propagate through the network [16]. In our example architecture, these two issues might be minimized by adopting the routing process shown in Figure 10.  
1. NDN routers periodically send root advise interest that contains the hash tree values of their LSDB to their corresponding controller. The controller will reply only when it detects differences between the hash value it has and the received hash value, indicating that there is an update on the network state. 2. Once a deference between the hash values is detected by controller A, the controller sends a root advise reply that contains a hash value of data at the next tree level to router A. The router and controller then keep exchanging hash values at the next tree level until they find the data that are causing the mismatch. 3. After detecting the data (LSA) that are causing the mismatch, controller A sends an interest packet to request the data (LSA). 4. Router A replies with a data packet containing the LSA. 5. Controllers periodically exchange root advise interest that contains the hash tree values of their LSDB. A reply to this interest will be sent only when controllers detect a mismatch between the hash values, indicating that there has been an update on the network state. Figure 9: Software-defined NDN architecture. Similar to Step 2, once a mismatch is detected between the controllers' hash values, the controllers keep exchanging a root advise reply that contains a hash value of data at the next tree level until they find the data that are causing the problem. * After detecting the data (LSA), controller B sends an interest packet requesting the LSA. * Controller A replies with a data packet containing the requested LSA. * Controller B then sends a synchronization notification to all its connected routers. * Router B sends a data interest to request the LSA.