A Cache Placement Strategy Based on Entropy Weighting Method and TOPSIS in Named Data Networking

Named data networking (NDN) aims to change the traditional content delivery method and caching by router nodes caching and participating in forwarding. NDN-caching can reduce the expected flood of global data traffic by providing cache storage at intermediate nodes for transmitted content objects, making data broadcasting in an efficient way. In this paper, a novel caching strategy based on entropy weighting method and TOPSIS is proposed for efficient content dissemination to improve NDN’s in-network caching performance. Firstly, the consumer’s request process is modeled by the entropy weighting method and TOPSIS to obtain the best cache node for the cache object according to the real-time status of the node. Secondly, two cache replacement algorithms (composed of an active cache replacement algorithm and a passive cache replacement algorithm) are proposed to reduce the cache redundancy on the delivery path and improve the utilization of data packets in the nodes. Finally, an effective cache mechanism and data packet migration scheme are proposed to further improve the cache performance according to the different types of cache nodes. The performance evaluation shows that the proposed scheme performs better in terms of cache hit rate, latency, and link load compared with some existing strategies.


I. INTRODUCTION
The main function of the Internet is to satisfy consumers' needs for connectivity and resource sharing. Content acquisition services represented by video distribution and file downloads have become mainstream application requirements on the Internet in the last decade. According to Cisco Annual Internet Report [1], the total number of Internet users will increase to 5.3 billion (66% of the global population) in 2023, which is higher than 3.9 billion (51% of the global population) in 2018. The growth of Internet users makes the total amount of Internet video services also increase. The wide applications of CDN (Content Distribution Network, CDN) [2] and P2P (Peer-to-Peer, P2P) [3] technologies based on TCP/IP traditional network architecture have alleviated the network problems caused by mass content distribution to The associate editor coordinating the review of this manuscript and approving it for publication was Guangjie Han . network architecture. The efficient content distribution performance of NDN depends on the in-network caching function. In-network caching of NDN is provided to the network as an infrastructure service, which can effectively improve the quality of network services to maximize the huge benefits for consumers and Internet service providers [11]. Furthermore, in-network caching can be combined with Vehicular Ad Hoc Networks [12], software defined networking (SDN) [13], Fog Computing [14], blockchain [15], Internet of Things (IoT) [16], [17] and so on to implement flexible and efficient network services.
The caching strategies mainly include cache placement algorithm, cache replacement algorithm, and cache resource allocation algorithm in NDN. Cache placement algorithm is the key to improve the performance of caching strategy, so cache placement algorithm has been studied most at present [18]. To this end, we proposed A Cache Placement Strategy Based on Compound Popularity (abbreviated as CBCP) [19] by using global request information in our previous research. CBCP only includes a cache placement strategy, and also requires a small amount of communication overhead between nodes to obtain global data. To make more reasonable use of limited cache resources and avoid the communication overhead of obtaining global request information, we consider the content popularity within a single node and the changes in the state of the node to design a caching strategy instead of considering the global request information in this paper. The caching strategy includes cache placement strategy and cache replacement strategy. The main contributions of this paper are summarized as follows: 1) We analyzed the real-time status of nodes and the popularity of content within a single node in detail and used entropy weighting method and TOPSIS to model the process of consumers requesting content. The optimal cache node of the cache object can be reasonably calculated by this model.
2) We also propose a novel compound cache replacement strategy, which consists of active and passive cache replacement algorithms. The cache replacement algorithms can effectively improve the utilization of data packets and reduce the cache redundancy in the network. To further improve the reuse rate of data packets, we also propose an effective cache mechanism and packet migration scheme for different types of cache nodes.
3) By using Icarus simulator to conduct large-scale simulation experiments in the Tiscali-3257 (pan-European commercial ISP) topology, we evaluated and analyzed the reasons for the performance differences between the various caching strategies in detail. In the simulation experiment, the proposed scheme has achieved good performance in the three evaluation indexes of cache hit rate, latency, and link load.
The rest of the paper is organized as follows: Related work is discussed in Section II. The system model is described in Section III. Section IV describes the proposed scheme in detail, including the calculation of cache location and cache replacement strategy. The experimental results are presented in Section V. Section VI concludes this paper and provides an outlook for future work.

