# Cache Servers Placement Based on Important Switches for SDN-Based ICN
## 1 Introduction  
Recently, Internet users are producing most of the content-centric traffic, and the amount of this traffic is on the rise due to the popularity of video streaming services among the users, such as YouTube and Netflix [1]. The Cisco's Visual Networking Index reported that, due to an exponential increase in the demand for video streaming, mobile data communication traffic would become sevenfold by 2021 [2]. In this traffic, video traffic will be 78% of the total mobile traffic. The increasing demand for video streaming of public users through mobile devices, the Internet speed is significant to fulfill the desired need for end-users by efficient use of bandwidth. The original TCP/IP ( Transmission Control Protocol/Internet Protocol) model was not enough to handle these services efficiently because the TCP/IP model uses host-based routing, which does routing and forwarding of data packets based on hosts (i.e., based on host IP (Internet Protocol) address). Addressing this problem, researchers proposed information-centric networking (ICN) by implementing the content-based routing at the network layer instead of host-based routing [3]. ICN is also called named data networking (NDN). A detail working of ICN is that a source node requests an object by initiating a request message. Named-Data-Object (NDO) specifies the object. The message is forwarded based on NDO to the destination nodes having a copy of the object specified by NDO. Upon receiving the request for the object, the destination node forwards the object in the response message to the source according to the ICN routing algorithm. In the ICN routing algorithm, each node publishes its shared objects in the network. Each forwarding node also stores a copy of the object present in response message in the cache. The reason for this is that the forwarding node cansatisfy subsequent requests for the same object without forwarding to the original destination node where the object is stored. The traditional computer network, the one used in practice, is distributed in nature [4; 5]. More specifically, the traditional computer network implements both the control and data planes in each forwarding device (i.e., routers and switches). The distributed nature of the traditional computer network causes several limitations, e.g., the traditional computer network is challenging to manage and control [6]. More specifically, the vendors implement (mostly embedded in the hardware) both the data and control planes in forwarding devices of the traditional computer network. In this closed system, one can not experiment with the new ideas and innovations due to these hard-coded logics in these devices [6]. Moreover, traditional computer networks are surprisingly fragile and difficult to manage. Because these are managed using a low-level configuration of devices, for example, policies are implemented mostly on these devices; like blocking a user, we need ACL (Access Control List) entry to be added in the list and knowing the user IP address. To overcome these issues of the traditional network, recently, Software Defined Network (SDN) has emerged as a new networking architecture separating the control plane from the data plane of forwarding devices. Due to this decoupling of the control plane from the data plane, SDN has several advantages over the traditional network, like ease of traffic engineering and enforcing security policies. The control plane in SDN is implemented at the logically centralized controller, and the data plane is implemented at forwarding devices. The centralized controller communicates with forwarding devices using northbound API (Application Programming Interface), e.g., OpenFlow Protocol. Thus, SDN is a promising technology to make network programmable, easy to control, and manage. Due to this paradigm shift in computer network architecture, the ICN approaches proposed for the traditional network, like the one in [7], cannot be implemented in SDN.