# Cache Servers Placement Based on Important Switches for SDN-Based ICN
## 1 Introduction
The reason is that the traditional network is distributed in nature, while SDN is centralized architecture. The researchers have suggested several approaches to support ICN functionalities in SDN; we call these approaches as SDN-based ICN, addressing different issues like cache management, routing, communication between the controller and ICN-enabled router, and name-based forwarding [3; 4; 5; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26]. For cache management in SDN-based ICN, two types of approaches are devised as follows:  
1. [label=()]
2. Pervasive caching approach: In this approach, all forwarding devices have the capabilities of content caching according to caching policies [7]. The main advantage of such an approach is its higher resilience to node failure and short end-to-end delay for data delivery. However, the disadvantage of this approach is that it caches the content redundantly at many forwarding devices. This phenomenon, in turn, results in inefficient management of cache storage. An example approach of the pervasive caching is [4]. 3. Centralized caching approach: In this approach, the content caching storage is not available in every forwarding device, but, instead, there are one or a few dedicated cache server(s). This approach has several advantages as follows: 1. [label=()] 2. First, this approach manages the cache storage efficiently by avoiding caching a content redundantly. 3. Second, this approach makes communication faster as follows. In a pervasive caching approach, a forwarding device does two primary jobs: routing and content caching. This phenomenon makes a forwarding device more complex and reduces its performance in pervasive caching. The centralized caching approach decouples content caching from the forwarding devices, and the cache server performs content caching. This phenomenon increases the performance of forwarding devices. 4. Third, the authors in [8] show that the centralized caching approach has a higher cache hit ratio as compared to the pervasive caching approach. The reason is that the cache storage avoids storing a large number of redundant contents. It makes space for a greater number of unique contents in the cache storage. * Fourth, this approach reduces the installation cost of the network [8]. Moreover, the centralized caching approach is also advocated in many other networking applications as follows:  
* By installing the flow rules proactively for all the possible flows as the network gets running, this can lead to the overflow of the flow table at the switches. To solve this problem, DIFANE [27] advocates a centralized caching approach for storing the flow rules generated proactive by the controller. More specifically, DIFANE attempts to offload the controller by generating the flow rules for all possible flows proactively as the network gets running. Then, the controller distributes these flow rules disjointly among the authoritative servers (we can call them cache servers). When a flow arrives at the switch, and the switch does not have the flow rules for the flow, then the switch asks one of the authoritative servers instead of the controller for the flow rules. This phenomenon offloads the controller from these flows. Furthermore, the authoritative servers are attached to the switches; thus, DIFANE uses an in-band communication model [28]. * For a Server and Network Assisted DASH (SAND) architecture used for the video streaming applications, the authors in [29] combine both SDN and NFV (Network Functions Virtualization) technologies by creating virtualized caches using NFV hosted by the servers connected to the switches. The authors deploy the virtualized caches in the network by considering the number of online requesting hosts (clients), bandwidth of the paths, and the locations in the network. * The OFELIA project [14] places the cache server outside the SDN switch in order to support the ICN functionality in SDN.