Packet-Forwarding Algorithm in DTN Based on the Pheromone of Destination Node

The pheromone can be used for target tracking and, consequently, for packet forwarding to the destination node in delay-tolerant networking. In this study, an initiative community model is proposed by simulating pheromone production and diffusion, which contains all of the nodes that can receive the core node pheromone. We can set the distance of the edge node to the core to be less than five hops by establishing the appropriate spread coefficientω. Packet forwarding is then converted into the process of tracing the pheromone of the destination node. A set of simulation results shows that the proposed initiative community model can effectively increase the delivery ratio and reduce delay when the community structure is relatively stable.


Introduction
The development of wireless communication technology has resulted in a portable intelligent terminal that consists of a special delay-tolerant networking (DTN) [1] that can be carried by people to be used in their daily lives.Although such a terminal may not comprise an end-to-end connected path among nodes that are required to exchange information in a network that lacks certain infrastructure, it can still achieve information exchanges from the source node to the destination node.If one node enters the communication range of others, then they can exchange information until they move out of the communication range.However, long delay, low signal-to-noise ratio, and asymmetric information transmission exist, along with information exchange among nodes in the network, which, in turn, lead to topology variability.Consequently, existing data transfer protocols for traditional networks may not achieve good performance when applied to new network structures.Thus, providing a novel algorithm that can obtain efficient packet forwarding in a variable network topology becomes a key interest domain.
For networks that consist of intelligent terminals, the mobile nodes are communication terminals that are frequently carried by users.Therefore, the characteristic of this type of network will be similar to that of social networks.A short-term, relatively stable communication structure can be formed among users in the same place, such as passengers on the same train and employees in the same office.This short-term, relatively stable communication structure can be represented by a transient community structure [2].Eyuphan et al. [3] consider that it should have a high contact frequency, a longer contact time, and relatively fixed interactive activities between friends and design a mixed metric that contains contact frequency, average length of contact, and regularity of contact, to detect the quality of friendships between nodes.However, this relationship does not apply to nodes whose distance is over two hops; hence, it cannot represent the betweenness centrality of a node.Pei Yan et al. [4] constructed frequent movement patterns of nodes by analyzing the hotspots that nodes visited, and computed the centrality of nodes based on the movement patterns.Then, they utilized the inverse symmetrized entropy of the personal hotspots between two nodes to compute the similarity between them.Even so, this may be of low efficiency when the hotspots change.
Ref [5] compared the number of same neighbors among nodes to determine whether the nodes belong to the same community.In this manner, nodes can be classified into different communities that contain nodes with a tight connection.However, nodes in such a community cannot obtain the relative location of others, and the current node cannot indicate the direction when forwarding packets to the destination node.Therefore, the path for packet forwarding may not be the best.The packet-forwarding path in a community without a core node is illustrated in Figure 1.In Figure 1, we suppose that ν 1 is required to forward the packet to ν 8 and packet forwarding to node ν 4 occurs at present.When ν 4 is forwarding the packet to the destination node, it must select a relay node from ν 5 and ν 7 , and if ν 5 was chosen, it would increase the total forwarding hops, and the cost of packet forwarding will increase.To address this problem, we study and analyze the role of pheromones in the process of moth mating and attempt to use it in the packet-forwarding process in DTN.First, we can compute the communication capability between the neighbor and core nodes according to the analysis of the connections and disconnections between them, which can be the analog pheromone of the core node.Second, we apply the six degrees of separation theory [6] to spread the analog pheromone to nearby nodes within a four-hop distance.The community can then be constructed based on the analog pheromone of the core node.We propose a simple and efficient packet forwarding algorithm (Packet Forwarding Algorithm Based on Pheromone, FABP) based on this special community structure.
In the proposed algorithm (FABP), the pheromone of the core node is calculated periodically and then spread to the surrounding neighboring nodes via the attenuation model.Every node that receives the pheromone will update itself and spread it via the attenuation model.If a node cannot receive the pheromone within a certain period, then it will decrease the pheromone of the destination node until it reaches zero.If the pheromone of the node becomes zero, then the current node detaches from the community.Taking advantage of the pheromone, if a packet is forwarded to nodes that hold the pheromone of the destination node, and then the packet will be delivered to the destination node along the direction where the pheromone is stronger.A high delivery rate and a low forwarding delay can then be obtained.
The remainder of this paper is organized as follows: Section 2 discusses related works; Section 3 describes the proposed network model and its analysis; Section 4 provides the designed packet-forwarding algorithm based on community structure; Section 5 presents the experimental results and discussion; and, finally, Section 6 concludes this study.