II. RELATED WORK
The inherent in-network caching function of NDN is a revolution in network architecture. It can overcome the issues arising in the current internet architecture. Moreover, it has the potential to significantly reduce the transmission delay and traffic load in the next generation network [20], [21]. However, it is difficult to decide which content needs to be cached at which location to produce effective and efficient results. Therefore, several cache management strategies [22]- [32] have been developed. It is not clear yet which caching mechanism is the most ideal for each situation. According to the following classification basis, the existing caching strategies of NDN can be divided into different categories.

A. CACHE PLACEMENT LOCATION
According to whether the cache location of cache objects is related to the delivery path of consumers, cache policies can be divided into on-path caching and off-path caching [33].
In on-path caching, researchers aim to find suitable cache locations on the delivery path for cache objects. LCE (Leave Copy Everywhere, LCE) [22] is the default caching strategy in NDN, which caches content objects at all on-path router nodes. LCE reduces the diversity of cached content, resulting in high cache redundancy in the network. Laoutaris et al. proposed LCD (Leave Copy Down, LCD) [23], which caches the content objects at the downstream neighbor node of the hit node along the delivery path. It takes a long time for LCD to gradually cache popular content to routing nodes close to consumers, but the cache redundancy in the network is not reduced. Chai et al. [24] proposed CL4M (Cache Less for More, CL4M), which caches content objects according to the betweenness centrality of router nodes on the delivery path. CL4M can improve the cache utilization of nodes with high betweenness centrality, but frequent cache replacement operations cause greater pressure on these nodes. Psaras et al. proposed ProbCache (Probabilistic caching, ProbCache) [25] which caches content at on-path nodes with a probability. ProbCache only considers the location and capacity attributes of cache nodes when caching content objects, but does not consider the content popularity, which leads to the spatial distribution of popular content not becoming uniform and reasonable. Nguyen et al. [26] designed a progressive popularity-aware caching scheme (PPCS), which designed a cache placement strategy and an autonomous replacement strategy to replace LRU according to the sequential playing rule of video blocks to improve the VOD performance in a tree topology. Wu et al. [27] proposed a heuristic probabilistic caching method, which calculated the cached probability of content based on factors such as cache revenue and content heat. Zhang et al. [28] proposed a collaborative caching scheme based on popular content awareness and tracking, which can cache content objects at specified positions on the VOLUME 9, 2021 delivery path according to content popularity and the caching ability of nodes. The characteristic of off-path caching is that the cache location of the cache object is not limited to the delivery path, and the cache object can be cached anywhere in the network. Saino et al. [29] designed five different hash-routing schemes using hash routing as the basis of cache strategy, which can effectively utilize the cache in the network without the router node maintaining the content information. Yang et al. [30] proposed a lightweight regional cache collaboration method, which can share popular cache data between small-scale caches with the least exchange of cache information, especially for hierarchical named ICN. Zhang et al. [31] designed a novel hierarchical active caching method by using non-negative matrix factorization technology to predict consumers' preferences. Moreover, this caching strategy considers the mobility of vehicle consumers. Hua et al. [32] combined the Internet of Things and ICN to propose a scheme based on fog cluster, which uses router nodes and consumer devices to cache content closer to the edge network. In addition, the scheme also uses nodes near the content delivery path to cache content objects.

