15
An experimental investigation of optimized flooding protocols using a wireless sensor network testbed q Martin Jacobsson , Cheng Guo, Ignas Niemegeers Faculty of Electrical Engineering, Mathematics, and Computer Science, Delft University of Technology, Mekelweg 4, 2600 GA Delft, The Netherlands article info Article history: Received 31 January 2011 Received in revised form 23 May 2011 Accepted 29 May 2011 Available online 21 June 2011 Keywords: Wireless multi-hop networks Wireless sensor networks Ad hoc networks Broadcasting Flooding abstract In addition to unicast routing, most wireless multi-hop networks also need network-wide broadcasting. In this paper, we investigate Blind Flooding and two different types of optimized flooding protocols: Counter-Based Broadcasting (CBB) and a neighbor knowl- edge-based flooding protocol called Prioritized Flooding with Self-Pruning (PFS). The latter is investigated in more detail. We test both protocols in a real wireless multi-hop network based on sensor motes and compare their performance. To the best of our knowledge, this is the first time optimized flooding protocols that support mobility are being tested and measured in a real wireless network. We outline problems found when using the protocols in real wireless networks and how to alleviate the encountered problems. The final results indicate that PFS and CBB achieved significant reduction of retransmissions compared to Blind Flooding and that they have comparable performance. We also combine these two protocols and show how this leads to further performance improvements. Ó 2011 Elsevier B.V. All rights reserved. 1. Introduction Wireless networks are becoming more common and applied in ever more situations. In some wireless technol- ogies, a node may not be able to directly transmit a packet to every node in the network due to transmission range limitations. Instead, it needs help from other nodes to relay the packet to the destination. Such wireless networks are called multi-hop networks and require special routing protocols. There are several types of wireless multi-hop networks, such as mobile ad hoc networks (MANETs), wire- less sensor networks (WSNs), and mesh networks. Most wireless multi-hop networks also need network-wide broadcasting. Just like unicast routing, this is only possible if some of the nodes relay the broadcasting packet so that all nodes can be reached. This process is called flooding. Flooding is used by several unicast routing protocols [1,2] to disseminate route requests or link states. Other applications include service discovery, sharing of context information, address autoconfiguration [3], and network self-organization. In mobile networks, flooding is often a better choice than multicasting [4]. The simplest flooding mechanism is Blind Flooding, in which a node always retransmits a received flooding pack- et after a small random delay (jitter). Each node needs to keep a list of recently received flooding packets to detect duplicates and avoid retransmitting the same packet twice. However, this is the only mechanism in Blind Flooding that reduces the number of retransmissions. Several studies of flooding protocols have revealed that it is possible to reduce the number of retransmissions much more, while still reaching the entire network [5,6]. This also reduces contention, collisions, saves energy, and may even increase the flooding speed. Such optimized flooding protocols can make use of location information, neighbor information, or observations of the ongoing flooding. Protocols using location information may require Global Positioning System (GPS) receivers in every node, which is too strong a requirement for most devices. Other location techniques, such as using signal strength, and tri- angulation, can also provide location information that can 1389-1286/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2011.05.024 q This work was partly sponsored by the Dutch research project Freeband PNP2008 and the European Commission under the research project MAGNET Beyond. Corresponding author. Tel.: +31 15 27 84950. E-mail address: [email protected] (M. Jacobsson). Computer Networks 55 (2011) 2899–2913 Contents lists available at ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet

An experimental investigation of optimized flooding protocols using a wireless sensor network testbed

Embed Size (px)

Citation preview

Computer Networks 55 (2011) 2899–2913

Contents lists available at ScienceDirect

Computer Networks

journal homepage: www.elsevier .com/ locate/comnet

An experimental investigation of optimized flooding protocols usinga wireless sensor network testbed q

Martin Jacobsson ⇑, Cheng Guo, Ignas NiemegeersFaculty of Electrical Engineering, Mathematics, and Computer Science, Delft University of Technology, Mekelweg 4, 2600 GA Delft, The Netherlands

a r t i c l e i n f o

Article history:Received 31 January 2011Received in revised form 23 May 2011Accepted 29 May 2011Available online 21 June 2011

Keywords:Wireless multi-hop networksWireless sensor networksAd hoc networksBroadcastingFlooding

1389-1286/$ - see front matter � 2011 Elsevier B.Vdoi:10.1016/j.comnet.2011.05.024

q This work was partly sponsored by the DuFreeband PNP2008 and the European Commissionproject MAGNET Beyond.⇑ Corresponding author. Tel.: +31 15 27 84950.

E-mail address: [email protected] (M. J

a b s t r a c t

In addition to unicast routing, most wireless multi-hop networks also need network-widebroadcasting. In this paper, we investigate Blind Flooding and two different types ofoptimized flooding protocols: Counter-Based Broadcasting (CBB) and a neighbor knowl-edge-based flooding protocol called Prioritized Flooding with Self-Pruning (PFS). The latteris investigated in more detail. We test both protocols in a real wireless multi-hop networkbased on sensor motes and compare their performance. To the best of our knowledge, thisis the first time optimized flooding protocols that support mobility are being tested andmeasured in a real wireless network. We outline problems found when using the protocolsin real wireless networks and how to alleviate the encountered problems. The final resultsindicate that PFS and CBB achieved significant reduction of retransmissions compared toBlind Flooding and that they have comparable performance. We also combine these twoprotocols and show how this leads to further performance improvements.

� 2011 Elsevier B.V. All rights reserved.

1. Introduction applications include service discovery, sharing of context

Wireless networks are becoming more common andapplied in ever more situations. In some wireless technol-ogies, a node may not be able to directly transmit a packetto every node in the network due to transmission rangelimitations. Instead, it needs help from other nodes to relaythe packet to the destination. Such wireless networks arecalled multi-hop networks and require special routingprotocols. There are several types of wireless multi-hopnetworks, such as mobile ad hoc networks (MANETs), wire-less sensor networks (WSNs), and mesh networks. Mostwireless multi-hop networks also need network-widebroadcasting. Just like unicast routing, this is only possibleif some of the nodes relay the broadcasting packet so thatall nodes can be reached. This process is called flooding.

Flooding is used by several unicast routing protocols[1,2] to disseminate route requests or link states. Other

. All rights reserved.

tch research projectunder the research

acobsson).

information, address autoconfiguration [3], and networkself-organization. In mobile networks, flooding is often abetter choice than multicasting [4].

The simplest flooding mechanism is Blind Flooding, inwhich a node always retransmits a received flooding pack-et after a small random delay (jitter). Each node needs tokeep a list of recently received flooding packets to detectduplicates and avoid retransmitting the same packet twice.However, this is the only mechanism in Blind Flooding thatreduces the number of retransmissions.

Several studies of flooding protocols have revealed thatit is possible to reduce the number of retransmissionsmuch more, while still reaching the entire network [5,6].This also reduces contention, collisions, saves energy, andmay even increase the flooding speed. Such optimizedflooding protocols can make use of location information,neighbor information, or observations of the ongoingflooding. Protocols using location information may requireGlobal Positioning System (GPS) receivers in every node,which is too strong a requirement for most devices. Otherlocation techniques, such as using signal strength, and tri-angulation, can also provide location information that can

2900 M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913

be used for flooding. However, up to now, the improve-ments brought by location information have not provento be very significant for flooding (e.g., [6]), especially ifthere is mobility. Hence, we did not focus on flooding pro-tocols using location information in this work.

The wireless multi-hop networks that we consider inthis article use one common wireless channel with one sin-gle data rate, have a carrier sense type of medium accesscontrol (MAC) protocol, and allow multiple floodingsources. The flooding protocols use the broadcasting fea-ture of the underlying wireless technology, which cantransmit one packet to all receiving nodes within the radiorange, but without acknowledgments or retransmissions.This corresponds with most current wireless technologiesfor wireless multi-hop networks, including IEEE 802.11,802.15.3, and 802.15.4.

Most of the optimized flooding research has been basedon simulations. However, it is also important to verify theperformance in real networks due to the complex charac-teristics of wireless networks that cannot be captured ina simulator [7]. This can lead to big discrepancies betweenresults obtained from simulations and what happens inpractice. When comparing the results from our real wire-less network test-bed with the results from our previousflooding protocols simulator [8], we could observe signifi-cant differences. For instance, we realized that some proto-cols do not work properly in real networks and neededsome improvements.

