# Software-Defined Named Data Networking in Literature: A Review
## 4 Literature Review  
In the rapidly evolving field of network architecture, the integration of SDN and NDN has emerged as a promising approach to enhancing various NDN mechanisms. This literature review aims to provide a survey of multiple implementations that have successfully combined SDN and NDN to improve key NDN mechanisms, such as routing, caching, and forwarding. By exploring these implementations, we hope to shed light on the potential of this integrated approach and its research gaps and open questions. [PERSON] et al. [41] conducted a study on the integration of SDN with NDN to enhance QoS-aware mobility architecture. The authors proposed a model, software-defined proactive caching architecture for consumer mobility, which proactively dispatches data packets to new routers during handovers to manage consumer mobility in NDN. This dispatching is controlled by an SDN controller. While the simulation results showed improvements in network performance metrics, such as CPU usage, delay time, jitter, throughput, and packet loss ratio, it is important to note that this design may not be suitable for highly mobile networks due to the centralized control of data packet dispatching. This limitation is particularly relevant in scenarios where frequent handovers occur, potentially overloading the central controller and affecting network performance. The authors of [42] proposed a novel approach to cache content placement in software-defined ICN-IOT networks. They introduced an adaptive cache placement framework, which leverages a sliding window-based mechanism to optimize cache placement in accordance with energy constraints and data attributes, such as freshness and popularity. The framework is managed by a software-defined cache controller (SDCC) that operates in both centralized and decentralized modes. While the simulation results demonstrated improvements in energy efficiency, it is important to note that the centralized model may face challenges due to its single point of failure and scalability issues. These limitations are particularly relevant in scenarios where a network grows, as all data statics must go to a single controller, potentially overloading the SDCC and affecting network performance. The decentralized model was introduced by the authors to address these limitations by distributing control across multiple controllers. [PERSON] et al. [43] proposed an SDN-NDN model that repositions the FIB from NDN routers to a controller that also manages a management information base (MIB) and a data information base (DIB). The MIB contains the neighbor lists of all nodes linked to the controller, while the DIB stores all prefixes found in the CS of all nodes connected to the controller. In this model, when an NDN router receives an interest packet that needs forwarding, it consults the controller to determine the forwarding interface. Although the simulations indicated positive network performance metrics, such as bandwidth, delay, cache hits, and memory overhead, the model has scalability issues. It is challenging to store and look up the data prefixes of all nodes in one controller. Furthermore, consulting the controller for every interest packet that needs forwarding is not practical. [PERSON] et al. [44] developed a model in which a controller manages a routing information table (RIT), a global information table (GIT), and a flow forwarding information base (FlowFIB). The RIT stores routing information; the GIT contains information about neighboring nodes, their contents, and the energies of all nodes connected to the controller; and the FlowFIB contains the FIB of all nodes connected to the controller. Meanwhile, an NDN router manages a CS, a PIT, and a local information table, and when it receives an interest packet that is not in its CS or PIT, it forwards the interest to the controller based on a predefined priority window. The controller then computes the optimal route based on energy and priority and sends this information back to the router.