B. CACHE COOPERATION
According to the degree of cache cooperation, existing NDN caching strategies can also be divided into non-cache cooperation, explicit cache cooperation, and implicit cache cooperation. In the non-cache cooperation scheme, router nodes make caching decisions independently according to local caching policies without any mutual cooperation. LCE is a typical non-cache cooperative caching strategy.
Explicit cache cooperation makes caching decisions based on global information such as network topology and global content popularity to reduce content placement redundancy and make good use of network caching resources. Since most off-path caching strategies require different levels of communication overhead, most of them also belong to explicit cache cooperation, such as the above-mentioned literature [29]- [32]. It is worth noting that literature [29] needs less information interaction, which is a special case among many explicit cache collaborations.
Implicit cache cooperation relies on some additional information (such as content popularity, local routing node information, probability, etc.) to make caching decisions, which is neither as easy to cause a large amount of cache redundancy as non-cache cooperation nor as explicit cache cooperation requires a lot of global information to make caching decisions. Compared with explicit cache cooperation, implicit cache cooperation can also reduce the overhead of inter-node and global control, but it may reduce the efficiency of data usage and cause a certain drop in cache performance. Since the caching strategy on the path requires only a small amount of communication overhead, they basically belong to Implicit cache cooperation. Thus, LCD, CL4M, ProbCache, etc. in the above literature belong to implicit cache cooperation.
In summary, in terms of sorting by cache placement location, off-path caching can improve the utilization of content information, but it often involves a large amount of information interaction between nodes, and collecting and disseminating such information leads to huge communication overhead, thereby reducing cache performance. On-path caching follows the original design principle of ICN, so most caching strategies adopt this mechanism. In addition, on-path caching can also improve the stability of SDN with only a single controller [34]. In terms of sorting by cache cooperation, Non-cache cooperation is likely to cause cache redundancy. Explicit cache cooperation usually requires the exchange of a large amount of control information, and implicit cache cooperation requires a little control information to make caching decisions and can reduce content redundancy at the same time. In this paper, we only consider the content popularity within a single node and the real-time status changes of the nodes to design an on-path caching strategy and adopt implicit cache cooperation to minimize the communication overhead between nodes. Besides, we also designed a novel compound cache replacement strategy to improve the utilization of data packets and reduce the cache redundancy in the network.

III. SYSTEM MODEL
The system model is shown in Fig. 1. The set of all router nodes denote as E j } is denoted as the set of all edge nodes and E ∈ V . Unlike the traditional NDN model, each node (like v 1 in Fig. 1) is added with a Cache Information Table (CIT) and a Node Information Table (NIT). CIT is used to record the cache hit count from the contents stored in CS. NIT is used to record the node's betweenness centrality (BC), the number of cache replacements (CR), and the available cache capacity (ACC). In particular, the BC of each node can be obtained in advance and recorded in the node, which is a fixed value. The data structure of NIT is shown in Fig. 1.
In our scheme, the data structure of the original interest packet and data packet are modified. The introduction of the modified interest packet and data packet will be given in Section IV in detail. The content popularity is modeled by the Zipf function [35]. All router nodes can cache the delivered content and have the same cache capacity. Content block C is a basic cache unit. All content objects have the same size and are evenly distributed in all providers. Consumers' request paths are the shortest paths which are calculated by the Dijkstra algorithm to minimize the request-response time. The important abbreviations and symbols used in this paper are listed in Table 1.

IV. CACHE PLACEMENT STRATEGY BASED ON ENTROPY WEIGHING METHOD AND TOPSIS
The main objectives of our scheme are: (i) obtain cache location for popular content by using entropy weighting method and TOPSIS; and (ii) two novel cache replacement algorithms  are used to effectively improve data packet utilization and reduce cache redundancy.

