Social Contribution-Based Routing Protocol for Vehicular Network with Selfish Nodes

Routing in vehicular network is a challenging task due to the characteristic of intermittent connectivity, especially when nodes behave selfishly in the real world. Previous works usually assume that all nodes in the network are willing to forward packets for others, which is impractical in real world. Selfish behaviors of nodes would degrade network performance greatly. In this paper, we propose SCR, a social contribution-based routing protocol, for selfish vehicular network. When making forwarding decision, SCR considers both the delivery probability to the destination and the social contributions of the relay node. The delivery probability is determined by the social relations among nodes and social contribution is used as the incentive to stimulate selfish nodes to be more cooperative, which consists of reciprocal contribution and community contribution. The node with higher delivery probability and lower social contributions is the preferred candidate for the next hop. Simulation results show that SCR achieves better performance than other social routing protocols with the incentive scheme.


Introduction
With the increasing demands of various applications on vehicles, both academic researchers and automotive industries pay a lot of attention to vehicular ad hoc network. The intelligent transportation system (ITS), one of the most important applications of vehicular network, has been deployed in USA, Europe, and Asia. With the ITS, an emergency warning can help drivers to avoid multicar collisions [1]. Besides, a vehicular network can be used to alert drivers to potential traffic jams, providing more convenience and efficiency.
Efficient data delivery based on infrastructure-less V2V communications is the most compelling issue for the mentioned applications in vehicular network. However, the characteristics of vehicular network such as highly dynamic topology and the road constrained mobility pose great challenges for data delivery in vehicular network. There have been many studies such as VADD [2] and CAR [3] to resolve data forwarding for vehicular network.
Moreover, vehicles are often controlled by people so that the network has some social features due to the social relationships or social ties among people. It is natural to utilize the inherent social properties to assist in making forwarding decision. For example, Khokhar et al. [4] take the advantage of social behavior of human on the road to make optimal and secure routing decision.
However, most of the existing routing protocols have an unreasonable assumption that all nodes in the network are unselfish. That is, each node is willing to receive and relay the messages sent by other nodes. In real world, most people are rational and may be selfish. The vehicle nodes dominated by selfish people may also behave selfishly. For example, the node would be reluctant to deliver the packet because of the limited resources (energy, buffer, bandwidth, etc.).
Obviously, selfishness would affect the behavior of vehicle nodes. Selfish nodes will not forward packets for other nodes or will drop packets to preserve their resources, degrading the network performance greatly. A recent survey [5] shows that the number of packet losses rises 500% when the selfish node ratio increases from 0% to 40%.
To stimulate selfish nodes to contribute their resources and be more cooperative, an incentive scheme is necessary to handle the selfishness. Many incentive strategies such as reputation-based, credit-based, and TFT-based approaches for ad hoc network have been well studied. In this paper, we propose a social contribution-based routing protocol for vehicular network with selfish nodes, called SCR. SCR makes routing decision based on the delivery probability to the destination and social contribution of the relay node. The delivery probability is determined by the social relation between the relay node and the destination node. The social contribution includes the reciprocal contribution between two given nodes and the community contribution, which is utilized for the incentives to stimulate selfish nodes to be more cooperative. The node that has stronger social relation with the destination node and less social contribution has more chance to be the next hop.
The remainder of the paper is organized as follows: Section 2 discusses related works. Section 3 presents the detailed design of SCR, including the system model and assumptions and some discussions. The performance evaluation of SCR is shown in Section 4. Section 5 concludes the paper and discusses future works.

Related Works
Routing in VANET has been studied and investigated widely in the past few years. Since VANET is a specific class of ad hoc networks, the commonly used ad hoc routing protocols initially implemented for MANET have been tested and evaluated for use in a VANET environment. Since vehicles are often controlled by human, the network has some social features due to the social relationships or social ties among people. It is natural to utilize the inherent social properties to assist in making forwarding decision. Moreover, to stimulate selfish nodes to be more collaborative, many incentive protocols have been well studied for ad hoc network. In this section, we will describe the related works on routing in VANET, social-based routing, and mechanisms for handling selfishness.

