Context-Aware Data Dissemination for ICN-Based Vehicular Ad Hoc Networks

: Information-centric networking (ICN) technology matches many major requirements of vehicular ad hoc networks (VANETs) in terms of its connectionless networking paradigm accordant with the dynamic environments of VANETs and is increasingly being applied to VANETs. However, wireless transmissions of packets in VANETs using ICN mechanisms can lead to broadcast storms and channel contention, severely affecting the performance of data dissemination. At the same time, frequent changes of topology due to driving at high speeds and environmental obstacles can also lead to link interruptions when too few vehicles are involved in data forwarding. Hence, balancing the number of forwarding vehicular nodes and the number of copies of packets that are forwarded is essential for improving the performance of data dissemination in information-centric networking for vehicular ad-hoc networks. In this paper, we propose a context-aware packet-forwarding mechanism for ICN-based VANETs. The relative geographical position of vehicles, the density and relative distribution of vehicles, and the priority of content are considered during the packet forwarding. Simulation results show that the proposed mechanism can improve the performance of data dissemination in ICN-based VANET in terms of a successful data delivery ratio, packet loss rate, bandwidth usage, data response time, and traversed hops.


Introduction
Through connecting with other vehicles, personal devices, and the surrounding environment, a vehicle can disseminate and gather traffic and environmentally-related data and provide communication opportunities to enable new mobile and social applications for information and entertainment purposes to drivers and passengers.Thus, research on vehicular ad-hoc networks (VANETs) has been a hot topic over several years [1][2][3].Recently, in the context of information provisioning, VANETs have also been regarded as a way to increase revenue for service providers and car manufacturers.However, the highly dynamic mobile and wireless transmission environment has resulted in many problems that decrease data transmission efficiency and influence successful data delivery in VANETs.
Another trend in networking has been the conception of the novel networking paradigm, information-centric networking (ICN) [4], that does not require global addressing of individual nodes and continuous session establishment and management for data dissemination.The focus of networking is moved from named end-points to the distribution of named data from producers or intermediate caches in the network.The ICN paradigm is a suitable match for many aspects of VANETs.First, the asynchronous ICN communication model is well suited for the frequently intermittent links in VANETs.With the name-based content-addressing scheme, no centralized content server is needed to respond to all the requests, and the content can be cached everywhere.From this point of view, ICN inherently possesses the ad-hoc and delay tolerant features, which is accordant with the features of VANET.Second, the receiver-driven and name-based data delivery mode that decouples senders and receivers reduces the high overhead of mobility management and session maintenance.By doing this, disruptions caused by intermittent links are less severe and communication can resume as soon as a link is available again.Third, the in-network caching mechanism of ICN helps to reduce the latency of obtaining data by vehicles, in particular for data concerning only certain geographic areas.Fourth, most services and applications in VANET are information oriented.Normally vehicles and people on board do not mind who provides the information and how and from where it comes, as long as they can obtain the required information.Finally, unlike many other mobile devices, vehicles do not have limitations on battery size, volume, or weight, so the computing and storage resources required by ICN such as name-based data forwarding and in-network caching can be provided easily at low cost.Hence, the ICN paradigm is suitable for realizing VANETs.
However, introducing ICN in VANETs faces challenges.In the receiver-driven ICN paradigm, when an information request (e.g., the Interest packet in NDN (Named Data Networking) [5]) is broadcast through a wireless interface (e.g., IEEE 802.11p), nearby vehicles cannot accurately judge the location of the content holders or providers on account of the movement of the vehicles, so the request might have to be flooded through the network to reach the content holder successfully.When in-network caching mechanisms are used, the content (i.e., the Data packet in NDN) may be responded from multiple vehicular nodes.Each node will also flood the content.The same data will spread everywhere in the network (i.e., data storm).This not only wastes valuable wireless transmission resources but also leads to increased channel contention and broadcast storms causing severe degradation of transmission quality.Furthermore, the density of vehicles and the number of applications running in the vehicles may change heavily and frequently, leading to unbalanced data traffic and link interruption, which may also cause the failure of content requests by having insufficient forwarding nodes.Therefore, it is very challenging to balance the number of forwarded packets and the successful data delivery ratio of each request.Since the network topology varies with the density of vehicles, to keep a high level of data dissemination quality, the routing strategy should dynamically adjust itself to the density of vehicular nodes.
In this paper, we propose a context-aware data dissemination mechanism for ICN-based VANET.Since it is based on NDN, a pioneering work for the ICN paradigm, we call it Context-Aware Vehicular NDN (CA-VNDN).We reduce the number of broadcast Interest and Data packets as much as possible and maximize the successful data delivery ratio as much as possible, taking the influence of vehicle density and distribution into consideration during the data dissemination.Our contribution lies in the following aspects:

•
We propose a mechanism to reduce the number of Interest packets forwarded at the intermediate nodes while keeping the successful data delivery ratio at an acceptable level by limiting the number of nodes around the current forwarding node that broadcast the Interest packet further.This suppresses the potential broadcast storms caused by Interest packets.

•
We propose a packet-forwarding mechanism to reduce the number of hops that Interest packets are forwarded before reaching the data source, and "reverse-path routing" for Data packets by making use of the geo-position information of the vehicles and modifying the Pending Interest Table (PIT).This further reduces the number of Interest and Data packets and increases the accuracy of data delivery.

•
Context-aware algorithms are introduced in both the packet-forwarding and limitation mechanisms.
The algorithms consider the environmental, network, and content contexts surrounding the vehicle in terms of the number and distribution of vehicles nearby.This context-awareness of the mechanisms maintains the high performance of data delivery irrespective of road conditions.

•
The proposed mechanisms are evaluated by implementing the mechanisms in an ns-3 based simulator and performing simulations for a representative scenario.We use models of data traffic and vehicular mobility based on real-world data to ensure realism when validating the proposed mechanism.
The rest of the paper is organized as follows.In Section 2, related work is surveyed, particularly, that which is used for the comparison with our work are described.In Section 3, the context-aware packet-forwarding mechanism is elaborated, concentrating on the forwarding control algorithms and control tables.Following this, in Section 4, the simulation method and performance evaluation results are elaborated, and comparisons with several works are described.Finally, conclusions are made in Section 5.