A. ENTROPY WEIGHTING METHOD AND TOPSIS
In NDN, the purpose of the on-path caching strategy is to select an appropriate caching node for the data packet from a limited number of nodes with different states on the delivery path. The caching decision problem in NDN can be modeled as a selection problem of a limited number of evaluation objects. To solve this problem, we use the entropy weighting method and TOPSIS to model cache decision to select the best cache node for cache object, based on four indexes of each node: BC, CR, ACC, and the number of hops from the current node to the consumer (HOP). The entropy weight method is an objective method to give weight, which gives weight to each index through the information uncertainty of each index. TOPSIS is a commonly used comprehensive evaluation method, which can avoid the subjectivity of data, does not require an objective function, and can describe the comprehensive influence of multiple indexes. Furthermore, TOPSIS has no strict restrictions on data distribution, sample size, and indexes. It is not only suitable for small sample data but also suitable for large systems with multiple evaluation units and multiple indexes, which is more convenient and flexible. Therefore, the entropy method and TOPSIS can effectively use the node's cache resources according to the node's state information and select the appropriate cache node for the cache object.
In our proposed scheme, the selected four indexes can describe node status information intuitively. Specifically, the BC is a measure of the importance of nodes in the network topology. If the BC of a node is relatively large, more paths will pass through the node, which makes the node face greater pressure. The CR denotes the number of cache replacements for a node in a period of time. Nodes with a large CR also face the problem of excessive node pressure, which reduces VOLUME 9, 2021 node performance. Balancing the pressure between nodes can effectively improve the performance of the whole network. The ACC denotes the cache utilization efficiency of a node, and the smaller the ACC of a node, the higher the cache utilization rate of a node. The HOP denotes the distance between the consumer and the cache node. If the content object is cached at a node close to the consumer, the latency of the consumer will be greatly reduced, thereby improving the consumer experience. Thus, to improve the cache utilization rate of nodes and reduce the latency and node pressure, we aim to find the node with low BC, low CR, low HOP, and large ACC for caching content objects. In the proposed scheme, the BC of each node is a fixed value calculated in advance, and the remaining three indexes are dynamic which can be obtained from interest packets and the NIT of router nodes.
In some previous studies, researchers have expanded the structure of interest packages and data packages to varying degrees [27], [28]. To make the scheme to be successfully implemented, we modify the data structure of the original interest packet and data packet. In Fig. 2 (a), two fields are added to the interest packet: Information and Eviction. The Information field is a table, which records the ID of each node on the request path and the corresponding four indexes information (i.e. BC, CR, ACC, and HOP) of each node. The Eviction field is a list, which is used for the cache replacement strategy of the proposed scheme. The introduction of the Eviction field will be given in Section III in detail. In Fig. 2 (b), only the Cache nodes field used to record the ID of the cache node is added to the data packet. To reduce the computational overhead, entropy weight method and TOPSIS are used to calculate the cache location only for the popular content in router nodes. According to the principle of Zipf distribution (i.e. the top 20% of content requests account for 80% of the total number of requests), popular content in a single router node is defined as the top 20% of the content. The details of entropy weighting method and TOPSIS is listed as the following.

1) CONSTRUCT A STANDARDIZED MATRIX
The information used to construct the original decision matrix can be obtained from the Information field in interest packet. The original decision matrix is as follows: Matrix A indicates that the number of evaluation objects (i.e. evaluation objects are the router nodes between the consumer and cache hit node v i ) is n, and the number of each evaluation object's evaluation indexes is m. In this paper, evaluation indexes are BC, CR, ACC, and HOP. It is worth noting that not all of the indexes are positive indexes. Thus, all indexes need to be transformed into positive indexes. The calculation formula is as follows: The original matrix A is transformed into a positive matrix X by formula (2). Positive matrix X is as follows: Matrix X needs to be standardized due to the different dimensions of the four indexes. The formula used to eliminate the influence of different dimensions is as follows: The matrix X is transformed into a standardized matrix Z by formula (4). Standardized matrix Z is as follows:

2) CALCULATE THE WEIGHTS OF DIFFERENT INDEXES
According to the definition of information entropy, the formula for calculating the information entropy e j of the jth index is as follows: If the value of p ij is 0, then the value of e j is also 0, which means that the information entropy of index j is 0. After obtaining the information entropy of each index, we can assign weights to each index according to the information entropy. The weight calculation formula of each index is as follows:

3) CALCULATE THE EVALUATION SCORE OF THE NODE
After obtaining the normalization matrix Z and the weight w j of each index, a weighted normalization matrix Y for evaluating the scores of each node can be constructed. Weighted normalization matrix Y is as follows: According to the weighted normalization matrix Y , the positive ideal solution Y + and the negative ideal solution Y − can be obtained, and the calculation formula is as follows: Finally, we can calculate the evaluation scores S i of each node, and the node with the highest evaluation score will be considered as the cache node v c . The calculation formula of S i is as follows: where d + i and d − i are the Euclidean distance between each index value and the positive/ negative ideal solution.
The pseudo-code for obtaining the best cache node is shown in Algorithm 1.

Algorithm 1 Obtaining the Best Cache Node Algorithm
Input: Cache hit node v hit and a request content C Output: v c 1 if v hit is not an edge node or a content provider and content C is a popular content in node v hit then 2 Use entropy weighting method and TOPSIS to calculate cache node v c ; 3 else if v hit is a content provider then 4 v c ← the downstream neighbor node of the content provider on the delivery path; 5 return v c ;