Routing in VANET.
The routing protocols for VANET have been well studied. We mainly discuss topology-based and position-based routing protocols. Topology-based routing protocols use link's information within the network to send the data packets from source to destination. Topologybased routing approach can be further categorized into proactive (table-driven) and reactive (on-demand) routing. Position-based routing approach does not maintain any routing table or exchange any link state information with neighbor nodes. Information from GPS device is used for routing decision.

Proactive Routing Protocols.
Proactive protocols are also known as table-driven routing protocols. These protocols work by periodically exchanging the knowledge of topology among all nodes. Proactive protocols do not have initial route discovery delay but consume lots of bandwidth for periodic updates of topology.
Source-tree adaptive routing (STAR) is a link state protocol. It reduces overhead by eliminating periodic updates. It can be suitable for large-scale networks but it needs large memory and processing because it has to maintain large trees for whole network [6].
CGSR is a clustered multihop mobile wireless network with several heuristic routing schemes. CGSR reduces the size of distance vector table because the routing is performed only over cluster head. But more time is spent in selection of cluster heads and gateways if the mobile node uses CDMA/TDMA and it can take some time to get permission to send packets, resulting in multiple path breaks [7].
FSR is an efficient link state routing protocol that maintains a topology map at each node and propagates link state updates with only immediate neighbors [8]. Furthermore, the link state information is broadcasted in different frequencies for different entries depending on their hop distance to the current node. Entries that are closer are broadcasted with larger frequency than the farther nodes.

Reactive Routing Protocols.
Reactive routing opens a route only when it is necessary for a node to communicate with another node. It maintains only the routes that are currently in use, thereby reducing the burden on the network. DSR consists of two operations "route discovery" and "route maintenance" that makes it self-configuring and selforganizing [9]. Disadvantage of DSR is that the route maintenance mechanism does not locally repair a broken link. The connection setup delay is higher than that in table-driven  protocols. DYMO is another reactive routing protocol that works in multihop wireless network [10]. The basic operations of DYMO protocol are also route discovery and maintenance. It employs sequence numbers to ensure loop freedom and it enables on demand, multihop unicast routing among nodes.
Vehicular reactive routing protocol (VRR) [11] is a reactive routing protocol with geographical features which is specifically designed for wireless access for the vehicular environment (WAVE) standard in VANET. The protocol takes advantages of the multichannel scheme defined in WAVE and uses the control channel (CCH) for signaling and relies on one of the multiple service channels (SCHs) for payload data dissemination. JARR [12] is also a reactive routing protocol in which packets are routed from one junction to another and the direction and position of next hops are preconsidered with different ratios depending on the estimated density of the path.

Position-Based Routing Protocols.
Position-based routing shares the property of using geographic positioning information in order to select the next forwarding hops. The packet is sent without any map knowledge to the one hop neighbor which is closest to destination. Position-based routing is beneficial since no global route from source node to destination node needs to be created and maintained. Naumov and Gross [3] present a position-based routing scheme called CAR designed specifically for intervehicle communication in a city and highway environment. CAR integrates locating destination with finding connected paths between source and destination. Once a path is found, it is autoadjusted on the fly to account for changes, without another discovery process.
In [2], Zhao and Cao present VADD. It makes use of the predicable vehicle mobility, which is limited by the road traffic pattern and road layout. Based on the existing road traffic pattern, a vehicle can find the next road to forward the packet to reduce the delay.
Vahdat and Becker in [13] use epidemic routing. Whenever two nodes meet, they exchange the data that they do not possess. The random pairwise exchanges of messages among mobile hosts ensure eventual message delivery. Roadside units are also introduced into VANET to improve the communication efficiency. Ding et al. [14] propose a static node-assisted adaptive data dissemination protocol (SADV) for vehicular network. They suggest employing mechanisms that enable the packet to wait at an intersection until the best path is available. To achieve this, they add static nodes at intersections that store and forward the packet when appropriate.
BMAR [15] uses the features of adaptive movement awareness to resolve the conflict between two border nodes. It calculates speed and direction parameters and determines the weighted score of candidate border nodes. The border node which is moving with high speed and in the direction of destination will be chosen as a next hop node. Probability of changing the direction at intersection is high so BMAR discards nodes with intersection in their route. If it does not suit in the situation then the node with highest successful transmissions is selected as next hop node.
Teymoori et al. propose PBLA [16], another positionbased routing protocol using learning automata for vehicular ad hoc network in city scenarios. PBLA forwards packets through streets and intersections. Packets are forwarding in greedy mode between each two intersections until vehicles arrive at intersections. In intersections, PBLA attempts to find an optimal path to the destination by using probabilities that gain by learning automata algorithm.