Related Work
VANETs are a special instance of MANETs (Mobile ad-hoc networks) with similar features: A lack of fixed infrastructure for communication, self-organization, low bandwidth, and short radio transmission ranges.Therefore, most routing protocols for MANET can be used in VANET, such as AODV (Ad-hoc On-demand Distance Vector) [6] and DSR (Dynamic Source Routing) [7].Conversely, many VANET protocols are based on ideas and concepts from MANET, but with modifications based on the special characteristics of vehicular networks.DSR uses flooding during the routing discovery phase to find a route to the destination.Flooding performs relatively well when there is a small number of nodes in the network and is easily implemented.However, when the number of nodes in the network increases, the bandwidth needed for one message transmission may increase exponentially.In the wireless environment, this may also cause heavy contentions and collision.Thus, the performance of transmission will decrease markedly.In this paper, the flooding mechanism is used to deliver the messages in the context of ICN, and we concentrate on reducing the number of broadcast messages in order to reduce the overhead and better use the bandwidth.
Although most routing protocols for MANET can be used in VANET, some studies [8][9][10] have shown that the performance of most ad-hoc routing protocols (e.g., AODV and DSR) degrades when the nodes move quickly and the network is highly dynamic.Therefore, several routing protocols have been proposed for VANET, such as position-based routing [9,11], broadcast routing [12] and cluster-based routing [11,13].Among them, GPSR (Greedy Perimeter Stateless Routing) [14] is one of the best-known position-based protocols.It combines greedy routing with face routing by using face routing to get out of the local minimum where greedy fails.It works well in a free open environment with evenly distributed vehicles.In this paper, we use geographical position information and the greedy algorithm in the context of ICN, since geographical information can be easily obtained from modern navigation systems and street maps.Moreover, packets will make fewer hops between source and destination; therefore, they can have lower latency in general.
The context information of VANETs has been discussed in depth [15].Three categories of contexts-mobility vectors, connectivity ability, and application requirements-have been discussed and considered in the unified architecture called CARAVAN, which aims to solve problems concerning the incremental deployment of VANET.In this paper, we consider the context information covering the three major categories, using few but important parameters in VANET to improve the performance of data dissemination using ICN technology.Some researchers have investigated the advantages and possibilities of using ICN in VANETs.For example, vehicular networks have been considered by the ICN Research Group of the Internet Research Task Force (IRTF) as a key scenario in which ICNs will play an important role; some challenges and existing work in the area have been outlined in [16].In [17], the authors made a detailed analysis concerning ICN for connected vehicles.They deemed that information-centric networking could meet the challenging demands of vehicular networks and their evolution because of certain features: Named content retrieval, innate multicast support, and an in-network data caching mechanism.
Named Data Networking (NDN) [18] is a pioneering implementation of ICN.Two types of messages-Interest packet and Data packet are introduced to retrieve and respond contents identified by their names.A consumer (i.e., content requestor) requests a content by sending an Interest packet with the corresponding name.Any node hearing the request and having the data (i.e., content holder) can issue a response with a Data packet.A PIT (Pending Interest Table) is used in each intermediate node to record the requests that have not been responded to, which also realizes the multicast function.The responded content will also be cached in the CS (Content Store) at all the nodes it passes by.
A vehicular information network based on NDN has been suggested in [19].The authors proposed a hierarchical content naming scheme by using both devices' names and geographical location.Although location-based routing is discussed in their work, the authors use location as name and then apply the name-based forwarding mechanism suggested by NDN to perform the content forwarding.Compared with this work, we use location information to calculate the distance and perform greedy routing.In addition, the problem of large numbers of Interest and Data packets has also been considered in this work.However, the NDN routers, each with multiple interfaces, in the fixed network area are used to aggregate Data packets and segregate Interest packets.In contrast to this work, we reduce the number of Interest and Data packets by suppressing the forwarding of both Interest and Data packets in certain wireless areas directly, and by reducing the number of hops the packets traversed in VANET.
In [20,21], the authors studied and summarized the advantages of using NDN in vehicular networks.Here, the focus has been on how to realize the basic NDN mechanisms in VANETs, such as where and how to implement NDN concepts like the PIT and CS and how to combine them with flooding mechanisms to spread data packets.We have compared the performance of our method with that of using the basic NDN mechanism (denoted as Basic-NDN in Section 4).The work reported in [22] takes this one step further.A counter-based broadcast scheme and two transmission-defer timers are introduced to counteract the broadcast storm phenomenon, by reducing packet collisions on the wireless medium.However, no advanced mechanism has been presented to suppress the broadcast storm.
Work [23,24] proposed methods for Interest forwarding in NDN.We borrow the idea of using a simple greedy forwarding method to spread Interest from Vehicular NDN (V-NDN) in [23].However, instead of spreading Interests in all directions, we restrict the spreading of Interests in a certain area to suppress the broadcasting storm.In addition, we introduce the "reverse-path routing" for Data packets, which has not been discussed in V-NDN.We have compared the performance of our method with that of using V-NDN in Section 4. Names are coupled with the locations where the data are held in Navigo [24].In order to avoid the packets focusing on a single destination area for a long time, Interests are either forwarded according to the FIB with a probability p or simply flooded with a probability of 1-p.However, the purpose of the mechanism is not to suppress broadcast storms, but to balance the traffic from different sources.In addition, both [23] and [24] discuss only forwarding Interests; forwarding the responses carrying the requested data (i.e., Data packets) has not been discussed.The mechanism proposed in this paper considers forwarding of both Interest and Data packets.
In work [25], the authors consider two ICN-specific design options, data source selection policies and caching policies.For the data source selection policies related to our work, Nearest Replica Routing and Original Source-Only Routing are considered as the two fundamental policies.Similar to [23], a broadcast-based shortest path geo-forwarding is used as the forwarding mechanism.Although the shortest intersection routes identified in the area map are used, the Interest is spread to all directions and no restrictions are used.Compared to this work, we limit the spreading of the Interest packets, which may considerably reduce the number of Data packets in the network since in-network caching is used in ICN and many nodes can respond with Data packets.
In summary, compared with the existing works related with VANET based on ICN, in this paper, we deal with the broadcast storm problem caused by the large number of both content request and response messages in ICN, and solve the problem by both suppressing the forwarding of the messages in a certain area, and by reducing the number of hops the packets traverse in VANET with the goal of improving the bandwidth usage, content delivery rate, and response time.

Context-Aware Packet Forwarding
As discussed above, previous work [20][21][22] has analyzed the advantages of using ICN techniques in VANETs and extended the basic NDN architecture to implement the name-based data dissemination for VANETs.In our work, we keep the following methods used in previous work: (i) Packets are received and broadcast over the same wireless network interface; (ii) a timer is used to control how long a packet will wait at an intermediate node before being forwarded; (iii) the CS (Content Store) remains in VANETs as for normal NDN operation in the wired environment.
A problem inherent in previous adaptations of NDN for vehicular environments is that they have the potential to cause broadcast storms in the network, leading to performance degradation and the waste of network resources.Furthermore, the mobility characteristics and associated topological consequences observed by vehicles in regular traffic have not been considered, which may lead to inefficient packet forwarding.In order to suppress the broadcast storms and increase the transmission efficiency, we introduce a context-aware packet-forwarding mechanism for ICN-based VANETs.In general, four factors are considered during the packet forwarding:

•
The relative distance to the content holder of the candidate forwarding nodes.

•
The number of neighboring vehicles (their density) at the time of data forwarding.

•
The location similarity with respect to the content holder of neighboring vehicles.

•
The priority of the content being requested or sent in response.
Figure 1 shows the general idea of the context-aware packet-forwarding method.A distance-based forwarding control algorithm is used in order to reduce the total number of packets in the network.Here, the distance between two vehicular nodes is converted to the deferral time for forwarding packets.The node with the shortest deferral time will forward the packet first, which will stop the deferral timer and suppress the packet forwarding at the nearby nodes.This can reduce the total number of packets in the network considerably.However, this can reduce the successful data delivery ratio and/or the data response time too.In order to maintain a high successful data delivery ratio and reduce the data response time, we limit the suppression of the packet forwarding to within a certain scope, determined by the location of the vehicles, as well as the density of the vehicles in the area, and the priority of the content being forwarded.We will describe the control algorithms more fully in the following sub-sections.
In this paper, we follow the terminology used in NDN in so far as we call the messages transmitted in the network "packets", for example, Interest packet, Data packet, Hello, and Response packet.
total number of packets in the network considerably.However, this can reduce the successful data delivery ratio and/or the data response time too.In order to maintain a high successful data delivery ratio and reduce the data response time, we limit the suppression of the packet forwarding to within a certain scope, determined by the location of the vehicles, as well as the density of the vehicles in the area, and the priority of the content being forwarded.We will describe the control algorithms more fully in the following sub-sections.

