## 2 NDN Principles  
NDN in general follows the opposite principle of IP, namely it builds upon the idea of addressing content instead of hosts. This fundamental change leads to a completely new view on the network architecture because routers and other nodes in the network aren't anymore the center of the communication. In order to allow such drastic change in the communication principle one needs a completely new network and transport plane. We will discuss all the benefits and disadvantages of this _new_ communication principle (for the sake of simplicity one may think of resource identifiers in the sense of HTTP URLs but without the actual host part). In this section, we elaborate on the reasons why NDN is well applicable for ad-hoc networking. Specifically, we review basic NDN principles, such as the NDN packet format, and discuss potential uses for V2X communication. In packet format version 0.3 for Interest and Data packets [8], the structure of the respective packet types is described. For Interest packets, the only mandatory field is the name in form of a Uniform Resource Identifier (URI). In case of Data packets, name and signature are mandatory. However, in terms of necessity, one may also regard the nonce (randomly generated four octet byte string) as mandatory, because it is used to detect looping interests. Other fields which were not present in earlier versions of the packet format specification are _CanBePrefix_, _HopLimit_ and _Parameters_. If _CanBePrefix_ is present it indicates that the name is a prefix, exact, or full name of the request content. The _HopLimit_ indicates the maximum number of allowed hops before the Interest is discarded. The _Parameters_ field can carry any arbitrary data. A field that is currently not used by forwarding strategies is the _ForwardingHint_. This field allows to specify which path the Interest should take. This particular field could prove very useful in V2X communication, we will pick up this field and discuss its possible use later. Furthermore, data is fragmented by NDN into so-called content chunks (with respect to the corresponding Maximum Transmission Unit (MTU)) and the number of the chunk is indicated in the name of the Data packet. Figure 1 depicts the packet format for Interests and Data packets, respectively. Essential NDN features yielding benefits for ad-hoc networking are inherent caching and dynamic forwarding. Routing plays a supporting role for forwarding by providing a starting point for the Forwarding Information Base (FIB). Figure 2 depicts the basic architecture of a NDN node. The ordering in the index plays an important role because upon reception of an Interest, the node checks whether it can satisfy the Interest by returning a cached copy (if _MustBeFresh_ is not set) of the requested content. If not, it enters the Interest into the Pending Interest Table (storing the face from which the Interest was received) and forwards it based on longest prefix matching using the entries in the FIB. Data packets traverse the path of the matching Interest in reverse order and clears its corresponding pending Interests in NDN nodes on this path. Whether a node caches data seen on the reverse path depends on the employed caching strategy (e.g., Least Recently Used (LRU), Least Frequently Used (LFU), First In First Out (FIFO), Most Recently Used (MRU)). Figure 1: The packet format for Interest and Data packets in NDN showing the mandatory (bold) and optional (italic) fields. Figure 2: The architecture of a NDN node. It maintains a list of faces used for sending/forwarding and receiving packets and the tables such as an index, Content Store (CS), Pending Interest Table (PIT), Forwarding Information Base (FIB), and Routing Information Base (RIB) which is not shown in [6]. A Face is an abstraction of physical and virtual interfaces. In NDN, every entity that wants to communicate creates a Face. For instance, this can be physical interfaces, logical interfaces, and applications. Figure 3 depicts the architecture of an NDN Face.