Social Based
Routing. Hui and Crowcroft have proposed a routing algorithm called LABEL [17] which takes advantage of communities for routing messages. LABEL partitions nodes into communities based on only affiliation information. Then each node in the network has a label telling others about its affiliation. A node only chooses to forward messages to destinations or to the next-hop nodes belonging to the same group (same label) as the destinations.
BUBBLE [18] combines knowledge of the community structure with knowledge of node centrality to make forwarding decision. People have different popularities in real life so that nodes have different centralities in the network. When two nodes encounter, the node forwards the message up to the node with higher centrality in the community until it reaches the same level of centrality as the destination node. Then, the message can be forwarded to the destination community at the same ranking (centrality) level.
SimBet presented in [19] makes routing decision based on the centrality and similarity of nodes. Centrality means popularity as in BUBBLE. Similarity is calculated based on the number of common neighbors of each node. SimBet routing exchanges the preestimated centrality and locally determined similarity of each node in order to make a forwarding decision. The forwarding decision is taken based on the similarity utility function (SimUtil) and betweenness utility function (BetUtil). When nodes contact with each other, the node selects the relay node with higher SimBet utility for a given destination.
In [20], Fabbri and Verdone propose a sociability-based DTN routing, which is based on the idea that nodes with high degrees of sociability (frequency encountering many different nodes) are good forwarding candidates. They defined the sociability indicator metric to evaluate the forwarding ability of a node. The routing strategy forwards packets to the most sociable nodes only.
In [4], authors propose a fuzzy-assisted social-based routing (FAST) protocol that takes the advantage of social behavior of humans on the road to make optimal and secure routing decision. FAST uses prior global knowledge of real-time vehicular traffic for packet routing from the source to the destination. In FAST, fuzzy inference system leverages friendship mechanism to make critical decisions at intersections which is based on prior global knowledge of real-time vehicular traffic information.

Handle Selfishness.
Since selfish behavior of the node degrades the performance of routing protocol, many incentive mechanisms have been studied to stimulate individual selfish node to be cooperative. The incentive strategies can be classified into three categories: reputation-based, creditbased, and TFT-based approaches.
In reputation-based schemes, forwarding services are provided to nodes depending on their reputation. When a node provides services for other nodes, it gets good reputation. Nodes with good reputations can receive services from other nodes. On the contrary, misbehaving nodes get bad reputations and will be denied participation in the network. The fear of detection and punishment motivates nodes to cooperate. Mei and Stefa [21] propose a reputation-based incentive scheme (Give2Get) for DTN routing, which can detect misbehaving nodes and remove them from network routing. They prove that their proposed scheme achieves Nash equilibria. IRONMAN [22] is also a reputation-based incentive scheme proposed by Bigwood and Henderson. The sender of a message keeps the records of the encountered nodes and the forwarding records which contain the identifier of the message, the destination of the message, and the forwarding time. When two nodes encounter each other, they check the forwarding records and received messages since last encountered time, in order to detect the cooperative nodes and selfish nodes. Once a node is detected to be selfish, it has to forward packets for other nodes to improve its trust rating. Otherwise, no one would forward packets for it. To eliminate the harmful influence of selfish nodes, Xu et al. propose a scheme [23] which is also based on reputation. Nodes whose reputation value is higher than the threshold get in the vicinity of each other, and they exchange messages and their reputation values will increase if any party refuses to forward messages and its reputation value will decrease.
The credit-based schemes introduce some form of credit or virtual currency to regulate the packet-forwarding relationships among different nodes. Nodes earn virtual currency by forwarding packets for others. These credits can be used to obtain forwarding service from any node in the network. For every forwarding request, the virtual bank charges the sender an extra amount of virtual currency, and the intermediate nodes redeem their rewards at the bank after successful delivery. SMART (secure multilayer credit-based incentive) scheme [24] uses credits to provide incentives to selfish nodes. Such scheme adopts a novel layer concatenation technique to withstand cheating actions of selfish nodes. MobiCent [25] assumes that each mobile device is capable of operating in two modes: a long-range low-bandwidth radio to maintain an always-on connection and a short range highbandwidth link to opportunistically exchange a large amount of data with peers in its vicinity. MobiCent provides a creditbased algorithmic mechanism design approach to address selfish attacks.
In TFT-based schemes, every node forwards as many messages for a neighbor as the neighbor forwards for it. In this way, a node autonomously lowers services to a neighbor if it detects that the neighbor is misbehaving. Shevade et al. in [26] proposed the use of pairwise tit-for-tat (TFT) as a simple and robust incentive mechanism for DTN routing. This incentive-aware routing protocol allows selfish nodes to maximize their own performances without any significant degradation of system-wide performance. In [27], Zhou et al.
propose an incentive-driven and freshness-aware pub/sub content dissemination scheme, called ConDis, for selfish OppNets. ConDis chooses the TFT scheme as the incentive scheme to deal with selfish behavior of nodes in the network.