Distance-Based Forwarding Control
In wireless environments, data are sent by broadcasting over the wireless network interface.On the one hand, this increases the likelihood that the Interest and Data packets can reach their respective destinations.On the other hand, loops and repeated forwarding may be caused if no restrictions are imposed by intermediate nodes.Especially, when an in-network caching mechanism is used in ICN, heavy data storms may be caused if every node with a copy of the data responds to an interest message, without regard to the action of other nodes.This may, in turn, lead to heavy packet loss due to high interference in the physical-layer and network-layer congestion.
In order to reduce the total number of packets in the network, first, we will reduce the hops of packet transmission in the network.Therefore, we use the greedy distance-based forwarding control method, which ensures that the nodes furthest away from the source of the packet (the content holder for Data packets or the requester for Interest packets) are selected to forward packets first to ensure the maximum geographical spread of the packets.This is made possible by modifying the NDN packets to include position data, as will be explained in more detail below.Correspondingly, we introduce a deferral time function, which allows the nodes furthest from the sending node (i.e., those nodes closest to the destination) to forward the packet first.
To achieve this, we introduce a Deferral Forwarding Table (DFT) in each node.We also changed the Pending Interest Table (PIT) table in order to reduce the number of the Data packets as much as possible.
The DFT is used to check whether to forward an Interest packet, and if so, when to forward it.The Nonce, a unique identifier created for an Interest packet when it is generated, is stored in the DFT together with the corresponding interest name; the deferral time, which is the time for waiting before forwarding the Interest or Data packet by the current node; and the EventID, which is used to trigger an event when a timeout happens, as shown in Figure 2. Based on DFT and the Nonce, forwarding of an Interest can be deferred by the corresponding deferral time, or an entry in the table can be deleted according to a local strategy, for example, after a certain time based on the assumption that forwarding of the packet in the neighborhood has ceased, or the node has no need to forward the packet, see Section 3.4.
When the density of vehicles in a certain area is high, vehicles close to the sending nodes should have a long deferral time, restricting forwarding.Thus, the node having the longest distance will have the smallest t.It will first forward the Interest or Data by broadcasting it through the wireless network interface.Other nodes nearby will be inhibited from forwarding the same packet after overhearing the packet just sent.Thus, the vehicles relatively far away from the node sending the packet have a greater chance of forwarding it.Therefore, increasing the likelihood of spreading the packet over a large geographical area with few wireless transmissions.Since several nodes may have the same distance to the node sending a packet, the deferral time t consists of two parts, namely t = t b + t s , where t b is inversely related to the distance, t s is a random value, and t s << t b (i.e., t s is far smaller than t b ; in our experiment, we let t s ∈ (0.01 min{t b }, 0.1 min{t b })).When vehicles are sparsely distributed, the difference of the deferral time should not be reduced as quickly as in densely populated scenarios.Therefore, we calculate the deferral time as follows: here, d is the distance between the current node receiving a packet and the previous node sending the packet, which can be calculated according to the geo-position carried in the packet and the geo-position of the current node.D m is the longest distance between two vehicles sending and receiving data, i.e., the longest distance for reliable wireless data transmission.In practice, it is determined by the maximum distance of radio transmission R. For simplicity, here we suppose all the vehicles have the same R. D m is also related with the maximum velocity V m of the vehicles and the maximum tolerated latency L m for one hop.Namely D m = R − 2V m × L m , which is the case that two vehicles travel in the opposite directions at the maximum speed.T m is the maximum deferral time, which is related to the priority of the requested content and can be extracted from the Interest packet.c, m, and ds are constants which can be adjusted and optimized through experiments.Figure 3 illustrates the curves of the two types of deferral functions by showing the general shape of the curves.The actual values of the parameters for these curves used in the experiments in this paper are given in the simulation setup described in Section 4.1.
In this paper, we follow the terminology used in NDN in so far as we call the messages transmitted in the network "packets", for example, Interest packet, Data packet, Hello, and Response packet.

Distance-Based Forwarding Control
In wireless environments, data are sent by broadcasting over the wireless network interface.On the one hand, this increases the likelihood that the Interest and Data packets can reach their respective destinations.On the other hand, loops and repeated forwarding may be caused if no restrictions are imposed by intermediate nodes.Especially, when an in-network caching mechanism is used in ICN, heavy data storms may be caused if every node with a copy of the data responds to an interest message, without regard to the action of other nodes.This may, in turn, lead to heavy packet loss due to high interference in the physical-layer and network-layer congestion.
In order to reduce the total number of packets in the network, first, we will reduce the hops of packet transmission in the network.Therefore, we use the greedy distance-based forwarding control method, which ensures that the nodes furthest away from the source of the packet (the content holder for Data packets or the requester for Interest packets) are selected to forward packets first to ensure the maximum geographical spread of the packets.This is made possible by modifying the NDN packets to include position data, as will be explained in more detail below.Correspondingly, we introduce a deferral time function, which allows the nodes furthest from the sending node (i.e., those nodes closest to the destination) to forward the packet first.
To achieve this, we introduce a Deferral Forwarding Table (DFT) in each node.We also changed the Pending Interest Table (PIT) table in order to reduce the number of the Data packets as much as possible.
The DFT is used to check whether to forward an Interest packet, and if so, when to forward it.The Nonce, a unique identifier created for an Interest packet when it is generated, is stored in the DFT together with the corresponding interest name; the deferral time, which is the time for waiting before forwarding the Interest or Data packet by the current node; and the EventID, which is used to trigger an event when a timeout happens, as shown in Figure 2. Based on DFT and the Nonce, forwarding of an Interest can be deferred by the corresponding deferral time, or an entry in the table can be deleted according to a local strategy, for example, after a certain time based on the assumption that forwarding of the packet in the neighborhood has ceased, or the node has no need to forward the packet, see Section 3.4.When the density of vehicles in a certain area is high, vehicles close to the sending nodes should have a long deferral time, restricting forwarding.Thus, the node having the longest distance will have the smallest t.It will first forward the Interest or Data by broadcasting it through the wireless network interface.Other nodes nearby will be inhibited from forwarding the same packet after overhearing the packet just sent.Thus, the vehicles relatively far away from the node sending the packet have a greater chance of forwarding it.Therefore, increasing the likelihood of spreading the packet over a large geographical area with few wireless transmissions.Since several nodes may have the same distance to the node sending a packet, the deferral time t consists of two parts, namely t = tb + ts, where tb is inversely related to the distance, ts is a random value, and ts << tb (i.e., ts is far smaller than tb; in our experiment, we let ts ∊ (0.01 min{tb}, 0.1 min{tb})).When vehicles are sparsely distributed, the difference of the deferral time should not be reduced as quickly as in densely populated scenarios.Therefore, we calculate the deferral time as follows:  The major fields used for the forwarding control of the Interest and Data packet are shown in Figures 4 and 5, respectively.Besides the fields used in the original NDN (i.e., name, for the requested content; Nonce, the unique ID for the packet; and the lifetime of the packet), we use selector to denote the priority of the packet, namely the priority p used in Equations ( 3) and ( 4).In addition, we add two fields, Previous_position which denotes the position of the previous node from which the Interest packet is received and Current_position which will record the position of the current node before forwarding it.In this way, a node can know the position of the previous two passing nodes when receiving an Interest packet.The major fields used for the forwarding control of the Interest and Data packet are shown in Figures 4 and 5, respectively.Besides the fields used in the original NDN (i.e., name, for the requested content; Nonce, the unique ID for the packet; and the lifetime of the packet), we use selector to denote the priority of the packet, namely the priority p used in Equations ( 3) and ( 4).In addition, we add two fields, Previous_position which denotes the position of the previous node from which the Interest packet is received and Current_position which will record the position of the current node before forwarding it.In this way, a node can know the position of the previous two passing nodes when receiving an Interest packet.

