# Software-Defined Named Data Networking in Literature: A Review
## 4 Literature Review
While the simulations showed positive results in terms of energy consumption and content retrieval, the model has scalability issues, as it is challenging to forward all interest packets to the controller. Moreover, storing and looking up the data prefixes of all nodes in one controller can be resource-intensive and time-consuming. [PERSON] et al. [45] proposed a multipath forwarding strategy within an SDN framework (S-MP). In this approach, upon receiving an interest without a match in an NDN router CS, PIT, and FIB, the node forwards it to the SDN controller. The controller thenresponds with multiple potential paths to the content holders. Next, the NDN router forwards the interest packet along all of these paths. To maintain a global view of the CSs, controllers must receive updates from NDN routers about their CSs. Testing on a wide-area network demonstrated the routing scheme's effectiveness, although scalability remains a concern because it is not practical to frequently consult the controller and make the controller keep track of all CSs. In the ICNoSDN model [46], a consumer sends out an interest packet received by an OF switch. This switch then contacts the SDN controller to obtain the appropriate forwarding rules, which are subsequently distributed by the controller to the relevant switches in the path to the producer. After this, the interest packet navigates through the network until it reaches the producer. Once the producer receives the interest packet, it replies to the consumer using the reverse path forwarding (RPF) technique. Notably, the initial data packet is relayed to the SDN controller by an OF switch, which prompts the controller to establish and disseminate forwarding rules that direct the data packets to a cache server for storage. Although this model design was successful, it is not practical to burden the SDN controller with excessive caching and forwarding inquiries, potentially hindering the network's performance and scalability. The CRoS-NDN model [47] functions similarly to the preceding models. When a router encounters an interest packet that lacks a corresponding entry in its FIB, it relays this interest to the controller. The controller then updates the FIB of all routers along the route with new entries. Once a content holder receives the interest, it dispatches the requested content back to the requester using an RPF algorithm. However, this model can potentially overwhelm the controller with the volume of interest and FIB updates, leading to scalability issues. The NDNS [48] model operates by ensuring that unmatched interest packets are not forwarded to the controller, thus preventing it from becoming overwhelmed. Each NDN node maintains an MIB that records the details of neighboring nodes and a DIB that lists all prefix names associated with these neighbors. The controller possesses a global MIB (GMIB), a global DIB (GDIB), an RIB, and an FIB for all its connected nodes. It updates the nodes' FIBs based on changes in the GMIB and the GDIB. While this approach successfully reduces the number of interest queries directed at the controller, it still requires the controller to manage a large GDIB lookup table, which is impractical for scalability and efficiency. In the SDICN [49] model, consumers initiate communication by generating interest packets. These packets are sent to OF switches, which then forward them to the SDN controller. The controller is responsible for locating the content, establishing an optimal placement policy, and determining the optimal path for packet delivery. Similar to the aforementioned models, this one is also not scalable. [PERSON] [50] introduced a model known as OF-ICN that combines SDN with NDN and significantly alters the routing process in NDN. In this model, when a consumer sends an interest to the OF switch, the switch initiates a search in its CS, PIT, and FIB for a corresponding match. If the search yields no results, the OF switch consults the OF-ICN controller. The controller, in turn, provides the necessary routing information.