Design of SCR
In this section, we present the details of SCR protocol, including delivery probability, social contribution, and packets forwarding. Before describing them, we first introduce the system model and assumptions and define some notations to make the presentation clear, which are listed in the Notations section.

System Model and Assumptions
3.1.1. System Model. Vehicular ad hoc network is typically characterized by the intermittently connectivity and the opportunistic encounters between a given pair of nodes within the network. A vehicular network is modeled as a directed contact graph = ( , ), where consists of all nodes and represents opportunistic contact edges, respectively. Once two nodes encounter each other, there would be an edge between them. The contact graph reflects the social relations or social ties among nodes. The more frequent two nodes contact each other, the stronger social relations between them.
In vehicular network, the selfish behaviors of vehicle are naturally caused by rational human entities who dominate them. To study the selfish nodes, we consider two factors: selfish ratio, and cooperative probability, . is defined as the ratio of the number of nodes behaving selfishly and the total number of nodes in the network. Larger means there are more nodes that are selfish and not willing to relay packets for others. Incentives could stimulate nodes to be more cooperative. According to [28], even if there are not any incentives, there are still 30% users who are found to be cooperative and willing to share their resources. Cooperative probability reflects the willingness to be cooperative when nodes behave selfishly. That is, when a node is selfish, the node will forward the packet with the probability .