Nonce
decreasing deferral time.
The major fields used for the forwarding control of the Interest and Data packet are shown in Figures 4 and 5, respectively.Besides the fields used in the original NDN (i.e., name, for the requested content; Nonce, the unique ID for the packet; and the lifetime of the packet), we use selector to denote the priority of the packet, namely the priority p used in Equations ( 3) and ( 4).In addition, we add two fields, Previous_position which denotes the position of the previous node from which the Interest packet is received and Current_position which will record the position of the current node before forwarding it.In this way, a node can know the position of the previous two passing nodes when receiving an Interest packet.For the Data packet, too, we add to the original NDN fields (name, signature, and content) the priority of the content, in the MetaInfo field, and specify who should receive, process, and forward the Data packet, in the Next_position field.content; Nonce, the unique ID for the packet; and the lifetime of the packet), we use selector to denote the priority of the packet, namely the priority p used in Equations ( 3) and ( 4).In addition, we add two fields, Previous_position which denotes the position of the previous node from which the Interest packet is received and Current_position which will record the position of the current node before forwarding it.In this way, a node can know the position of the previous two passing nodes when receiving an Interest packet.For the Data packet, too, we add to the original NDN fields (name, signature, and content) the priority of the content, in the MetaInfo field, and specify who should receive, process, and forward the Data packet, in the Next_position field.For the Data packet, too, we add to the original NDN fields (name, signature, and content) the priority of the content, in the MetaInfo field, and specify who should receive, process, and forward the Data packet, in the Next_position field.
In NDN, a node uses the Pending Interest Table (PIT) to record the prefix of a named content and the corresponding requesting interfaces.In this way, a node can forward the Data packets along the same path the Interest packets traverse.However, in the wireless environment, the wireless interface is not related to the path: Sending and receiving data are normally achieved in the same wireless interface.Therefore, it is not always possible to return the Data packets along the same path that the corresponding Interest packets traversed, as in the fixed networks.Nevertheless, to return the requested Data packets along the same path as the Interest packets can avoid broadcasting too many Data packets by the intermediate nodes, and at the same time increase the possibility of the requested data delivery.Therefore, we redefined the PIT table used in NDN in order to realize the "reverse-path routing" mechanism.
Each entry of the PIT consists of three fields, Nonce, Name, and Previous_position (they have the same meaning as the corresponding fields in the Interest packet), as shown in Figure 6.Nonce and Name are used to identify the Interest packet for which no Data packets have been sent in response, as the NDN did.We add the position of the previous node to record the node from which the Interest packet was received.Thus, the origin of the Interest packets can be traced.Note that, first, the same Interest (i.e., both the Nonce and the Name are the same) may be received several times by the same node due to the wireless broadcasting of data.In this case, only the position of the first node is recorded in the PIT table, since the possibility that the Data packet can reach the requestor through this node is at its highest.Second, Previous_position is set to null at the original node where the Interest is sent.Third, due to the movement of the vehicles in VANET, the Previous_position field can only denote the rough position where the Interest comes from.Nevertheless, the PIT can be used to limit the rough direction of Data packets, which can greatly reduce the number of Data packets broadcasting in the networks.
In NDN, a node uses the Pending Interest Table (PIT) to record the prefix of a named content and the corresponding requesting interfaces.In this way, a node can forward the Data packets along the same path the Interest packets traverse.However, in the wireless environment, the wireless interface is not related to the path: Sending and receiving data are normally achieved in the same wireless interface.Therefore, it is not always possible to return the Data packets along the same path that the corresponding Interest packets traversed, as in the fixed networks.Nevertheless, to return the requested Data packets along the same path as the Interest packets can avoid broadcasting too many Data packets by the intermediate nodes, and at the same time increase the possibility of the requested data delivery.Therefore, we redefined the PIT table used in NDN in order to realize the "reverse-path routing" mechanism.
Each entry of the PIT consists of three fields, Nonce, Name, and Previous_position (they have the same meaning as the corresponding fields in the Interest packet), as shown in Figure 6.Nonce and Name are used to identify the Interest packet for which no Data packets have been sent in response, as the NDN did.We add the position of the previous node to record the node from which the Interest packet was received.Thus, the origin of the Interest packets can be traced.Note that, first, the same Interest (i.e., both the Nonce and the Name are the same) may be received several times by the same node due to the wireless broadcasting of data.In this case, only the position of the first node is recorded in the PIT table, since the possibility that the Data packet can reach the requestor through this node is at its highest.Second, Previous_position is set to null at the original node where the Interest is sent.Third, due to the movement of the vehicles in VANET, the Previous_position field can only denote the rough position where the Interest comes from.Nevertheless, the PIT can be used to limit the rough direction of Data packets, which can greatly reduce the number of Data packets broadcasting in the networks.Through the deferral functions, a greedy geo-position-based forwarding algorithm can be realized.In other words, the vehicular nodes furthest away from the current node, in the direction of the requesting node, forward the packet first.This shortens both the data request and response time.Together with the modified PIT, the total number of packets transmitted in the network is reduced.