B. TWO CACHE REPLACEMENT ALGORITHMS
In NDN, wire-speed forwarding makes routers unable to support complex replacement strategies [36]. Due to the simplicity and efficiency of LRU, most cache strategies use LRU as the default cache replacement strategy. In fact, LRU can store recent popular content in a single routing node, but it cannot reduce cache redundancy in the whole network [37]. In order to further improve cache utilization, two lightweight cache replacement algorithms are proposed including an active cache replacement algorithm and a passive cache replacement algorithm.

1) ACTIVE CACHE REPLACEMENT ALGORITHM
The active cache replacement algorithm aims to reduce the cache redundancy on the request path as much as possible, thereby reducing the cache redundancy of the whole network gradually. To implement the active cache replacement strategy, an Eviction field for evicting content objects is added to the interest packet. The Eviction field of the interest packet consists of two parts: the flag bit F with a default value of 0 and the eviction list (EL). If F = 1, it means that this request event not only requests the content object but also evicts the redundant content in the node on the request path according to the information in EL of the interest packet during the forwarding process. To reduce the extra pressure on route nodes, the active cache replacement strategy is executed when the number of interest packets received by each edge node reaches an integer multiple of the threshold T . The threshold T is denoted as the product of the average number of hops and the cache capacity (i.e. the maximum number of contents that can be cached by a single routing node.) of a single route node. According to the architecture of the content caching mechanism [38], the average number of hops is set to 7.
The whole eviction process is divided into two steps: updating the EL and evicting the content object.
Step 1: updating the EL. If the cache hit node is not an edge node and F = 1, the EL will obtain the information of the CS in the edge node for initialization. When the interest packet VOLUME 9, 2021 is forwarded to the next route node, the intersection of the information in the current node's CS and the original EL will be used to update the original EL.
Step 2: evicting the content object. Assuming that the interest packet is forwarded to node v i . If node v i has only one downlink face and one uplink face (i.e. the degree of the node v i is 2), it means that node v i only serves the consumers on the connection current path. To improve cache utilization, the active replacement strategy evicts the redundant content in node v i according to the information in EL. Particularly, if the degree of the node v i is greater than 2, it means that node v i may serve more consumers on different paths. In this case, it is difficult to judge whether the contents recorded in the ET are redundant for consumers on the node v i downlink. Thus, the active replacement strategy only evicts the unpopular content objects in the intersection of node v i and ET to maximize cache performance. The pseudo-code for the active cache replacement strategy is shown in Algorithm 2.

Algorithm 2 Active Cache Replacement Algorithm Input: Number of received requests N E j for edge node E j
/ * F is the flag bit in the Nth interest C arriving at edge node E j . * / 3 if F = 1 and interest C does not cache hit at edge node E j then 4 Copy the content name in CS of edge node E j to EL of interest C; 5 for node v i on the request path do 6 interest C does not cache hit at node v i ; 7 Update the El of interest C by the union of CS of node v i and the original El; 8 if D v i == 2 then 9 for content k in the CS of node v i do 10 if v i in the El of interest C then 11 delete content k from the CS of node v i ; 12 else if D v i > 2 then 13 for content k in the CS of node v i do 14 if v i in the El of interest C and r k v i >= 80% then / * The ranking range of cache hit count of content k at node v i is greater than 80% * / 15 delete content k from the CS of node v i ; 16 return None;