In this work, we decided to test two optimized floodingprotocols, namely Counter-Based Broadcasting (CBB) [5]and a neighbor knowledge-based protocol. CBB is a simpleprotocol that observes the ongoing flooding process, whileneighbor knowledge-based protocols uses neighbor infor-mation collected from hello packets. Regarding the latter,we picked Prioritized Flooding with Self-Pruning (PFS)[8], which according to simulations is known to be one ofthe better neighbor knowledge-based protocols. To prop-erly test the performance of these two protocols, we com-pared them to Blind Flooding in a real network based onIEEE 802.15.4.

This article is organized as follows. Section 2 lists someexisting flooding protocols for wireless multi-hop net-works. Section 3 describes PFS and its enhancements. WhileSection 4 introduces the test-bed environment, the experi-mental results are described in Section 5. Section 6 containsrelated experiments and Section 7 concludes this paper.

2. Existing flooding protocols

Many different flooding protocols have been proposedin the past (e.g., [9–11]). In this section, we only introducethe most relevant protocols for this study. PFS is intro-duced in Section 3. For a more extensive survey of floodingprotocols, see [6,12].

2.1. Counter-Based Broadcasting

The first flooding protocol we discuss is Counter-BasedBroadcasting (CBB). The authors of [5] found that as thenumber of times a node hears its neighbors retransmitting

the same flooding message, the chance that one of its di-rect neighbors has not yet received that message quicklybecomes very low. This can be explained by looking atthe area that a transmission covers. The expected addi-tional coverage of a node dramatically decreases each timeit hears the same message. The authors of [5] observed thatafter 4 times, the expected additional coverage is below 5%of the node’s entire coverage area if we assume perfect cir-cular coverage areas. This means that the probability ofcovering an extra node is very low. Even if we do not havecircular coverage, the probability still remain very small.

CBB works as follows. When receiving a previously un-heard flooding message, a node waits for a random assess-ment delay (RAD), which is uniformly chosen between 0and Tmax seconds. During the RAD, the node keeps a coun-ter that counts the number of times it receives the samemessage. When the RAD expires, the node retransmitsthe message unless the counter has reached a thresholdk. The theoretical results in [5] suggest that k should be 4or less for good performance in typical networks.

CBB does not ensure reachability even under perfectchannel conditions, since the nodes are not necessarilyevenly distributed and there is always a chance that a nodethat must retransmit refrains from retransmission becauseit exceeds the threshold. Increasing k gives a better reach-ability, but also reduces the benefit of CBB. In practice, CBBachieves very good reachability in many situations as wewill demonstrate later in this paper.

2.2. Neighbor knowledge-based protocols

Neighbor knowledge-based flooding protocols gatherinformation about their neighbors by exchanging hellomessages on a regular basis. This information can be usedto decide whether to retransmit or not. Given that theneighbor information is accurate, these protocols shouldbe able to achieve very good performance.

Flooding with Self-Pruning (FSP) [13] is a simple proto-col that belongs to this class. FSP is based on self-pruning(or neighbor elimination) and uses one-hop hello messages(each node knows its one-hop neighbors using hello mes-sages). Every node encloses its neighbor list in the floodingmessage header and by this mechanism, a node that re-ceives a flooding message knows which other nodes are‘‘covered’’ by that transmission. A node checks whetherall its neighbors are covered by the sender by comparingthe sender’s neighbor list and its own neighbor list. If it stillhas ‘‘uncovered’’ neighbors, it retransmits the message;otherwise, it does nothing.

Although there are no simulation or measurement re-sults in the literature for FSP so far, we can imagine thatFSP does not reduce retransmissions a lot compared toBlind Flooding. Only nodes that are very close to the sendermay have all their neighbors covered by the sender and re-frain from retransmitting.

Scalable Broadcasting Algorithm (SBA) [14] is also aprotocol based on self-pruning, but requires two-hop hellomessages. That is, each hello message contains the neigh-bor list of the sending node. Hence, each node knows theirneighbors as well as their neighbors’ neighbors. Uponreceiving a new flooding message, the node compares the

M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913 2901

sender’s neighbors with its own neighbors. If not all of itsneighbors are covered and it hence can cover extra nodes,it schedules a retransmission of the message after an RAD.The main difference with FSP is that if, during the RAD,duplicate messages are received which together cover allneighbors, the retransmission is canceled. In this way,SBA achieves good performance.

For SBA to achieve even better performance, the Tmax ofthe RAD depends on how many neighbors the node has incomparison with the number of neighbors its own neigh-bors have. Each node calculates its Tmax by dividing thehighest number of neighbors among its neighbors by itsown number of neighbors including themselves and thenmultiply with a scaling constant. For a node A, that is:

Tmax ¼ C � 1þmaxb2NðAÞjNðbÞj1þ jNðAÞj

where N(x) is the neighbor set of a node x and C is the scal-ing constant. The effect of this is that nodes with moreneighbors are more likely to retransmit faster and thisshould make the self-pruning more efficient. Unfortu-nately, this improvement is limited, which we showed bysimulations in [8].

2.3. Other flooding protocols

Many other flooding protocols have been proposedthroughout the literature; too many to mention them allhere. Examples include Multipoint Relays (MPR) [10] aswell as Essential Connecting Dominating Set (E-CDS) [15].

Also in the area of wireless sensor networks (WSN),flooding has been considered. The main application inWSNs for flooding is to disseminate code updates andinstructions from a single sink to all the sensor motes inthe network. Hence, the assumptions and requirementsare different. Most WSN flooding protocols assume a staticnetwork with only one single flooding source. Further, con-current traffic is assumed to be insignificant and reachabil-ity is the most important criteria. Since code updates is themost important application, they also assume a series ofassociated flooding messages with which lost packets ata mote can be detected by missing packets. Examples ofWSN flooding protocols are Deluge [16], Pump Slowlyand Fetch Quickly (PSFQ) [17], Sprinkle [18], and Trajec-tory- and Energy-Based Data Dissemination (TEDD) [19].

3. Prioritized Flooding with Self-Pruning

In this section, we introduce Prioritized Flooding withSelf-Pruning (PFS). The original protocol was introducedin [8], but when tested in real wireless multi-hop net-works, we experienced some issues. In general, the originalprotocol works in real networks. However, under some cir-cumstances, due to effects not found in the perfect world ofsimulations, the number of retransmissions could signifi-cantly increase. We therefore adapted the protocol withsome changes to make it more fit for real networks. Thissection will explain PFS in its entirety, including thechanges we made, such as the limit to the number of slotsand the early retransmission function.

3.1. Self-pruning aspects

PFS is similar to SBA. It uses self-pruning and RAD forscheduling of retransmissions. However, PFS only uses one-hop hello messages and instead includes the neighbor list ofthe sender in the flooding message, which is similar to FSP.

One-hop hello messages are much smaller than two-hophello messages. Hence, the overhead brought by hello mes-sages can be reduced. Furthermore, one-hop hello messagesare often already required by other mechanisms in the net-work layer (e.g., by routing protocols) or already provided bythe link layer protocol (e.g., device discovery).

Each node transmits its neighbor list in each flooding mes-sage. When there is a lot of flooding traffic in the network, thismay lead to increased overhead. If at the same time the mobilityis low, the same neighbor list is enclosed in several consecutivefloodingpackets,whichisunnecessary.Apossibleextensionistolet a node only send its neighbor list when something has chan-ged. This was investigated in [8] and shown to provide someimprovements. However, we will not analyze this further sincethis paper does not focus on overhead.

In Program 1, the pseudo code is given for the node imple-mentation of PFS. In this algorithm, node A is the sender of aflooding message m, while node B is a receiver and the oneprocessing the message. C(m) is the uncovered neighborset of message m on node B, i.e., the list of neighbors of nodeB not yet covered by a transmission of message m. d(m) is theamount of time the node needs to wait before eventuallyretransmitting the packet, which is calculated by the RADPFS

function based on the neighbor number of the sender, thenumber of uncovered neighbors, and the flooding packetlength. RADPFS will be explained shortly. If the received mes-sage is not a new message, the node removes the neighborscovered by the new message from C(m). When the delay ex-pires, the node checks if the set is empty. If so, it drops themessage. Otherwise, it retransmits.

Program 1. Pseudo code for PFS.

For a node BOn receiving a flooding message m from A