Related Works
The traditional packet-forwarding algorithm cannot perform efficiently because of the intermittent link among nodes and because the network topology changes with a high frequency.Thus, the strategy of "store-carry-forward" is proposed to overcome the problem caused by the frequent interruptions of links among nodes in DTN.The selection of a relay node will significantly affect the forwarding delay and packet delivery success rate in the process of "store-carry-forward".Hence, such selection has recently become a crucial research area.A community can be classified into two types according to whether social features are to be used in the process of selecting relay nodes.The first type uses social features in the packet-forwarding process [2,5,[7][8][9][10][11], whereas the second type does not consider these features [12][13][14][15].Vahdat et al. [13] proposed the epidemic algorithm for DTN, which was a typical algorithm belonging to the second type.When one node meets another node, they should exchange messages that are different between them.Consequently, all non-isolated nodes will receive messages after a certain number of information exchanges.Although the high packet delivery success rate is the most notable feature of the epidemic algorithm, high resource consumption will occur during the packet-forwarding process.Consequently, this algorithm cannot achieve good performance in a real network that cannot provide sufficient resources.
Jianzhi et al. [14] divided the packet-forwarding process into two stages, namely, spray and wait.During the spray stage, the source node spreads the message to its neighbors.The message spread by the source will then be carried until it meets the destination node during the wait stage.Taking advantage of the fixed quota for copying, this process can optimize the consumption of node resources in the epidemic algorithm.Compared with the previous forwarding algorithm, the relations among node carriers are utilized in the second type of forwarding algorithm.The nodes are classified into different communities based on several special characteristics of node carriers.The relationship among the inner nodes of the community is tighter than that among the outer nodes.In [7], Hui et al. proposed the bubble algorithm, which would select the relay node with high betweenness centrality or that belonged to the community of the destination node during the packet-forwarding process.The global betweenness centrality of a node controls the selection of the relay node until the packet enters the destination community.The local betweenness centrality of a node will then replace the global one to influence the selection of the relay node in the destination community.Nevertheless, if every node holds low global betweenness centrality, then bubble may not achieve satisfactory performance.A routing protocol based on clustering structure is proposed [10], which classifies the nodes with similar mobility traces into a cluster of recent social circle.The entire process of the routing protocol is divided into three stages, namely, spraying, forwarding among clusters, and "flooding" in the inner cluster.Given the lack of an appropriate node removal mechanism in the cluster, the scalar of the number of clusters may become significantly large, and the routing protocol will evolve into "flooding" over time.
Yongfeng et al. [9] defined communities C1 and C2 that were maintained by the same node within different time windows.According to the Jaccard index, the similarity between C1 and C2 can be represented as: The similarity between C1 and C2 is identified by computing the ratio between their common and total numbers.In this manner, the similarity of the community that contains the node with ID = 29 for five consecutive days can be computed, which is a discrete value that is distributed from 0.4 to 0.6.Accordingly, 70% of the community members are relatively stable.This finding is important for our research.We can utilize the relatively stable structure of the network to improve the efficiency of packet forwarding.
By studying the recently published typical DTN routing algorithms [2,5,7,10,11], we can know that the betweenness centrality of a node is most important in the process of selecting a relay node; it represents the capability of the current node to forward a packet to the destination.Freeman et al. [16] proposed a technique to compute the betweenness centrality of a node by collecting all node information in DTN.However, given that the node location is easy to change in DTN, one node cannot easily obtain global information.This algorithm may consequently cause a considerable deviation in the betweenness centrality of a node.If every packet forwarded by the nodes has high betweenness centrality, then excessive consumption of the resources of these nodes may occur.
To overcome the problem of requiring global information in computing betweenness centrality, we utilize the pheromone held by a candidate relay node to represent the betweenness centrality of a current node.Considering that the pheromone can be periodically flood from the destination node, the pheromone can be easily generated without global information.The excessive consumption of the resources of a relay node can, thus, be avoided because different destination nodes spread various pheromones.

The Model of Pheromone and Community
The initiative community is the basis of the packet-forwarding algorithm proposed in this study.We must design a model for the pheromone of the core node and determine how to spread it to neighbors before running the packet-forwarding algorithm in the initiative community.Accordingly, we first propose the model for the core node pheromone, introduce the model for pheromone spreading and, finally, design the initiative community based on the pheromone of the core node.

Pheromone Model
The pheromone obtained by the relay node is considered the betweenness centrality between the core node and the current node.The relay node that holds higher pheromone can successfully forward the packet to the core node with higher probability.As shown in Figure 2, R a is the communication coverage radius of node a, and R b represents the radius of node b.P a,b is the pheromone received by node b, which is spread by node a, and P b,a has the same mean.If both nodes a and b enter their radius, then P a,b and P b,a will increase with time and begin to decrease when they leave each other.Given that only the node enters the communication radius of the core node, the communication capabilities between them will increase.Therefore, P a,b (k) is obtained by Y k .α is the increasing coefficient, and β is the decreasing coefficient.To simplify the computation, we set α = β = 1.Thus, we can easily obtain

Pheromone-Spreading Model
If the pheromone P a,b of node b increases during time T, then it will be recomputed as P•ω and spread to the neighbors of node a, ω is the coefficient of spread, and its range is [0,1].When the pheromone of the node b decreases to zero, a community based on the pheromone of the node b is constructed.In this special community, node b is the core node, and the pheromone will become strong from the edge node to the core.Hence, if we find the pheromone of node b, then we can enter the community of node b.We can easily obtain the best forwarding path along the direction of the stronger pheromone.The derivation of ω is follows.
On the basis of the six degrees of separation theory [6], we consider that the distance between the edge and core node should not be more than four relay nodes.We suppose that the network topology does not change before the maximum community with four relayers between the edge node and the core node.The four relayers between the edge node and the core node are shown in Figure 3.
Figure 3. Six relays between the edge node and the core node.
In Figure 3, P 0,1 , P 0,2 , P 0,3 , P 0,4 and P 0,5 represent the pheromones of v 1 , v 2 , v 3 , v 4 and v 5 which are spread from the core node v 0 , respectively.They also represent the capabilities of the current node to forward a packet to the core node.
To ensure that the distance from the edge node to the core node is less than six hops in the community, the pheromone P 0,5 that was received by the outer node n 5 must be decreased to zero during time T, and this premise can be expressed as: If P 0,5 exists, then P 0,1 , P 0,2 , P 0,3 , and P 0,4 must also exist.The topology between nodes v 4 and v 5 must remain stable during T, the topology between nodes v 3 and v 4 must remain stable during 3T,. .., and the topology between nodes v 0 and v 1 must remain stable during 5T.Accordingly, the pheromone of the core node is spread from v 1 to v 5 needs to be spread by nodes v 2 , v 3 , and v 4 .The pheromone is received by v 1 , v 2 , v 3 , v 4 , and v 5 and can be calculated as follows: If the topology of the community remains stable in the process of spreading P 0,1 to v 5 , then the maximum community is constructed; thus, B 1 = B 2 = B 3 = B 4 = B 5 = 0.Then, P 0,1 can be calculated using: Given that the topology of the community remains stable during the spreading process, each statistical time interval is equal to T, Therefore, Then Equation ( 11) can be simplified as: According to Equations ( 1)-( 7), P 0,5 can be calculated as Equation ( 12) Finally, we can calculate the spread coefficient ω as:

Community Model Based on Pheromone
If the connections between the core node v 0 and its neighbor nodes are relatively stable, then the pheromone of the core node v 0 can be computed according to the pheromone model.The pheromone will be spread to external nodes according to the pheromone spread model.When the pheromone decreases to zero, the community around the core node v 0 is constructed.Community based on the pheromone of v 0 are shown in Figure 4, and the best path for packet forwarding to the core node v 0 is along the direction where the pheromone becomes stronger.The community of node v 0 , which consists of node v 0 and nodes that hold the pheromone of v 0 , is denoted by C 0 .Then, we define v 0 as the core node of C 0 .

Definition 3. (Neighbor set):
The neighbor set of node n 0 , which is denoted by H 0 , is the set of nodes that can communicate directly with n 0 , and H i represents the neighbor set of node n i .
We suppose that the function Compute Pheromone(n 0 , n i ) is used to compute the pheromone of n 0 that is held by n i .Sleep(T) is a timer with a time length of T, and the community construction algorithm of n 0 is as follows: Algorithm 1. Community construction algorithm of n 0 .
Output: n 0 and sets of nodes that hold the pheromone of n 0 .

Computational Issues
The computational complexity is low and, compared to the improved packet forwarding efficiency, the cost of community construction is acceptable.
1. Complexity: Due to just the node in the communication coverage region of other nodes, it should be able to compute the corresponding node pheromone.Hence, the number of computations required for each node is on the order of O (Num (H i )) at each time slot.Num (H i ) means the number of nodes in H i , and H i represents the neighbor set of node n i .
2. Construction Cost: In the process of community construction, packets that contain the pheromone of the core node need to be transmitted; the number of these packets can be viewed as the cost of community construction.Given C, denoting the construction cost of n 0 , it can be calculated as follows: According to Equations ( 14)-( 16), C becomes large with the increase in the number of community members.The reduction of C is left as the next work.

Core Node Agent
As indicated in the pheromone computing and spreading model, when one node exists in the same position for a certain period, a community around the core node will be constructed, as shown in Figure 5a.However, if the core node moves to a new location, then the member of the community constructed before the core node moves may still preserve the pheromone of the core node at that moment.Therefore, if these nodes forward a packet along the direction where the pheromone is stronger, then the packet may not reach the destination node successfully.
To forward a packet to the new location where the core node has moved, we use the agent node to mark the mobile trajectory of the core node, as shown in Figure 5b.These nodes will be marked as the agent entering the communication radius of the moving core node and can receive the pheromone of the core node before moving.Similar to other nodes, the pheromone of the agent node will decrease with time.Thus, the agent node will close the forwarding service after the old community disappears.In Figure 5, the core node v 0 moves from the old location to the new location, and the agent node is marked while moving.Packets can be successfully forwarded to the destination node v 0 by the agent node after they are first forwarded to the shaded area.

Packet-Forwarding Algorithm Based on Pheromone (FABP)
The FABP proposed in this study is divided into two stages and, with the data forwarding process, the role of the stranger gradually reduced, while the role of community partners gradually increased [8]; therefore, the packet will be forwarded to the furthest node until the pheromone of the destination node is found during the first stage.
As shown in Figure 6, v 0 is at the edge of the community of v 3 , but it is not the edge node of v 1 and v 2 .Hence, v 0 will select v 3 as the furthest node.On the basis of the pheromone-spreading model, the edge node will receive less pheromone than the node in the community center.Accordingly, the lowest pheromone in the forwarding table indicates that the core node and the current node have the furthest distance.The pheromone of the destination node can be found among all the core nodes of the relay node until the furthest node is reached.If the pheromone is found, then it will enter the second stage of the packet-forwarding algorithm.Otherwise, it should find and forward the packet to the furthest node continually.As shown in Figure 6, v0 is at the edge of the community of v3, but it is not the edge node of v1 and v2.Hence, v0 will select v3 as the furthest node.On the basis of the pheromone-spreading model, the edge node will receive less pheromone than the node in the community center.Accordingly, the lowest pheromone in the forwarding table indicates that the core node and the current node have the furthest distance.The pheromone of the destination node can be found among all the core nodes of the relay node until the furthest node is reached.If the pheromone is found, then it will enter the second stage of the packet-forwarding algorithm.Otherwise, it should find and forward the packet to the furthest node continually.
During the second stage, if the packet is forwarded into the community, then it will select the node that holds a stronger pheromone as the relay node, according to the algorithm FABP.Given that the pheromone is updated regularly, the algorithm can determine the best path for forwarding the packet to the destination node along with the direction where the pheromone is stronger.

Detailed Description of FABP
We suppose that   is the source node or carrier that holds the forwarded packet to the destination node   ,   is the met node of   , and  , is the pheromone of   which held by   ,.Therefore,  , means indicates the pheromone of   which held by   . , is the furthest node of   , and  , is the relay node in the process of forwarding the packet to the furthest node.The FABP is presented as follows.
Algorithm 2. FABP.Input: sets of Packets(),  = {  1 ,  2 , … ,  n },  i is a six-tuple packet entity.Output: sets of packets that are successfully delivered(),  = {  1 ,   During the second stage, if the packet is forwarded into the community, then it will select the node that holds a stronger pheromone as the relay node, according to the algorithm FABP.Given that the pheromone is updated regularly, the algorithm can determine the best path for forwarding the packet to the destination node along with the direction where the pheromone is stronger.

Detailed Description of FABP
We suppose that n s is the source node or carrier that holds the forwarded packet to the destination node n d , n m is the met node of n s , and P d,s is the pheromone of P d which held by n s ,.Therefore, P d,m means indicates the pheromone of P d which held by n m .n s, f is the furthest node of n s , and n s,r is the relay node in the process of forwarding the packet to the furthest node.The FABP is presented as follows.

Computational Issues
Complexity: In both stages of FABP, every node must check all of the items of the pheromone table to determine the next forwarding node.Hence, the time complexity for each node is order of O Num T pheromone , where Num T pheromone represents the number of items in the node pheromone table.

Performance Evaluation
In this section, we conduct extensive simulations of our proposed algorithm with realistic contact traces [17], i.e., the Massachusetts Institute of Technology (MIT) Reality data, which are publicly available at Crawdad [18].This dataset includes the communication, proximity, location, and activity information from 100 subjects at MIT over the course of academic year 2004-2005.This dataset also comprises the carriers of the mobile terminal, with apparent social characteristics and relatively stable community structure.The proposed algorithm can achieve good performance based on this dataset.

Evaluation Methodology
In the experiments, we execute the algorithms FABP, bubble, and epidemic on MIT Reality to trace and compare each algorithm using the following routing metrics: Delivery success ratio against time to live (TTL): Setting the cache of node equal to 50M; it is the average percentage of successfully delivered packets from the sources to the destinations against different TTL; it is defined as: where Num (T success ) is the number of successfully received packets, and Num T generation is the number of packets that are created by the source node during the algorithm lifetime.Delivery success ratio against cache of node: Setting TTL equal to 6 h; it is the average percentage of successfully delivered packets from the sources to the destinations against different node caches.
Average delay time against cache of node: The average time duration of successfully delivered messages from the sources to the destinations against different node caches; it is defined as: where Time (P i ) is the time of i-th received packet, and ∑ Num(T success ) i=1 Time (P i ) is the total time of received packets during the algorithm lifetime.
Overhead ratio: The additional cost for packets successfully delivered from the sources to the destinations; it is defined as: where Num (T all ) is the number of all forwarded packets during the algorithm lifetime.For FABP, T all contains packets for constructing and maintaining community and packets created by sources.
For bubble, T all contains packets for constructing and maintaining the k-CLIQUE community and packets created by sources.For Epidemic, T all only considers the counts of the forwarded packets created by the source node during the algorithm lifetime.

Simulation Results
In total, we conduct four sets of simulations to analyze and compare these algorithms.The primary parameters used in the experiments are shown in Table 1.In the first dataset of experiments, we randomly select the source nodes from the sets of nodes, which include nodes at both ends of the path of the successfully forwarded packet.The TTL of the packet takes 3 h, 6 h, 12 h, and 24 h, and the cache of node takes 50 Mbits.The simulation results are shown in Figure 7.Given the use of the contagion mode for packet forwarding in the epidemic algorithm, its delivery ratio is better than those of bubble and FABP.Given that the number of dropped packets, which queuing in the relay node will decrease as TTL becomes longer, the delivery ratio of epidemic increases.Even so, by taking advantage of fixed copy, the number of packets in the network is controlled in FABP and bubble, the length of the packet queue in the node cache will be shorter, and then the time of the whole forwarding process will be shorter, too.Consequently, there is little effect on delivery ratio in FABP and bubble with TTL becoming larger.In FABP, by applying the advantage of using the pheromone P of the node to represent the betweenness centrality used in bubble, the delivery ratio of FABP is improved 3% than that in bubble.In the first dataset of experiments, we randomly select the source nodes from the sets of nodes, which include nodes at both ends of the path of the successfully forwarded packet.The TTL of the packet takes 3 h, 6 h, 12 h, and 24 h, and the cache of node takes 50 Mbits.The simulation results are shown in Figure 7.Given the use of the contagion mode for packet forwarding in the epidemic algorithm, its delivery ratio is better than those of bubble and FABP.Given that the number of dropped packets, which queuing in the relay node will decrease as TTL becomes longer, the delivery ratio of epidemic increases.Even so, by taking advantage of fixed copy, the number of packets in the network is controlled in FABP and bubble, the length of the packet queue in the node cache will be shorter, and then the time of the whole forwarding process will be shorter, too.Consequently, there is little effect on delivery ratio in FABP and bubble with TTL becoming larger.In FABP, by applying the advantage of using the pheromone P of the node to represent the betweenness centrality used in bubble, the delivery ratio of FABP is improved 3% than that in bubble.In the second set of simulations, we change the cache of the node to 10 M, 20 M, 50 M, 80 M, and 120 Mbits, and determine the delivery ratio of the three algorithms, as shown in Figure 8.A larger cache capacity of a node can improve the delivery ratio of epidemic and FABP significantly.However, if the cache of a node is over 80 M, then the delivery ratio growth of epidemic will tend to be slow.In epidemic, a large number of redundant packets will be created, and packet loss will occur when the space to cache packets is insufficient.The situation may be changed when the cache becomes larger, but this effort will not always be effective.Considering that the queuing latency time will become longer with increasing cache, the growth of the delivery ratio may be stopped because packet loss reappears.For FABP, considering the requirement to diffuse the pheromone to nearby nodes in the processes of constructing and maintaining the community, an additional cache is taken.Hence, its packet loss rate is higher than bubble when the node's cache is less than 40 Mbit.However, this phenomenon will change as the cache becomes larger, and have a delivery ratio of 5% higher than bubble, because of the strategy that the furthest node delivery is outside the community and the best path is inside community.In the second set of simulations, we change the cache of the node to 10 M, 20 M, 50 M, 80 M, and 120 Mbits, and determine the delivery ratio of the three algorithms, as shown in Figure 8.A larger cache capacity of a node can improve the delivery ratio of epidemic and FABP significantly.However, if the cache of a node is over 80 M, then the delivery ratio growth of epidemic will tend to be slow.In epidemic, a large number of redundant packets will be created, and packet loss will occur when the space to cache packets is insufficient.The situation may be changed when the cache becomes larger, but this effort will not always be effective.Considering that the queuing latency time will become longer with increasing cache, the growth of the delivery ratio may be stopped because packet loss reappears.For FABP, considering the requirement to diffuse the pheromone to nearby nodes in the processes of constructing and maintaining the community, an additional cache is taken.Hence, its packet loss rate is higher than bubble when the node's cache is less than 40 Mbit.However, this phenomenon will change as the cache becomes larger, and have a delivery ratio of 5% higher than bubble, because of the strategy that the furthest node delivery is outside the community and the best path is inside community.In the third set of simulations, we analyze the average latency time of the three algorithms under various node caches.The results are shown in Figure 9.The simulation results indicate that when the length of the queue becomes longer, the queuing latency time will increase.Given that the copy of the packet is restricted in bubble and FABP, the length of the packet queue will be shorter than epidemic.Thus, the increase in delivery time tends to slow down.By taking advantage of the relatively stable community structure in the MIT Reality dataset, the community based on the pheromone can be constructed rapidly.Packets will then be forwarded to the core node through the best path and, at the average packet forwarding times, FABP has two hops less than bubble inside the community, and three hops outside the community.The latency time in FABP will be reduced 13% than that in bubble.In the fourth set of simulations, the overhead ratio of FABP is 10% higher than that of bubble, as presented in Figure 10.The key reason for this result is that the community based on the pheromone is required to forward additional packets to maintain and update during the running of the In the third set of simulations, we analyze the average latency time of the three algorithms under various node caches.The results are shown in Figure 9.The simulation results indicate that when the length of the queue becomes longer, the queuing latency time will increase.Given that the copy of the packet is restricted in bubble and FABP, the length of the packet queue will be shorter than epidemic.Thus, the increase in delivery time tends to slow down.By taking advantage of the relatively stable community structure in the MIT Reality dataset, the community based on the pheromone can be constructed rapidly.Packets will then be forwarded to the core node through the best path and, at the average packet forwarding times, FABP has two hops less than bubble inside the community, and three hops outside the community.The latency time in FABP will be reduced 13% than that in bubble.In the third set of simulations, we analyze the average latency time of the three algorithms under various node caches.The results are shown in Figure 9.The simulation results indicate that when the length of the queue becomes longer, the queuing latency time will increase.Given that the copy of the packet is restricted in bubble and FABP, the length of the packet queue will be shorter than epidemic.Thus, the increase in delivery time tends to slow down.By taking advantage of the relatively stable community structure in the MIT Reality dataset, the community based on the pheromone can be constructed rapidly.Packets will then be forwarded to the core node through the best path and, at the average packet forwarding times, FABP has two hops less than bubble inside the community, and three hops outside the community.The latency time in FABP will be reduced 13% than that in bubble.In the fourth set of simulations, the overhead ratio of FABP is 10% higher than that of bubble, as presented in Figure 10.The key reason for this result is that the community based on the pheromone is required to forward additional packets to maintain and update during the running of the In the fourth set of simulations, the overhead ratio of FABP is 10% higher than that of bubble, as presented in Figure 10.The key reason for this result is that the community based on the pheromone is required to forward additional packets to maintain and update during the running of the algorithm.
The highest overhead ratio appears in the epidemic algorithm because of the used contagion mode for packet forwarding.
algorithm.The highest overhead ratio appears in the epidemic algorithm because of the used contagion mode for packet forwarding.

Conclusion
In this study, we propose a new initiative community structure based on the core node pheromone-computing model.We also design an efficient packet-forwarding algorithm based on the core node pheromone.The core node pheromone is computed and spread periodically by the nodes in the communication radius of the core nodes.The core node pheromone received by a node can be the betweenness centrality of the current node in the community and does not require the topology of other nodes in the community.The experimental results show that the proposed packetforwarding algorithm based on the pheromone of the core node has a low forwarding delay and a high delivery ratio when the community structure is relatively stable.The simulation results also show that the overhead ratio of FABP is higher than that of bubble.Packet-forwarding efficiency will be decreased with an increase in node mobility.Therefore, reducing the overhead ratio and adopting the algorithm to high-mobility nodes are included in our future works.

Conclusions
In this study, we propose a new initiative community structure based on the core node pheromone-computing model.We also design an efficient packet-forwarding algorithm based on the core node pheromone.The core node pheromone is computed and spread periodically by the nodes in the communication radius of the core nodes.The core node pheromone received by a node can be the betweenness centrality of the current node in the community and does not require the topology of other nodes in the community.The experimental results show that the proposed packet-forwarding algorithm based on the pheromone of the core node has a low forwarding delay and a high delivery ratio when the community structure is relatively stable.The simulation results also show that the overhead ratio of FABP is higher than that of bubble.Packet-forwarding efficiency will be decreased with an increase in node mobility.Therefore, reducing the overhead ratio and adopting the algorithm to high-mobility nodes are included in our future works.

Figure 1 .
Figure 1.Packet-forwarding path in a community without a core node.

Figure 2 .
Figure 2. Communication coverage radius of a node.

Figure 4 .
Figure 4. Community based on the pheromone of v 0 .

Figure 5 .
Figure 5. Packet forwarded by the agent node.

Figure 6 .
Figure 6.Schematic diagram for the furthest node.

Figure 7 .
Figure 7.Comparison of the delivery ratio under different TTL values.

Figure 7 .
Figure 7.Comparison of the delivery ratio under different TTL values.

Figure 8 .
Figure 8.Comparison of the delivery ratio under different caches.

Figure 9 .
Figure 9.Comparison of the average latency time under different caches.

Figure 8 .
Figure 8.Comparison of the delivery ratio under different caches.

Figure 8 .
Figure 8.Comparison of the delivery ratio under different caches.

Figure 9 .
Figure 9.Comparison of the average latency time under different caches.

Figure 9 .
Figure 9.Comparison of the average latency time under different caches.

Figure 10 .
Figure 10.Comparison of the overhead ratio.

Figure 10 .
Figure 10.Comparison of the overhead ratio.
2 , … ,  m }. 1: while  s not hold  d,s do 2:  s,r = getnextrelaynode( s ).If  s,r equal  s,f and  s,r not hold  d,s then 9:  s =  , 10: go to 1 11: end if 12: end while 13: if  s hold  d,s and  m hold  d,m and  d,s <  d,m then 14: forward  i to  m : while n s not hold P d,s do 2: n s,r = getnextrelaynode(n s ).n s hold P d,s and n m hold P d,m and P d,s < P d,m then 14: forward msg i to n m 15: end if 1