2) PASSIVE CACHE REPLACEMENT ALGORITHM
The passive cache replacement algorithm aims to improve the utilization of single content as much as possible, divided into two steps: the placement of the new content objects and the migration of discarded content objects.
In our scheme, the discarding rules of content objects are determined by the cache hit count of each content object in the current node. When the node v i decides to cache a new content object, if the node v i still has free cache space, then v i will cache the new content object until the node v i is full.
Conversely, if the node v i is full, the object of cached content, which has the lowest cache hit count, will be the candidate to be discarded from the node v i . Moreover, if there are multiple content objects with the same cache hit count at node v i , then one of them will be randomly selected as a candidate for discarding. To avoid that the storage time of a new content object cached in the node is too long or too short, our scheme places the new content object in the middle position of the cache node (i.e. the initial value of the cache hit count of the new content object is set to the median of the cache hit count of all content objects at the current node.). The impact of the placement of the new content object in the node on the cache performance will be analyzed in the simulation experiment in Section V. Since the proposed scheme only considers the local content popularity (i.e. the cache hit count for each content in the current node) in each node, the discarded content objects in the current node are likely to be popular in other nodes. To maximize the utilization of discarded content objects, the discarded content objects will migrate one hop up or down the request path according to different node types to improve cache performance. The proposed scheme divides nodes into three types: edge nodes, normal nodes, and the downstream neighbor node of the content provider. The migration rules for discarded content objects from different types of nodes are as follows: (i) When a discarded content object L v c comes from an edge node or a normal node, the content L v c will be migrated to an upstream node v u c one hop away from the edge node or the normal node along the delivery path. If the 56246 VOLUME 9, 2021 node v u c still has free cache space, then the content L v c will be cached. Conversely, if the node v u c is full and the cache hit count of the content L v c is greater than the lowest cache hit count at the node v u c , the content L v c will be cached and the content with the lowest cache hit count at node v u c will be deleted. The cache hit count of the content L v c at the node v u c remains unchanged. (ii) When a discarded content object L v c comes from the downstream neighbor node of the content provider, the content L v c will be migrated to a downstream node v d c one hop away from the node along the delivery path. The caching mechanism of content L v c is the same as that in the migration rule (i). The pseudo-code for passive cache replacement strategy and cache mechanism strategy is shown in Algorithm 3.

V. PERFORMANCE EVALUATION
To evaluate the performance of our scheme, we performed a simulation in Tiscali-3257 network topology by using Icarus simulator [39]. The Tiscali-3257 topology has 44 provider nodes, 36 consumer nodes, and 160 router nodes. In the simulation experiment, all the caching strategies for comparison use the least replacement strategy (LRU). The cache capacity of all router nodes is the same, and the cache to content objects population ratio is S (i.e. the total capacity of network caches as a fraction of the total content population). In particular, only router nodes on request paths have cache capabilities. The link delay between the router node and the provider node is 34ms, and the link delay between the remaining nodes is 2ms [40], [41]. The process of consumers requesting content follows the Poisson distribution. The content popularity is modeled by Zipf distribution. The default value of the Zipf parameter α is 0.8, and it is varied between 0.7 and 1.1. Due to the high complexity of some caching strategies, such as literature [42], it is only suitable for scenarios with a small content catalog. To prove that the proposed scheme can be implemented smoothly with a large content catalog size, the total number of content objects in the network is set to 100,000. The cache warms up 50,000 requests and subsequent 250,000 requests are used for performance evaluation. The experimental parameters are shown in Table 2. To reduce experimental errors, five simulation experiments were carried out in total, and the final result is the average of these five simulation experiments results.