Assumptions.
We assume that each vehicle in the network is equipped with GPS and preloaded digital map, which enables them to acquire their own position and speed.
We also assume that some authentication service is available in order to ensure nodes are honest and trust each other. Moreover, there are no malicious nodes in the network and nodes never drop packets intentionally. We do not consider the resource constraint issue (i.e., limited buffer and energy) in this paper, because vehicles have more storage size and the energy can be rechargeable and the bandwidth is high enough to allow the exchange of all messages between nodes at encounter times.
Furthermore, in the rest of this paper, we will use the terms "node" and "vehicle" interchangeably.
3.2. Delivery Probability. As described before, in the contact graph of nodes, the edge between two nodes reflects the opportunistic connection at a specific time. The stronger social relation that two nodes have, the more likely they contact frequently. Of course, vehicles with more social relations are more likely to meet other vehicles. Then the social relation between two given nodes could be quantified by the contact frequency of the two nodes and the delivery probability could be determined by the contact frequency between the relay node and destination node. According to [29], for the node , the probability to meet with node is thought to be ( )/ , where is the overall number of contacts in the whole network. Unfortunately, it is hard to get in the distributed network. In fact, it is not necessary to compute the delivery probability to a destination node for the two encountered nodes based on and the delivery probability can be determined by the number of contacts related to the communities formed by the encountered nodes.
As in Figure 1, vehicle encounters vehicle , , , , and at different time, and these vehicles form a virtual community . The numbers of contacts that the five vehicles meet vehicle are 30, 15, 20, 40, and 5, respectively. The total number of contacts of vehicle (i.e., NC ) is the sum of number of contacts that the five vehicles meet vehicle : If vehicles encounter with each other, the total number of contacts related to these communities formed by the  encountered vehicles (i.e., the node in the set of Γ) can be formulated as Then could substitute and is used to calculate the delivery probability as For example, if node encounters node , then there are two communities and , as in Figure 2. The numbers of vehicles of and are 6 and 5, respectively. According to (2), = NC +NC +NC +NC +NC +NC +NC +NC = 820. Then the delivery probabilities to meet node of node and node are 0.02 and 0.03, which means vehicle has more chance to meet vehicle than vehicle , and vehicle would be the next hop to relay packets from vehicle .
However, the delivery probability to destination node is not just influenced by the contact frequency between the relay node and destination node. Nodes within the contact set of the relay node also have impacts on the delivery probability to encounter the destination. So the delivery probability consists of two parts: direct delivery probability and indirect delivery probability.
The direct delivery probability is the probability that the relay node encounters the destination directly and is calculated by The indirect delivery probability is the probability that nodes within the contact set of the relay node meet the destination. Then the indirect delivery probability could be expressed by Then the delivery probability of node to the destination is redefined as where is a weight factor, indicating the delivery probability is mainly decided by which parts. Obviously, the delivery probability is mainly influenced by the direct delivery probability and satisfies > 0.5. As in Figure 2, if is the destination, the IP ( ) and IP ( ) are 0.05 and 0.01. If = 0.6, the ( ) and ( ) are 0.03 and 0.02, respectively. In this case, the vehicle should not select the vehicle as its next hop though vehicle has higher direct delivery probability.
To calculate the direct delivery probability, each node maintains a table to record the contact list with other nodes, as shown in Table 1. Likewise, the node also builds indirect contact list table for each node in its contact list in order to get the indirect delivery probability. As is in Table 1, each node links with an indirect contact list of node , which records its contact list. Table 2 is the indirect contact list that links with node . The contact list is exchanged and updated when they encounter. It is unnecessary to exchange the whole contact list and only the items that have changed since last encounter would be exchanged. A flag is used to identify which item has 6 International Journal of Distributed Sensor Networks  changed in the table. The item with flag modified to 1 should be sent to neighbors. Once the item is sent successfully, the flag is set to 0.

Contribution of Nodes.
When two nodes encounter, the node with higher delivery probability to the destination would be the candidate for forwarding packets. However, if that node behaves selfishly, it would not be willing to be the relay node. To stimulate nodes to be more cooperative, incentive scheme is proved to be effective. SCR uses social contribution of nodes as the incentives. Social contribution is defined as the forwarding service that the node provides for other nodes. The more social contribution the node makes, the less chance it can be the candidate for relay node. That is, the node with little social contribution has to provide forwarding services for other nodes in order to increase its social contribution. Social contribution includes reciprocal contribution and community contribution. The reciprocal contribution means the normalized amount of forwarding services provided by two given nodes for each other. Consider RC ( ) = 0 means node does not provide any forwarding service for node , and RC ( ) = 1 denoting node makes contribution for node while node makes nothing. If RC ( ) = 0.5, it means that the two nodes make equal contributions for each other.
Similarly, the community contribution is the normalized amount of forwarding services that the node provides for other nodes within its community. Then NT , NT, and CC are expressed as (8), (9), and (10), respectively: The larger the , the more contribution the node makes. The social contribution of the node is defined as where is the weight factor, indicating the social contribution is mainly determined by the reciprocal contribution or the community contribution. can be decided by the social relation between node and : Then (11) has twofold implications: (1) if the social relation of node and is strong, the social contribution of node is mainly evaluated by the reciprocal contribution between node and ; (2) if the strength of social relation between node and is small, the social contribution of node is mainly determined by the community contribution that it provides for the entire community.
The node would record the transmission statistics when transmission occurs successfully, as shown in Table 1. Once it receives a packet from other nodes or sends a packet to other nodes, the field of NR and NS should be updated. Moreover, the node should maintain NS ( ) to indicate how much packets generated by itself are sent to the network in order to acquire the community contribution.
Obviously, the node with lower social contribution should forward packets for the node with higher social contribution, which stimulate the node with lower social contribution to provide forwarding service for others in order to make more social contribution. To improve the data delivery ratio, SCR permits the node to select a relay node with a little more social contribution than itself. It is reasonable because the social contributions the two nodes make are more or less. Let be the threshold permitting the node with higher social contribution to forward packet for the node with lower social contribution, satisfying 0 < < 1. If the percentage by which the social contribution of a node is higher than that of source node is less than , the node would be the candidate for forwarding packet. Undoubtedly, should be small (e.g., 0.1) because the node with much higher social contribution is not willing to serve for the node with little social contribution.