Forwarding Suppression and Suppression Scope
Distance-based forwarding and the modified PIT can reduce the number of forwarded packets considerably.However, it might also reduce the possibility of successful data delivery and/or increase the time taken to obtain data.As illustrated in Figure 7, suppose an Interest for content held by node D is sent by node A. Although node B, C, and E will receive the packet simultaneously (here Through the deferral functions, a greedy geo-position-based forwarding algorithm can be realized.In other words, the vehicular nodes furthest away from the current node, in the direction of the requesting node, forward the packet first.This shortens both the data request and response time.Together with the modified PIT, the total number of packets transmitted in the network is reduced.

Forwarding Suppression and Suppression Scope
Distance-based forwarding and the modified PIT can reduce the number of forwarded packets considerably.However, it might also reduce the possibility of successful data delivery and/or increase the time taken to obtain data.As illustrated in Figure 7, suppose an Interest for content held by node D is sent by node A. Although node B, C, and E will receive the packet simultaneously (here the time difference for radio transmission can be neglected), only node B will forward the packet since the distance from B to A (d BA ) is the longest among the nodes receiving the Interest packet (i.e., d BA is bigger than d CA and d EA ).In other words, forwarding by nodes C and E is suppressed.Although, while waiting, C and E will receive the same Interest again, from B, they will discard it on account of the retransmission.However, in the case when there are few vehicles on road, as shown in Figure 7, it is only possible to reach the content holder D if node C forwards the Interest.To avoid the occurrence of such a case when the vehicles are sparsely distributed, we use a suppression angle α SA , which demarcates a sector within which packet forwarding is suppressed since the nodes in this sector and node B are similarly situated with respect to the requested content holder.For instance, in the case described in Figure 7, node E is inside the sector in which forwarding will be suppressed; node C is outside the suppression sector and hence forwards the packet too, just like the furthest node, node B. We have introduced the concept of suppression angle in our previous work [26].However, the density and distribution of the vehicles was not then considered.
Information 2018, 9, x 9 of 20 node, node B. We have introduced the concept of suppression angle in our previous work [26].However, the density and distribution of the vehicles was not then considered.As shown in Figure 7, each node maintains a suppression angle αSA, which varies with the density of the vehicles nearby and the priority of the content requested in the Interest packet.The greater the vehicle density ρ and the lower the content priority p, the bigger the suppression angle αSA and the greater the number of nodes being suppressed.The relationship between αSA and ρ and p is defined as Equation ( 4), and thus αSA has a value between 0 and π/4, i.e., αSA∈ [0, π/4].
When node C overhears the same Interest packet forwarded by B during the deferral time, the angle αF formed by line AB and AC, which denotes the direction similarity of B and C for A, can be calculated:  = arccos • .Here, dBA, dCA, and dCB are the distances between node B and A, node C and A, and node C and B, respectively, which can be calculated according to the geoposition information carried in the corresponding Interest packet and the node's own geo-position.If αF < αSA, which means that C is in a direction sufficiently similar to B towards the requested content holder, C will discard the Interest received both from B and A, stop the deferral timer, and delete the corresponding entry from the deferral table DFT.In this way, redundant Interest packet forwarding will be suppressed.If multiple copies of requested content are cached in the network, the suppression of Interests will greatly reduce the number of the responded Data packets.However, if αF > αSA, as for the case shown in Figure 7, which means that C is in a direction different from B, the forwarding of the Interest will not be restricted.This increases the possibility of reaching the requested content and/or in a short time.As shown in Figure 7, each node maintains a suppression angle α SA , which varies with the density of the vehicles nearby and the priority of the content requested in the Interest packet.The greater the vehicle density ρ and the lower the content priority p, the bigger the suppression angle α SA and the greater the number of nodes being suppressed.The relationship between α SA and ρ and p is defined as Equation ( 4), and thus α SA has a value between 0 and π/4, i.e., α SA ∈ [0, π/4].
When node C overhears the same Interest packet forwarded by B during the deferral time, the angle α F formed by line AB and AC, which denotes the direction similarity of B and C for A, can be calculated: Here, d BA , d CA , and d CB are the distances between node B and A, node C and A, and node C and B, respectively, which can be calculated according to the geo-position information carried in the corresponding Interest packet and the node's own geo-position.If α F < α SA , which means that C is in a direction sufficiently similar to B towards the requested content holder, C will discard the Interest received both from B and A, stop the deferral timer, and delete the corresponding entry from the deferral table DFT.In this way, redundant Interest packet forwarding will be suppressed.If multiple copies of requested content are cached in the network, the suppression of Interests will greatly reduce the number of the responded Data packets.However, if α F > α SA , as for the case shown in Figure 7, which means that C is in a direction different from B, the forwarding of the Interest will not be restricted.This increases the possibility of reaching the requested content and/or in a short time.

Density of Vehicles
The calculation of both deferral time and suppression angle are related to the density of the vehicle distribution at a certain time and a certain location.Each node can sense the current density of nearby vehicles, i.e., vehicles within the scope of radio transmission.For example, through onboard camera, radar, and image recognition techniques, the number of connected vehicles in a certain area can be determined.
In this paper, we use Hello packets to detect the numbers of the connected vehicles nearby.Each vehicular node broadcasts a Hello packet periodically.All vehicles that hear the Hello packet will respond to it with a Response packet.Figure 8 shows the format of Hello and Response packet.Since the radio transmission range of the vehicular node is known, the density at time t of node i can be calculated using Equation ( 5), namely: for simplicity, we use ρ to denote the density omitting i and t when no ambiguity will be introduced.
The period T for a vehicle to broadcast Hello depends on the velocity and the acceleration.The higher the velocity and the acceleration, the greater the location change of the vehicle; Therefore, the smaller T should be.We define T as Equation (6), where vi,t and ai,t are the speed and acceleration at time t for node i; λ is a constant, which can be adjusted and optimized according to the practical environment.Thus, the scope of T is [0, λ].

Data Processing and Forwarding Control at Vehicular Nodes
Figure 9 shows the processing of the Interest packet at a vehicular node.When a node gets an Interest packet, it will first extract the Name, Nonce, Current_position, and Previous_position from the Interest and check if there is already an entry for the Interest in the DFT.If yes, which means the Interest requesting the same content has been received earlier (i.e., the Interest has not been forwarded, but the timer is still running), it will check if the Interest it received earlier should be suppressed by comparing the direction similarity angle αF and the suppression angle αSA.If αF < αSA, which means the current node is in the direction similar enough to the node from which the current Interest is received towards the content holder, the current receiving Interest will be discarded and the entry kept in the DFT should be deleted, since in this direction the Interest requesting the same content has already been forwarded and there is no need to forward it again.Otherwise, if αF>αSA, which means the current node is not in the similar direction as the node that forwarded the Interest packet earlier, the Interest packet received earlier (i.e., for the first time) will be forwarded when the timer expires.Since the radio transmission range of the vehicular node is known, the density at time t of node i can be calculated using Equation (5), namely: for simplicity, we use ρ to denote the density omitting i and t when no ambiguity will be introduced.
The period T for a vehicle to broadcast Hello depends on the velocity and the acceleration.The higher the velocity and the acceleration, the greater the location change of the vehicle; Therefore, the smaller T should be.We define T as Equation (6), where v i,t and a i,t are the speed and acceleration at time t for node i; λ is a constant, which can be adjusted and optimized according to the practical environment.Thus, the scope of T is [0, λ].

Data Processing and Forwarding Control at Vehicular Nodes
Figure 9 shows the processing of the Interest packet at a vehicular node.When a node gets an Interest packet, it will first extract the Name, Nonce, Current_position, and Previous_position from the Interest and check if there is already an entry for the Interest in the DFT.If yes, which means the Interest requesting the same content has been received earlier (i.e., the Interest has not been forwarded, but the timer is still running), it will check if the Interest it received earlier should be suppressed by comparing the direction similarity angle α F and the suppression angle α SA .If α F < α SA , which means the current node is in the direction similar enough to the node from which the current Interest is received towards the content holder, the current receiving Interest will be discarded and the entry kept in the DFT should be deleted, since in this direction the Interest requesting the same content has already been forwarded and there is no need to forward it again.Otherwise, if α F > α SA , which means the current node is not in the similar direction as the node that forwarded the Interest packet earlier, the Interest packet received earlier (i.e., for the first time) will be forwarded when the timer expires.
Interest is received towards the content holder, the current receiving Interest will be discarded and the entry kept in the DFT should be deleted, since in this direction the Interest requesting the same content has already been forwarded and there is no need to forward it again.Otherwise, if αF>αSA, which means the current node is not in the similar direction as the node that forwarded the Interest packet earlier, the Interest packet received earlier (i.e., for the first time) will be forwarded when the timer expires.If no entry in the DFT is found, which means the Interest packet is being received for the first time, the node will check if it has the requested data in its CS and, if yes, will respond with the Data packet.If not, it will check if the Interest requesting the same content has already been forwarded in the PIT.If yes, it will further check if the Interest was sent from the same source through the Nonce, the unique message ID.If the Nonce does not match with the Interest in the PIT, which means the current Interest came from another source node, the position information of the node from which it received the Interest will be recorded in the PIT, so that the corresponding Data packet can be returned along the same path.If no entry about the Interest in PIT is found, the node will register the Interest in its DFT by starting a timer based on the calculation of the distance from the previous node.
The forwarding control of the Data packet is shown in Figure 10.When a node receives a Data packet, it will cache it according to its caching strategy and then check if the Data packet has been requested from it through the corresponding Interest packet in the PIT table.If yes and the Previous_position registered in the PIT entry is not empty, it will set the Next_position field of the Data packet to the value of Previous_position recorded in the PIT and forward the Data packet, deleting the corresponding entry.If the Previous_position is empty, it means the current node is the node requesting the data, no further forwarding processing will happen (the received Data packet will be delivered to the applications).If there is no entry in the PIT table, the data request has not been sent or forwarded by the node.In this case, the node will calculate the distance between it and the destination node carried in the Data packet (i.e., in the Next_position field).If it is shorter than a threshold value D (which can be tuned by the data response time and radio transmission range), this means the node is not far away from the destination, in other words, the deviation may be caused by the movement of the vehicles.In this case, the node will forward the Data packet instead of discarding it, which not only increases the possibility of successful data delivery but also reduces the number of nodes broadcasting the Data packets.
the destination node carried in the Data packet (i.e., in the Next_position field).If it is shorter than a threshold value D (which can be tuned by the data response time and radio transmission range), this means the node is not far away from the destination, in other words, the deviation may be caused by the movement of the vehicles.In this case, the node will forward the Data packet instead of discarding it, which not only increases the possibility of successful data delivery but also reduces the number of nodes broadcasting the Data packets.

Simulation Environment and Evaluation Metrics
To carry out evaluations of the proposed protocols and extensions to previous work, we implemented the functionality in ndnSIM [8], which realizes the basic mechanisms of NDN in the

Simulation Environment and Evaluation Metrics
To carry out evaluations of the proposed protocols and extensions to previous work, we implemented the functionality in ndnSIM [8], which realizes the basic mechanisms of NDN in the network simulator ns-3 [9].The ndnSIM implementation was extended to support the algorithms and data structures described in Section 3.
To generate realistic scenarios for our evaluations, the Simulation of Urban Mobility (SUMO) [11] tool was used together with the freely exportable maps of cities available from OpenStreetMap (OSM) [10] to create different mobility traces.OSM contains road information that is generated and validated by satellite images and GPS (Global Positioning System) traces and is commonly regarded as the highest quality road data publicly available today.SUMO is an open-source traffic simulator with continuous space and discrete time.SUMO is capable of importing maps in multiple formats, including OSM.In our simulation, we use OSM to create the real-world map, and use SUMO to generate vehicle nodes and traffic, and mobility model in the real-world roadmaps.Table 1 shows the parameters of ndnSIM used in our simulations.
Note that, after some experiments, we set the constant c in Equations ( 2)- (10), and m in Equation (3) to 8 ms (i.e., T m = 7 ms), demarcation vehicular density d s = 10/πR 2 (i.e., 10 neighboring vehicles in the radio transmission area of each vehicle, and we set the radio transmission range R to 300 m) and λ in Equation (6) to 5 s in the following simulations.The distance D m related to the maximum velocity of the vehicles and the maximum tolerated latency for one hop is set to 250 m.
Figure 11 illustrates the modules of a vehicular node in our implementation for processing data from the network.The geo-position information needed by the Interest and Data packets can be obtained from the GPS of the vehicles.The priorities of different types of content can be configured through the graphical user interface (GUI) during the simulation.Some performance parameters and curves can also be displayed in the GUI.The forwarding control algorithms and tables are implementations introduced in Section 3 and used together to process the packets from the network.The following metrics are used to evaluate the proposed method: • Bandwidth usage: The total amount of data (kilobytes) transmitted in the network per unit time (second).It also represents the total number of packets successfully transmitted in the network, which reflects the effectiveness of the redundant packet-forwarding suppression, greedy distance-based packet forwarding, and the reverse-path routing Data packet forwarding.

• Successful content delivery ratio:
The ratio of the number of Data packets a node obtains successfully to the number of Interest packet it sends to request the Data.For simplicity, in our tests, we did not segment the content requested through an Interest packet into multiple Data packets.

• Data response time:
The time between when an Interest packet is sent for requesting content data and the first Data packet is received.We use the average data response time of multiple requests at a certain density of vehicles to evaluate our method.

• Number of hops for data packets:
The number of hops that a Data packet has been forwarded in the network before it reaches the node that sent the Interest.
We measure the above metrics when there are different numbers of vehicles distributed in the sections of roads randomly, and compare the metrics with that when using basic NDN as described in Section 2 (denoted as Basic-NDN below), V-NDN [20] as described in Section 2, and a GPSR [14] approach.Since GPRS is the classical routing protocol based on geographical position for an ad-hoc network in the TCP/IP paradigm, whereas Basic-NDN is the original work combining NDN with VANET; V-NDN is an earlier work combining NDN and VANET, which also forwards packets based on geographical position information.
In our tests, 10% of the nodes sent Interests with different names (i.e., asking for different content).Another 10% of the nodes served as content providers, holding the requested content and The following metrics are used to evaluate the proposed method:

•
Bandwidth usage: The total amount of data (kilobytes) transmitted in the network per unit time (second).It also represents the total number of packets successfully transmitted in the network, which reflects the effectiveness of the redundant packet-forwarding suppression, greedy distance-based packet forwarding, and the reverse-path routing Data packet forwarding.

•
Successful content delivery ratio: The ratio of the number of Data packets a node obtains successfully to the number of Interest packet it sends to request the Data.For simplicity, in our tests, we did not segment the content requested through an Interest packet into multiple Data packets.

•
Data response time: The time between when an Interest packet is sent for requesting content data and the first Data packet is received.We use the average data response time of multiple requests at a certain density of vehicles to evaluate our method.

•
Number of hops for data packets: The number of hops that a Data packet has been forwarded in the network before it reaches the node that sent the Interest.
We measure the above metrics when there are different numbers of vehicles distributed in the sections of roads randomly, and compare the metrics with that when using basic NDN as described in Section 2 (denoted as Basic-NDN below), V-NDN [20] as described in Section 2, and a GPSR [14] approach.Since GPRS is the classical routing protocol based on geographical position for an ad-hoc network in the TCP/IP paradigm, whereas Basic-NDN is the original work combining NDN with VANET; V-NDN is an earlier work combining NDN and VANET, which also forwards packets based on geographical position information.
In our tests, 10% of the nodes sent Interests with different names (i.e., asking for different content).Another 10% of the nodes served as content providers, holding the requested content and are randomly distributed in the network.Altogether 500 different types of contents (i.e., Data Packet) were used.The requested content follows Zipf distribution from the 500 different types.In our simulation, we set the parameters k = 0.5 for the Zipf distribution P(r) = c/r k .In order to analyze the effects of the distance-assisted routing and broadcast suppression, the same caching strategy was used.We selected the map of Solna in Stockholm, Sweden in our tests, which has an area of about 8.05 km 2 and where the and traffic are complex, as shown in Figure 12.

Evaluation Results
Note that in Figures 13-17, only for our method (denoted as CA-VNDN), values under different suppression angles are tested and plotted.For Basic-NDN, V-NDN, and GPSR, values are plotted at the point when the optimal suppression angle is achieved.In addition, the simulation time is 60 s and every 0.1 s a randomly selected vehicle will send an Interest packet requesting a type of content following the Zipf distribution.
Figure 13 shows the bandwidth usage varies with the number of nodes on the road and the suppression angle.With the increase of the number of nodes, more vehicles take part in the data transmission, thus the bandwidth usage increases.Compared with Basic-NDN and V-NDN, our method has a lower bandwidth usage when the total number of content requests are the same, which means for the same number of data requests (and higher successful data delivery ratio, as shown in Figure 14), the total amount of data transmitted in the networks is less.This saves the network bandwidth and reduces data interference and congestion in the network, which also decreases the packet loss rate.GPSR causes least amount data in the network.This is because only one optimum node is selected for forwarding data in the intermediate nodes.However, the links are often disconnected when using GPSR, and the data delivery ratio is relatively low, as shown in Figure 14.

Evaluation Results
Note that in Figures 13-17, only for our method (denoted as CA-VNDN), values under different suppression angles are tested and plotted.For Basic-NDN, V-NDN, and GPSR, values are plotted at the point when the optimal suppression angle is achieved.In addition, the simulation time is 60 s and every 0.1 s a randomly selected vehicle will send an Interest packet requesting a type of content following the Zipf distribution.

Evaluation Results
Note that in Figures 13-17, only for our method (denoted as CA-VNDN), values under different suppression angles are tested and plotted.For Basic-NDN, V-NDN, and GPSR, values are plotted at the point when the optimal suppression angle is achieved.In addition, the simulation time is 60 s and every 0.1 s a randomly selected vehicle will send an Interest packet requesting a type of content following the Zipf distribution.
Figure 13 shows the bandwidth usage varies with the number of nodes on the road and the suppression angle.With the increase of the number of nodes, more vehicles take part in the data transmission, thus the bandwidth usage increases.Compared with Basic-NDN and V-NDN, our method has a lower bandwidth usage when the total number of content requests are the same, which means for the same number of data requests (and higher successful data delivery ratio, as shown in Figure 14), the total amount of data transmitted in the networks is less.This saves the network bandwidth and reduces data interference and congestion in the network, which also decreases the packet loss rate.GPSR causes least amount data in the network.This is because only one optimum node is selected for forwarding data in the intermediate nodes.However, the links are often disconnected when using GPSR, and the data delivery ratio is relatively low, as shown in Figure 14. Figure 14 illustrates the successful content delivery ratio.Here we can see that the highest successful content delivery ratio can be achieved by using CA-VNDN.This is because there are fewer packets transmitted in the network when packet suppression mechanisms are used, which reduces the interference and congestion at the physical, MAC (Media Access Control), and network layers.Also, the transmission mechanism of Interest and Data packets not only reduced the number of packets transmitted in the network but also guaranteed the successful delivery of Data packets.In addition, the successful delivery rate of our method is better than that of V-NDN.Especially, when the density of the vehicles is low, the difference is slightly bigger.This is because our method did not severely suppress the packet forwarding when the density of vehicles was low.Moreover, the optimal value of the delivery ratio happens under different values when the density of the vehicles are different.This can be seen more clearly in Figure 15. Figure 15 shows the optimal suppression angle when there are different numbers of vehicles on the road (shown in colorful lines) when the maximum successful delivery ratio is obtained.Here we can see that when there are fewer vehicles on the road (e.g., less than 200), the suppression angle does not play a role.This is because many of the vehicles are involved in the packet forwarding in order to achieve a high successful content delivery ratio.However, when the density of vehicles become bigger, the suppression angle plays an important role in achieving a higher data delivery ratio as, otherwise, the high node density can cause much contention in the wireless spectrum.Figure 16 illustrates the average data response time related to the suppression angle and the corresponding density of vehicles.From here we can see that our method has a similar curve to V-NDN, which does not fluctuate as heavily under different densities like the Basic-NDN does.Moreover, under a certain suppression angle, the response time of our method is much lower than V-NDN, which also shows that the suppression angle works well.In addition, when the density is low, our method performs better than V-NDN.This is because, when there are fewer vehicles on the road, the participation in forwarding by vehicles outside the suppression angle can increase the possibility of finding the location of vehicles holding the requested content and, similarly, the Data packet can be returned quickly to the requestor.Note that although GPSR has the shortest data response time due to its distance greedy forwarding algorithm, the packet loss rate is higher, and the successful data delivery ratio is lower than other methods.Figure 15 shows the optimal suppression angle when there are different numbers of vehicles on the road (shown in colorful lines) when the maximum successful delivery ratio is obtained.Here we can see that when there are fewer vehicles on the road (e.g., less than 200), the suppression angle does not play a role.This is because many of the vehicles are involved in the packet forwarding in order to achieve a high successful content delivery ratio.However, when the density of vehicles become bigger, the suppression angle plays an important role in achieving a higher data delivery ratio as, otherwise, the high node density can cause much contention in the wireless spectrum.Figure 16 illustrates the average data response time related to the suppression angle and the corresponding density of vehicles.From here we can see that our method has a similar curve to V-NDN, which does not fluctuate as heavily under different densities like the Basic-NDN does.Moreover, under a certain suppression angle, the response time of our method is much lower than V-NDN, which also shows that the suppression angle works well.In addition, when the density is low, our method performs better than V-NDN.This is because, when there are fewer vehicles on the road, the participation in forwarding by vehicles outside the suppression angle can increase the possibility of finding the location of vehicles holding the requested content and, similarly, the Data packet can be returned quickly to the requestor.Note that although GPSR has the shortest data response time due to its distance greedy forwarding algorithm, the packet loss rate is higher, and the successful data delivery ratio is lower than other methods.Figure 17 illustrates the average number of hops traversed by the Data packets.Compared with Basic-NDN and V-NDN, the hops using CA-VNDN are relatively stable.When the number of vehicles is between 400 and 1000, the difference between the number of hops by using CA-VNDN and by using Basic-NDN is negligible.This also shows that the reverse-path routing realized by CA-VNDN can reduce the hops of Data packets compared with V-NDN.Although the number of hops by using GPSR is the least, as is the data response time, when used in VANET the successful data delivery ratio and packet loss rate are worse due to the rapid movement of vehicles.Figure 13 shows the bandwidth usage varies with the number of nodes on the road and the suppression angle.With the increase of the number of nodes, more vehicles take part in the data transmission, thus the bandwidth usage increases.Compared with Basic-NDN and V-NDN, our method has a lower bandwidth usage when the total number of content requests are the same, which means for the same number of data requests (and higher successful data delivery ratio, as shown in Figure 14), the total amount of data transmitted in the networks is less.This saves the network bandwidth and reduces data interference and congestion in the network, which also decreases the packet loss rate.GPSR causes least amount data in the network.This is because only one optimum node is selected for forwarding data in the intermediate nodes.However, the links are often disconnected when using GPSR, and the data delivery ratio is relatively low, as shown in Figure 14.
Basic-NDN and V-NDN, the hops using CA-VNDN are relatively stable.When the number of vehicles is between 400 and 1000, the difference between the number of hops by using CA-VNDN and by using Basic-NDN is negligible.This also shows that the reverse-path routing realized by CA-VNDN can reduce the hops of Data packets compared with V-NDN.Although the number of hops by using GPSR is the least, as is the data response time, when used in VANET the successful data delivery ratio and packet loss rate are worse due to the rapid movement of vehicles.Figure 18 shows the optimal suppression angle calculated according to Equation (4).We can see that the suppression angle increases with the increase of the density of vehicles.The optimal suppression angles are also in accordance with the results shown in Figure 15, in other words, by using the optimal suppression angle, the best performance can be achieved.Figure 14 illustrates the successful content delivery ratio.Here we can see that the highest successful content delivery ratio can be achieved by using CA-VNDN.This is because there are fewer packets transmitted in the network when packet suppression mechanisms are used, which reduces the interference and congestion at the physical, MAC (Media Access Control), and network layers.Also, the transmission mechanism of Interest and Data packets not only reduced the number of packets transmitted in the network but also guaranteed the successful delivery of Data packets.In addition, the successful delivery rate of our method is better than that of V-NDN.Especially, when the density of the vehicles is low, the difference is slightly bigger.This is because our method did not severely suppress the packet forwarding when the density of vehicles was low.Moreover, the optimal value of the delivery ratio happens under different values when the density of the vehicles are different.This can be seen more clearly in Figure 15.
Figure 15 shows the optimal suppression angle when there are different numbers of vehicles on the road (shown in colorful lines) when the maximum successful delivery ratio is obtained.Here we can see that when there are fewer vehicles on the road (e.g., less than 200), the suppression angle does not play a role.This is because many of the vehicles are involved in the packet forwarding in order to achieve a high successful content delivery ratio.However, when the density of vehicles become bigger, the suppression angle plays an important role in achieving a higher data delivery ratio as, otherwise, the high node density can cause much contention in the wireless spectrum.
Figure 16 illustrates the average data response time related to the suppression angle and the corresponding density of vehicles.From here we can see that our method has a similar curve to V-NDN, which does not fluctuate as heavily under different densities like the Basic-NDN does.Moreover, under a certain suppression angle, the response time of our method is much lower than V-NDN, which also shows that the suppression angle works well.In addition, when the density is low, our method performs better than V-NDN.This is because, when there are fewer vehicles on the road, the participation in forwarding by vehicles outside the suppression angle can increase the possibility of finding the location of vehicles holding the requested content and, similarly, the Data packet can be returned quickly to the requestor.Note that although GPSR has the shortest data response time due to its distance greedy forwarding algorithm, the packet loss rate is higher, and the successful data delivery ratio is lower than other methods.
Figure 17 illustrates the average number of hops traversed by the Data packets.Compared with Basic-NDN and V-NDN, the hops using CA-VNDN are relatively stable.When the number of vehicles is between 400 and 1000, the difference between the number of hops by using CA-VNDN and by using Basic-NDN is negligible.This also shows that the reverse-path routing realized by CA-VNDN can reduce the hops of Data packets compared with V-NDN.Although the number of hops by using GPSR is the least, as is the data response time, when used in VANET the successful data delivery ratio and packet loss rate are worse due to the rapid movement of vehicles.
Figure 18 shows the optimal suppression angle calculated according to Equation (4).We can see that the suppression angle increases with the increase of the density of vehicles.The optimal suppression angles are also in accordance with the results shown in Figure 15, in other words, by using the optimal suppression angle, the best performance can be achieved.Figure 18 shows the optimal suppression angle calculated according to Equation (4).We can see that the suppression angle increases with the increase of the density of vehicles.The optimal suppression angles are also in accordance with the results shown in Figure 15, in other words, by using the optimal suppression angle, the best performance can be achieved.To test the influence of the content requesting interval and the simulation time on the performance, extended the simulation time to 5 min, changed the sending interval of Interest packets to 0.2 s and compared the successful content delivery ratio.As shown in Figure 19, we listed the value of the successful delivery ratio when the simulation time is 60 s and the sending interval is 0.1 s and when the simulation time is 5 min and the sending interval is 0.1 s and 0.2 s, respectively.From the figure, we can see that the difference among the values is not big.The average of the standard deviation of the three curves is 0.012781.To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).
From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.

