## 2 NDN-Based Wireless Mesh Networks  
NDN employs two types of packets: interest and data packets. Interest packets are sent by nodes to request content. These nodes are called consumers. Data packets carry the requested content itself. These packets are sent by producers or by intermediate nodes that store the desired content in a cache. The storage of contents previously requested by an intermediate node in cache, called the Content Store (CS), creates a network of caches [17], as discussed in the next paragraphs. Two data structures are used during the forwarding of interest packets in NDN. The Pending Interest Table (PIT) keeps track of the state of each transmitted interest packet has not received an response yet, i.e., interests that are waiting for a data packet. Each PIT entry also records the receiving interface of the interest packet. The second data structure, called the Forwarding Interest Table (FIB), is used to forward interest packets to an output interface based on the content name. FIB maintains a list of entries containing name prefixes and output interfaces. The strategy layer of the NDN stack defines how FIB is populated. The process of forwarding interest packets is described as follows. As soon as a node receives an interest packet, it verifies its CS in order to find a copy of the content requested. If the content is in its CS, the node sends a data packet towards the consumer through the receiving interface of the corresponding interest packet. Otherwise, the node verifies if there is another pending request for the same content on its PIT. If there is a PIT entry for the same content, the node updates the interface list of this entry by adding the arrival interface of the interest packet and dropping this interest packet. Otherwise, the node creates a new PIT entry with the arrival interface of the interest packet and looks up its FIB to determine the output interface to forward this interest packet. If there is no FIB entry related to the content name, the interest packet is dropped. Nodes repeat this forwarding process for each interest packet received. Data packets follow the reverse path traversed by interest packets because PIT stores the list of receiving interfaces of interest packets. With NDN, intermediate nodes are able to cache contents previously requested by other nodes, which we call in-network caching. If employed by WMNs, in-network caching reduces the traffic concentration near gateways and the waste of resources caused by the late drop of packets, two of the main problems faced by this kind of network. [PERSON] et al. stated that the cost required to transfer data in wireless networks is higher than the cost required to transfer data in wired networks [4]. The reasons for this higher cost are the contention for the channel and channel interference. These two factors contribute to a reduction in network efficiency as the number of hops between the source and destination increases [18]. If intermediate nodes can cache contents, as NDN nodes do, this will reduce the number of hops between consumers and producers, consequently saving bandwidth by avoiding retransmissions caused by losses on the wireless channel. [PERSON] et al. [5] argued that is better to invest in storage devices, which are getting cheaper by the day, than to deal with bandwidth limitations and losses of wireless networks. Figure 1 illustrates an example of how contents are retrieved in NDN-based WMNs. The thin solid lines and thin dashed lines represent wired and wireless links, respectively. The solid arrows represent packets sent in wired networks, and the dashed arrows represent packets sent in wireless networks. Blue or heavy black arrows represent interest packets for the content (\(Y\)) sent by the first consumer (Step 1). Then, the data packet follows the reverse path towards the consumer. Each NDN router in this path stores a copy of content \(Y\) before forwarding the data packet and thus, the content availability increases.