If message m received for the first timeC(m) = (N(B) [ B)n(N(A) [ A)If jC(m)j > 0

d(m) = RADPFS(jN(A)j, jC(m)j, jmj)delay m for d(m) seconds

Elsedrop message m

ElseC(m) = C(m)n(N(A) [ A)

When the delay d(m) expiresIf jC(m)j > 0

retransmit message mElse

drop message m

3.2. The design of RAD

So far, PFS is nothing more than a combination of FSP andSBA. The main novelty of PFS is in the design of the RAD and

2902 M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913

how the nodes schedule their retransmissions. Let us nowassume that one node transmits a flooding message and itsneighbors receive it. To achieve good performance, it isimportant that nodes that have many uncovered neighbors(nodes among its neighbors that have not yet received theflooding message) retransmit first. One good option is tolet nodes count how many uncovered neighbors they have(i.e., jC(m)j) after receiving a message for the first time andschedule their retransmissions ordered by that result. Theone with most uncovered neighbors retransmits first. In thisway, PFS tries to let nodes with more uncovered neighborsretransmit first, which is different from SBA. In SBA, a nodewith many neighbors is only more likely to retransmit firstand does not take into account whether its neighbors al-ready are covered or not.

PFS assigns a fixed time interval, which is equal for allreceiving nodes. The interval is divided into slots of equallengths, where receiving nodes with many uncoveredneighbors schedule their retransmissions in the earlierslots and nodes with few uncovered neighbors scheduletheir retransmissions in the later slots. To properly deter-mine the RAD and the slot assignment process, we needto answer a few questions.

The first question ishowlongthetotal time interval shouldbe. In principle, this could be a fixed time interval long enoughto hold a couple of retransmission plus some concurrent traf-fic. However, we would like to see it dependent on the packetlength, since the sameinterval can holdmoretransmissions ofsmall packets compared to large packets.

From [5], it can be concluded that the number ofretransmissions generated by one transmission is rarelymore than 5 if the self-pruning works as it should.1 Thismeans that there is no reason for the RAD to be longer than5 times the transmission time of the flooding message plussome extra time to accommodate for other concurrenttransmissions. In sparse networks, when the number ofneighbors is very low, even 5 transmissions are too much.In those cases, we make the RAD shorter.

The next question is how the nodes decide how manyslots there should be and in which slot to retransmit. Dueto the use of one-hop hello messages, the nodes have verylimited knowledge about their neighbors. For instance, nonode knows the other nodes’ number of uncovered neigh-bors and can not know if it has the most. Therefore, a goodestimation is needed and the better the estimate, the moreefficient the protocol will be able to work. However, thereis no point in trying to find the closest estimate, but ratherfind a simple solution that always work good enough.

This estimation, which we call estimated maximum num-ber of uncovered neighbors or EMNUN, could for instance bethe number of neighbors of the sender, which is given inthe flooding message. However, the largest additional cover-age of a retransmission is at most 61% of the whole transmis-sion coverage [5] if we assume a homogeneous network andcircular coverage area. Hence, a better estimation, which wewill use, is 60% of the sender’s number of neighbors. Forexample, if a sender has 23 neighbors, EMNUN will bed0.6 � 23e = 14. To verify the suitability of this estimation,

1 At least in 2-dimensional networks.

we simulated PFS in ns-2 [20]. The simulation results indi-cate that the 60% estimation is a reasonable estimation,which we presented in [8].

Since all receiving nodes use the same input, they willarrive at the same estimate. First, EMNUN determineshow many slots there will be. Then, each node comparesits number of uncovered nodes (jC(m)j) with EMNUN.Nodes with EMNUN uncovered neighbors or more transmitin the first slot, nodes with one less transmit in the secondslot and so on. Nodes with only one uncovered neighbortransmit in the last slot. If EMNUN is larger than 5, thenthe slots are actually smaller than the transmission timeof the flooding message. This is usually not a problem,since in many of the slots, there will not be any transmis-sions due to self-pruning.

Fig. 1 shows an example network where a source node (S)initiates a flooding message. The EMNUN is estimated to be 6due to the 9 neighbors of S. Upon reception, two nodes (G andI) are able to self-prune immediately. The remaining 7 nodeshave uncovered neighbors and may assign their retransmis-sions as shown in the lower part of the figure. Note hownodes with more uncovered neighbors schedule themselvesin earlier slots. When nodes scheduled to retransmit early(e.g., node A) start to retransmit, later nodes will be able toself-prune (indicated by black in Fig. 1). As a consequence,enough room is created in the RAD for all retransmissions.In the end, the retransmissions of A, D, and H are enough tocover the whole network.

It is important to notice that too many slots results inextremely small slots and this can in some cases be a prob-lem, especially when many nodes schedule their retrans-missions in the same slot. Transmissions may not collide(if the MAC does it job), but one transmission may not can-cel the other retransmissions due to the short time be-tween transmissions. This is mainly due to the MACprotocol deferring transmission due to a busy channel orthe time needed between the reception of a message andthe processing of it. During that time, the decision toretransmit is already taken. Therefore, we introduce anupper limit to the number of slots, which we denote asMAX_SLOTS. This ensures that the slot length is not toosmall. Later, we will show that MAX_SLOTS can be quitesmall and that increasing it beyond a certain point doesnot make the self-pruning any more efficient.

If EMNUN is less than or equal to MAX_SLOTS, a nodewith the same or higher number of uncovered neighbors willretransmit in the first slot, nodes with one less in the secondslot, and so on. On the other hand, if EMNUN is more thanMAX_SLOTS, the slot that best matches the node’s numberof uncovered neighbors is selected. A retransmission isscheduled uniformly inside the slot. The details are givenin the pseudo code of the RADPFS calculation in Program 2.

In the pseudo code, num_slots is the number of slots, slotis the slot number (0 to num_slots � 1) selected by the node,and slot_len is the slot length in seconds. Both num_slotsand slot_len are the same among all nodes receiving fromthe same sender. Uniform(0,1) returns a random value uni-formly distributed between 0 and 1. tx_delay(jmj) denotesthe transmission time of message m and D is extra delayintroduced to handle concurrent traffic. The first part ofthe code determines the number of slots and which slot to

Fig. 1. Example retransmission

M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913 2903

select. The second part calculates the length of the slots. Ifthere are more than 5 slots (slot_len > 5), we need to shortenthe slots accordingly so that the total RAD does not becomelonger than the 5 times the expected transmission time plusthe extra time for concurrent traffic that we intended.

Program 2. Pseudo code of the RADPFS calculation.

If jN(A)j = 0num_slots = 1slot = 0

Else If 0.6 � jN(A)j < MAX_SLOTSnum_slots = d0.6 � jN(A)jeslot = num_slots � jC(m)j

Elsenum_slots = MAX_SLOTSslot = MAX_SLOTS �

MAX SLOTS�jCðmÞj0:6�jNðAÞj

l m

If slot < 0slot = 0

If num_slots > 5

slot len ¼ 5� tx delayðjmjÞþDð Þnum slots

Elseslot_len = tx_delay(jmj) + D

Return (slot + Uniform(0,1)) � slot_len

The implementation of the PFS algorithm in Program 1and Program 2 was quite simple and straightforward. The

resulting code is not computationally heavy. All code waswritten in fixed-point arithmetic and could easily run onour experimental platform, which only has a 8 MHz 16-bit microcontroller. Hence, this indicates that the PFSimplementation can be implemented and run on all rele-vant hardware.

with slot assignments.

3.3. Early retransmissions

A limit of MAX_SLOTS number of slots does not alwayswork as one would wish. There are cases when manynodes will select the same slot and this would requirethe slot length to be very big to work efficiently. Exam-ples are networks with inhomogeneous density or a lotof border effect (nodes on the border of the network havefewer neighbors than nodes in the center of the network).Another example is when only the initiator of a floodingmessage failed to detect a neighbor (e.g., a hello messagewas lost) in a fully connected network causing everybodyelse in the network to believe that the sender covered allbut that node. Since all other nodes in the network cancover that last node, everyone schedules a retransmissionin the last slot.

This issue cannot be fully solved by MAX_SLOTS orextending the slot length by increasing D. A better

0

5

10

15

20

0 20 40 60 80 100

Expe

cted

Ret

rans

mis

sion

s

Number of Contesting Nodes (n)

p = 0

p = 0.05

p = 0.01

p = 0.03

Fig. 2. Expected retransmissions and p.

2904 M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913

approach is to randomly select one or a few of the nodes toretransmit earlier than their number of uncovered neigh-bors indicates. This will frequently allow all the remainingnodes to self-prune. However, the nodes need to indepen-dently decide to retransmit early without conferring withthe other nodes. This can be done by letting nodes sched-uled for transmission in one of the last slots to transmitearly with a probability p.

The selection of p is all but trivial. Too low a p may causenone of the nodes to retransmit early and too high a p willcause too many to retransmit unnecessarily. The parameterp also depends on the situation, such as the number ofnodes that schedule a retransmission in the same slot.

To find the optimal p, we do some simplifications. Weassume n contesting nodes scheduled for transmission inthe same slot and that if any of them retransmit, the otherscan self-prune. Let the first of those nodes initiate its trans-mission at t0. Then, it will take until t0 + STT(m), whereSTT(m) is the total single trip time for message m, beforethe other nodes will have received the packet, processedit, and be able to self-prune. If some of the n � 1 nodesscheduled their retransmissions in this time frame, theywill still retransmit. Those retransmissions will take placesince the nodes are not able to self-prune in time. Only la-ter retransmissions are able to self-prune. Hence, we maysee many unnecessary retransmissions if n is large. In mostimplementations, STT(m) will include tx_delay(jmj), backoff as well as processing delay at both the sender and thereceiver.

Let E½Rpn� denote the expected number of transmissions

under our assumptions and given n contendingnodes and a probability of early transmission of p. Sincetransmissions in a slot are uniformly distributed, eachnode will have a chance of being scheduled in thet0 + STT(m) time interval of STT(m)/slot_len. Hence, forp = 0, we will have:

E½Rp¼0n � ¼ 1þ ðn� 1Þ STTðmÞ

slot len

If we implement an early retransmission function (i.e.,p > 0), the expected number of retransmissions becomesdifferent. Assuming that an early retransmission cancelsall the non-early retransmitters but early retransmissionsnever cancel each other, we get:

E½Rp>0n � ¼ PðP 1 EarlyÞð1þp � ðn�1ÞÞþPð¼ 0 EarlyÞE½Rp¼0

n �ð1Þ

where:

Pð¼ 0 EarlyÞ ¼ ð1� pÞn

PðP 1 EarlyÞ ¼ 1� Pð¼ 0 EarlyÞ¼ 1� ð1� pÞn

With this formula, we can calculate the expected num-ber of retransmissions for different scenarios and with dif-ferent parameter p. Fig. 2 shows the results for somedifferent p when assuming a slot_len/STT(m) ratio of 5.None of these curves gives an optimal result at all times.Each n has its own most optimal p. While the optimal pclearly depends on n, we found that the impact of the slo-

t_len to STT(m) ratio is less pronounced. Hence, we shouldat least make p dependent on n. That is, use a function,such as:

p ¼ POPTðnÞ¼ argminpE½Rp

n� where STTðmÞ=slot len ¼ 5 ð2Þ

To go from here to a practical solution that can find theoptimal p, we first need to estimate the number of contest-ing nodes (n). For this, we propose to use the number ofneighbors of the sender (i.e., jN(A)j) as n. This is probablythe best we can do with the limited information each nodehas.

The use of formula (2) to calculate p = POPT(n) is veryinefficient, since it is not a closed form function. Sinceaccuracy of this calculation is not of utmost importance,we instead propose to use a simple approximation func-tion. This approximation function was found by numeri-cally calculating the optimal p for every n > 10 usingformula (1). When n is small (n < 10), there is very littleuse of this mechanism anyway.

After studying the numerical results, we could find areasonable approximation in POPT(n) ’ EARLY_P/(n + 90),which is extremely simple and only requires two arithme-tic operations. EARLY_P is a constant that can be tuned andaccording to our analysis, 5.5 gives a very good fit. How-ever, we also simulated and measured what EARLY_P isbest in more realistic situations, since some of the assump-tions are too simple.

The proposed approximation function does not accu-rately estimate the optimal value of p when n is small.However, this has very little impact on the retransmissionsand that is what really matters. In Fig. 3, we show how theactual and approximation methods affect the end result;the expected number of retransmissions. It is clear thatthe estimation is nearly as good as can be achieved. Similarresults are obtained also when the slot_len/STT(m) ratio isvaried around 5.

To implement this enhancement in PFS, the code snip-pet in Program 3 should be inserted right before d(m) iscalculated in the RADPFS function in Program 2.

It only works when there may be more than 10 contest-ing nodes and the node itself has scheduled a retransmis-sion in the second half of the RAD. If it decides to

0

1

2

3

4

5

6

7

0 100 200 300 400 500

Expe

cted

Ret

rans

mis

sion

s

Number of Contesting Nodes (n)

Approximation FunctionOptimal Function

Fig. 3. Optimal p and approximation function.

0

2.5

5

7.5

10

12.5

15

0 10 20 30 40 50

Ret

rans

mis

sion

s

EARLY_P

deg = 10.1deg = 14.9deg = 20.1

deg = 24.6deg = 30.1deg = 35.1

deg = 40.6deg = 45.0

Fig. 4. PFS simulation of EARLY_P.

M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913 2905

retransmit early, the slot will be changed to the corre-sponding slot in the first half of the RAD. That is, given 5slots, a node changes from slot 5 to 2 or from 4 to 1, if itretransmits early.

Program 3. Pseudo code of the early retransmissionfunction.

If jN(A)j > 10 and slot > bnum_slots/2cIf Uniformð0;1Þ < EARLY P

jNðAÞjþ90

slot = slot � dnum_slots/2e

To better understand how the early retransmissionfunctionality works, we simulated it in ns-2 [20] using 50nodes. Each node was placed randomly in a rectangular(ratio 4:9) flat area. In each experiment, 200 flooding mes-sages of 64 bytes were generated from random nodes. Eachsimulation was repeated 20 times with the 99% confidenceinterval calculated. The simulations were based on our ear-lier flooding simulation code [8] and hence based on IEEE802.11 in ad hoc mode and IPv4. Similar results wereachieved with other wireless network types as well. Weused MAX_SLOTS = 6 and D = 12 ms, which are parametersknown to work well.

Fig. 4 shows the results of several hundreds of simula-tions using different network densities and different valuesof EARLY_P. Each curve represents a certain network den-sity measured by the average node degree. It is clear thatan EARLY_P around 12.5 can improve the performancewhen the network is dense. As the network becomes spar-ser, the benefit diminishes and may even degrade the per-formance. However, the degradation in sparser networks ismuch less than the improvement in denser networks. InSection 5.3, we will experiment with different EARLY_Pvalues in our real wireless test bed.

3.4. CB-PFS

It is also possible to combine PFS with CBB. It simplyworks exactly as PFS, but with a counter like CBB. Thisnew protocol, which we call Counter-Based PFS (CB-PFS),

can refrain from retransmitting either due to self-pruningaccording to PFS or due to the counter exceeding thethreshold according to CBB. Because of this, CB-PFS shouldreduce the retransmissions below both CBB and PFS.

4. The test bed environment

The inaccuracy of wireless network simulations hasbeen known for some time [7]. Therefore, it is importantto evaluate flooding protocols in more realistic circum-stances, i.e., in a real wireless multi-hop network. A simu-lator can only capture some of the characteristics of awireless channel. Multi-path fading, noise, interference,and hidden terminals are examples of factors that are hardto reproduce accurately in a simulator. Most simulationsuse a perfect circular transmission area. However, linksmay be somewhere in between good and bad or experiencestrong asymmetric behavior [21]. Another difference wenoticed between the simulations and the real experimentswas how collisions behave. Therefore, we decided to testPFS in a real test bed. In fact, when we compare the resultsobtained in this paper with simulation results based on ourearlier work [8], we noticed several differences, some ofwhich we mentioned in Section 3.

4.1. The hardware and software platform

For our validation, we used t-mote Sky (based on TelosRevision B) from Moteiv Corporation, which is a sensormote platform for extremely low power, high data-rate,wireless sensor network applications. The reasons to usesensor motes were cost efficiency and ease of large scaledeployment compared to using laptops or PDAs equippedwith WLAN. The wireless technology used by t-mote Skyis 2.4 GHz IEEE 802.15.4, which is not very different frommost wireless technologies of today, including IEEE802.11. The 2.4 GHz IEEE 802.15.4 standard uses direct se-quence spread spectrum (DSSS) RF modulation with a datarate of 250 kbps.

The t-mote sky sensor uses the CC2420 Chipcon Wire-less Transceiver [22], which is connected to an integratedonboard antenna. The microcontroller is an 8 MHz Texas

Fig. 5. Photo from the experiment setup.

2906 M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913

Instruments MSP430 that can run TinyOS [23] and isequipped with 10 kB RAM and 48 kB flash memory. Fur-ther, the t-mote has a USB interface that can be used to up-load program code, experiment configuration parameters,and download collected experiment data.

The IEEE 802.15.4 frame format begins with a 5 bytesynchronization header (SHR), followed by 7 bits (one bitis reserved) defining the number of bytes in the MAC Pro-tocol Data Unit (MPDU). In our experiments, the MPDUconsisted of a 9 bytes header that contained frame type,packet sequence number, addressing information, etc. Atthe end of the packet, there is a 2 byte CRC field. All inall, this means that a packet consisted of a payload plus17 bytes of headers.

We used the default MAC protocol provided by Boomer-ang 2.0.4, which is a software package developed by Mote-iv. It is based on TinyOS, but tailored for the t-moteplatform. The default MAC in Boomerang instructs theradio to continuously listen for transmissions. When trans-mitting, a mote uses the clear channel assessment (CCA)function defined in [24] to determine whether the channelis idle or not. If there is an ongoing transmission, the motewaits a random time (uniformly distributed between 61 lsand 2.0 ms in the first attempt and between 61 ls and7.8 ms in the subsequent attempts) and tries again. After8 unsuccessful attempts, it gives up and drops the packet.Since we used broadcasting, no acknowledgments areexchanged.

4.2. Experiment setup

To avoid interference with external systems, we moni-tored the spectrum and chose a non-occupied channel.To avoid the need of a very large hall, we reduced thetransmission power to almost the minimum (�24 dBm).Then, we placed 50 motes in a matrix topology with 10motes lined up in 5 rows. The distance between neighbor-ing motes was the same, but varied between 0.3 m and2.0 m for the different experiments. After 2.0 m, the net-work became disconnected with a very high probability.

Each node was elevated about 20 cm above the floorusing blocks of polystyrene foam in order to avoid theworst kind of multi-path interference. A photo of an exam-ple setup is shown in Fig. 5. One of the motes in the centerwas connected to a laptop with a USB cable. The laptop wasused to control the experiment by instructing the USB-con-nected mote to transmit instructions to the other motesusing full power. With full power from a centrally locatedmote, all motes could be reached in one hop. The sametechnique was also used to collect the measurement data.

Since a larger distance between neighboring motesmeant a sparser network, we defined a measure for thenetwork density. It is basically the average node degree(number of direct neighbors), but also considers the packetdelivery ratio of the links. If a particular link experienced apacket delivery ratio of 40%, we counted that as a 0.4 link.We did this because a flooding protocol should be able toexploit the fact that packets can be sent on this link witha probability of 40%. For unicast protocols, such linkswould probably be useless and should be avoided, but forflooding, they are still useful. Therefore, we used the fol-

lowing definition as a measurement of the networkdensity:

Avg:Node Degree ¼ 1N

XN

x¼1

XN

y¼1

Rx;y ð3Þ

where N is the number of motes, Rx,y is the packet deliveryratio from mote x to mote y and Rx,x = 0. A higher valuemeans a denser network with 49 as the maximum in our50 motes networks. For each network scenario, we mea-sured the average node degree by letting each mote trans-mit 500 packets with 2 bytes payload. At the same time,each mote listened for packets from other nodes so thatthe packet delivery ratio for all node pairs could be esti-mated. The CCA functionality in combination with a suffi-ciently long packet generation interval was enough topractically eliminate collisions.

Each measurement started with the laptop instructingthe USB-connected mote to send a ‘configuration and startof experiment’-packet with full power to all the nodes inthe network. Upon receiving this message, every node low-ered their transmission power to the configured level andstarted to exchange some few hello messages. Dependingon the configuration, each node generated one or three hel-lo messages with a hello interval uniformly distributed be-tween 0.9 s and 1.0 s. These hello messages only containedthe mote’s address and were used to detect one-hop neigh-bors. For PFS, the hello protocol is a crucial part that mayaffect its performance. Therefore, we tested three differentapproaches to determine a mote’s neighbors:

1. A lenient method, where it is sufficient to receive oneout of the last three hello messages to accept a moteas a neighbor. Hence, some included neighbors are dif-ficult to reach.

2. A standard method, where the reception (or non-recep-tion) of the last hello message is used to determine if amote is considered a neighbor.

3. A strict method, where all the last three hello messagesmust be received to accept a neighbor. This method cre-ates the smallest neighbor set.

After the hello messages, a small waiting time of 0.5 sfollowed in order to avoid collisions between hello and

M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913 2907

flooding messages. Then, one mote, randomly selected, ini-tiated a flooding. Every node in the network responded tothis according to the chosen flooding protocol and config-uration. Whenever a mote received the flooding messagefor the first time or retransmitted the flooding message,the time was stored in the mote’s memory.

After the flooding finished, we collected the data. On be-half of the laptop, the USB-connected mote queried eachmote for their measurement data, such as when and if it re-ceived the flooding message and when and if it retransmit-ted it. All this data was compiled at the laptop to calculatethe reachability, retransmissions, and delay of this singleflooding. The measurement was then repeated until a suf-ficient number of floodings had been conducted to drawstatistically significant conclusions.

5. Experimental results

To properly compare Blind Flooding, CBB, and PFS, theexperiment was conducted in two phases. The target of thefirst phase was to determine the optimal parameters for eachof the tested flooding protocols, whereas in the second phase,we compared the three flooding protocols using those param-eters in seven network scenarios with different density.

Each measurement was repeated 50 times. In all theresulting graphs, we show both the average value andthe 90% confidence interval. For the network scenarios thatwe used in our experiments, the average node degreesaccording to formula (3) are shown in Table 1. The fullyconnected scenario was done with full transmission power,since it was impossible to achieve full connectivity other-wise. The experiments were conducted at different timesand that meant that the connectivity sometimes varied abit even though we tried hard to maintain the same envi-ronment. However, all graphs and comparisons betweenconfigurations and protocols were done at the same timeusing the same network scenario and hence with minimalscenario-induced differences.

To compare the flooding protocols, we use the followingthree measurements in the remaining of this paper:

Reachability. This measurement evaluates a protocol’sreliability. It is represented by the deliv-ery ratio of a flooding message. For exam-ple, if there are 50 nodes in a network anda node floods a message using a certainflooding protocol resulting in 42 nodesreceiving this message, then we say thatthe reachability is 42/49 = 85.71%.

Table 1The matrix network deployment connectivities.

Network deployment Avg. node degree

Fully connected 48.1Very Dense (0.3 m) 44.4Dense (0.6 m) 32.3–37.5⁄

1.0 m 19.31.5 m 11.0Sparse (2.0 m) 6.0

⁄ 37.5 was measured in phase one in a large meeting room, while 32.3was in phase two in a sports hall.

Retransmissions. This is a measurement that measures thenumber of retransmitting nodes forflooding a message. Other messages,such as hello messages are ignored inthis measurement. It measures the effi-ciency of the protocol.

Delay. The delay is the length of the time inter-val from the moment that the sourcenode sends a flooding message untilthe moment that the last node in thenetwork receives this message. If a mes-sage do not reach all nodes, the last nodemeans the last node that received themessage.

5.1. Blind Flooding

We started with determining the jitter parameter ofBlind Flooding. This was done in the dense network sce-nario. We varied the jitter parameter from 200 ms downto 5 ms, while measuring reachability, retransmissions,and delay. Reachability and retransmissions were always100%, while the delay decreased down to its lowest pointat a jitter of 25 ms after which it slightly increased. There-fore, we opted for a maximum jitter of 25 ms.

5.2. CBB

Next, we continued with CBB. Two parameters neededto be determined; the maximum RAD length (Tmax) andthe threshold. To find the optimum Tmax, we used a thresh-old of 3, which is a value known to work well from simu-lations. We tried different values of RAD in a densescenario and measured the number of retransmissionsand delay. A dense scenario was chosen since this is wherea too short RAD will have its biggest impact.

The reachability was always extremely good in thisdense scenario. As Tmax became smaller, the retransmis-sions increased as shown in Fig. 6(a). This is due to the de-lay between the retransmission decision and the actualretransmission. This delay is quite large in the t-motesand hence causes the retransmissions to increase rapidlywhen Tmax becomes too small and, in dense networks, thisissue becomes more severe. On the other hand, with a lar-ger RAD, the delay also becomes larger. From Fig. 6(a), wecan see that when the RAD is 200 ms, there is very littleimprovement in the retransmissions if further increased,while the delay continues to grow. Hence, we selectTmax = 200 ms.

Then we studied the CBB threshold in the sparse net-work scenario. The sparse scenario was chosen, becauseit is the least connected and the most difficult to reachall nodes. We measured the reachability and the retrans-missions, which are shown in Fig. 6(b). As can be seen, athreshold of 2 causes the reachability to suffer, while a va-lue of more than 3 does not improve much. Instead, it onlyincreases the number of retransmissions. Hence, we chose3 as the best CBB threshold.

0

5

10

15

20

50 100 150 200 250 300 350 400 0

10

20

30

40

50

60

70

80R

etra

nsm

issi

ons

Del

ay (m

s)

Tmax

RetransmissionsDelay

95

96

97

98

99

100

2 3 4 5 0

5

10

15

20

25

30

35

40

45

50

Rea

chab

ility

(%)

Ret

rans

mis

sion

s

Threshold

ReachabilityRetransmissions

Fig. 6. CBB measurement results.

2908 M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913

5.3. PFS

For PFS, we needed to determine MAX_SLOTS, D, EAR-LY_P, and what is the best hello protocol. First, we testedPFS with different MAX_SLOTS in both the dense and thesparse network scenarios. In the sparse network scenario,we used a D of 58.5 ms,2 which was known to be a goodtrade-off between delay and performance from preliminaryexperiments (this is further verified in Fig. 7(b)). However,in the dense scenario we used a very large D (almost200 ms) to avoid the effect of too crowded slots, which canhappen in denser networks. Furthermore, we used the stan-dard hello protocol and switched off the early retransmis-sion feature. The results are shown in Fig. 7(a).

When MAX_SLOTS = 1, the priorities among the retrans-mitting nodes are in practice not used. That is, the order iscompletely random. However, already after using twoslots, we can see an immediate improvement. Theimprovement continues until around 6, where it levelsoff or even degrades in the sparse case. The reachability(not shown) remained virtually unaffected and constantlyover 99.59%. Hence, 6 seems like the best option sincewe also do not want to make the slots too small as ex-plained earlier.

Then we continued with D. Since, all flooding messageswere the same, the transmission time tx_delay (jmj) wasconstant. Therefore, we could just as well determine theentire sum of tx_delay (jmj) + D. This was done in the densescenario because of the same reasons as for CBB earlier. Wemeasured retransmissions and delay and the results areshown in Fig. 7(b). We used the same parameters as inthe previous experiment, but with MAX_SLOTS = 6. Wecan see that the reduction of retransmissions starts to leveloff after a tx_delay (jmj) + D of about 60 ms, while the de-lay continues to increase. The reachability (not shown) wasas near to perfect as one can come. Because of this, wechose 60 ms.

The next parameter to be studied was EARLY_P and theimprovements brought by the early retransmission fea-ture. We conducted experiments with EARLY_P varied be-

2 tx_delay(jmj) was 1.5 ms in our test bed with our packet size.

tween 0 (off) and 20 in three different network scenarios,namely the sparse, the dense, and the very dense networkscenarios. The benefit of the early retransmission featureshould be most pronounced in a very dense network,which can be seen from the results in Fig. 7(c). In sparsernetworks, this feature is not useful and is also less used.For the dense and the sparse network scenarios, no trendcan be seen which indicates that the early retransmissionfeature did neither improve nor adversely affect the perfor-mance. Anyhow, we believe that the EARLY_P should be setas small as possible and since there is almost no gain fromabout 10.0 and onwards in any of the network scenarios,that seems a good value. In Fig. 7(d), the delay in the sameexperiment is shown. Here it is clear that the delay also de-creases when the early retransmission feature is beingused. The reachability (not shown) again remains unaf-fected and constantly high.

Finally, we investigated whether the lenient, standard,or strict hello protocol is best for the performance of PFS.This was done in both the dense and the sparse scenarios.The number of retransmissions of PFS in both scenarios areshown in Fig. 8(a), while the reachability in the sparse sce-nario is shown in Fig. 8(b). The reachability was 100% inthe dense scenario (not shown) for all hello protocols. Inthe sparse scenario, a slight, but not statistically signifi-cant, decrease could be noticed for the lenient (average99.6%) and the standard method (average 99.8%) comparedto the strict method (average 99.9%). For the delay (notshown), the strict method indicated a smaller average de-lay in both the scenarios compared to the lenient and thestandard methods. The latter two had almost the sameaverage delay, however, not statistically significant. Inthe end, we felt the lenient method is able to performthe best since it reduced the number of retransmissionswhile maintaining very high reachability.

5.4. Flooding protocol comparison

In the second phase, we compared the three protocolswith each other using the parameters deduced from theprevious experiments, which are summarized in Table 2.The values chosen might still not be optimal despite all

5

10

15

20

25

30

35

Lenient Standard Strict

Ret

rans

mis

sion

s

Hello Protocol

dense network

sparse network

99

99.1

99.2

99.3

99.4

99.5

99.6

99.7

99.8

99.9

100

Lenient Standard Strict

Rea

chab

ility

(%)

Hello Protocol

Fig. 8. PFS hello protocol measurement results.

Fig. 7. PFS measurement results.

M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913 2909

our efforts. Sometimes it is quite hard to make a goodchoice when there is a trade-off between two performancemeasurements. Others may have different requirementsand preferences. Furthermore, one value works best inone scenario, while another works best in another sce-

nario. However, a flooding protocol should work well inall scenarios with one set of parameters and not requireto be tuned to the given situation. Hence, one fixed set ofparameters was chosen that should perform well in all sce-narios if possible.

0

10

20

30

40

50

0 10 20 30 40 50

Ret

rans

mis

sion

s

Average node degree

Blind FloodingCBBPFS

CB-PFS

Fig. 9. Retransmissions.

99

99.1

99.2

99.3

99.4

99.5

99.6

99.7

99.8

99.9

100

0 10 20 30 40 50

Rea

chab

ility

(%)

Average node degree

Blind FloodingCBBPFS

CB-PFS

Fig. 10. Reachability.

300

400

500

(ms)

Blind FloodingCBBPFS

CB-PFS

2910 M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913

First, we tested the protocols in six different matrix net-work scenarios starting from a fully connected networkand then gradually making it sparser. All these experi-ments were done in a large sports hall. The results of theretransmissions, reachability, and the delay measurementsfrom these experiments are shown in Figs. 9–11 respec-tively. On the x-axis in all three graphs, we used the aver-age node degree corresponding to the measured scenariogoing from dense on the left to sparse on the right.

In Fig. 9, we show the retransmissions generated byeach of the protocols in the various scenarios. The retrans-missions of CBB and PFS follow each other quite well andare both significantly better than Blind Flooding also in realwireless multi-hop networks. While PFS has an advantagewhen the network is fully connected, CBB performs slightlybetter in the medium density scenarios. Despite all our ef-forts to optimize the performance of PFS with a carefullydesigned RAD, CBB still performs better in some scenarios.We do believe that finding even more efficient RAD designswill prove to be very difficult. Instead of continuing downthat path, we decided to see what happens when we com-bine PFS with CBB into CB-PFS. The parameters used forCB-PFS were exactly the same as for PFS and CBB. As ex-pected, CB-PFS achieves fewer retransmissions than bothPFS and CBB in all scenarios.

Fig. 10 shows the reachability of all four tested floodingprotocols. All protocols struggle to reach all nodes whenthe network becomes too sparse. Even Blind Floodingstruggles to achieve full reachability. However, we mustnote that the reachability is extremely high in all cases. Areachability of 99.96% means that only one node failed toreceive only one of the 50 flooding messages. Even CB-PFS, which is the most efficient protocol, achieves a reach-ability well above 99%.

The last measurement of this scenario is delay and ispresented in Fig. 11. Here, Blind Flooding is clearly better.We probably could have improved the delay performancefor PFS and CB-PFS by reducing the D parameter. However,that would, at the same time, have a negative effect onretransmissions. The cause for this is the relatively longtime it takes the t-motes to process received packets andcancel a scheduled retransmission. If we could improvethis for the t-motes, we would be able to significantly im-

Table 2Parameters used in the comparisons.

Protocol Parameter Value

All Number of nodes 50All Total flooding packet size 42 bytes⁄

All Total hello packet size 19 bytesAll Number of floodings per scenario 50BF Jitter 25 msCBB Tmax 200 msCBB Threshold 3PFS MAX_SLOTS 6PFS tx_delay(jmj) + D 60 msPFS EARLY_P 10.0PFS Hello protocol LenientPFS Hello packet interval 0.9–1.0 s

⁄ Payload was 23 bytes for BF/CBB, but only 15 bytes for PFS due to extraoverhead.

0

100

200

0 10 20 30 40 50

Del

ay

Average node degree

Fig. 11. Delay.

prove the delay performance for both PFS and CB-PFS aswell as some small improvements also for CBB.

5.5. Comparison in an inhomogeneous scenario

Finally, we experimented with a more inhomogeneousnetwork deployment. We imagined a network where many

80

82

84

86

88

90

92

94

96

98

100

BF CBB PFS CB-PFS

Rea

chab

ility

(%)

Flooding Protocol

0

1

2

3

4

5

6

7

8

9

10

BF CBB PFS CB-PFS

Ret

rans

mis

sion

s

Flooding Protocol

(42)

0

50

100

150

200

250

300

BF CBB PFS CB-PFS

Del

ay (m

s)

Flooding Protocol

Fig. 12. Comparison in an inhomogeneous scenario.

3 numbers in parentheses indicate the 90% confidence interval.

M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913 2911

nodes are deployed in two different rooms and intercon-nected with a few number of nodes placed in a hall be-tween the two rooms. This experiment took place in atypical residential apartment and its topology is shownin Fig. 12(a). In this experiment, we used 20 nodes in eachroom and two nodes in the hall making the total to 42nodes. The subnetworks of the nodes in the differentrooms would mostly resemble the previously ‘very dense’network deployment, just with fewer nodes. The averagenode degree of this deployment was 18.7.

We repeated the same measurements as we did in theprevious comparison study. The results are shown inFig. 12. CBB did struggle to keep up its good reachabilityin these types of networks. Both nodes in the hall needto rebroadcast in order for a flooding to reach the nodesin both rooms. However, with the complete randomnessof CBB, there is no such guarantee and as indicated bythe results, frequently that did not happen. If the floodingis initiated in one room, three nodes in that room mayretransmit and this causes the node in the hall to refrainfrom retransmitting and thereby failing to reach the othernode in the hall as well as the other room. In our measure-ments, this occurred 12 times out of 50. PFS, on the otherhand, did not suffer from this problem. Also CB-PFSachieved better. This was due to the priority of retransmis-

sions and that the self-pruning removed most of theunnecessary retransmissions.

From Fig. 12(c), we can also see that PFS and CB-PFShave less retransmissions. On the other hand, the delayof PFS and CB-PFS is still worse as shown in Fig. 12(d).However, these comparisons are not entirely fair, sinceCBB gets an advantage of not reaching all nodes. If we com-pensate for this by excluding the floodings that do notreach both rooms, CBB will have 8.8(±0.4) retransmissionsin average3 and an average delay of 140(±18) ms.

5.6. Discussion

Blind Flooding is the protocol with the highest reach-ability and the shortest delay in our experiments. Hence,if reachability or delay is of utmost importance, use BlindFlooding. However, the cost for this is the large amount ofunnecessary retransmissions. On the other hand, CB-PFS re-duces the amount of retransmissions to such a low levelthat the reachability starts to drop. Fortunately, CB-PFS stillmanages to reach the nodes in almost all of the cases.

Despite its simplicity, CBB performs exceptionally well.Hence, if you want to reduce retransmission, but still have

2912 M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913

simplicity and lower delay, choose CBB. Neighbor knowl-edge-based protocols on the other hand, require quitesome complexity to achieve a good performance. This isnot to say that the calculations done in PFS are heavy.The calculations are actually very simple and posed noproblems for our sensor motes to compute and henceshould rarely be a problem. Instead, the complexity liesin the number of parameters and the various mechanismsworking in PFS and this makes it difficult to find the mostoptimal setting. Other neighbor knowledge-based floodingprotocols, such as SBA and FPS, perform worse. However,we believe that it is still possible to identify better param-eters, especially if different trade-offs are preferred or spe-cific network topologies are given.

In our matrix topology deployments, reachability wasno challenge due to their homogeneous and regular struc-ture and this showed in the results with very high reach-ability in all densities and for all protocols. However, inrandom networks, extremely inhomogeneous networks,or mobile networks, reachability becomes a challenge.For instance, CBB failed to achieve a high reachability inour inhomogeneous deployment, which demonstrates thatCBB sometimes can struggle with this. Hence, if reachabil-ity and reducing overhead are both very important, PFSprovides a very good trade-off.

Even though we did not experiment with mobility dueto practical limitations, mobility remains an important to-pic to study. We know from our simulations in [8] that CBBis virtually unaffected by simulations, since it does not de-pend on neighbor information, while all neighbor knowl-edge-based flooding protocols, including PFS and CB-PFS,perform worse the more mobility there is. We cannotknow for sure without doing real network measurements,but we have no reasons to believe that we will not observea similar trend in real networks.

6. Related flooding experiments

Not many studies of flooding in real networks have beenperformed. So far, only a few experiments are known andmost of them studied Blind Flooding or a variant thereof.

The authors of [25] used 150 Rene motes in a 12 � 13grid network to study the behavior of Blind Flooding. Theauthors observed that instead of a step by step ripplingoutward, a flooding sometimes extends backwards and to-wards the source. Furthermore, some close neighbors can-not receive the flooding message, while some distantnodes can hear the same retransmission through a longerlink than expected. All these effects showed that thebehavior of a simple flooding protocol is surprisingly com-plex in realistic experiments.

In [26], the author evaluated Blind Flooding on 10 HPiPAQ 5500 PDAs with integrated IEEE 802.11b radios. Inthe first experiment, 7 PDAs were placed in a parking areaof about 165 m � 90 m. They found that the reception ratewas quite low (under 50%), which was explained by poorconnectivity. In a second experiment, 10 nodes wereplaced in a denser network with a size of 108 m � 86 m.Due to the denser network, the reception rate was much

higher (more than 90%). The author also experienced linkswith great packet loss asymmetry and changes over time.

In [27], the authors deployed a dense network of 88nodes in an office environment to test the performance ofthe Drip protocol. Drip is a modification of Blind Floodingfor disseminating commands in a wireless sensor networkrunning TinyOS. To deliver a flooding message reliably, Dripcontinuously retransmits a sent message after waiting dou-ble the amount of time compared to the last retransmission.Drip was compared with Blind Flooding. Both protocolsachieved 100% reachability in the experiments.

In [16], Deluge was tested in a WSN of 75 motes in an of-fice environment and proven to work in practice. Further,the authors of [18] used the ExScal test bed [28] to test theperformance of their flooding protocol Sprinkle and to com-pare it to Deluge. In ExScal, 203 nodes equipped with IEEE802.11b radios and GPS-receivers were used. The conclusionof the ExScal experiment was that Sprinkle significantly re-duces retransmissions and delay compared to Deluge. How-ever, Sprinkle requires node locations and a static network.

7. Conclusions

In this article, we studied experimentally four floodingprotocols in a real wireless multi-hop network based onIEEE 802.15.4 technology. Compared to our earlier simula-tion work, we found that unmodified PFS did not performwell, but with some modifications, this could be alleviated.Hence, simulations are not always to be trusted.

In our test-bed performance campaign, Blind Floodingintroduced the shortest delay, but also the highest numberof retransmissions. CBB and PFS were comparable in mostaspects despite the simplicity of CBB. Both of them managedto significantly reduce the number of retransmissions andstill maintain a very high reachability. However, in inhomo-geneous scenarios, CBB may struggle to reach all nodes,while PFS does not have such problems. We also showedthe possibility and advantage of combining the counter-based and self-pruning approaches in one flooding protocol.

References

[1] C.E. Perkins, E.M. Belding-Royer, S.R. Das, Ad hoc on-demanddistance vector (aodv) routing, IETF RFC3561, July 2003.

[2] D.B. Johnson, D.A. Maltz, Y.-C. Hu, The dynamic source routingprotocol for mobile ad hoc networks (dsr), IETF Internet-Draft (Workin Progress), draft-ietf-manet-dsr-10.txt, July 2003.

[3] N.I. CempakaWangi, R.V. Prasad, M. Jacobsson, I.G.M.M. Niemegeers,Address autoconfiguration in wireless ad hoc networks: protocolsand techniques, IEEE Wireless Communications Magazine 15 (1)(2008) 70–80.

[4] K. Obraczka, K. Viswanath, G. Tsudik, Flooding for reliable multicastin multi-hop ad hoc networks, Wireless Networks 7 (6) (2001) 627–634.

[5] Y.-C. Tseng, S.-Y. Ni, Y.-S. Chen, J.-P. Sheu, The broadcast stormproblem in a mobile ad hoc network, Wireless Networks 8 (2/3)(2002) 153–167.

[6] B. Williams, T. Camp, Comparison of broadcasting techniques formobile ad hoc networks, in: Third ACM International Symposium onMobile Ad Hoc Networking and Computing (MobiHoc), Lausanne,Switzerland, 2002.

[7] D. Cavin, Y. Sasson, A. Schiper, On the accuracy of manet simulators,in: Second ACM International Workshop on Principles of MobileComputing (POMC), Toulouse, France, 2002.

[8] M. Jacobsson, C. Guo, I.G.M.M. Niemegeers, A flooding protocol formanets with self-pruning and priorited retransmissions, in:

M. Jacobsson et al. / Computer Networks 55 (2011) 2899–2913 2913

International Workshop on Localized Communication and TopologyProtocols for Ad hoc Networks (LOCAN), Washington DC, USA, 2005.

[9] W. Peng, X. Lu, Ahbp: an efficient broadcast protocol for mobile adhoc networks, Journal of Science and Technology 16 (2) (2001) 114–125.

[10] C. Adjih, P. Jacquet, L. Viennot, Computing connected dominated setswith multipoint relays, Ad Hoc & Sensor Networks 1 (1–2) (2005)27–39.

[11] F. Dai, J. Wu, An extended localized algorithms for connecteddominating set formation in ad hoc wireless networks, IEEETransactions on Parallel and Distributed Systems 15 (10) (2004)908–920.

[12] I. Stojmenovic, J. Wu, Mobile Ad Hoc Networking, Wiley-IEEE Press,Ch. Broadcasting and Activity Scheduling in Ad Hoc Networks, 2004,pp. 205–230.

[13] H. Lim, C. Kim, Multicast tree construction and flooding in wirelessad hoc networks, in: the ACM International Workshop on Modeling,Analysis and Simulation of Wireless and Mobile Systems (MSWIM),Boston, USA, 2000.

[14] W. Peng, X.-C. Wu, On the reducation of broadcast redundancy inmobile ad hoc networks, in: the Sixth Annual InternationalConference on Mobile Computing and Networking (MobiCom’00),Boston, USA, 2000.

[15] R. Ogier, Manet extension of ospf using cds flooding, in: the 62ndIETF Meeting, Minneapolis, USA, 2005, <http://www3.ietf.org/proceedings/05mar/slides/ospf-5/sld1.htm>.

[16] J.W. Hui, D. Culler, The dynamic behavior of a data disseminationprotocol for network programming at scale, in: the 2nd InternationalConference on Embedded Networked Sensor Systems (SenSys’04),Baltimore, USA, 2004.

[17] C. Wan, Psfq: A reliable transport protocol for wireless sensornetworks, in: the 1st ACM International Workshop on WirelessSensor Networks and Applications (WSNA’02), Atlanta, USA, 2002.

[18] V. Naik, A. Arora, P. Sinha, H. Zhang, Sprinkler: a reliable and energyefficient data dissemination service for extreme scale wirelessnetworks of embedded devices, IEEE Transactions on MobileComputing 6 (7) (2007) 777–789.

[19] M. Machado, Data dissemination in autonomic wireless sensornetworks, IEEE Journal on Selected Areas in Communications 23 (12)(2005) 2305–2319.

[20] Network Simulator 2. <http://www.isi.edu/nsnam/ns/> (accessedJanuary 2011).

[21] D.S.J. DeCouto, D. Aguayo, B.A. Chambers, R. Morris, Performance ofmultihop wireless networks: shortest path is not enough, ACMSIGCOMM Computer Communications Review 33 (1) (2003) 83–88.

[22] Texas Instruments, CC2420 - 2.4 GHz IEEE 802.15.4/ ZigBee-ready RFTransceiver. <http://focus.ti.com/lit/ds/symlink/cc2420.pdf> (March2007).

[23] TinyOS. <http://www.tinyos.net/> (accessed January 2011).[24] J. Polastre, J. Hill, D. Culler, Versatile low power media access for

wireless sensor networks, in: Second International Conference onEmbedded Networked Sensor Systems (SenSys), Baltimore, USA, 2004.

[25] D. Ganesan, B. Krishnamachari, A. Woo, D. Culler, D. Estrin, S. Wicker,Complex behavior at scale: An experimental study of low-powerwireless sensor networks, Tech. Rep. UCLA/CSD-TR 02-0013, UCLAComputer Science, 2002.

[26] A. Tarp, Experimental evaluation of flooding in ad-hoc networks,Bachelor’s thesis, University of Dusseldorf, Dusseldorf, Germany, 2004.

[27] G. Tolle, D. Culler, Design of an application-cooperative managementsystem for wireless sensor networks, in: Second European Workshopon Wireless Sensor Networks (EWSN), Istanbul, Turkey, 2005.

[28] A. Arora, Project exscal (short abstract), in: The InternationalConference on Distributed Computing in Sensor Systems(DOCSS’05), Marina del Rey, USA, 2005.

Martin Jacobsson graduated in ComputerScience from University of Linköping, Swedenin 2002. In June 2008, he received his doctordegree from Delft University of Technology,Delft, The Netherlands where he currentlyserves as a PostDoc researcher. During hisdoctoral studies and afterwards, he partici-pated in several Dutch and European researchprojects, including FP6 MAGNET, MAGNETBeyond and Freeband PNP2008 on personalnetworks. His research includes ad hoc andself-organizing wireless networking tech-

niques in combination with future infrastructure-based networks forpersonal networks. His industry experience include software develop-ment for Philips Business Communications, The Netherlands, and the

development of a performance measurement tool for IP networks forTeliaSonera, Sweden. As the main author, he has written a book on per-sonal networks published by Wiley.

Cheng Guo received his Bachelor’s degreefrom Beijing University of Posts and Tele-communications, Beijing China in July 2003and his Master’s degree from Delft Universityof Technology, Delft, The Netherlands in July2005. In September 2005, he joined theWireless and Mobile Communications Groupin the Telecommunication Department atDelft University of Technology as a PhD stu-dent. He is currently working as a research inDelft Institute of Microsystems and Nano-electronics (DIMES). He has participated in

several Dutch and European funded research projects. His researchinterests include link quality assessment, routing, topology control, andself-organization in mobile ad hoc and wireless sensor networks.

Ignas Niemegeers received a degree in Elec-trical Engineering from the University of Gent,Belgium, in 1970. In 1972, he received anMSEE degree in Computer Engineering and in1978 a Ph.D. degree from Purdue University inWest Lafayette, Indiana, USA. From 1978 to1981, he was a designer of packet switchingnetworks at Bell Telephone Mfg. Cy, Antwerp,Belgium. From 1981 to 2002, he was a pro-fessor in the Faculty of Computer Science andElectrical Engineering at the University ofTwente, Enschede, The Netherlands. From

1995 to 2001, he was Scientific Director of the Centre for Telematics andInformation Technology (CTIT) of the University of Twente, a multi-dis-ciplinary research institute in ICT and applications. Since May 2002, he

holds the chair in Wireless and Mobile Communications at Delft Uni-versity of Technology in The Netherlands, where he is heading theDepartment of Telecommunications. He was involved in many Europeanresearch projects, in particular FP6 MAGNET, MAGNET Beyond, andeSense. He is one of the inventors of PNs and has continuously worked onthe topic, including organizing Pernets, a workshop on personalizednetworks. He has co-authored a book on personal networks.