Vehicle conditions
Vehicle Check Master 2 To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.

Audio clips
NetEase's cloud music, QQ music 12 To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.

News
Headline today, NetEast news 13 To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.

Games
King's glory, Happy and Happy 14 To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.

Online shopping
Taobao, Jingdong, Meituan 15 To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.

Web surfing
Safari chrome 16 To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.

Others
Random select from above 20 To test the influence of content priority on the performance of data delivery, we configured the priority of different types of information (i.e., data content) randomly assigned to data objects, and measure the packet loss rate, minimum, and maximum response time.Table 2 lists the different content categories and their associated priorities (lower priority number indicates higher priority).From Figure 20 we can see that with the decrease of the priorities of the content, the performance in terms of successful data delivery ratio, packet loss rate, minimum, and maximum response time also decreases.This means that our packet-forwarding mechanism can also control the performance of data delivery by setting the priorities of the content.From the results, we can see that the CA-VNDN mechanism proposed in the paper has greatly reduced the total number of packets transmitted in the network and, therefore, reduced the network bandwidth and packet loss rate.At the same time, the CA-VNDN mechanism can also provide a high ratio for the successful delivery of the requested data.

Conclusions and Future Work
In this paper, we propose a context-aware packet-forwarding mechanism for ICN-based VANETs.By adding the geo-position information in the Interest and Data packets, a distance-based forwarding algorithm is realized which reduces the number of nodes redundantly forwarding packets and the number of hops of a packet to the content holders or requesters.In addition, to increase the possibility of successful data delivery and reduce the response time of the requested data, we introduce a forwarding suppression angle, outside the demarcated scope of which forwarding is not suppressed by the distance-based forwarding.By combining the distance-based forwarding, suppression angle, vehicular density, and the content priority, the numbers of repeated forwarding of the same data are greatly reduced; and at the same time, the key nodes are kept for forwarding packets, which guarantees the successful data delivery ratio and reduces the data response time.We have evaluated the proposed mechanism through simulations in terms of successful data delivery ratio, packet loss rate, network throughput, data response time, and hops.The results show that the proposed mechanism can greatly improve the performance of data dissemination in ICN-based VANETs.
Our future work is to optimize the method for sensing vehicular density by using the Interest From the results, we can see that the CA-VNDN mechanism proposed in the paper has greatly reduced the total number of packets transmitted in the network and, therefore, reduced the network bandwidth and packet loss rate.At the same time, the CA-VNDN mechanism can also provide a high ratio for the successful delivery of the requested data.