Packet Forwarding.
Packet forwarding in SCR is based on the delivery probability to meet the destination node and the social contribution of the relay node. The node with higher International Journal of Distributed Sensor Networks 7 (1) begin (2) Send HELLO message contains contact list and meta-data of packets (3) Set timer (4) while(!timer out) (5) if receive HELLO message from neighbor then (6) for each destination of the packets of node (7) Calculate ( ) and ( ) (8) if ( ( ) > ( )) then //node has higher delivery probability (9) Calculate SC ( ), SC ( ) (10) if (SC ( ) < SC ( )) then //node has lower social contribution (11) send ECHO message to neighbor (12) else if ((SC ( ) − SC ( )) /SC ( ) < ) (13) send ECHO message to neighbor j (14) end if (15) end if (16) end if (17) if receive ECHO message from neighbor then //candidate's echo (18) for each in ECHO (19) Ω = Ω ∪ (20) end for (21) end if (22) end while (23) for each destination of the packets of node //packet forwarding (24) choose node , with the highest ( ) /SC ( ) from Ω (25) send packets that destination is node k to node j (26) end for (27) end Algorithm 1: Packet forwarding when vehicle encounters other nodes. delivery probability and smaller social contribution will be the candidate for relaying the packet. The pseudo code of packet forwarding carried out by each node is presented in Algorithm 1.
As in Algorithm 1, when node encounters other nodes, it broadcasts HELLO message and waits for ECHO message from neighbors. HELLO message contains the contact list of the node , the meta-data of the packet (i.e., the destination of the packets), and some variables such as NC , NT , and NS ( ), which are used to calculate the delivery probability and the social contribution. If node receives HELLO message from neighbor , it computes ( ) and ( ), in which is the destination of the packet buffered in neighbor (line 5). Then node compares the social contribution of the two nodes. If node has smaller social contribution than node , it would be a candidate for relaying the packet whose destination is of node (line 11) and sends back ECHO message, including , ( ), and SC ( ). Besides, if the social contribution of neighbor is higher than that of node , node would also be the candidate (line 13). If node receives ECHO message from neighbor , then it puts the node in the candidate set, Ω , related to the destination of the packet in node (line 19). Finally, the node with the highest ( )/SC ( ) in Ω should be the next hop to relay the packet whose destination is node (line 25).

Discussion.
Vehicles maintain the contact list, transmission statistic, and indirect contact table and they will exchange the information of the contact list once they are encountered, requiring large storage size and high bandwidth to exchange data. In this section, we will demonstrate that it is not a heavy burden to maintain and exchange the contact list for the vehicle nodes.
As in Table 1, each node has a contact list and the node in the contact list links with an indirect contact list, so the storage complexity of the node is ( 2 ). However, it is not necessary to store the full indirect contact list, which is used to calculate the indirect delivery probability. In indirect contact list, nodes that have more frequent contacts with other nodes have more impacts on the indirect delivery probability and those having less frequent contacts make little impact. So, the indirect contact list only stores several more frequent contacts rather than all contact lists. That is, the indirect contact list linking with a node could maintain the top contacts of the node with others, in which is a constant (i.e., 20). Then the storage complexity of the node is ( ). For example, if = 1000, = 20, and the lengths of each item of Table 1 and  each item of Table 2 are 20 bytes and 8 bytes, respectively, it requires 180 KB of storage. If = 10000, it needs 1.8 MB. It is not hard to vehicles which have large storage size to maintain the contact list.
When nodes exchange their contact list, the amount of data would consume more bandwidth, especially when a new node joins the network. The following are 3 schemes to reduce the amount of data exchanged. (1) The information exchanged just contains the ID of node and the contact times (i.e., the first two columns of Table 1); (2) Two encountered nodes only exchange the contact list if changed since they contacted last time. If the two nodes encounter at first time, they can exchange their contact list partially. For example, they exchange the top items of the contact list, which have more contact frequency than others. In fact, IEEE 802.11p is the communication standard in vehicular network, in which data rate ranges from 3 Mbps to about 27 Mbps. If = 20, the length of partial contact list exchanged is only 160 bytes, and it takes just a little time to transmit the contact list with the high data rate of 802.11p.

