# Interest Forwarding in Named Data Networking Using Reinforcement Learning
## 6 Results and Discussion  
In this section, we present initial evaluations of the performance of NDNFS-RLRNN through extensive simulations using the _ndntSim_[68], an NS-3-based simulator which already exists for NDN. For the simulations, we consider an NDN-based network connecting users to content servers. We use the real topology _Elibackbone_ shown in Figure 2 according to the dataset in [69]. We consider a single access router for the network through which requests are served from the content servers. At each node, except the access node, external request arrivals are Poisson process with a rate 5 request packets per second, and each data object is 10 KB in size. All the simulations begin with empty caches at the nodes. Furthermore, we compare NDNFS-RLRNN with the _Adaptive SRTT-based Forwarding Strategy_ (ASF) [7], and a Nearest Replica Routing (NRR) strategy [19]. The _ndnSim_ has the ASF algorithm pre-installed. The ASF strategy uses the upstream with the lowest measured SRTT and probes alternative interfaces suggested in the FIB at intervals. The length of the probing interval is reduced from the default value of 60 s to 3 s to increase probing, and we install all possible routes in the FIB such that no loop exists in the forwarding. For the NRR strategy, we implement a multicast algorithm that sends each request on all the interfaces of a node except the arrival interface, which guarantees that the requested data objects are retrieved from the closest caches. Other approaches are possible where the flooding is periodic as suggested in [19], but we have chosen this simple method that avoids parameter settings. The forwarding strategies are implemented per content in the catalogue. Since the cache states in the network will influence the performance, the forwarding strategies are compared under three different caching policies from the literature:  
* Leave copy everywhere combined with LRU replacement policy (_LCE_): Here, the CRs cache every data packet received. * Betweenness centrality policy and LRU (_Betw_): In _Betw_, proposed in [70], only the routers with the highest betweenness centrality values along the delivery path cache the content. These values are computed offline using the betweenness centrality definition in graph theory. * _ProbCache and LRU:_ Here the decision to cache a content at a CR is based on a defined probability. We set this probability using the proposed _ProbCache_ Algorithm [71], which computes the caching probability when a content arrives at a node by weighing the cache capacity along the remainder of the delivery path with the relative position of the router along this path, as shown in Equation (10). \[p(x)=\frac{\sum_{i=1}^{c-x+1}N_{i}}{kN}\] (10) where \(c\) is the total number of content routers on the path from requester to content source, \(x\) is the position of the current node along this path, \(N_{i}\) is the cache capacity at node \(i\), \(N\) is the average cache capacity along the full path, and \(k\) is a constant denoting a target cache capacity along a path. LCE and _ProbCache_ are ubiquitous caching policies differentiated by their cache eviction rates. By ubiquitous, we mean that nodes in the network are not prioritised in any way when caching. _Betw_, on the other hand, tries to cache predominantly at the most \"central\" nodes in the network. These policies represent three categories of on-path caching strategies in the literature. To evaluate the performance of the forwarding strategies, we measure and report the _cache hit rate_ and the _network load per request_. The cache hit rate is measured as the proportion of the requests arriving into the network which are satisfied from the local caches. On the other hand, the network load or overhead is the total number of hops traversed by the network packets, which includes Interests, Data packets and Interest NACKs, per request sent into the network. Finally, we run each simulation scenario for 400 s, and all metrics are obtained through the mean and standard deviation of 20 randomised simulation runs.