Conclusions and Future Work
In this paper, we propose a context-aware packet-forwarding mechanism for ICN-based VANETs.By adding the geo-position information in the Interest and Data packets, a distance-based forwarding algorithm is realized which reduces the number of nodes redundantly forwarding packets and the number of hops of a packet to the content holders or requesters.In addition, to increase the possibility of successful data delivery and reduce the response time of the requested data, we introduce a forwarding suppression angle, outside the demarcated scope of which forwarding is not suppressed by the distance-based forwarding.By combining the distance-based forwarding, suppression angle, vehicular density, and the content priority, the numbers of repeated forwarding of the same data are greatly reduced; and at the same time, the key nodes are kept for forwarding packets, which guarantees the successful data delivery ratio and reduces the data response time.We have evaluated the proposed mechanism through simulations in terms of successful data delivery ratio, packet loss rate,

Figure 4 .
Figure 4. Control fields of Interest packets.

Figure 4 .
Figure 4. Control fields of Interest packets.

Figure 6 .
Figure 6.Pending Interest Table (PIT) and an example entry.

Figure 6 .
Figure 6.Pending Interest Table (PIT) and an example entry.

Figure 7 .
Figure 7. Suppression angle and scope in the distance-based forwarding.

Figure 7 .
Figure 7. Suppression angle and scope in the distance-based forwarding.