A. CACHE HIT RATIO
The cache hit rate metric is part of the request satisfied by the router nodes instead of the providers, thereby balancing the content requests among the available cache resources. If consumers can obtain the requested content in the router nodes, the pressure on the providers will be greatly reduced. Therefore, the cache hit ratio is one of the important metrics to evaluate the performance of NDN. The cache hit rate is calculated by the following formula: where K is the number of consumers, and N k is the cache hit count of each consumer. NUM is the number of requests from all consumers. As shown in Fig. 3 (a), the proposed scheme performs better in comparison to the five caching strategies in all the simulation experiments consistently where the Zipf parameter α = 0.8 and the cache capacity parameter S varies from 0.05 to 0.25. The cache hit ratio of the proposed scheme is 26.6% when parameter S equals 0.05, which 2.1% higher than the second-best caching strategy (i.e. the cache hit ratio of our previous scheme CBCP is 24.5%) and 4.4% higher than the third-best caching strategy (i.e. the cache hit ratio of LCD is 22.2%). When parameter S equals 0.25, in comparison to CBCP and LCD, the cache hit rate of the proposed scheme increases by 1.2% and 6.3%, respectively. The average cache hit rate of the proposed scheme is 35.5%, which is 1.2% higher than CBCP (34.3%), 5.4% higher than LCD (30.1%), 10.6% higher than CL4M (24.9%), 11.8% higher than LCE (23.7%), and 13.9% higher than ProbCache (21.6%) when the parameter S varies ranging between 0.05 and 0.25. As shown in Fig. 3 (b), when the Zipf parameter α is increased to 1.0, the cache hit rate of all cache strategies is significantly improved, but the performance ranking of the cache strategies remains unchanged. Fig. 3 (c) shows the changes in the cache hit rate performance with parameter S = 0.15 and increasing Zipf parameter α. The cache hit rate of the six cache strategies has an obvious improvement with the increase of Zipf parameter α. The cache hit rate of the proposed scheme is up to 77.1%, which is 1.6% higher than CBCP (75.5%), 4.8% higher than LCD (72.3%) when Zipf parameter S equals 1.1. For each caching strategy, the performance gain obtained by changing Zipf parameter α is obviously greater than that by changing parameter S. The reason for this situation is that consumers are more inclined to request popular content with the increase of Zipf parameter α, which is a key factor affecting the cache hit rate. Fig. 3 (c) and Fig. 3 (d) show similar performance in terms of the cache hit ratio.
In summary, the proposed scheme can improve the cache hit rate in various situations. The main reason for the proposed scheme performs well is that it considers the content popularity in each node and the placement of popular content, thereby improving the utilization of the cache, especially the nodes with less pressure and edge nodes in the network. Different from CBCP which considers the global content popularity and the edge local content popularity, the proposed scheme focuses on the content popularity in each node to improve the performance of the entire network by optimizing the individual node.

B. LATENCY
Latency is an important performance to measure the network. The latency of the six caching strategies is shown in Fig. 4 (a) where the Zipf parameter α = 0.8 and the cache capacity parameter S varies from 0.05 to 0.25.
When parameter S equals 0.25, all caching strategies have the lowest latency, where the proposed scheme is 58.91 ms, which is 0.5% lower than CBCP (59.18 ms), 6.7% lower than LCD (63.15 ms), 13.3% lower than CL4M (67.95 ms), 14.4% lower than LCE (68.85 ms), and 17.4% lower than Prob-Cache (71.35 ms). In terms of average latency, in comparison to CBCP (64.65 ms) and LCD (67.90 ms), the proposed scheme is 64.07 ms, which is a reduction of 0.9% and 5.6%, respectively. In general, when the parameter S increases, the latency is naturally decreased because more content objects could be cached in the network. Moreover, the proposed scheme also fully considers the HOP index of the node when calculating the cache node, so the proposed scheme has lower latency. As shown in Fig. 4 (b), when the Zipf parameter α is increased to 1.0, the average latency of the proposed scheme is 39.63 ms, which still performs best.
In addition to the cache capacity parameter S, the Zipf parameter α also has a huge impact on the latency. Fig. 4 (c) shows the changes in the latency performance of each caching strategy with parameter S = 0.15 and increasing Zipf parameter α. The performance trend of latency is the same as the cache hit rate. With the increase of the Zipf parameter α, the latency performance of the six caching strategies has been significantly improved. The latency of the proposed scheme has the best performance in each value of Zipf parameter α. Specifically, the average latency of the proposed scheme is 50.87 ms, which is 2.3% lower than CBCP (52.09 ms), and 6.6% lower than LCD (54.44 ms) when the Zipf parameter α varies ranging between 0.7 and 1.1. As shown in Fig. 4 (d), when the parameter S is increased to 0.25, the overall change trend of all caching strategies remains basically unchanged.