Performance Evaluations
In this section, we evaluate the performance of the proposed SCR protocol using NS2 [30] + VanetMobiSim [31]. Vanet-MobiSim is an open-source traffic simulator to model realistic vehicle behavior and generate realistic urban mobility traces. NS-2 is an open-source discrete event network simulator that supports both wired and wireless network, including most MANET routing protocols and an implementation of the IEEE 802.11 MAC layer. We first present the simulation setup and then discuss the simulation results.

Simulation Setup.
The simulation is based on a 3600 m × 2500 m map, including 24 intersections and 35 road segments. The speed of vehicle is differentiated from 40 km/h to about 80 km/h and is set before the vehicle enters into the road segment, which is restricted by the speed limit of the road segment. MAC protocol of the vehicles uses 802.11 and the transmission radius is set to 200 m. In simulation, 10% of nodes are selected randomly to generate a packet per 10 seconds, in which the destination nodes are also randomly chosen for each packet. TTL is an upper bound on the time that a packet is valid or not. If the TTL of packet expires, packet will be dropped. The default simulation parameters are listed in Table 3.
In the simulation, the first 1/6 of the simulation time is used for warm up (i.e., recording the contact frequency and transmission statistic), and the results are collected from the remaining part.

Methodology.
We compare the proposed SCR protocol with the following routing algorithm and incentive scheme as follows. (1) SCR without IDP. To verify the impacts of the indirect delivery probability, we implement SCR without IDP, in which the delivery probability is only determined by the direct delivery probability.
(2) SimBet. It is a social routing protocol which makes routing decision by betweeness centrality and similarity of nodes. Packets are routed to the most central nodes until a node with higher similarity with the destination is met. In simulation, the vehicles are randomly grouped into 4 communities and the similarity and centrality of nodes could be established in warm-up period. For fair compassion, selfish node should relay the packet with the cooperation probability .
(3) IRONMAN + SimBet. IRONMAN [22] is a socialnetwork-based incentive mechanism, in which socialnetwork information is used to bootstrap a trust relationship. Once a node is detected to be selfish, it has to forward packets for other nodes to improve its trust rating. We integrate the IRONMAN mechanism into SimBet protocol. Likewise, the trust relationship could be established in warm-up period.
(4) IRONMAN + Epidemic. Epidemic [13] is a routing protocol in which nodes forward messages to any encountered nodes that do not already have a copy. There are 2 metrics to evaluate the proposed protocol.
(1) Delivery Ratio. Delivery ratio is the ratio between the number of packets originated by the sources and the number of packets received by the final destination.
(2) Delivery Cost. Delivery cost is the total number of packets transmitted in the network divided by the total number of packets created.