Figure 8 .
Figure 8. Format of Hello and Response packet.

Figure 8 .
Figure 8. Format of Hello and Response packet.

Figure 9 .
Figure 9. Forwarding control of Interest packet.

Figure 10 .
Figure 10.Forwarding control of Data packet.

Figure 10 .
Figure 10.Forwarding control of Data packet.

Figure 13 .
Figure 13.Bandwidth usage with the number of nodes (second line of x-axis) and suppression angle

Figure 12 .
Figure 12.Map for the simulations.

Figure 13 .
Figure 13.Bandwidth usage with the number of nodes (second line of x-axis) and suppression angle (degree, first line of x-axis).

Figure 13 .
Figure 13.Bandwidth usage with the number of nodes (second line of x-axis) and suppression angle (degree, first line of x-axis).

Figure 14 .
Figure 14.Successful content delivery ratio as a function of the number of nodes and suppression angle.

Figure 15 .
Figure 15.Successful content delivery rate vs. the optimal suppression angle.

Figure 14 .
Figure 14.Successful content delivery ratio as a function of the number of nodes and suppression angle.

Figure 14 .
Figure 14.Successful content delivery ratio as a function of the number of nodes and suppression angle.

Figure 15 .
Figure 15.Successful content delivery rate vs. the optimal suppression angle.

Figure 16 .
Figure 16.Average data response time vs. the number of nodes and suppression angle.

Figure 17 .
Figure 17.Hops of Data packets vs. the number of nodes and suppression angle.

Figure 18 .
Figure 18.Optimal suppression angle varying with the number of vehicular nodes

Figure 17 .
Figure 17.Hops of Data packets vs. the number of nodes and suppression angle.

Figure 17 .
Figure 17.Hops of Data packets vs. the number of nodes and suppression angle.

Figure 18 .
Figure 18.Optimal suppression angle varying with the number of vehicular nodes

Figure 18 .
Figure 18.Optimal suppression angle varying with the number of vehicular nodes.
Information 2018, 9, x 17 of 20 packets to 0.2 s and compared the successful content delivery ratio.As shown in Figure19, we listed the value of the successful delivery ratio when the simulation time is 60 s and the sending interval is 0.1 s and when the simulation time is 5 min and the sending interval is 0.1 s and 0.2 s, respectively.From the figure, we can see that the difference among the values is not big.The average of the standard deviation of the three curves is 0.012781.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Alarms Danger Alarmer 3 Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 19 .
Figure 19.Successful delivery ratio under different simulation time and content sending interval.

Figure 20 .
Figure 20.Performance of delivery of different types of messages.

Figure 20 .
Figure 20.Performance of delivery of different types of messages.

Table 1 .
Parameters for the simulations.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.

Table 2 .
Configuration of the priorities of different types of content.