C. LINK LOAD
The link load is the average traffic load of all links in the network. In Icarus, the link load of each link can be calculated by measuring the number of interest packets and data packets per unit time. Fig. 5 (a) shows the link load performance against a varying cache capacity parameter S for a value of Zipf parameter α equal to 0.8. When parameter S equals 0.05, the proposed scheme performs significantly better compared to the other five caching strategies. However, when the parameter s varies from 0.1 to 0.25, the link load performance of the proposed scheme is not optimal. The average link load of the proposed scheme all evaluated scenarios is 261.16 bytes, which 1% lower than LCD (263.67 bytes), 2.4% lower than CL4M (267.66 bytes), 4.4% lower than ProbCache (273.06 bytes), 7.1% lower than LCE (281.03 bytes), and only 0.8% higher than CBCP (259.03 bytes). Generally, the link load performance of the proposed scheme is better than the LCD, LCE, CL4M, and ProbCache. Link load increment happens due to the fact that the proposed scheme does not consider global content popularity, in comparison to CBCP. Nevertheless, the proposed scheme can reduce the link load to a certain extent when the value of cache capacity parameter S is small. As shown in Fig. 5 (b), when the Zipf parameter α is increased to 1.0, the link load performance of all caching strategies is obviously improved. It is worth noting that the link load performance of the proposed scheme is basically the same as that of CBCP.
The influence of Zipf parameter α on link load is shown in Fig. 5 (c), which shows the changes in the link load performance with parameter S = 0.15 and increasing Zipf parameter α. The link load of the proposed scheme has the best performance when the Zipf parameter α varies ranging between 0.7 and 1.1. It is worth noting that the performance of the proposed scheme is almost the same as that of CBCP. This happens because the increase of the Zipf parameter α makes the difference between global popular content and popular VOLUME 9, 2021  content within a single node smaller and smaller. When the parameter S is increased to 0.25, as shown in Fig. 5 (d), the overall change trend of all caching strategies is similar.

D. ANALYSIS OF THE CONTENT PLACEMENT POSITION IN THE NODE
In the proposed scheme, the placement position of a cache object in the node (i.e. the initial value of cache hit count of a cache object) will directly affect the cache performance. Thus, we analyzed the impact of the five placement positions within the node on the cache hit rate, latency, and link load. The five placement positions are the top, quarter, middle, three-quarter, and bottom positions within the node. The initial value of cache hit count corresponding to each cache location can be obtained by descending order of cache hit count of all contents in the node.
Figs. 6(a), 6(b), and 6(c) show the influence of different content placement positions in nodes on cache performance. It can be seen from the figures that the performance of the cache hit rate, latency, and link load is the worst when the cache object is placed at the top. This happens because, the initial value of the cache hit count of the cache object is set very largely, which makes it difficult for this cache object to be discarded, even if the cache object gradually becomes unpopular content after a period of time. On the contrary, when the cache object is placed at the bottom, the initial value of the cache hit count of the cache object is set very small, which makes it easy for this cache object to be discarded quickly, resulting in the cache object not being fully utilized. Thus, when the cache object is placed at the bottom, the performance of the cache hit rate, latency, and link load is not very good either. Furthermore, there are similar problems when the cache object is placed at one quarter or threequarter, so it is not the best choice to place the cache object in these positions. Thus, to alleviate the above problems to a certain extent, the proposed scheme chooses the middle position of the node to place the cache object to maximize the cache performance.

VI. CONCLUSION
One of the important features of the NDN architecture network is that it has an in-network caching function, allowing content objects to be cached in the router nodes for a period of time to satisfy the subsequent requests of consumers. The current study proposes a new caching strategy to manage the distribution of content in the network to improve the performance of the NDN system. In the scheme, the realtime status of nodes and the content popularity within a single node are considered comprehensively, and the request process of consumers is modeled by the TOPSIS methodology with information entropy weighting methodology to obtain the most suitable cache node for the cache object. In addition, we also propose a novel cache replacement algorithm to replace LRU commonly used in NDN. The cache replacement algorithm is composed of two parts: an active cache replacement algorithm and a passive cache replacement algorithm. The active cache replacement algorithm aims to periodically clear the duplicate content objects on the transmission path to reduce cache redundancy, while the goal of the passive cache replacement algorithm is to improve the utilization of data packets in the node. To evaluate the proposed caching strategy, a simulation environment was created using the Icarus simulator in the Tiscali-3257 network topology. The results show that the proposed scheme has the best performance in the cache hit rate and latency in comparison to the other five caching strategies, and only the link load performance is slightly lower than our previous scheme CBCP.
For future research, we will further analyze the relationship between nodes and content objects in the mass and improve the caching strategy to reduce link load.