Simulation
Results. Firstly, we investigate the impact of selfish ratio on the delivery ratio and delivery cost under different selfish ratio and the results are shown in Figure 3.     selfish the nodes are, the less probability the packet to transmit is. SimBet achieves better performance than other four schemes when the selfish ratio is small, but its delivery ratio decreases sharply when the selfish ratio is greater than 0.5. This is because SimBet does not have any incentives to stimulate nodes to be cooperative. If the central node of SimBet behaves selfish, many packets may not be forwarded. The delivery ratio of the other four schemes decreases more slowly than that of SimBet due to their incentive mechanisms. When the selfish ratio is small, the four schemes have less delivery ratio than SimBet. It can be attributed to more overheads introduced by the incentive schemes degrading the performance when there are a few selfish nodes. The two SCRs have almost the same performance, indicating that the indirect delivery probability is not so effective when the number of vehicles is low. Moreover, SCR achieves higher delivery ratio than IRONMAN + SimBet by almost 14%, showing that routing mechanism and incentive scheme of SCR are more effective than the combination of social routing and incentive mechanism. On the other hand, SCR has 3% lower delivery ratio than IRONMAN + Epidemic, because Epidemic routing could achieve high delivery ratio and incentive scheme will degrade its performance. Figure 3(b) plots the delivery cost of all schemes under different selfish ratio. IRONMAN + Epidemic has the highest delivery cost for the essence of epidemic routing, while SimBet acquires the lowest delivery cost because many packets are not relayed when there are lots of selfish nodes. The delivery cost of SCR is higher than that of IRONMAN + SimBet by 6%. It is because the selfish node is not permitted to send packets after it is detected to be selfish, decreasing the total number of transmissions. For SCR, the selfish node is allowed to send packets to the next hop with a little higher social contribution, so that it can deliver more packets.
Then we study the delivery ratio and delivery cost of all protocols when there are different numbers of vehicles in the network. Figure 4 shows the simulation results.
As in Figure 4(a), for a certain selfish ratio, the more the number of nodes, the more the number of cooperative nodes. With the increase of the number of nodes, all schemes except IRONMAN + Epidemic improve their data delivery ratio for that there are more cooperative nodes. However,   when the number of nodes is small, the delivery ratio of SCR is greater than that of SCR without IDP by about 8%. When the number of nodes is larger than 400, SCR has 7% less delivery ratio than SCR without IDP. The reason is that when there are many vehicles in the network, there are more contact frequencies among nodes, so that the indirect delivery probability would be effective to increase the probability contacting the destination. For IRONMAN + Epidemic, when the number of nodes reaches a certain value, its delivery ratio falls for that the large density of nodes would introduce more collisions and more overheads in epidemic routing.
The delivery costs of the protocols under different number of nodes are shown in Figure 4(b). The delivery costs of all schemes increase with the enlargement of the number of nodes. SCR has almost the same performance as IRONMAN + SimBet. Due to the more collisions in high density network, IRONMAN + Epidemic introduces more invalid transmissions at much cost. Though SimBet achieves the least delivery cost, its delivery ratio is low. Figure 5 shows the performances when the packets are set to different TTL. Obviously, the more the TTL of packets, the larger the delivery ratio and the higher delivery cost. As seen from Figure 5, IRONMAN + Epidemic performs better than SCR in terms of delivery ratio, but with high delivery cost. SCR achieves better delivery ratio than IRONMAN + SimBet at almost the same delivery cost. It can be observed from Figure 5(a) that the delivery ratio increases very slowly when TTL of packet is greater than a certain value (i.e., 1200 s), due to the constraint of network capacity.

Conclusions
In this paper, we have proposed a social contribution-based routing protocol for selfish vehicular network. Social contribution is used as the incentive to stimulate selfish nodes to be more cooperative. SCR makes routing decision based on the delivery probability and social contribution of the relay node, in which the delivery probability is determined by the social relations between the relay node the destination. The node that has stronger social relation with the destination node and lower social contribution could be the next hop more likely. Simulation results show that SCR performs better than SimBet and IRONMAN + SimBet. IRONMAN + Epidemic has a little higher delivery ratio than SCR, but with more delivery costs. SCR makes a tradeoff between the delivery ratio and the delivery cost.
For our future work, we will consider the impacts caused by malicious nodes and will integrate a malicious node detect scheme with SCR. In addition, we will provide SCR with anonymity to protect node's privacy.

Notations
( ): The delivery probability of vehicle to the destination DP ( ): Direct delivery probability to the destination IP ( ): Indirect delivery probability to the destination Ψ : The history contact set of vehicle Φ : The node set of community , Φ = Ψ ∪ Γ: The node set of the encountering vehicles currently : Virtual community formed by vehicle NC ( ): The number of contacts that vehicle meets vehicle NC : The total number of contacts of vehicle : The total number of contacts of communities formed by the encountering vehicles NR