of nodes <sup>×</sup> exclusion disk surface area <sup>=</sup> 0.90689

of the nodes of the network, whose density is *λ* nodes per unit of surface. This expression can be interpreted as the contention parameter of this ideal medium access scheme, which explains our notation. Since all transmissions allowed by this scheme are successful, we have *pc* = 1 for it and the

*λπR*<sup>2</sup>

each other and no other transmission should occur in the distance *R* from the receiver.

Consequently, since there is no disk overlapping, it would choose the fraction

*<sup>τ</sup>ideal* <sup>=</sup> 0.90689 <sup>×</sup> network area

*always successful*.

0.02

0.04

0.06

0.08

τ

0.1

0.12

0.14

slotted Aloha non-slotted Aloha

**Figure 10.** Optimal value of *τ* for Aloha and CSMA versus *β* with Rayleigh fading

4.4. Nelson & Kleinrock's model of CSMA revisited

observed in [3]. Let us be more precise and revisit this model.

achieved throughput per node is 0.90689/(*λπR*2).

CSMA

**Figure 8.** Maximal achievable mean throughput per node *τpc* versus *a* the distance transmitter receiver. No fading.

**Figure 9.** Maximal achievable mean throughput per node *τpc* versus *a* the distance transmitter receiver. Rayleigh fading.

#### 4.3. Optimal tuning of Aloha and CSMA

For Aloha the optimal tuning of *τ* can be obtained analytically from (7) whereas the optimal tuning of CSMA is obtained by simulation. In Figure 10, we present the optimal values of *τ* versus *β* with Rayleigh fading for both Aloha and CSMA.

Remark 4.6. We observe that the more sophisticated the MAC scheme is, the more it can content to the channel when the MAC is tuned optimally. Additionaly the more sophisticated MACs also exhibit higher capture probabilities. In particular our simulations show the that this probability is close to 1 (between 0.8 and 0.95) for CSMA.

A practical conclusion that can be drawn from these observations is that *the carrier-sense threshold in CSMA should be chosen at the largest possible value at which the allowed transmissions are almost always successful*.

**Figure 10.** Optimal value of *τ* for Aloha and CSMA versus *β* with Rayleigh fading

#### 4.4. Nelson & Kleinrock's model of CSMA revisited

16 Mobile Ad-Hoc Networks

0

0

4.3. Optimal tuning of Aloha and CSMA

Rayleigh fading for both Aloha and CSMA.

(between 0.8 and 0.95) for CSMA.

0.01

0.02

0.03

τ pc

0.04

0.05

0.06

0.07

0.5 1 1.5 2 2.5 3 3.5 4

No fading

slotted Aloha non-slotted Aloha

slotted Aloha non-slotted Aloha

CSMA

CSMA

'a' relative distance to the receiver

Rayleigh fading

0.5 1 1.5 2 2.5 3 3.5 4

'a' relative distance to the receiver

**Figure 9.** Maximal achievable mean throughput per node *τpc* versus *a* the distance transmitter receiver. Rayleigh fading.

For Aloha the optimal tuning of *τ* can be obtained analytically from (7) whereas the optimal tuning of CSMA is obtained by simulation. In Figure 10, we present the optimal values of *τ* versus *β* with

Remark 4.6. We observe that the more sophisticated the MAC scheme is, the more it can content to the channel when the MAC is tuned optimally. Additionaly the more sophisticated MACs also exhibit higher capture probabilities. In particular our simulations show the that this probability is close to 1

**Figure 8.** Maximal achievable mean throughput per node *τpc* versus *a* the distance transmitter receiver. No fading.

0.02

0.04

0.06

τ pc

0.08

0.1

0.12

Remark 4.6 might explain why the significant superiority of CSMA with respect to Aloha was not observed in [3]. Let us be more precise and revisit this model.

The simple propagation model in [3] assumes a fixed transmission range *R* and *the same* carrier-sense range. In other words, any two successfully communicating nodes need to be within distance *R* from each other and no other transmission should occur in the distance *R* from the receiver.

In this model, an *ideal medium access scheme* suggested in [3] should be able to choose from the given pattern of nodes centers for a maximal number of hard (non-intersecting) disks of radius *R*. The asymptotic analysis of the performance of such an ideal scheme is done in [3] assuming an increasing density of nodes *λ*. Namely, if this density is large, then the optimal scheme should be able to chose the pattern of nodes close to the hexagonal packing, known to obtain the densest packing of hard disks of radius *R*. Such a packing attains the fraction of 0.90689 of the plane covered by the union of disks. Consequently, since there is no disk overlapping, it would choose the fraction

$$\tau\_{ideal} = \frac{0.90689 \times \text{network area}}{\text{\# of nodes} \times \text{exclusion disk surface area}} = \frac{0.90689}{\lambda \pi R^2}$$

of the nodes of the network, whose density is *λ* nodes per unit of surface. This expression can be interpreted as the contention parameter of this ideal medium access scheme, which explains our notation. Since all transmissions allowed by this scheme are successful, we have *pc* = 1 for it and the achieved throughput per node is 0.90689/(*λπR*2).

Regarding CSMA, the simple propagation model with transmission range equal to the carrier-sense range, assumed in [3], corresponds to a choice of nodes such that any selected node is not covered by the transmission range of any other selected node. This task is equivalent to the packing of hard disks of radius *R*/2. For some reason, that is partially explained in that paper, a slightly larger radius 1.2881*R*/2 is taken. Similar to the ideal scheme, asymptotic analysis of the hexagonal pattern, gives the contention parameter of this CSMA scheme equal to

10.5772/53264

21

http://dx.doi.org/10.5772/53264

5. Conclusions

Author details

2 ENS Paris, France

References

2006.

B. Blaszczyszyn1,2, P. Mühlethaler<sup>1</sup> and S. Banaouas

1 INRIA Paris-Rocquencourt, France

*COM-23*, pages 1400–1416, 1975.

*Wireless Comm.*, 8:4350–4359, 2009.

*AFIPS*, pages 295–298, 1970.

*ORSA Journal on Computing*, 7(1):38–43, 1995.

In this paper we compare slotted and non-slotted Aloha with CSMA in a Poisson ad-hoc network setting with SINR-based capture condition. We assume the usual power-law path-loss function and both Rayleigh and no-fading scenarios. To obtain a fair comparison between these protocols, their parameters are tuned to achieve the maximum successful transmission rates. Our analysis shows that CSMA always outperforms both slotted and non-slotted Aloha. However the gain obtained when using CSMA is slightly reduced by increasing path loss and more significantly by the existence of fading. We also show how to tune the carrier-sense threshold in CSMA so as to obtain its optimal throughput for an arbitrary network density. Our models concur with those of [3] even though some results may appear,

Comparison of the Maximal Spatial Throughput of Aloha and CSMA in Wireless Ad-Hoc Networks

[1] L. Kleinrock and F. A. Tobagi. Packet switching in radio channels: Part I-Carrier-sense multiple-access modes and their throughput-delay characteristics. *IEEE Trans. Commun., vol.*

[3] R. Nelson and L. Kleinrock. Maximum probability of successful transmission in a random planar

[4] F. Baccelli, B. Blaszczyszyn, and P. Mühlethaler. An Aloha Protocol for Multihop Mobile Wireless Networks. In *Proceedings of the Allerton Conference, University of Illinois, Urbana Champaign*, November 2003. also in *IEEE Transactions on Information Theory*, 52(2):421–436,

[5] B. Błaszczyszyn and P. Mühlethaler. Stochastic analysis of non-slotted Aloha in wireless ad-hoc

[6] M. Haenggi. Outage, local throughput, and capacity of random wireless networks. *IEEE Trans.*

[7] J. Abate and W. Whitt. Numerical inversion of laplace transforms of probability distributions.

[8] N. Abramson. The Aloha system - another alternative for computer communication. In *Proc. of*

[9] R. Nelson and L. Kleinrock. The spatial capacity of a slotted Aloha multi-hop packet radio

[2] D. Bertsekas and R. Gallager. *Data Networks*. Prentice-Hall, Englewood Cliffs, 2001.

packet radio network. In *Proc. of IEEE INFOCOM*, San Diego, April 1983.

networks. In *Proc. of IEEE INFOCOM*, San Diego, CA, 2010.

network with capture. *IEEE Trans. Comm.*, 32:684–694, 1984.

at first glance, to be somewhat contradictory, because in [3] CSMA is not optimized.

$$
\tau\_{\rm{CSMA}} = \frac{2.214}{\lambda \pi R^2} \dots
$$

Moreover, assuming that each authorized node chooses its receiver uniformly within the transmission range *R*, and calculating the fraction of the area within this range that is not covered by any other disk (no collision), the successful transmission probability is calculated as *pc* = 0.2034. Consequently the throughput achieved by this CSMA is *τpc* = 0.4504/(*λπR*2).

Note that apparently the *sub-optimal assumption of the carrier-sense range equal to the transmission range in the above model of CSMA leads to a relatively small successful transmission probability pc* = 0.2034, close to that obtained by Aloha, which explains why there is no essential difference between the performance of these two schemes. Our optimally tuned CSMA model seems to be closer to the ideal scheme of [3], at least because the probability of successful transmission is much closer to 1.

Let us now try to compare the performance of our optimal CSMA and the two schemes of [3]. This is not straightforward, since unlike ours, the results of [3] scale in 1/*λ* are only valid asymptotically, when *λ* → ∞ (due to the hexagonal approximation of the perfect packing). However, note that in the model of [3], the expression *N* = *λπR*<sup>2</sup> corresponds to the expected number of nodes within the area contended (blocked) by one given authorized transmission. Consequently the constants *ρ* = 0.90689 = *τpcN* and *ρ* = 0.4504 = *τpcN* can be interpreted, respectively in the two models, as the expected number of successful transmissions per set of nodes contended (blocked) by one given authorized transmission. This kind of spatial efficiency can be evaluated in our model using the notion of the equivalent carrier-sense distance *<sup>R</sup>* = *<sup>θ</sup>*−1/*β*/*<sup>A</sup>* = *<sup>r</sup>*˜ *θ*−1/*<sup>β</sup>* introduced in Section 3.4. Taking *N* = *λπR*<sup>2</sup> with *R* calculated as such we obtain for our CSMA *ρ* = *τpcN* = *τpcλπr*<sup>2</sup> ˜ *θ*−2/*β*. For the optimally tuned CSMA in the standard scenario *a* = 1, *T* = 10, *β* = 4 without fading we have *<sup>ρ</sup>* = 0.07*π*0.08−1/2 = 0.77750 of successful transmissions per set of nodes contended (blocked) due to one given authorized transmission. This is a much better performance than *ρ* = 0.4504 for CSMA of [3], and in fact closer to *ρ* = 0.90689 achieved by the ideal scheme of [3].

#### 4.5. Corrective terms

In this article we have not considered the effect of the back-off for CSMA, and for slotted Aloha we have ignored the guard times to avoid overlapping of the slots. In this sub-section we briefly study the effects of these parameters on performance. Let us call *δ* the ratio of maximum propagation time plus detection time in the network over the packet transmission time. Back-off in CSMA leads to wasting time and to collisions for nodes starting their transmissions within the same mini-slot of size *δ*× packet transmission time. We know that the reduction of the throughput for CSMA is <sup>1</sup> 1+ √<sup>2</sup>*<sup>δ</sup>* when the back-off is properly tuned, see [2] chapter 4. For slotted Aloha and with the same assumptions, the guard times lead to a reduction of approximately <sup>1</sup> <sup>1</sup>+*<sup>δ</sup>* . Thus for *<sup>δ</sup>* <sup>=</sup> 0.05, 0.02 and 0.01 we obtain a throughput reduction of respectively 0.76, 0.83, 0.87 for CSMA and 0.95, 0.98, 0.99 for slotted Aloha. Thus, the throughput reduction is greater for CSMA than for slotted Aloha but these corrective terms do not change our main observation which gives a notably higher throughput to CSMA.

#### 5. Conclusions

18 Mobile Ad-Hoc Networks

the contention parameter of this CSMA scheme equal to

throughput achieved by this CSMA is *τpc* = 0.4504/(*λπR*2).

of the equivalent carrier-sense distance *<sup>R</sup>* = *<sup>θ</sup>*−1/*β*/*<sup>A</sup>* = *<sup>r</sup>*˜

guard times lead to a reduction of approximately <sup>1</sup>

4.5. Corrective terms

Regarding CSMA, the simple propagation model with transmission range equal to the carrier-sense range, assumed in [3], corresponds to a choice of nodes such that any selected node is not covered by the transmission range of any other selected node. This task is equivalent to the packing of hard disks of radius *R*/2. For some reason, that is partially explained in that paper, a slightly larger radius 1.2881*R*/2 is taken. Similar to the ideal scheme, asymptotic analysis of the hexagonal pattern, gives

*<sup>τ</sup>CSMA* <sup>=</sup> 2.214

Moreover, assuming that each authorized node chooses its receiver uniformly within the transmission range *R*, and calculating the fraction of the area within this range that is not covered by any other disk (no collision), the successful transmission probability is calculated as *pc* = 0.2034. Consequently the

Note that apparently the *sub-optimal assumption of the carrier-sense range equal to the transmission range in the above model of CSMA leads to a relatively small successful transmission probability pc* = 0.2034, close to that obtained by Aloha, which explains why there is no essential difference between the performance of these two schemes. Our optimally tuned CSMA model seems to be closer to the ideal scheme of [3], at least because the probability of successful transmission is much closer to 1. Let us now try to compare the performance of our optimal CSMA and the two schemes of [3]. This is not straightforward, since unlike ours, the results of [3] scale in 1/*λ* are only valid asymptotically, when *λ* → ∞ (due to the hexagonal approximation of the perfect packing). However, note that in the model of [3], the expression *N* = *λπR*<sup>2</sup> corresponds to the expected number of nodes within the area contended (blocked) by one given authorized transmission. Consequently the constants *ρ* = 0.90689 = *τpcN* and *ρ* = 0.4504 = *τpcN* can be interpreted, respectively in the two models, as the expected number of successful transmissions per set of nodes contended (blocked) by one given authorized transmission. This kind of spatial efficiency can be evaluated in our model using the notion

*N* = *λπR*<sup>2</sup> with *R* calculated as such we obtain for our CSMA *ρ* = *τpcN* = *τpcλπr*<sup>2</sup> ˜

of [3], and in fact closer to *ρ* = 0.90689 achieved by the ideal scheme of [3].

the optimally tuned CSMA in the standard scenario *a* = 1, *T* = 10, *β* = 4 without fading we have *<sup>ρ</sup>* = 0.07*π*0.08−1/2 = 0.77750 of successful transmissions per set of nodes contended (blocked) due to one given authorized transmission. This is a much better performance than *ρ* = 0.4504 for CSMA

In this article we have not considered the effect of the back-off for CSMA, and for slotted Aloha we have ignored the guard times to avoid overlapping of the slots. In this sub-section we briefly study the effects of these parameters on performance. Let us call *δ* the ratio of maximum propagation time plus detection time in the network over the packet transmission time. Back-off in CSMA leads to wasting time and to collisions for nodes starting their transmissions within the same mini-slot of size *δ*× packet transmission time. We know that the reduction of the throughput for CSMA is <sup>1</sup>

the back-off is properly tuned, see [2] chapter 4. For slotted Aloha and with the same assumptions, the

throughput reduction of respectively 0.76, 0.83, 0.87 for CSMA and 0.95, 0.98, 0.99 for slotted Aloha. Thus, the throughput reduction is greater for CSMA than for slotted Aloha but these corrective terms

do not change our main observation which gives a notably higher throughput to CSMA.

*λπR*<sup>2</sup> .

*θ*−1/*<sup>β</sup>* introduced in Section 3.4. Taking

<sup>1</sup>+*<sup>δ</sup>* . Thus for *<sup>δ</sup>* <sup>=</sup> 0.05, 0.02 and 0.01 we obtain a

*θ*−2/*β*. For

1+ √<sup>2</sup>*<sup>δ</sup>* when In this paper we compare slotted and non-slotted Aloha with CSMA in a Poisson ad-hoc network setting with SINR-based capture condition. We assume the usual power-law path-loss function and both Rayleigh and no-fading scenarios. To obtain a fair comparison between these protocols, their parameters are tuned to achieve the maximum successful transmission rates. Our analysis shows that CSMA always outperforms both slotted and non-slotted Aloha. However the gain obtained when using CSMA is slightly reduced by increasing path loss and more significantly by the existence of fading. We also show how to tune the carrier-sense threshold in CSMA so as to obtain its optimal throughput for an arbitrary network density. Our models concur with those of [3] even though some results may appear, at first glance, to be somewhat contradictory, because in [3] CSMA is not optimized.

#### Author details

B. Blaszczyszyn1,2, P. Mühlethaler<sup>1</sup> and S. Banaouas

1 INRIA Paris-Rocquencourt, France 2 ENS Paris, France

## References


[10] C. Bordenave, S. Foss, and V. Shneer. A random multiple access protocol with spatial interactions. In *Proc. of WiOpt*. IEEE, Limassol, Cyprus, 2007.

**Chapter 2**

**Provisional chapter**

**A Distributed Polling Service-Based Medium Access**

**Control Protocol: Prototyping and Experimental**

**A Distributed Polling Service-Based Medium Access**

Mobile ad hoc networks and its variations such as wireless mesh networks and wireless LANs (WLAN) have become the ubiquitous connectivity solution in public as well as residential access networks, due to their cost efficiency, reliability and flexibility of deployment and operation. The rapidly proliferation of such wireless access networks are greatly advanced by the distributed multiple access control (MAC) protocols, which is based on random access techniques such as ALOHA, slotted ALOHA, carrier sense multiple access (CSMA) and CSMA with collision avoidance (CSMA/CA). The most important standards for these applications are the protocols in the IEEE 802.11 [1] series, which are widely used as the solution for the "last mile" access problem and become a *de facto* standard for various wireless access networks. The IEEE 802.11 protocol family defines physical layer (PHY) and medium access control (MAC) functions for wireless communication in the ISM bands of 2.4GHz and 5GHz. There are various amendments for the standard 802.11, such as 802.11a/b/g/e/n and the currently working draft of 802.11ac. Most of these amendments focus on the enhancement in PHY, which provides higher link capacity. For example, 802.11g adopts OFDM to leverage the data rate up to 54Mbps in 2.4GHz band. 802.11n [2] further improves the previous standards by adding multiple-input multiple-output (MIMO) antennas and the link capacity is boosted up to 600 Mbps. Although various PHY techniques are added to improve the link capacity, the MAC's they are based on almost remains same, which is based on CSMA/CA.

IEEE 802.11 employs Distributed Coordination Function (DCF) based on a CSMA/CA MAC protocol with binary exponential backoff algorithm. An optional access method by using Point Coordination Function (PCF) is also defined in IEEE 802.11 standard. PCF is designed for the operation in the Access Point (AP) mode, which allows the AP to poll nodes and transmit beacon frames to the nodes. PCF is only supported with AP thus limits its application in ad hoc networks mode. Due to its limitation, only very few products support

> ©2012 Huang et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Huang et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,

© 2012 Huang et al., licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

distribution, and reproduction in any medium, provided the original work is properly cited.

**Control Protocol: Prototyping and Experimental**

Yingsong Huang, Philip A. Walsh, Shiwen Mao and

Additional information is available at the end of the chapter

Additional information is available at the end of the chapter

**Validation**

**Validation**

http://dx.doi.org/10.5772/53772

**1. Introduction**

**1.1. IEEE 802.11 MAC's**

Shiwen Mao and Yihan Li

Yingsong Huang, Philip A. Walsh,

Yihan Li


**Provisional chapter**

#### **A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation**

Yingsong Huang, Philip A. Walsh, Shiwen Mao and Yihan Li Yingsong Huang, Philip A. Walsh, Shiwen Mao and Yihan Li

Additional information is available at the end of the chapter Additional information is available at the end of the chapter

http://dx.doi.org/10.5772/53772

## **1. Introduction**

20 Mobile Ad-Hoc Networks

22 Wireless Ad-Hoc Networks

August 2008.

SPAIN, 2006.

Barcelona, SPAIN, 2006.

[10] C. Bordenave, S. Foss, and V. Shneer. A random multiple access protocol with spatial interactions.

[11] J. Kim and Leu. Capture Effects of Wireless CSMA/CA/Protocols in Rayleigh and Shadow Fading

[12] R. Boorstyn, A. Kershenbaum, B. Maglaris, and V. Sahin. Throughput analysis in multihop csma packet networks. In *IEEE Transactions on Communications vol. 35, no. 3*, pages 267–274, 1987.

[13] José M. Brazio and Fouad A. Tobagi. Theoretical results in throughput analysis of multihop packet

[14] M. Garetto, T. Salonidis, and E. Knightly. Modeling per-flow throughput and capturing starvation in csma multi-hop wireless networks. In *IEEE/ACM Transactions on Networking*, pages 864–877,

[15] Michele Garetto, Theodoros Salonidis, and Edward W. Knightly. Modeling per-flow throughput and capturing starvation in CSMA multi-hop wireless networks. In *In Proc. of IEEE Infocom*,

[16] K. Medepalli and F.A. Tobagi. Towards performance modeling of IEEE 802.11 based wireless networks: A unified framework and its applications. In *Proc. of IEEE INFOCOM*, Barcelona,

[17] Yu Wang and J.J. Garcia Luna-Aceves. Modeling of collision avoidance protocols in single-channel multihop wireless networks. In *Wireless Networks, Volume 10 Issue 5*, 2004.

[18] G. Bianchi. Performance analysis of the ieee 802.11 distributed coordination function. In *IEEE Journal on Selected Areas in Communications*, volume 18 No.3, pages 535–547, 2000.

[19] Lili Qiu, Yin Zhang, Feng Wang, Mi Kyung Han, and Ratul Mahajan. A general model of wireless

[20] Huu Quynh Nguyen, François Baccelli, and Daniel Kofman. A stochastic geometry analysis of dense ieee 802.11 networks. In *INFOCOM*, pages 1199–1207, Anchorage, Alaska, 2007.

[21] Mariam Kayna and Nihar Jindal. Performance of Aloha and CSMA in spatially distributed

[22] European Commission. *COST 231. Evolution of land mobile radio (including personnal) communications. Final report. Information, Technologies and Sciences*. Springer, 1999.

Channels. *IEEE Transactions on Vehicular Technology*, 48:1277–1286, 1999.

radio networks. In *In Proceedings of ICC*, pages 448–455, 1984.

In *Proc. of WiOpt*. IEEE, Limassol, Cyprus, 2007.

interference. In *MOBICOM*, pages 171–182, 2007.

networks. In *ICC*, pages 1108–1112, 2008.

Mobile ad hoc networks and its variations such as wireless mesh networks and wireless LANs (WLAN) have become the ubiquitous connectivity solution in public as well as residential access networks, due to their cost efficiency, reliability and flexibility of deployment and operation. The rapidly proliferation of such wireless access networks are greatly advanced by the distributed multiple access control (MAC) protocols, which is based on random access techniques such as ALOHA, slotted ALOHA, carrier sense multiple access (CSMA) and CSMA with collision avoidance (CSMA/CA). The most important standards for these applications are the protocols in the IEEE 802.11 [1] series, which are widely used as the solution for the "last mile" access problem and become a *de facto* standard for various wireless access networks. The IEEE 802.11 protocol family defines physical layer (PHY) and medium access control (MAC) functions for wireless communication in the ISM bands of 2.4GHz and 5GHz. There are various amendments for the standard 802.11, such as 802.11a/b/g/e/n and the currently working draft of 802.11ac. Most of these amendments focus on the enhancement in PHY, which provides higher link capacity. For example, 802.11g adopts OFDM to leverage the data rate up to 54Mbps in 2.4GHz band. 802.11n [2] further improves the previous standards by adding multiple-input multiple-output (MIMO) antennas and the link capacity is boosted up to 600 Mbps. Although various PHY techniques are added to improve the link capacity, the MAC's they are based on almost remains same, which is based on CSMA/CA.

#### **1.1. IEEE 802.11 MAC's**

IEEE 802.11 employs Distributed Coordination Function (DCF) based on a CSMA/CA MAC protocol with binary exponential backoff algorithm. An optional access method by using Point Coordination Function (PCF) is also defined in IEEE 802.11 standard. PCF is designed for the operation in the Access Point (AP) mode, which allows the AP to poll nodes and transmit beacon frames to the nodes. PCF is only supported with AP thus limits its application in ad hoc networks mode. Due to its limitation, only very few products support

Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Huang et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Huang et al., licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

©2012 Huang et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative

PCF in reality. We focus our discussion on DCF in the book chapter, which supports both infrastructure mode and ad hoc network mode, and is fully implemented in all commercial WLAN devices.

DCF follows the CSMA/CA techniques with random backoff algorithms. It also defines an optional handshake of Request-To-Send and Clear-To-Send (RTS/CTS) to reduce frame collisions introduced by the hidden node problem. In a single hop network, a source station with data to transmit senses the channel. After the channel is sensed idle for the period of DCF inter-frame space (DIFS), the station starts the random backoff by decreasing its contention window (*CW*). At the beginning of the backoff procedure, the source station shall generate a random backoff period for additional deferral before transmitting, unless the backoff timer already contain a nonzero value. The backoff period is randomly generated in [0, *CW* − 1]. *CW* takes an initial value of *CWmin*, and is doubled after each collision or unsuccessful transmission, until it reaches *CWmax*. After a successful transmission, *CW* will be reset to *CWmin*. If the channel is busy before *CW* reaches 0, *CW* will be frozen. The transmission will then be deferred and the station restarts to seek the idle status of DIFS interval of the channel. If the channel keeps idle when *CW* reaches 0, an RTS frame with the transmission duration will be transmitted. When the destination station receives the RTS, it may return a CTS frame to confirm that it is ready for receiving data. The CTS frame also contains the transmission duration, which may contains the DATA frame durations and allow other stations set up their Network Allocation Vector (NAVs) for virtual carrier sensing. The neighbor stations then go to sleep mode and come back to sense the channel after their NAV expires. After receiving the CTS, the source station will transmit one DATA frame to the destination. All other stations will keep silent and wait for the NAV to expire. When the DATA frame is received, an ACK frame is issued by the destination to acknowledge the successfully received frame after the period of short inter-frame space (SIFS). If the source station does not receive the ACK frame within a specified ACK timeout interval, the backoff procedure will be performed at the source station to defer the transmissions. The lost or corrupted frame will be retransmitted at a later time. A typical DCF process and backoff algorithm are shown on Fig. 1 and Fig. 2.

Initial Attempt

*CWmin*-1

**Figure 2.** The *CW* backoff procedure.

transfer by extending PCF.

scheduling policy has not been specified.

needed to handle hidden nodes problems.

*CWmax*-1

*CW*

1st Retry

2nd Retry

chance than the low priority traffic by assigning smaller *CWmin* and *CWmax*.

3rd Retry

63

<sup>7</sup> <sup>7</sup> <sup>15</sup> <sup>31</sup>

used in the service differentiation of 802.11e include Enhanced Distributed Channel Access (EDCA) and HCF Controlled Channel Access (HCCA) components. The former is for contention-based channel access by extending DCF, while the latter is for contention-free

EDCF classifies the medium access according to the priority of access classes (AC). Intuitively, it can be noticed that the length of DIFS in DCF controls the priority of transmitting RTS frame. In EDCF, an arbitration inter-frame space (AIFS) is defined to specify the minimum number of slots for which the stations in the AC should sense the channel to be free before attempting transmission. The station in higher priority AC is assigned shorter length of AIFS and the *CW* will countdown earlier than lower priority nodes, hence will have a higher success probability. Further, different random backoff window size settings *CWmin* and *CWmax* can be used for different ACs. High priority traffic has a higher transmission

Polling has been adopted in wireless MAC protocols. For example, the master-driven architecture of Bluetooth piconets provides an ideal setting for applying polling-based scheduling. Polling is adopted in Bluetooth piconets, but the actual scheduling policy has not been prescribed in the current standard [4]. The polling mechanism has been also incorporated in the HCCA. The hybrid coordinator (HC) polls QoS enhanced stations (QSTA), to assign them transmission opportunities (TXOP). A TXOP is a bounded time interval in which a QSTA is allowed to transmit one or more frames. Again, the specific

Recently, the reverse direction protocol has been suggested for IEEE 802.11n to support higher speed and higher throughput [5]. This technique gives an opportunity for a receiver to transmit data to a sender during the sender's TXOP, which is suitable for the highly asymmetrical traffic network applications, such as FTP and HTTP. Since the NAV duration may be changed in CTS to support the "bidirectional" TXOP, more complex schemes are

IEEE 802.11 MAC, although widely used in WLANs, they are well-known for their considerable control overhead, which could consume as much as 40% of the nominal link capacity [6]. For example, the maximum achievable throughput for IEEE 802.11a is 24.7 Mbps, which is about 45.7% of the normianl link capacity. The problem gets even worse in the multi-hop scenario, due to carrier sensing and spatial reuse issues [7]. The compelling

127

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

**. . . . .**

255 255 255

CW Reset

http://dx.doi.org/10.5772/53772

25

**Figure 1.** Illustration of DCF.

The original DCF scheme does not differentiate the traffic of different network services. It treats the high priority traffic and low priority traffic equally, which is not capable of satisfying the Quality of Service (QoS) request from the applications, such as voice over wireless LAN and streaming multimedia. To enhance the support of QoS, IEEE 802.11e [3] extends the MAC's by introducing Hybrid Coordination Function (HCF), which divides traffic into different classes and guarantees a QoS to each class. In the service differentiation, traffic in the same class competes the channel fairly like "best effort" transmission scheme, while traffic from different classes obtains different level of service. Although this service differentiation idea does not guarantee hard QoS, such as delay and loss rate, it provides a better response to the QoS requirements for different classes of services. The main techniques

<sup>24</sup> Wireless Ad-Hoc Networks A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation 3 A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation http://dx.doi.org/10.5772/53772 25

**Figure 2.** The *CW* backoff procedure.

2 Mobile Ad-Hoc Networks

WLAN devices.

algorithm are shown on Fig. 1 and Fig. 2.

**Figure 1.** Illustration of DCF.

**DCF**

PCF in reality. We focus our discussion on DCF in the book chapter, which supports both infrastructure mode and ad hoc network mode, and is fully implemented in all commercial

DCF follows the CSMA/CA techniques with random backoff algorithms. It also defines an optional handshake of Request-To-Send and Clear-To-Send (RTS/CTS) to reduce frame collisions introduced by the hidden node problem. In a single hop network, a source station with data to transmit senses the channel. After the channel is sensed idle for the period of DCF inter-frame space (DIFS), the station starts the random backoff by decreasing its contention window (*CW*). At the beginning of the backoff procedure, the source station shall generate a random backoff period for additional deferral before transmitting, unless the backoff timer already contain a nonzero value. The backoff period is randomly generated in [0, *CW* − 1]. *CW* takes an initial value of *CWmin*, and is doubled after each collision or unsuccessful transmission, until it reaches *CWmax*. After a successful transmission, *CW* will be reset to *CWmin*. If the channel is busy before *CW* reaches 0, *CW* will be frozen. The transmission will then be deferred and the station restarts to seek the idle status of DIFS interval of the channel. If the channel keeps idle when *CW* reaches 0, an RTS frame with the transmission duration will be transmitted. When the destination station receives the RTS, it may return a CTS frame to confirm that it is ready for receiving data. The CTS frame also contains the transmission duration, which may contains the DATA frame durations and allow other stations set up their Network Allocation Vector (NAVs) for virtual carrier sensing. The neighbor stations then go to sleep mode and come back to sense the channel after their NAV expires. After receiving the CTS, the source station will transmit one DATA frame to the destination. All other stations will keep silent and wait for the NAV to expire. When the DATA frame is received, an ACK frame is issued by the destination to acknowledge the successfully received frame after the period of short inter-frame space (SIFS). If the source station does not receive the ACK frame within a specified ACK timeout interval, the backoff procedure will be performed at the source station to defer the transmissions. The lost or corrupted frame will be retransmitted at a later time. A typical DCF process and backoff

RTS CTS Frame ACK DIFS RTS

The original DCF scheme does not differentiate the traffic of different network services. It treats the high priority traffic and low priority traffic equally, which is not capable of satisfying the Quality of Service (QoS) request from the applications, such as voice over wireless LAN and streaming multimedia. To enhance the support of QoS, IEEE 802.11e [3] extends the MAC's by introducing Hybrid Coordination Function (HCF), which divides traffic into different classes and guarantees a QoS to each class. In the service differentiation, traffic in the same class competes the channel fairly like "best effort" transmission scheme, while traffic from different classes obtains different level of service. Although this service differentiation idea does not guarantee hard QoS, such as delay and loss rate, it provides a better response to the QoS requirements for different classes of services. The main techniques

Busy Medium CW

CW countdown used in the service differentiation of 802.11e include Enhanced Distributed Channel Access (EDCA) and HCF Controlled Channel Access (HCCA) components. The former is for contention-based channel access by extending DCF, while the latter is for contention-free transfer by extending PCF.

EDCF classifies the medium access according to the priority of access classes (AC). Intuitively, it can be noticed that the length of DIFS in DCF controls the priority of transmitting RTS frame. In EDCF, an arbitration inter-frame space (AIFS) is defined to specify the minimum number of slots for which the stations in the AC should sense the channel to be free before attempting transmission. The station in higher priority AC is assigned shorter length of AIFS and the *CW* will countdown earlier than lower priority nodes, hence will have a higher success probability. Further, different random backoff window size settings *CWmin* and *CWmax* can be used for different ACs. High priority traffic has a higher transmission chance than the low priority traffic by assigning smaller *CWmin* and *CWmax*.

Polling has been adopted in wireless MAC protocols. For example, the master-driven architecture of Bluetooth piconets provides an ideal setting for applying polling-based scheduling. Polling is adopted in Bluetooth piconets, but the actual scheduling policy has not been prescribed in the current standard [4]. The polling mechanism has been also incorporated in the HCCA. The hybrid coordinator (HC) polls QoS enhanced stations (QSTA), to assign them transmission opportunities (TXOP). A TXOP is a bounded time interval in which a QSTA is allowed to transmit one or more frames. Again, the specific scheduling policy has not been specified.

Recently, the reverse direction protocol has been suggested for IEEE 802.11n to support higher speed and higher throughput [5]. This technique gives an opportunity for a receiver to transmit data to a sender during the sender's TXOP, which is suitable for the highly asymmetrical traffic network applications, such as FTP and HTTP. Since the NAV duration may be changed in CTS to support the "bidirectional" TXOP, more complex schemes are needed to handle hidden nodes problems.

IEEE 802.11 MAC, although widely used in WLANs, they are well-known for their considerable control overhead, which could consume as much as 40% of the nominal link capacity [6]. For example, the maximum achievable throughput for IEEE 802.11a is 24.7 Mbps, which is about 45.7% of the normianl link capacity. The problem gets even worse in the multi-hop scenario, due to carrier sensing and spatial reuse issues [7]. The compelling demands to support high definition videos, online games, and other real-time applications bring new challenges to the usage efficiency of the link capacity of existing WLANs and stress the new design of more effecient wireless MAC's.

**2. Polling Service-Based MAC protocol**

offered load is strictly less than 100% [14].

up when its corresponding virtual queue is to be served.

control protocols are needed for the scheduling.

testbed. We refer interested readers to [9] for more technical details.

In this section, we briefly review PSMACs to provide the necessary background for the

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

27

PSMAC is motivated by the insights from polling system theory [9]. Generally, a polling system consists of a shared resource (i.e., the wireless channel) and multiple stations (i.e., the wireless nodes). Polling systems may have either a centralized or a distributed structure. In the centralized case, a server maintains state information of the stations and polls the stations for channel access. In the distributed scenario, the stations contend for channel access using a distributed mechanism. In either case, one of the following three types of service policies can be used to serve the frames for a wining station: (i) *Exhaustive* policy, where a station is served until its buffer is emptied; (ii) *Gated* policy, where a station is served until all the frames that have backlogged in its buffer when the service begins are transmitted; (iii) *Limited*-*k* service, where a station is served for up to *k* frames or until the queue is empty, whichever comes first. It has been shown that both exhaustive service and gated service are more efficient than limited-*k* service, and they can guarantee bounded delay as long as the

Based on the polling system theory, three polling service-based MAC protocols are introduced in [8, 9]. The main idea is to serve multiple frames after a successful contention resolution, thus amortizing the high control overhead over multiple DATA frames and making the protocols more efficient. The operation of PSMACs are shown in Fig. 3. In particular, PSMAC 1 senses a channel with CSMA/CA and uses RTS/CTS frames for contention resolution. All the frames to be transmitted are queued in a common transmission buffer. A winning node will use gated service to serve its backlogged frames. PSMAC 2 introduces multiple virtual queues, one for each neighbor. The gated service is used for one of the non-empty virtual queues when the station wins the channel. This allows other neighbors that are not involved in the transmission be scheduled to sleep for energy conservation. PSMAC 3 extends PSMAC 2 by serving all non-empty virtual queues when a station wins the channel, which may achieve even higher efficiency. Specifically, PSMAC 3 introduces a new control frame *announcement frame* (AF). AF is broadcasted after a sender wins the channel by RTS, which contains the lengths of all the non-empty virtual queues at the sender, as well as the order in which the virtual queues will be served. Thus, each neighbor will realize how many frames it will receive, as well as the starting and ending time for its reception. The sender then starts data transmission by clearing the virtual queues one by one by gated service in the order that announced by AF. The current receiving node is active for the reception, while all other neighbors can be scheduled to sleep and to wake

All of PSMACs introduced are based on gated policy in polling theory. Exhaustive policy may achieve higher efficiency, however, it is not practically implementable. This is due to the fact that the new frames may arrive at the buffer after the transmission start. The source node can not determine the exact transmission time before sending RTS. Thus, extra coordination

In [8, 9], the PSMACs are evaluated with analysis and simulations. They are shown to achieve considerable throughput and delay improvements over *p*-Persistent CSMA, which is used as a proper benchmark for the performance evaluation due to its similarity to the IEEE 802.11 DCF [10]. In addition, PSMACs 2 and 3 can achieve significant energy savings

## **1.2. Polling Service-Based MAC**

We presented three polling service-based MAC protocols, termed PSMACs in our prior work [8, 9], which can amortize the control overhead of medium contention/resolution over multiple back-to-back frame transmissions, thus achieving high efficiency in medium access control. The gated service based PSMACs are analyzed and compared with *p*-Persistent CSMA, which closely approximates the standard IEEE 802.11 DCF [10]. Considerable gains on throughput, delay, energy consumption, and fairness performance are observed in the analysis and simulation studies [9].

There are two fundamental differences between the proposed PSMACs and the existing polling approaches in IEEE 802.11 series. First, the schemes adopted in Bluetooth and HCCA are centralized ones, where a master or base station polls other stations. They are designed for relatively simple network topologies (e.g., a piconet with one master and seven slaves [4] or a single-hop WLAN). However, there may be no such master/base station in distributed wireless networks. These centralized approaches are quite different from the random access and fully distributed approach taken in PSMAC. Second, even for single-hop networks, the specific scheduling policy is not specified in either Bluetooth or IEEE 802.11 MACs. More importantly, there is a need of both theoretical and experimental study to underpin the scheduling techniques to be adopted in both standards.

In this book chapter, we introduce PSMACs protocols and prototype the PSMACs in a real wireless networking environment [11]. Generally, testbeds can provide useful insights that computer-based simulations cannot offer, since they capture the complex real-world radio propagation effects as well as distributed network dynamics, which are often greatly simplified in simulation and theoretical studies to make the problem manageable. By prototyping PSMACs, we can not only evaluate the MAC protocols under realistic wireless channels and verify our prior theoretical and simulation studies, but also identify new practical constraints and problems.

Two main contributions are made in this work. First, we implement the PSMACs on the GNU Radio [12] and Universal Software Radio Peripheral (USRP) [13] platform. We integrate the key functions of 802.11 DCF and the gated service policy in the implementation, such as gated service scheduling, CSMA/CA, virtual carrier sensing, RTS/CTS handshake, automatic repeat request (ARQ), random backoff mechanism, and distributed clock synchronization using IEEE 1588. Second, we conduct extensive experiments with various traffic types and traffic patterns, to evaluate the real system performance of the PSMAC testbed in both infrastructure mode and ad hoc mode. The experimental results demonstrate the significant improvements that PSMAC can achieve on throughput, delay and fairness, and also validate the theoretic analysis and simulation studies in the prior work [9].

The remainder of this chapter is organized as follows. We first review PSMAC in Section 2. We then provide the system overview in Section 3 and discuss implementation details in Section 4. Our experimental results are presented in Section 5. Related work is discussed in Section 6 and Section 7 concludes the chapter.

## **2. Polling Service-Based MAC protocol**

4 Mobile Ad-Hoc Networks

demands to support high definition videos, online games, and other real-time applications bring new challenges to the usage efficiency of the link capacity of existing WLANs and

We presented three polling service-based MAC protocols, termed PSMACs in our prior work [8, 9], which can amortize the control overhead of medium contention/resolution over multiple back-to-back frame transmissions, thus achieving high efficiency in medium access control. The gated service based PSMACs are analyzed and compared with *p*-Persistent CSMA, which closely approximates the standard IEEE 802.11 DCF [10]. Considerable gains on throughput, delay, energy consumption, and fairness performance are observed in the

There are two fundamental differences between the proposed PSMACs and the existing polling approaches in IEEE 802.11 series. First, the schemes adopted in Bluetooth and HCCA are centralized ones, where a master or base station polls other stations. They are designed for relatively simple network topologies (e.g., a piconet with one master and seven slaves [4] or a single-hop WLAN). However, there may be no such master/base station in distributed wireless networks. These centralized approaches are quite different from the random access and fully distributed approach taken in PSMAC. Second, even for single-hop networks, the specific scheduling policy is not specified in either Bluetooth or IEEE 802.11 MACs. More importantly, there is a need of both theoretical and experimental study to underpin the

In this book chapter, we introduce PSMACs protocols and prototype the PSMACs in a real wireless networking environment [11]. Generally, testbeds can provide useful insights that computer-based simulations cannot offer, since they capture the complex real-world radio propagation effects as well as distributed network dynamics, which are often greatly simplified in simulation and theoretical studies to make the problem manageable. By prototyping PSMACs, we can not only evaluate the MAC protocols under realistic wireless channels and verify our prior theoretical and simulation studies, but also identify new

Two main contributions are made in this work. First, we implement the PSMACs on the GNU Radio [12] and Universal Software Radio Peripheral (USRP) [13] platform. We integrate the key functions of 802.11 DCF and the gated service policy in the implementation, such as gated service scheduling, CSMA/CA, virtual carrier sensing, RTS/CTS handshake, automatic repeat request (ARQ), random backoff mechanism, and distributed clock synchronization using IEEE 1588. Second, we conduct extensive experiments with various traffic types and traffic patterns, to evaluate the real system performance of the PSMAC testbed in both infrastructure mode and ad hoc mode. The experimental results demonstrate the significant improvements that PSMAC can achieve on throughput, delay and fairness,

and also validate the theoretic analysis and simulation studies in the prior work [9].

The remainder of this chapter is organized as follows. We first review PSMAC in Section 2. We then provide the system overview in Section 3 and discuss implementation details in Section 4. Our experimental results are presented in Section 5. Related work is discussed in

stress the new design of more effecient wireless MAC's.

scheduling techniques to be adopted in both standards.

**1.2. Polling Service-Based MAC**

analysis and simulation studies [9].

practical constraints and problems.

Section 6 and Section 7 concludes the chapter.

In this section, we briefly review PSMACs to provide the necessary background for the testbed. We refer interested readers to [9] for more technical details.

PSMAC is motivated by the insights from polling system theory [9]. Generally, a polling system consists of a shared resource (i.e., the wireless channel) and multiple stations (i.e., the wireless nodes). Polling systems may have either a centralized or a distributed structure. In the centralized case, a server maintains state information of the stations and polls the stations for channel access. In the distributed scenario, the stations contend for channel access using a distributed mechanism. In either case, one of the following three types of service policies can be used to serve the frames for a wining station: (i) *Exhaustive* policy, where a station is served until its buffer is emptied; (ii) *Gated* policy, where a station is served until all the frames that have backlogged in its buffer when the service begins are transmitted; (iii) *Limited*-*k* service, where a station is served for up to *k* frames or until the queue is empty, whichever comes first. It has been shown that both exhaustive service and gated service are more efficient than limited-*k* service, and they can guarantee bounded delay as long as the offered load is strictly less than 100% [14].

Based on the polling system theory, three polling service-based MAC protocols are introduced in [8, 9]. The main idea is to serve multiple frames after a successful contention resolution, thus amortizing the high control overhead over multiple DATA frames and making the protocols more efficient. The operation of PSMACs are shown in Fig. 3. In particular, PSMAC 1 senses a channel with CSMA/CA and uses RTS/CTS frames for contention resolution. All the frames to be transmitted are queued in a common transmission buffer. A winning node will use gated service to serve its backlogged frames. PSMAC 2 introduces multiple virtual queues, one for each neighbor. The gated service is used for one of the non-empty virtual queues when the station wins the channel. This allows other neighbors that are not involved in the transmission be scheduled to sleep for energy conservation. PSMAC 3 extends PSMAC 2 by serving all non-empty virtual queues when a station wins the channel, which may achieve even higher efficiency. Specifically, PSMAC 3 introduces a new control frame *announcement frame* (AF). AF is broadcasted after a sender wins the channel by RTS, which contains the lengths of all the non-empty virtual queues at the sender, as well as the order in which the virtual queues will be served. Thus, each neighbor will realize how many frames it will receive, as well as the starting and ending time for its reception. The sender then starts data transmission by clearing the virtual queues one by one by gated service in the order that announced by AF. The current receiving node is active for the reception, while all other neighbors can be scheduled to sleep and to wake up when its corresponding virtual queue is to be served.

All of PSMACs introduced are based on gated policy in polling theory. Exhaustive policy may achieve higher efficiency, however, it is not practically implementable. This is due to the fact that the new frames may arrive at the buffer after the transmission start. The source node can not determine the exact transmission time before sending RTS. Thus, extra coordination control protocols are needed for the scheduling.

In [8, 9], the PSMACs are evaluated with analysis and simulations. They are shown to achieve considerable throughput and delay improvements over *p*-Persistent CSMA, which is used as a proper benchmark for the performance evaluation due to its similarity to the IEEE 802.11 DCF [10]. In addition, PSMACs 2 and 3 can achieve significant energy savings

its backlogged DATA frames back-to-back to the destination following the gated service policy. All other stations will keep silent and wait for the NAV to expire (or, they may be scheduled to sleep for energy conservation). When the last frame is received, an ACK frame is issued by the target receiver to acknowledge all the successfully received frames, which will be removed from the virtual queue at the source station. If some frames are not correctly received after the transmission phase, the backoff procedure will be performed at the source station to defer the transmissions. The lost or corrupted frames will be retransmitted at a

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

29

The backoff procedure used in the implementation is illustrated in Fig. 2, which follows the IEEE 802.11 DCF specification. In this chapter, we set *CWmin* = 8 and *CWmax* = 256 as in [1]. After each successful transmission or when the number of RTS retries reaches a predefined

GR-Limited-1 is implemented in the similar manner, except that when the source station wins the channel, only up to one DATA frame will be transmitted for a winning station (as shown in Fig. 1). This is consistent with the standard IEEE 802.11 DCF and its performance is comparable to IEEE 802.11 DCF and used for performance comparison with the proposed

We develop the PSMAC testbed on the Software Defined Radio (SDR) platform consisting of GNU Radio and USRP [12, 13]. SDR is a modern approach to wireless communications [15], which allows dynamic reconfiguration of waveforms by software. GNU Radio [12] is an open-source software development toolkit under the GNU General Public License (GPL). It provides signal processing runtimes and processing blocks to implement SDR on RF hardware and commodity processors. GNU Radio applications are usually written in Python scripts, which allows the quick reconfiguration of the protocols, while the compiled C++ codes are used for the signal processing components of physical layer for minimal processing time. USRP [13] is a generic SDR hardware device that natively integrates with GNU Radio. We use USRP1 as the hardware platform for prototyping. The motherboard of USRP1 consists of four 64 MS/s ADCs and four 128 MS/s DACs. It has an FPGA for processing baseband and IF signals. The RFX2400 RF front-end daughterboard supports transmission and receiving from 2.3 GHz to 2.9 GHz in the ISM band. Integrated with USRP, GNU Radio provides a compelling software platform for prototyping wireless communications

During the implementation, we observe that the main limitation of GNU Radio for MAC development is the high latency. Most MAC protocols rely on precise receiving and transmission timing. For example, IEEE 802.11 requires precise timing for the virtual carrier sensing mechanism. However, GNU Radio introduces a non-negligible latency due to the general-purpose processor and USB interface. In addition, the bus system to transfer the samples between a radio front-end and the processor also introduces extra latency. Finally, the Python script environment, kernel/user space switch and process scheduling of the operation system also make the latency hard to track. It is reported in [16] that the modulation, spreading, demodulation and despreading procedures could introduce an additional 22.5 ms delay, which is quite large comparing to the standard timing setting in

later time. This procedure is illustrated in Fig. 3.

maximum value, *CW* will be reset to *CWmin*.

**3.2. Software and hardware platforms**

GR-PSMAC.

and networking protocols.

IEEE 802.11 (generally in the *µ*s scale).

**Figure 3.** Timeline illustration of PSMACs operation.

by scheduling nodes to sleep, when they are not involved in the transmission of a packet train. The PSMACs are also shown to be more efficient for handling bursty traffic types and asymmetric traffic patterns, and the performance gains are achieved without sacrificing fairness performance [8, 9].

When *k* = 1, the limited-1 policy is a special case of limited-*k*, with only up to one frame served for a winning station. This policy is used in most existing MAC protocols, e.g., *p*-Persistent CSMA and IEEE 802.11 DCF. We focus on the PSMAC 2 protocol in this paper since it is most compatible to the DCF. We also implement a limited-1 based IEEE 802.11 DCF like protocol for performance comparison purpose. Both implementations are based on the GNU Radio/USRP platform [12, 13]. We call the PSMAC 2 and limited-1 MAC implementations GR-PSMAC and GR-Limited-1, respectively, in the rest parts of the paper (where GR stands for GNU Radio).

## **3. Testbed system overview**

## **3.1. GR-PSMAC and GR-Limited-1**

We implement GR-PSMAC and GR-Limited-1 by extending the IEEE 802.11 DCF, which is the de-facto protocol for WiFi networks. In particular, the implementations integrate CSMA/CA with binary exponential backoff, virtual carrier sense, RTS/CTS handshake, and ARQ for link error control to make full operational MAC protocols.

In GR-PSMAC, a station maintains multiple *virtual queues*, one for each of its neighbors. That is, DATA frames for different neighbors are enqueued into different virtual queues. When there is one or more non-empty virtual queues, the source station will selects a nonempty virtual queue in the *round-robin* fashion and start to sense the channel. After the channel is idle for DIFS interval, the *CW* start to decrease. If the channel remains idle when *CW* reaches 0, an RTS frame will be transmitted. If the channel is busy, *CW* will be frozen and the transmission will be deferred. When the destination station receives the RTS, it may return a CTS frame to confirm that it is ready for receiving data. The CTS frame contains the transmission duration, which may contains multiple frame durations and allows other stations set up their NAV for virtual carrier sensing. After receiving the CTS, the gated-service will be used for the selected virtual queue, i.e., the source station will transmit its backlogged DATA frames back-to-back to the destination following the gated service policy. All other stations will keep silent and wait for the NAV to expire (or, they may be scheduled to sleep for energy conservation). When the last frame is received, an ACK frame is issued by the target receiver to acknowledge all the successfully received frames, which will be removed from the virtual queue at the source station. If some frames are not correctly received after the transmission phase, the backoff procedure will be performed at the source station to defer the transmissions. The lost or corrupted frames will be retransmitted at a later time. This procedure is illustrated in Fig. 3.

The backoff procedure used in the implementation is illustrated in Fig. 2, which follows the IEEE 802.11 DCF specification. In this chapter, we set *CWmin* = 8 and *CWmax* = 256 as in [1]. After each successful transmission or when the number of RTS retries reaches a predefined maximum value, *CW* will be reset to *CWmin*.

GR-Limited-1 is implemented in the similar manner, except that when the source station wins the channel, only up to one DATA frame will be transmitted for a winning station (as shown in Fig. 1). This is consistent with the standard IEEE 802.11 DCF and its performance is comparable to IEEE 802.11 DCF and used for performance comparison with the proposed GR-PSMAC.

## **3.2. Software and hardware platforms**

6 Mobile Ad-Hoc Networks

**PSMAC 1**

**PSMAC 2**

**PSMAC 3**

**Figure 3.** Timeline illustration of PSMACs operation.

fairness performance [8, 9].

(where GR stands for GNU Radio).

**3. Testbed system overview**

**3.1. GR-PSMAC and GR-Limited-1**

link error control to make full operational MAC protocols.

RTS CTS ACK DIFS RTS

RTS AF ACK DIFS RTS

by scheduling nodes to sleep, when they are not involved in the transmission of a packet train. The PSMACs are also shown to be more efficient for handling bursty traffic types and asymmetric traffic patterns, and the performance gains are achieved without sacrificing

When *k* = 1, the limited-1 policy is a special case of limited-*k*, with only up to one frame served for a winning station. This policy is used in most existing MAC protocols, e.g., *p*-Persistent CSMA and IEEE 802.11 DCF. We focus on the PSMAC 2 protocol in this paper since it is most compatible to the DCF. We also implement a limited-1 based IEEE 802.11 DCF like protocol for performance comparison purpose. Both implementations are based on the GNU Radio/USRP platform [12, 13]. We call the PSMAC 2 and limited-1 MAC implementations GR-PSMAC and GR-Limited-1, respectively, in the rest parts of the paper

We implement GR-PSMAC and GR-Limited-1 by extending the IEEE 802.11 DCF, which is the de-facto protocol for WiFi networks. In particular, the implementations integrate CSMA/CA with binary exponential backoff, virtual carrier sense, RTS/CTS handshake, and ARQ for

In GR-PSMAC, a station maintains multiple *virtual queues*, one for each of its neighbors. That is, DATA frames for different neighbors are enqueued into different virtual queues. When there is one or more non-empty virtual queues, the source station will selects a nonempty virtual queue in the *round-robin* fashion and start to sense the channel. After the channel is idle for DIFS interval, the *CW* start to decrease. If the channel remains idle when *CW* reaches 0, an RTS frame will be transmitted. If the channel is busy, *CW* will be frozen and the transmission will be deferred. When the destination station receives the RTS, it may return a CTS frame to confirm that it is ready for receiving data. The CTS frame contains the transmission duration, which may contains multiple frame durations and allows other stations set up their NAV for virtual carrier sensing. After receiving the CTS, the gated-service will be used for the selected virtual queue, i.e., the source station will transmit

…

ACK ACK

Busy Medium

… CTS ACK

Frames to neighbor *k*

Frames to neighbor *k*

…

Frames to neighbors

RTS CTS ACK DIFS RTS

Frames to neighbor *1*

Frames to neighbor *1*

> We develop the PSMAC testbed on the Software Defined Radio (SDR) platform consisting of GNU Radio and USRP [12, 13]. SDR is a modern approach to wireless communications [15], which allows dynamic reconfiguration of waveforms by software. GNU Radio [12] is an open-source software development toolkit under the GNU General Public License (GPL). It provides signal processing runtimes and processing blocks to implement SDR on RF hardware and commodity processors. GNU Radio applications are usually written in Python scripts, which allows the quick reconfiguration of the protocols, while the compiled C++ codes are used for the signal processing components of physical layer for minimal processing time. USRP [13] is a generic SDR hardware device that natively integrates with GNU Radio. We use USRP1 as the hardware platform for prototyping. The motherboard of USRP1 consists of four 64 MS/s ADCs and four 128 MS/s DACs. It has an FPGA for processing baseband and IF signals. The RFX2400 RF front-end daughterboard supports transmission and receiving from 2.3 GHz to 2.9 GHz in the ISM band. Integrated with USRP, GNU Radio provides a compelling software platform for prototyping wireless communications and networking protocols.

> During the implementation, we observe that the main limitation of GNU Radio for MAC development is the high latency. Most MAC protocols rely on precise receiving and transmission timing. For example, IEEE 802.11 requires precise timing for the virtual carrier sensing mechanism. However, GNU Radio introduces a non-negligible latency due to the general-purpose processor and USB interface. In addition, the bus system to transfer the samples between a radio front-end and the processor also introduces extra latency. Finally, the Python script environment, kernel/user space switch and process scheduling of the operation system also make the latency hard to track. It is reported in [16] that the modulation, spreading, demodulation and despreading procedures could introduce an additional 22.5 ms delay, which is quite large comparing to the standard timing setting in IEEE 802.11 (generally in the *µ*s scale).

GNU Radio

• Frame Control: four least significant bits define the frame type (RTS/CTS/DATA/ACK);

• Next Hop Address: address of the next hop node; only valid for DATA frames and is

• Duration: multi-purpose field; in RTS/CTS/DATA: number of frames to be transmitted;

• Sequence Number: sequence number of transmitted DATA frame; in ACK: sequence

• Count: in RTS/CTS/DATA: number of transmitted frames; in ACK: number of correctly

The PSMAC header contains eight fields and is 16-bytes long in total. Although some of the fields are compatible with the header definition of IEEE 802.11; the header format is different from the standard Ethernet header. For example, standard 48-bit MAC addresses are used for the Linux TAP/TUN frame, but two-byte addresses are used to identify the USRP hardware in PSMAC. Therefore, frames from the upper layer through the TAP/TUN driver will require a mapping from Ethernet header to PSMAC header, as illustrated in Fig. 5. Similarly, GR-PSMAC and GR-Limited-1 also map PSMAC headers back to the Ethernet

The GR-PSMAC is implemented as two execution data paths, namely, the *transmission path* and the *receiving path*. We adopt multithreading and each path is controlled by a thread. The

USRP

• Destination Address: address of the destination node.

used for the access point mode or multi-hop mode.

in ACK: sequence number of the last received DATA frame.

**Figure 5.** Protocol architecture of the GNU Radio testbed.

other bits are reserved for future use.

• Source Address: address of the source node.

number of the first received DATA frame.

received DATA frames. • Option: reserved for future use.

header for received frames.

**4.2. Transmission and receiving path**

design of the two paths is shown in Fig. 7 and outlined below.

GR-PSMAC/ GR-Limited-1

Linux TAP/TUN

IP Packet

http://dx.doi.org/10.5772/53772

31

Ethernet Frame

MAC Frame

TCP/IP Stack

APP APP **. . .** APP

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

**Figure 4.** The testbed wireless station setup.

The large latency also negatively affects performance measurement during testbed experiments, especially under high transmission rates. To tackle this problem, we use a relatively small link rate along with a large frame size to mitigate the impact of latency on transmissions. For example, using a 125 kbps link capacity with 1,500-byte frames, the frame transmission delay is about 96 ms, which is about 70% of the total transmission latency. With reduced link rates, we can conduct full functional tests for the MAC protocols and obtain precise *normalized* performance results with the given platform. It is worth noting that the Gigabit Ethernet interfance used in the later version of USRP, and the implementing the protocol functions in the FPGAs as in Rice University's Wireless Open-Access Radio Platform (WARP) platform [17], will help to allieviate the latency issue.

## **4. Testbed implementation description**

We develop the MAC protocols on the GNU Radio/USRP platform [12, 13]. Each wireless station in the testbed consists of a USRP1 unit and a laptop (or desktop) computer, as illustrated in Fig. 4. We describe the implementation related issues in this section.

## **4.1. Network protocol architecture**

Both GR-PSMAC and GR-Limited-1 are implemented as Layer 2 protocols from the point of view of network protocol architecture. Both protocols are written in Python scripts and are running in the user space of Linux. Since there is no explicit interface to directly access the MAC from the user space, we resort to the Linux TAP/TUN virtual network interface that provides the bridge between GNU Radio and Linux TCP/IP kernel. Specifically, we create a *virtual* Ethernet interface, termed *gr*0, which can be configured with an IP address. Applications can then use the MAC protocols implemented in GNU Radio transparently as a standard network application programming interface (API). This approach is illustrated in Fig. 5.

To implement the MAC layer functions, we design the MAC header as given in Fig. 6, which is similar to that of IEEE 802.11. The header fields are defined as follows.

<sup>30</sup> Wireless Ad-Hoc Networks A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation 9 A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation http://dx.doi.org/10.5772/53772 31

**Figure 5.** Protocol architecture of the GNU Radio testbed.

8 Mobile Ad-Hoc Networks

**Figure 4.** The testbed wireless station setup.

The large latency also negatively affects performance measurement during testbed experiments, especially under high transmission rates. To tackle this problem, we use a relatively small link rate along with a large frame size to mitigate the impact of latency on transmissions. For example, using a 125 kbps link capacity with 1,500-byte frames, the frame transmission delay is about 96 ms, which is about 70% of the total transmission latency. With reduced link rates, we can conduct full functional tests for the MAC protocols and obtain precise *normalized* performance results with the given platform. It is worth noting that the Gigabit Ethernet interfance used in the later version of USRP, and the implementing the protocol functions in the FPGAs as in Rice University's Wireless Open-Access Radio Platform

We develop the MAC protocols on the GNU Radio/USRP platform [12, 13]. Each wireless station in the testbed consists of a USRP1 unit and a laptop (or desktop) computer, as

Both GR-PSMAC and GR-Limited-1 are implemented as Layer 2 protocols from the point of view of network protocol architecture. Both protocols are written in Python scripts and are running in the user space of Linux. Since there is no explicit interface to directly access the MAC from the user space, we resort to the Linux TAP/TUN virtual network interface that provides the bridge between GNU Radio and Linux TCP/IP kernel. Specifically, we create a *virtual* Ethernet interface, termed *gr*0, which can be configured with an IP address. Applications can then use the MAC protocols implemented in GNU Radio transparently as a standard network application programming interface (API). This approach is illustrated in

To implement the MAC layer functions, we design the MAC header as given in Fig. 6, which

is similar to that of IEEE 802.11. The header fields are defined as follows.

illustrated in Fig. 4. We describe the implementation related issues in this section.

(WARP) platform [17], will help to allieviate the latency issue.

**4. Testbed implementation description**

**4.1. Network protocol architecture**

Fig. 5.


The PSMAC header contains eight fields and is 16-bytes long in total. Although some of the fields are compatible with the header definition of IEEE 802.11; the header format is different from the standard Ethernet header. For example, standard 48-bit MAC addresses are used for the Linux TAP/TUN frame, but two-byte addresses are used to identify the USRP hardware in PSMAC. Therefore, frames from the upper layer through the TAP/TUN driver will require a mapping from Ethernet header to PSMAC header, as illustrated in Fig. 5. Similarly, GR-PSMAC and GR-Limited-1 also map PSMAC headers back to the Ethernet header for received frames.

#### **4.2. Transmission and receiving path**

The GR-PSMAC is implemented as two execution data paths, namely, the *transmission path* and the *receiving path*. We adopt multithreading and each path is controlled by a thread. The design of the two paths is shown in Fig. 7 and outlined below.

The requested transmission time in the RTS is equal to the duration for transmitting all the backlogged frames in the selected virtual queue. If a CTS frame is not returned before timeout, GR-PSMAC will backoff the transmission and increase the RTS retry counter by one. Furthermore, if the RTS retry number exceeds a predefined limit, GR-PSMAC will reset *CW* and serve the next nonempty outgoing virtual queue for the fair operation among the

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

33

On the other hand, if a CTS frame is successfully received, GR-PSMAC will reset its *CW*, transmit the DATA frames in a row that had been backlogged in the selected virtual queue when the RTS was sent, and wait for ACK. If an ACK frame is received before timeout, GR-PSMAC will purge the acknowledged frames from the outgoing virtual queue. Otherwise, it will backoff the transmission and try to serve the next nonempty outgoing

When a station receives an RTS destined for itself (i.e., carrying its MAC address as destination), it sets its NAV according to the *Duration* field value in the RTS. Then it returns a CTS frame with the duration equal to the original duration minus the CTS frame duration. Other neighbors that receive the CTS frame will set their NAV according to the *Duration* field

During the following transmission period, the destination station receives one or more back-to-back DATA frames. It maps the PSMAC headers back to Ethernet headers, and forwards the Ethernet frames to the upper layer. The sequence numbers of received DATA frames are recorded in a list. After all the frames are received or when there is a timeout, an ACK frame is issued with the successfully received sequence numbers back to the source station. The source station, once receiving the ACK, will remove all the successfully

Since both the transmission path (i.e., sending DATA frames) and receiving path (i.e., clearing acknowledged DATA frames) need to access the outgoing virtual queues, the multi-thread control need to be designed. A fast thread synchronization lock is introduced to protect the

We also implement the acknowledge and retransmission mechanisms for GR-PSMAC. IEEE 802.11 DCF uses limited-1 service that transmits only up to one DATA frame each time, such that a subsequent ACK acknowledges the successful DATA transmission. That is, a stop-and-wait ARQ mechanism is sufficient in this case. In GR-PSMAC, there may be multiple DATA frames transmitted in a row during the transmission period. Therefore a

We implement two ARQ options for GR-PSMAC. The first one is Go-Back-N. The destination station records the received sequence numbers in the increasing order. When timeout happens or the last frame is received, the destination sends an ACK carrying the first received sequence number in the batch, as well as the last received sequence number right before the

access conflict of the common resources of the transmission path and receiving path.

default ACK frame is not sufficient for acknowledging multiple DATA frames.

virtual queues.

virtual queue.

*4.2.2. Receiving Path*

and enter the sleep mode.

transmitted frames from its outgoing virtual queue.

**4.3. Acknowledge and retransmission mechanisms**

**Figure 6.** GR-PSMAC/GR-Limited-1 Header Format.

**Figure 7.** Illustration of the transmission and receiving operation.

#### *4.2.1. Transmission Path*

When GR-PSMAC receives a DATA frame from the upper protocol stack, it replaces the Ethernet header with the PSMAC header and buffers the frame in the outgoing queue. If the channel is sensed busy, the frame is held in the outgoing queue and the transmission is deferred. As discussed, GR-PSMAC maintains a virtual queue for each of its neighbors. The DATA frames are enqueued to the virtual queues according to their destination MAC addresses.

If the channel is sensed idle, the station selects a non-empty virtual queue in the round-robin manner, and issues an RTS frame to the neighbor corresponding to the chosen virtual queue. The requested transmission time in the RTS is equal to the duration for transmitting all the backlogged frames in the selected virtual queue. If a CTS frame is not returned before timeout, GR-PSMAC will backoff the transmission and increase the RTS retry counter by one. Furthermore, if the RTS retry number exceeds a predefined limit, GR-PSMAC will reset *CW* and serve the next nonempty outgoing virtual queue for the fair operation among the virtual queues.

On the other hand, if a CTS frame is successfully received, GR-PSMAC will reset its *CW*, transmit the DATA frames in a row that had been backlogged in the selected virtual queue when the RTS was sent, and wait for ACK. If an ACK frame is received before timeout, GR-PSMAC will purge the acknowledged frames from the outgoing virtual queue. Otherwise, it will backoff the transmission and try to serve the next nonempty outgoing virtual queue.

### *4.2.2. Receiving Path*

10 Mobile Ad-Hoc Networks

**Figure 6.** GR-PSMAC/GR-Limited-1 Header Format.

Frame Control (1 Byte) Destination Address (2 Bytes) Source Address (2 Bytes) Next Hop Address (2 Bytes) Duration (4 Bytes) Sequence Number (2 Bytes)

16-Byte Header

RTS Received

Set NAV

Send CTS

Receive DATA frame

> All Data Received ?

> > Y

N

Send ACK

Count (2 Bytes) Option (1 Byte)

Data From App

Buffered in outgoing queue

Select queue by Round Robin

> Channel Idle ?

N

N

N

Defer transmission

When GR-PSMAC receives a DATA frame from the upper protocol stack, it replaces the Ethernet header with the PSMAC header and buffers the frame in the outgoing queue. If the channel is sensed busy, the frame is held in the outgoing queue and the transmission is deferred. As discussed, GR-PSMAC maintains a virtual queue for each of its neighbors. The DATA frames are enqueued to the virtual queues according to their destination MAC

If the channel is sensed idle, the station selects a non-empty virtual queue in the round-robin manner, and issues an RTS frame to the neighbor corresponding to the chosen virtual queue.

Transmission Path Receiving Path

Send RTS

CTS Received ?

Y

Y

Transmission

ACK Received ?

Purge acked frame

**Figure 7.** Illustration of the transmission and receiving operation.

*4.2.1. Transmission Path*

addresses.

Y

When a station receives an RTS destined for itself (i.e., carrying its MAC address as destination), it sets its NAV according to the *Duration* field value in the RTS. Then it returns a CTS frame with the duration equal to the original duration minus the CTS frame duration. Other neighbors that receive the CTS frame will set their NAV according to the *Duration* field and enter the sleep mode.

During the following transmission period, the destination station receives one or more back-to-back DATA frames. It maps the PSMAC headers back to Ethernet headers, and forwards the Ethernet frames to the upper layer. The sequence numbers of received DATA frames are recorded in a list. After all the frames are received or when there is a timeout, an ACK frame is issued with the successfully received sequence numbers back to the source station. The source station, once receiving the ACK, will remove all the successfully transmitted frames from its outgoing virtual queue.

Since both the transmission path (i.e., sending DATA frames) and receiving path (i.e., clearing acknowledged DATA frames) need to access the outgoing virtual queues, the multi-thread control need to be designed. A fast thread synchronization lock is introduced to protect the access conflict of the common resources of the transmission path and receiving path.

## **4.3. Acknowledge and retransmission mechanisms**

We also implement the acknowledge and retransmission mechanisms for GR-PSMAC. IEEE 802.11 DCF uses limited-1 service that transmits only up to one DATA frame each time, such that a subsequent ACK acknowledges the successful DATA transmission. That is, a stop-and-wait ARQ mechanism is sufficient in this case. In GR-PSMAC, there may be multiple DATA frames transmitted in a row during the transmission period. Therefore a default ACK frame is not sufficient for acknowledging multiple DATA frames.

We implement two ARQ options for GR-PSMAC. The first one is Go-Back-N. The destination station records the received sequence numbers in the increasing order. When timeout happens or the last frame is received, the destination sends an ACK carrying the first received sequence number in the batch, as well as the last received sequence number right before the first missing frame (if any), by reusing the *Duration* field (see Fig. 6). All the frames received after the first missing frame will be discarded and retransmitted.

Although Go-Back-N ARQ is easy to implement, it is not efficient when the number of transmitted frames is large or when the frame loss rate is low. To improve efficiency and reduce the retransmission cost, we also implement the Selective Repeat Protocol (SRP). In SRP, the ACK issued by the destination node contains an explicit list of the sequence numbers of successful received frames; only the missing frames need to be retransmitted. SRP is generally more efficient than Go-Back-N protocol, because it can reduce the number of retransmissions, but with a slightly higher control overhead (i.e., longer ACK frames) and complexity.

## **4.4. Synchronization for distributed delay measurement**

In a distributed network scenario, the CPU clocks may not be precisely synchronized. This may introduce frame delay measurement errors. To address the synchronization issue, we adopt the Precision Time protocol (PTP) daemon that implements the IEEE 1588 standard [18] to synchronize the testbed nodes. IEEE 1588 provides real-time clock synchronization for distributed systems with sub-microsecond precision. Such precision is sufficient for experiments and delay measurement in the PSMAC testbed.

**Figure 8.** Network topology setups for the testbed experiments: ad hoc mode with a uniform traffic pattern.

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

35

**Figure 9.** Network topology setups for the testbed experiments: ad hoc mode with a non-uniform traffic pattern.

listed below.

in the experiments:




We run the experiments using two network topologies as shown in Figs. 8–10: (i) a single-hop ad hoc network topology where each nodes communicates with every other node, as shown in Figs. 8 and 9, and (ii) an access point (AP) mode, where one station serves as the AP to relay traffic for the other three stations, as shown in Fig. 10. During the tests, the four testbed stations share the 125 kbps nominal link capacity. The more efficient SRP ARQ scheme and the RTS-CTS virtual carrier sensing mechanism are used. The default parameter settings are

We develop a UDP client-server application in C++ that can generate traffic to drive the experiments. UDP is chosen to avoid the complex rate variations caused by TCP congestion control, thus focusing on the MAC performance. The following three traffic models are used

We implement the delay measurement in the MAC layer as follows. The testbed nodes are connected with an Ethernet hub, and are then synchronized with the PTP daemon. When a DATA frame is enqueued at the source node, a time stamp will be stored at the source node. When a DATA frame is successfully received, the destination node will attach a time stamp in the ACK frame that records the time when the DATA frame was received, along with the list of sequence numbers. The MAC layer can directly monitor the outgoing queues and the event of frame receptions, which is free from the extra scheduling latency in the upper layers. The source station can compute the one-way delay as the difference between the received (i.e., in the ACK frame) and stored time stamps.

During the testbed experiments, we use the above mechanism frame delays for evaluation of the proposed schemes. For normal operation of the PSMAC implementation, however, such synchronization (and the Ethernet connections) is not required. Furthermore, with SRP ARQ, each ACK frame of GR-PSMAC carries more than one sequence numbers and timestamps of all the correctly received DATA frames, for the purpose of one-way delay measurement. In the normal operation mode, the ACK frame can be much shorter by carrying the sequence numbers of missing frames only, and by not carrying the timestamps. Therefore the control overhead could be further reduced and better throughput and delay performance could be achieved.

## **5. Experiments and results**

#### **5.1. Experiment setting**

The GNU Radio PSMAC testbed consists of four USRP1 kits, each connected to a general purpose computer through a USB 2.0 port, as shown in Fig. 4. GR-PSMAC and GR-Limited-1 are implemented in GNU Radio 3.3 with Ubuntu Linux OS. As discussed, we also connect all the computers to an Ethernet hub and synchronize their clocks with IEEE 1588 (for accurate measurement of one-way frame delays).

<sup>34</sup> Wireless Ad-Hoc Networks A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation 13 A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation http://dx.doi.org/10.5772/53772 35

**Figure 8.** Network topology setups for the testbed experiments: ad hoc mode with a uniform traffic pattern.

**Figure 9.** Network topology setups for the testbed experiments: ad hoc mode with a non-uniform traffic pattern.

We run the experiments using two network topologies as shown in Figs. 8–10: (i) a single-hop ad hoc network topology where each nodes communicates with every other node, as shown in Figs. 8 and 9, and (ii) an access point (AP) mode, where one station serves as the AP to relay traffic for the other three stations, as shown in Fig. 10. During the tests, the four testbed stations share the 125 kbps nominal link capacity. The more efficient SRP ARQ scheme and the RTS-CTS virtual carrier sensing mechanism are used. The default parameter settings are listed below.


12 Mobile Ad-Hoc Networks

complexity.

achieved.

**5. Experiments and results**

measurement of one-way frame delays).

**5.1. Experiment setting**

first missing frame (if any), by reusing the *Duration* field (see Fig. 6). All the frames received

Although Go-Back-N ARQ is easy to implement, it is not efficient when the number of transmitted frames is large or when the frame loss rate is low. To improve efficiency and reduce the retransmission cost, we also implement the Selective Repeat Protocol (SRP). In SRP, the ACK issued by the destination node contains an explicit list of the sequence numbers of successful received frames; only the missing frames need to be retransmitted. SRP is generally more efficient than Go-Back-N protocol, because it can reduce the number of retransmissions, but with a slightly higher control overhead (i.e., longer ACK frames) and

In a distributed network scenario, the CPU clocks may not be precisely synchronized. This may introduce frame delay measurement errors. To address the synchronization issue, we adopt the Precision Time protocol (PTP) daemon that implements the IEEE 1588 standard [18] to synchronize the testbed nodes. IEEE 1588 provides real-time clock synchronization for distributed systems with sub-microsecond precision. Such precision is sufficient for

We implement the delay measurement in the MAC layer as follows. The testbed nodes are connected with an Ethernet hub, and are then synchronized with the PTP daemon. When a DATA frame is enqueued at the source node, a time stamp will be stored at the source node. When a DATA frame is successfully received, the destination node will attach a time stamp in the ACK frame that records the time when the DATA frame was received, along with the list of sequence numbers. The MAC layer can directly monitor the outgoing queues and the event of frame receptions, which is free from the extra scheduling latency in the upper layers. The source station can compute the one-way delay as the difference between

During the testbed experiments, we use the above mechanism frame delays for evaluation of the proposed schemes. For normal operation of the PSMAC implementation, however, such synchronization (and the Ethernet connections) is not required. Furthermore, with SRP ARQ, each ACK frame of GR-PSMAC carries more than one sequence numbers and timestamps of all the correctly received DATA frames, for the purpose of one-way delay measurement. In the normal operation mode, the ACK frame can be much shorter by carrying the sequence numbers of missing frames only, and by not carrying the timestamps. Therefore the control overhead could be further reduced and better throughput and delay performance could be

The GNU Radio PSMAC testbed consists of four USRP1 kits, each connected to a general purpose computer through a USB 2.0 port, as shown in Fig. 4. GR-PSMAC and GR-Limited-1 are implemented in GNU Radio 3.3 with Ubuntu Linux OS. As discussed, we also connect all the computers to an Ethernet hub and synchronize their clocks with IEEE 1588 (for accurate

after the first missing frame will be discarded and retransmitted.

**4.4. Synchronization for distributed delay measurement**

experiments and delay measurement in the PSMAC testbed.

the received (i.e., in the ACK frame) and stored time stamps.


We develop a UDP client-server application in C++ that can generate traffic to drive the experiments. UDP is chosen to avoid the complex rate variations caused by TCP congestion control, thus focusing on the MAC performance. The following three traffic models are used in the experiments:

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> <sup>0</sup>

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

37

Offerred Load

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> <sup>0</sup>

Offerred Load

We first examine the network-wide throughput under the uniform Bernoulli and On-Off bursty traffic models and uniform traffic pattern. As shown in Fig. 8, each node uniformly sends UDP datagrams to all of its neighbors, and the offered loads for all the nodes are

The network-wide normalized throughput performance are presented in Fig. 11 for the uniform Bernoulli traffic case and in Fig. 12 for the uniform On-Off traffic case. It can be seen that when the offered load is low, the achieved network-wide throughput is almost

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

*5.2.1. Performance under SRD Traffic: Ad Hoc Mode*

**5.2. Experimental results**

5.2.1.1. Throughput and Delay

identical.

Throughput

Throughput

GR-PSMAC GR-Limited-1

**Figure 11.** Normalized throughput under uniform i.i.d. Bernoulli traffic: ad hoc mode.

GR-PSMAC GR-Limited-1

**Figure 12.** Normalized throughput under uniform On-Off busty traffic: ad hoc mode.

**Figure 10.** Network topology setups for the testbed experiments: AP mode with a non-uniform traffic pattern.


The first two traffic models belong to the class of *short range dependent* (SRD) models and are sufficient for modeling voice over IP traffic and the LRD model is a useful for modeling computer data traffic, which is shown to be self-similar [19]. The LRD model is much more bursty than first two traffic models, and the experiments with LRD traffic model take much longer time to converge to the steady state.

In the tests, we also consider different traffic patterns, by controlling the traffic rates at the source stations and the destination address of the generated DATA frames. With the *uniform* traffic pattern, the destination of each DATA frame is uniformly distributed among all the neighbors; with the non-uniform traffic pattern, one source-destination pair has much higher load than others.

For each offered load, we run the testbed experiment for ten times. Each experiment lasts for 300 s when the i.i.d. Bernoulli and On-Off bursty traffic models are used, and 3,000 s when the LRD traffic model is used. The offered load is increased from 0.1 to 1.0 in steps of 0.1 for the test scenarios. In the figures presenting experimental results, each point is the average of the ten tests, while the 95% confidence intervals are plotted as error bars.

<sup>36</sup> Wireless Ad-Hoc Networks A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation 15 A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation http://dx.doi.org/10.5772/53772 37

**Figure 11.** Normalized throughput under uniform i.i.d. Bernoulli traffic: ad hoc mode.

**Figure 12.** Normalized throughput under uniform On-Off busty traffic: ad hoc mode.

#### **5.2. Experimental results**

14 Mobile Ad-Hoc Networks

this section.

load than others.

reported in this chapter.

longer time to converge to the steady state.

**Figure 10.** Network topology setups for the testbed experiments: AP mode with a non-uniform traffic pattern.

i) *i.i.d. Bernoulli* traffic: a frame is generated in each time slot with a predefined probability. ii) *On-Off bursty* traffic: frames are generated according to an on-off Markovian model with geometrically distributed on and off periods. The average on period is five, while the average off period is tuned to achieve different offered loads, for the results reported in

iii) *Long range dependent* (LRD) traffic: frames are generated according to an on-off traffic model with Pareto distributed on and off periods. It is shown that such source exhibit long range dependence [19]. The Hurst parameter is chosen to be *H* = 0.7 for the results

The first two traffic models belong to the class of *short range dependent* (SRD) models and are sufficient for modeling voice over IP traffic and the LRD model is a useful for modeling computer data traffic, which is shown to be self-similar [19]. The LRD model is much more bursty than first two traffic models, and the experiments with LRD traffic model take much

In the tests, we also consider different traffic patterns, by controlling the traffic rates at the source stations and the destination address of the generated DATA frames. With the *uniform* traffic pattern, the destination of each DATA frame is uniformly distributed among all the neighbors; with the non-uniform traffic pattern, one source-destination pair has much higher

For each offered load, we run the testbed experiment for ten times. Each experiment lasts for 300 s when the i.i.d. Bernoulli and On-Off bursty traffic models are used, and 3,000 s when the LRD traffic model is used. The offered load is increased from 0.1 to 1.0 in steps of 0.1 for the test scenarios. In the figures presenting experimental results, each point is the average of

the ten tests, while the 95% confidence intervals are plotted as error bars.

#### *5.2.1. Performance under SRD Traffic: Ad Hoc Mode*

#### 5.2.1.1. Throughput and Delay

We first examine the network-wide throughput under the uniform Bernoulli and On-Off bursty traffic models and uniform traffic pattern. As shown in Fig. 8, each node uniformly sends UDP datagrams to all of its neighbors, and the offered loads for all the nodes are identical.

The network-wide normalized throughput performance are presented in Fig. 11 for the uniform Bernoulli traffic case and in Fig. 12 for the uniform On-Off traffic case. It can be seen that when the offered load is low, the achieved network-wide throughput is almost

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> <sup>0</sup>

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

Offerred Load

A common myth about gated or exhaustive polling service is that although the throughput/delay performance are superior, the fairness performance may not be good, since a heavily loaded node could use a larger fraction of the link capacity. To validate this common belief, we next examine the fairness performance with a non-uniform traffic pattern, as illustrated in Fig. 9. In this setting, the link from station 1 to station 2 takes 85% of the offered load, while the other 3 links share the remaining 15% offered load. Both the i.i.d. Bernoulli traffic and On-Off bursty traffic models are tested. We use the fairness index

> *<sup>f</sup>*(*D*1, *<sup>D</sup>*2, ··· , *DN*) = (*D*<sup>1</sup> <sup>+</sup> *<sup>D</sup>*<sup>2</sup> <sup>+</sup> ··· <sup>+</sup> *DN*)<sup>2</sup> *N*(*D*<sup>2</sup>

where *Di* is the average delay for the frames transmitted by station *<sup>i</sup>*, for *<sup>i</sup>* = 1, 2, ··· , *<sup>N</sup>*. It can be verified that *f* is always between zero and one. In the fairest case, all the nodes have the same average delay, i.e., *<sup>D</sup>*<sup>1</sup> = *<sup>D</sup>*<sup>2</sup> = ··· = *DN*, and we have *<sup>f</sup>* = 1; in the worst case when one station's delay is dominant, i.e., *Di* >> *Dj*, for all *<sup>j</sup>* �= *<sup>i</sup>*, we have *<sup>f</sup>* ≈ 1/*<sup>N</sup>* (and

The fairness indices achieved by GR-PSMAC and GR-Limited-1 are plotted in Figs. 15 and 16. It can be observed that all the fairness index curves drops as the offered load is increased, indicating the negative effect of congestion on fairness performance. In most cases, the GR-PSMAC fairness index is above 80% even under very high offered load, except for one point in the On-Off traffic case. On the other hand, the GR-Limited-1 fairness index curves

For further insights, we plot the per station average delay for GR-PASMAC and GR-Limited-1 under the non-uniform Bernoulli traffic in Fig. 17. We focus on the knee point when the offered load is 60%. It can be seen that with GR-PSMAC, every station has an average delay

drop to around 30% when the offered load exceeds 60% under both traffic patterns.

<sup>1</sup> <sup>+</sup> *<sup>D</sup>*<sup>2</sup>

<sup>2</sup> <sup>+</sup> ··· <sup>+</sup> *<sup>D</sup>*<sup>2</sup>

*N*) ,

http://dx.doi.org/10.5772/53772

39

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

5.2.1.2. Fairness

*f* = 0 as *N* → ∞).

GR-PSMAC GR-Limited-1

**Figure 15.** Fairness performance under non-uniform i.i.d. Bernoulli traffic: ad hoc mode.

defined in [20]. For a system wit *N* stations, the fairness index is:

Fairness Index

**Figure 13.** Average frame delay under uniform i.i.d. Bernoulli traffic: ad hoc mode.

**Figure 14.** Average frame delay under uniform On-Off bursty traffic: ad hoc mode.

identical to the offered load. However, the normalized throughput saturates at about 40% when GR-Limited-1 is used in both Bernoulli and On-Off traffic cases, indicating congestion when the offered load exceeds 40%. On the other hand, the GR-PSMAC throughput keeps increasing even when the offered load is close to 100%. The maximum throughput of GR-PSMAC is about twice as high as that of GR-Limited-1.

We next evaluated the the frame delay under the same setup as in Fig. 8. The average delay for successfully received DATA frames are plotted in Figs. 13 and 14 for the uniform Bernoulli and On-Off traffic models, respectively. It can be seen that the GR-PSMAC delay is consistently much lower than the GR-Limited-1 delay for the entire range of offered loads. Under uniform Bernoulli traffic, the GR-PSMAC delay is only 37.16% of the GR-Limited-1 delay when the offered load is 98%. Under uniform On-Off bursty traffic, the GR-PSMAC delay is only 23.86% of the GR-Limited-1 delay when the offered load is 81.5%.

**Figure 15.** Fairness performance under non-uniform i.i.d. Bernoulli traffic: ad hoc mode.

#### 5.2.1.2. Fairness

16 Mobile Ad-Hoc Networks

Delay (s)

Delay (s)

GR-PSMAC GR-Limited-1

**Figure 13.** Average frame delay under uniform i.i.d. Bernoulli traffic: ad hoc mode.

GR-PSMAC GR-Limited-1

**Figure 14.** Average frame delay under uniform On-Off bursty traffic: ad hoc mode.

GR-PSMAC is about twice as high as that of GR-Limited-1.

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

Offerred Load

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

Offerred Load

identical to the offered load. However, the normalized throughput saturates at about 40% when GR-Limited-1 is used in both Bernoulli and On-Off traffic cases, indicating congestion when the offered load exceeds 40%. On the other hand, the GR-PSMAC throughput keeps increasing even when the offered load is close to 100%. The maximum throughput of

We next evaluated the the frame delay under the same setup as in Fig. 8. The average delay for successfully received DATA frames are plotted in Figs. 13 and 14 for the uniform Bernoulli and On-Off traffic models, respectively. It can be seen that the GR-PSMAC delay is consistently much lower than the GR-Limited-1 delay for the entire range of offered loads. Under uniform Bernoulli traffic, the GR-PSMAC delay is only 37.16% of the GR-Limited-1 delay when the offered load is 98%. Under uniform On-Off bursty traffic, the GR-PSMAC

delay is only 23.86% of the GR-Limited-1 delay when the offered load is 81.5%.

A common myth about gated or exhaustive polling service is that although the throughput/delay performance are superior, the fairness performance may not be good, since a heavily loaded node could use a larger fraction of the link capacity. To validate this common belief, we next examine the fairness performance with a non-uniform traffic pattern, as illustrated in Fig. 9. In this setting, the link from station 1 to station 2 takes 85% of the offered load, while the other 3 links share the remaining 15% offered load. Both the i.i.d. Bernoulli traffic and On-Off bursty traffic models are tested. We use the fairness index defined in [20]. For a system wit *N* stations, the fairness index is:

$$f(D\_1, D\_2, \cdots, D\_N) = \frac{(D\_1 + D\_2 + \cdots + D\_N)^2}{N(D\_1^2 + D\_2^2 + \cdots + D\_N^2)},$$

where *Di* is the average delay for the frames transmitted by station *<sup>i</sup>*, for *<sup>i</sup>* = 1, 2, ··· , *<sup>N</sup>*. It can be verified that *f* is always between zero and one. In the fairest case, all the nodes have the same average delay, i.e., *<sup>D</sup>*<sup>1</sup> = *<sup>D</sup>*<sup>2</sup> = ··· = *DN*, and we have *<sup>f</sup>* = 1; in the worst case when one station's delay is dominant, i.e., *Di* >> *Dj*, for all *<sup>j</sup>* �= *<sup>i</sup>*, we have *<sup>f</sup>* ≈ 1/*<sup>N</sup>* (and *f* = 0 as *N* → ∞).

The fairness indices achieved by GR-PSMAC and GR-Limited-1 are plotted in Figs. 15 and 16. It can be observed that all the fairness index curves drops as the offered load is increased, indicating the negative effect of congestion on fairness performance. In most cases, the GR-PSMAC fairness index is above 80% even under very high offered load, except for one point in the On-Off traffic case. On the other hand, the GR-Limited-1 fairness index curves drop to around 30% when the offered load exceeds 60% under both traffic patterns.

For further insights, we plot the per station average delay for GR-PASMAC and GR-Limited-1 under the non-uniform Bernoulli traffic in Fig. 17. We focus on the knee point when the offered load is 60%. It can be seen that with GR-PSMAC, every station has an average delay

*5.2.2. Performance under LRD Traffic: Ad Hoc Mode*

network system performance.

*5.2.3. Performance in the AP Mode*

and control.

than that of the SRD case shown in Fig. 16.

In addition to i.i.d. Bernoulli and On-Off bursty traffic models, we also investigate the testbed performance under the LRD traffic model. It has been well known that computer data and VBR video traffic are *self-similar*, with Hurst parameters ranging from 0.5 to 1.0 [19]. For such traffic type, the class of SRD traffic models are inadequate to capture the complex autocorrelation structure. We adopt the On-Off traffic model with Pareto distributed on/off periods, which is an accurate model for LRD sources. By tuning the average duration of the

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

41

The simulation results with the LRD sources are presented in Figs. 18, 19, and 20. These results are obtained with the same topology and setting as the previous experiments, except that the traffic source is now the LRD source. In general, all the performance curves with the LRD sources have the same trend as those in the SRD case, and significant performance gains in throughput, delay and fairness are achieved by GR-PSMAC over GR-Limited-1.

Furthermore, GR-Limited-1 has worse performance under LRD traffic than that under SRD traffic. In Fig. 18, the throughput becomes saturated when the offered load exceeds 30%, which is earlier than the 40% offered load in the SRD case. The saturated throughput is 30%, which is also lower than the 40% saturated throughput in the SRD case. In Fig. 19, the SRD delay starts to diverge before the offered load reaches 30%, which is earlier than the SRD case in Fig. 14. When the offered load is 50%, for example, the GR-Limited-1 achieves an average delay of 76 s in the LRD case, a big increase from 25 s in the SRD case. In Fig. 20, the LRD fairness performance of GR-Limited-1 is similar to that in the SRD case, although the fairness index in the high offered load range is slightly lower than that in the SRD case. Such performance degradation clearly demonstrate the negative impact of LRD traffic on the

On the other hand, we do not observe any performance degradation when the traffic sources are LRD. For example, the throughput curve in Fig. 18 is similar to that in Fig. 12, and the delay curve in Fig. 19 is also similar to that in Fig. 14, for the range of offered load examined. In Fig. 20, the GR-PSMAC fairness indices are all higher than 0.9, which is slightly better

Under LRD sources, it is more likely that the backlogged frames are concentrated in a small number of virtual queues. With gated service, such backlogged virtual queues can be quickly cleared out during one service period. Therefore GR-PSMAC is more effective in support LRD traffic, which has high rate variations and are generally very difficult to management

Finally, we examine the performance of GR-PASMAC with an infrastructure-based wireless network topology. As shown in Fig. 10, one station is configured to operate as the AP and the remaining three stations WLAN nodes that communicate with each other through the AP. With PSMAC, each WLAN node maintains a single outgoing queue, since the field of next hop address in all outgoing frame header is fixed to the address of the AP. The AP buffers the incoming packets in three different virtual queues, one for each of the WLAN nodes. We configure a nonuniform traffic pattern and use the On-Off burst traffic model for this star topology. Specifically, the traffic flow from station 1 to station 2 takes 30% of the offered load,

off periods, the LRD process has a Hurst parameter of 0.7 for the experiments.

**Figure 16.** Fairness performance under non-uniform On-Off bursty traffic: ad hoc mode.

**Figure 17.** Average delay for each station under non-uniform i.i.d. Bernoulli traffic when the offered load is 60%: ad hoc mode.

smaller than 4 s. Although station 1 is transmitting at a rate 17 times as high as that of the other three stations, their average delays are close to each other, ranging between [1.60 s, 3.40 s]. Under GR-Limited-1, the heavily loaded station 1 has an average delay of 47.29 s, while the other three lightly loaded nodes have much lower average delays (all less than 14 s). GR-PASMAC achieves not only lower per station average delay than GR-Limited-1, but also more evenly distributed average delays among the stations than GR-Limited-1.

Therefore, the use of gated service in GR-PSMAC does not result in poor fairness. On the contrary, it achieves better fairness performance than limited-1 based schemes. This is largely due to the high efficiency and greatly reduced control overhead of PSMAC. All the virtual queues are efficiently served. The benefit introduced by gated service to a heavily loaded station does not significantly increase the delays of other lightly loaded nodes.

## *5.2.2. Performance under LRD Traffic: Ad Hoc Mode*

18 Mobile Ad-Hoc Networks

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

mode.

Avarege Node Delay (s)

GR-PSMAC GR-Limited-1

**Figure 16.** Fairness performance under non-uniform On-Off bursty traffic: ad hoc mode.

Fairness Index

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> <sup>0</sup>

Offerred Load

GR-PSMAC GR-Limited-1

<sup>1</sup> <sup>2</sup> <sup>3</sup> <sup>4</sup> <sup>0</sup>

Node Index

**Figure 17.** Average delay for each station under non-uniform i.i.d. Bernoulli traffic when the offered load is 60%: ad hoc

smaller than 4 s. Although station 1 is transmitting at a rate 17 times as high as that of the other three stations, their average delays are close to each other, ranging between [1.60 s, 3.40 s]. Under GR-Limited-1, the heavily loaded station 1 has an average delay of 47.29 s, while the other three lightly loaded nodes have much lower average delays (all less than 14 s). GR-PASMAC achieves not only lower per station average delay than GR-Limited-1, but

Therefore, the use of gated service in GR-PSMAC does not result in poor fairness. On the contrary, it achieves better fairness performance than limited-1 based schemes. This is largely due to the high efficiency and greatly reduced control overhead of PSMAC. All the virtual queues are efficiently served. The benefit introduced by gated service to a heavily loaded

also more evenly distributed average delays among the stations than GR-Limited-1.

station does not significantly increase the delays of other lightly loaded nodes.

In addition to i.i.d. Bernoulli and On-Off bursty traffic models, we also investigate the testbed performance under the LRD traffic model. It has been well known that computer data and VBR video traffic are *self-similar*, with Hurst parameters ranging from 0.5 to 1.0 [19]. For such traffic type, the class of SRD traffic models are inadequate to capture the complex autocorrelation structure. We adopt the On-Off traffic model with Pareto distributed on/off periods, which is an accurate model for LRD sources. By tuning the average duration of the off periods, the LRD process has a Hurst parameter of 0.7 for the experiments.

The simulation results with the LRD sources are presented in Figs. 18, 19, and 20. These results are obtained with the same topology and setting as the previous experiments, except that the traffic source is now the LRD source. In general, all the performance curves with the LRD sources have the same trend as those in the SRD case, and significant performance gains in throughput, delay and fairness are achieved by GR-PSMAC over GR-Limited-1.

Furthermore, GR-Limited-1 has worse performance under LRD traffic than that under SRD traffic. In Fig. 18, the throughput becomes saturated when the offered load exceeds 30%, which is earlier than the 40% offered load in the SRD case. The saturated throughput is 30%, which is also lower than the 40% saturated throughput in the SRD case. In Fig. 19, the SRD delay starts to diverge before the offered load reaches 30%, which is earlier than the SRD case in Fig. 14. When the offered load is 50%, for example, the GR-Limited-1 achieves an average delay of 76 s in the LRD case, a big increase from 25 s in the SRD case. In Fig. 20, the LRD fairness performance of GR-Limited-1 is similar to that in the SRD case, although the fairness index in the high offered load range is slightly lower than that in the SRD case. Such performance degradation clearly demonstrate the negative impact of LRD traffic on the network system performance.

On the other hand, we do not observe any performance degradation when the traffic sources are LRD. For example, the throughput curve in Fig. 18 is similar to that in Fig. 12, and the delay curve in Fig. 19 is also similar to that in Fig. 14, for the range of offered load examined. In Fig. 20, the GR-PSMAC fairness indices are all higher than 0.9, which is slightly better than that of the SRD case shown in Fig. 16.

Under LRD sources, it is more likely that the backlogged frames are concentrated in a small number of virtual queues. With gated service, such backlogged virtual queues can be quickly cleared out during one service period. Therefore GR-PSMAC is more effective in support LRD traffic, which has high rate variations and are generally very difficult to management and control.

#### *5.2.3. Performance in the AP Mode*

Finally, we examine the performance of GR-PASMAC with an infrastructure-based wireless network topology. As shown in Fig. 10, one station is configured to operate as the AP and the remaining three stations WLAN nodes that communicate with each other through the AP. With PSMAC, each WLAN node maintains a single outgoing queue, since the field of next hop address in all outgoing frame header is fixed to the address of the AP. The AP buffers the incoming packets in three different virtual queues, one for each of the WLAN nodes. We configure a nonuniform traffic pattern and use the On-Off burst traffic model for this star topology. Specifically, the traffic flow from station 1 to station 2 takes 30% of the offered load,

**Figure 18.** Normalized throughput under uniform LRD traffic: ad hoc mode.

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

43

Offerred Load

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

Offerred Load

20%, to about 0.4 for the high offered load region. All these AP results are consistent with

We further plot the average backlog length of the virtual queues at the AP in Fig. 24. The offered load is 60%. The *i*th virtual queue stores frames to be transmitted by the AP to the *i*th WLAN node. The average virtual queue backlogs for GR-PSMAC are 10.4, 25.5, and 2.3, while the GR-Limited-1 virtual queue backlogs are 78.5, 462.8, and 86.9. Clearly, the gate service incorporated in PSMAC is much more effective in clearing the backlogs at the AP node. The high efficiency of GR-PSMAC brings about significant benefits to alleviate

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

those for the ad hoc topology.

congestion at the wireless hotspot.

Throughput

GR-PSMAC GR-Limited-1

**Figure 20.** Fairness performance under non-uniform LRD traffic: ad hoc mode.

GR-PSMAC GR-Limited-1

**Figure 21.** Normalized throughput with On-Off bursty non-uniform traffic: AP mode.

Fairness Index

**Figure 19.** Average frame delay under uniform LRD traffic: ad hoc mode.

while the traffic flow from station 2 to station 3 and the traffic flow from station 3 to station 1 takes 10% of the offered load, respectively. Since the AP relays traffic, each frame will be transmitted twice. This scenario can also represents a multihop wireless topology, in which all the none-AP nodes are two hops from each other, and the AP becomes a hotspot of the multihop network.

In Fig. 21, we plot the normalized throughput for the AP topology. We observed that GR-PSMAC still achieves considerably higher throughput under different offered loads, while the throughput of GR-Limited-1 becomes saturated when the offered load exceeds 40%. The average frame delays are plotted in Fig. 22. It can be observed that the GR-PSMAC delays are consistent with the previous experiments, while the GR-Limited-1 delay shoots up when the offered load exceeds 30%. In Fig. 23, the GR-PSMAC fairness indices are constantly above 0.8, while the GR-Limited-1 fairness index curve drops when the offered load exceeds

**Figure 20.** Fairness performance under non-uniform LRD traffic: ad hoc mode.

20 Mobile Ad-Hoc Networks

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

20

multihop network.

**Figure 19.** Average frame delay under uniform LRD traffic: ad hoc mode.

40

60

80

Delay (s)

100

120

140

**Figure 18.** Normalized throughput under uniform LRD traffic: ad hoc mode.

GR-PSMAC GR-Limited-1

Throughput

GR-PSMAC GR-Limited-1

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

Offerred Load

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

Offerred Load

while the traffic flow from station 2 to station 3 and the traffic flow from station 3 to station 1 takes 10% of the offered load, respectively. Since the AP relays traffic, each frame will be transmitted twice. This scenario can also represents a multihop wireless topology, in which all the none-AP nodes are two hops from each other, and the AP becomes a hotspot of the

In Fig. 21, we plot the normalized throughput for the AP topology. We observed that GR-PSMAC still achieves considerably higher throughput under different offered loads, while the throughput of GR-Limited-1 becomes saturated when the offered load exceeds 40%. The average frame delays are plotted in Fig. 22. It can be observed that the GR-PSMAC delays are consistent with the previous experiments, while the GR-Limited-1 delay shoots up when the offered load exceeds 30%. In Fig. 23, the GR-PSMAC fairness indices are constantly above 0.8, while the GR-Limited-1 fairness index curve drops when the offered load exceeds

**Figure 21.** Normalized throughput with On-Off bursty non-uniform traffic: AP mode.

20%, to about 0.4 for the high offered load region. All these AP results are consistent with those for the ad hoc topology.

We further plot the average backlog length of the virtual queues at the AP in Fig. 24. The offered load is 60%. The *i*th virtual queue stores frames to be transmitted by the AP to the *i*th WLAN node. The average virtual queue backlogs for GR-PSMAC are 10.4, 25.5, and 2.3, while the GR-Limited-1 virtual queue backlogs are 78.5, 462.8, and 86.9. Clearly, the gate service incorporated in PSMAC is much more effective in clearing the backlogs at the AP node. The high efficiency of GR-PSMAC brings about significant benefits to alleviate congestion at the wireless hotspot.

<sup>1</sup> <sup>2</sup> <sup>3</sup> <sup>0</sup>

**Figure 24.** Virtual Queue lengths at the AP with On-Off bursty non-uniform traffic when the offered load is 60%: AP mode.

(HCCA), the HC (Hybrid Coordinator, i.e., the AP) can assign Transmit Opportunities (TXOP) to a station, to allow the station send multiple frames in a row. This is a centralized approach originally designed to support real-time applications with regular traffic patterns, but the specific service discipline or algorithm for determining how many TXOPs to assign to a node, are not specified. In addition, a centralized controller is required to poll the secondary nodes, which is different from the random access and fully distributed approach

GNU Radio/USRP is a popular platform for prototyping wireless systems. In [31], the authors discuss the general implementation issues of the prototyping of wireless systems with USRP and GNU Radio. A main branch of prototyping works focus on the PHY, due to the configurable signal processing ability offered by GNU Radio [32–40]. In [32], an implementation of a MIMO PHY is reported. In [33], the authors developed a new wireless carrier sensing approach termed *LinkSense* to obtain fine-grain indications of channel activity. *LinkSense* utilizes a few OFDM subcarriers for conveying the link signature in each symbol, enabling sensing of active links at any time instant. The feasibility of *LinkSense* is then demonstrated on the GNU Radio/USRP platform with an OFDM implementation. In [34], the authors presented a software-defined IEEE 802.11b receiver and channel impulse response (CIR) measurement system. A USRP and GNU Radio testbed is designed to validate the CIR measurement system. The match filters are implemented in FPGA, while the Python

In [35], the authors verify a multihop, multirate adaptation mechanism with a small scale USRP/GNU Radio-based testbed, while in [36], an implementation of Angle-of-arrival-assisted Relative Interferometric (ARI) RADAR transceiver is proposed based on GNU Radio and USRP. In [37], USRP, GNU Radio and OSSIE [41] are integrated to prove the concept of Government Reference Architecture (GRA), which is a standard for establishing a modular open system architecture for a family of Above 2GHz (A2G) Tactical Military Satellite Communications (MILSATCOM) terminals operating over several radio frequency bands. In [38], a cooperative communication testbed for both single-relay cooperation and multi-relay cooperation was reported based on GNU Radio and USRP2.

code collects data from the USB, demodulates the packet, and records results.

AP Queue Index

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

GR-PSMAC GR-Limited-1

http://dx.doi.org/10.5772/53772

45

taken in this work.

Queue Length (packets)

**Figure 22.** Average frame delay with On-Off bursty non-uniform traffic: AP mode.

**Figure 23.** Fairness performance with On-Off bursty non-uniform traffic: AP mode.

#### **6. Related work**

This work is closely related to the research effort on improving the efficiency of MAC protocols. There are many techniques that exploit new capabilities of the wireless system to achieve this goal, such as adopting downlink MIMO (DL MIMO) [21], exploiting new spectrum allocation [22–24], exploiting spectrum opportunities in underutilized licensed band [25, 26], and exploit location information to schedule concurrent transmissions [27– 29]. Exploiting efficient scheduling of the transmissions is a useful approach that is complimentary to the above techniques.

In particular, PSMAC that incorporates gated or exhaustive services was first introduced in [8, 9]. Limited-*k* service was used in the CM MAC [30], where *k* is equal to the *concatenated threshold*. In IEEE 802.11e HCF (hybrid coordination function) controlled channel access 22 Mobile Ad-Hoc Networks

10

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

complimentary to the above techniques.

**6. Related work**

Fairness Index

20

30

40

Delay (s)

50

60

70

GR-PSMAC GR-Limited-1

**Figure 22.** Average frame delay with On-Off bursty non-uniform traffic: AP mode.

GR-PSMAC GR-Limited-1

**Figure 23.** Fairness performance with On-Off bursty non-uniform traffic: AP mode.

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

Offerred Load

<sup>0</sup> 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 <sup>1</sup> <sup>0</sup>

Offerred Load

This work is closely related to the research effort on improving the efficiency of MAC protocols. There are many techniques that exploit new capabilities of the wireless system to achieve this goal, such as adopting downlink MIMO (DL MIMO) [21], exploiting new spectrum allocation [22–24], exploiting spectrum opportunities in underutilized licensed band [25, 26], and exploit location information to schedule concurrent transmissions [27– 29]. Exploiting efficient scheduling of the transmissions is a useful approach that is

In particular, PSMAC that incorporates gated or exhaustive services was first introduced in [8, 9]. Limited-*k* service was used in the CM MAC [30], where *k* is equal to the *concatenated threshold*. In IEEE 802.11e HCF (hybrid coordination function) controlled channel access

**Figure 24.** Virtual Queue lengths at the AP with On-Off bursty non-uniform traffic when the offered load is 60%: AP mode.

(HCCA), the HC (Hybrid Coordinator, i.e., the AP) can assign Transmit Opportunities (TXOP) to a station, to allow the station send multiple frames in a row. This is a centralized approach originally designed to support real-time applications with regular traffic patterns, but the specific service discipline or algorithm for determining how many TXOPs to assign to a node, are not specified. In addition, a centralized controller is required to poll the secondary nodes, which is different from the random access and fully distributed approach taken in this work.

GNU Radio/USRP is a popular platform for prototyping wireless systems. In [31], the authors discuss the general implementation issues of the prototyping of wireless systems with USRP and GNU Radio. A main branch of prototyping works focus on the PHY, due to the configurable signal processing ability offered by GNU Radio [32–40]. In [32], an implementation of a MIMO PHY is reported. In [33], the authors developed a new wireless carrier sensing approach termed *LinkSense* to obtain fine-grain indications of channel activity. *LinkSense* utilizes a few OFDM subcarriers for conveying the link signature in each symbol, enabling sensing of active links at any time instant. The feasibility of *LinkSense* is then demonstrated on the GNU Radio/USRP platform with an OFDM implementation. In [34], the authors presented a software-defined IEEE 802.11b receiver and channel impulse response (CIR) measurement system. A USRP and GNU Radio testbed is designed to validate the CIR measurement system. The match filters are implemented in FPGA, while the Python code collects data from the USB, demodulates the packet, and records results.

In [35], the authors verify a multihop, multirate adaptation mechanism with a small scale USRP/GNU Radio-based testbed, while in [36], an implementation of Angle-of-arrival-assisted Relative Interferometric (ARI) RADAR transceiver is proposed based on GNU Radio and USRP. In [37], USRP, GNU Radio and OSSIE [41] are integrated to prove the concept of Government Reference Architecture (GRA), which is a standard for establishing a modular open system architecture for a family of Above 2GHz (A2G) Tactical Military Satellite Communications (MILSATCOM) terminals operating over several radio frequency bands. In [38], a cooperative communication testbed for both single-relay cooperation and multi-relay cooperation was reported based on GNU Radio and USRP2. The significant performance enhancement for link reliability and end-to-end throughput of cooperative transmissions were observed. In addition, USRP and GNU Radio are also used to facilitate the prototype of RF front-end hardware. In [39], an RF front-end with 50 MHz – 2.5 GHz frequency range is designed and tested.

The processor defines the programming interface through actions, events and conditions to support full-custom MAC protocol programming. The effectiveness of the wireless MAC processor are evaluated by AirForce54G chipset and proved that the processor can

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

47

In this book chapter, we presented the design and implementation of PSMAC, a gated service based MAC protocol, as well as a limited-1 based IEEE 802.11 DCF like MAC for comparison purpose. The testbed was developed on the GNU Radio/USRP platform. We discussed related design issues on the prototyping process. In addition, we also presented extensive experimental results under various traffic models and traffic patterns. The experimental study validated the analysis and simulation studies presented in our prior work, and demonstrated the advantages of PSMAC under a realistic wireless network setting. In future, it would be interesting to extend this work by integrating the PSMACs into IEEE 802.11 framework, such as *mac802.11* framework [54] and *Madwifi* [55] in Linux kernel, for a realistic

This work is supported in part by the US National Science Foundation (NSF) under Grants ECCS-0802113 and DUE-1044021, and through the NSF Wireless Internet Center for Advanced Technology at Auburn University. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily

1 Department of Electrical and Computer Engineering, Auburn University, Auburn, AL, USA

[1] IEEE. Wireless LAN media access control (MAC) and physical layer (PHY)

[2] IEEE. Part 11, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Amendment 5: Enhancements for Higher Throughput, Oct. 2009. IEEE

[3] IEEE. Part 11, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Medium Access Control (MAC) Enhancements for Quality of Service

be implemented over an ultra-cheap commodity WLAN card.

**7. Conclusion and future directions**

addition to the industrial wireless MAC standard.

**Acknowledgements**

**Author details**

**References**

reflect the views of the foundation.

Yingsong Huang1, Philip A. Walsh2,

2 QUALCOMM Inc., San Diego, CA, USA

(QoS), July 2003. ANSI/IEEE Std 802.11e, Draft 5.0.

Shiwen Mao<sup>1</sup> and Yihan Li<sup>1</sup>

specifications, 2007.

Std 802.11n.

Due to the flexibility and full accessibility to the PHY and MAC, GNU Radio/USRP platform has been used to prototype MAC protocols that exploit PHY features [42–46]. The Hydra project [42] is a flexible wireless network testbed developed at UT Austin. The project exploits the Click modular router [47], GNU Radio, and C++ codes to prototype a cross-layer design of a rate adaptive MAC protocol. CoopMAC [43] is a programmable cooperative communication testbed developed at Polytechnic Institute of NYU. The testbed implements cooperative protocols in both PHY and MAC layers on the GNU Radio/USRP platform. The testbed experiment results verified significant benefits of cooperation in wireless networks. In [44], a load-adaptive MAC protocol is designed that switches between CDMA and TDMA based on traffic loads. Its performance is evaluated with a MIMO MANET testbed implemented with USRP based SDR nodes. In [45], the authors studied the performance of the IEEE 802.11 MAC under channel-oblivious and channel-aware jamming by theoretical analysis and extensive simulations via a GNU Radio/USRP testbed. An 802.11b ad hoc network with UDP traffic flows is established, where the sender, the receiver and the jammer are all implemented with USRP and GNU Radio. In [46], Dhar et al. presented a simple framework for joint design of MAC and PHY layers with the GNU Radio and Click platform. In [47], a software framework is presented, in which GNU Radio functions are encapsulated as a single Click element to provide PHY layer functionality. Due to the primarily goal of GNU Radio for supporting signal processing, the functions of MAC protocol are not fully supported. One of the main concern in MAC prototyping is precise timing in carrier sensing. The latency of GNU Radio/USRP brings about a significant challenge for high speed data rates. This issue is is analyzed in [16], among others. The transmit and receive latencies were evaluated and the impact on network performance was characterized under an IEEE 802.15.4 implementation.

As the interest in Cognitive Radio (CR) networks increases, GNU Radio/USRP has become popular in developing CR systems [48–51]. In [48], an adaptive interference avoidance Transform-domain Communication System (TDCS) based cognitive radio was demonstrated. In [49], GNU Radio/USRP is used to set up a testbed for service discovery and device identification in CR networks, which may achieve better spectral efficiency and also enhance wireless security. In [50], a cognitive receiver is designed, which includes a universal classifier, synchronizer, and demodulator. The performance is verified with the GNU Radios/USRP platform together with MATLAB-enabled Anritsu MS2781A Signature Signal Analyzer. In [51], the authors implemented an adaptive spectrum sensing scheme that exploits primary network traffic information with GNU Radio/USRP. USRP is shown to be amenable to implementing spectrum sensing algorithms.

In this book chapter, we focus on the fast prototyping of the PSMACs to evaluate the performance under the realistic wireless channels and networks. It could be possible to extend this work to more efficient industrial product by the recently developed frameworks. For example, besides GNU Radio and USPR, FPGA-based software radio platform, such as Airblue [52] was also designed to support high performance wireless protocols and cross-layer experiments. A very recent study promotes the wireless MAC processor concept [53], which provides engines for reconfigurable MAC protocol implementation. The processor defines the programming interface through actions, events and conditions to support full-custom MAC protocol programming. The effectiveness of the wireless MAC processor are evaluated by AirForce54G chipset and proved that the processor can be implemented over an ultra-cheap commodity WLAN card.

## **7. Conclusion and future directions**

In this book chapter, we presented the design and implementation of PSMAC, a gated service based MAC protocol, as well as a limited-1 based IEEE 802.11 DCF like MAC for comparison purpose. The testbed was developed on the GNU Radio/USRP platform. We discussed related design issues on the prototyping process. In addition, we also presented extensive experimental results under various traffic models and traffic patterns. The experimental study validated the analysis and simulation studies presented in our prior work, and demonstrated the advantages of PSMAC under a realistic wireless network setting. In future, it would be interesting to extend this work by integrating the PSMACs into IEEE 802.11 framework, such as *mac802.11* framework [54] and *Madwifi* [55] in Linux kernel, for a realistic addition to the industrial wireless MAC standard.

## **Acknowledgements**

24 Mobile Ad-Hoc Networks

implementation.

2.5 GHz frequency range is designed and tested.

The significant performance enhancement for link reliability and end-to-end throughput of cooperative transmissions were observed. In addition, USRP and GNU Radio are also used to facilitate the prototype of RF front-end hardware. In [39], an RF front-end with 50 MHz –

Due to the flexibility and full accessibility to the PHY and MAC, GNU Radio/USRP platform has been used to prototype MAC protocols that exploit PHY features [42–46]. The Hydra project [42] is a flexible wireless network testbed developed at UT Austin. The project exploits the Click modular router [47], GNU Radio, and C++ codes to prototype a cross-layer design of a rate adaptive MAC protocol. CoopMAC [43] is a programmable cooperative communication testbed developed at Polytechnic Institute of NYU. The testbed implements cooperative protocols in both PHY and MAC layers on the GNU Radio/USRP platform. The testbed experiment results verified significant benefits of cooperation in wireless networks. In [44], a load-adaptive MAC protocol is designed that switches between CDMA and TDMA based on traffic loads. Its performance is evaluated with a MIMO MANET testbed implemented with USRP based SDR nodes. In [45], the authors studied the performance of the IEEE 802.11 MAC under channel-oblivious and channel-aware jamming by theoretical analysis and extensive simulations via a GNU Radio/USRP testbed. An 802.11b ad hoc network with UDP traffic flows is established, where the sender, the receiver and the jammer are all implemented with USRP and GNU Radio. In [46], Dhar et al. presented a simple framework for joint design of MAC and PHY layers with the GNU Radio and Click platform. In [47], a software framework is presented, in which GNU Radio functions are encapsulated as a single Click element to provide PHY layer functionality. Due to the primarily goal of GNU Radio for supporting signal processing, the functions of MAC protocol are not fully supported. One of the main concern in MAC prototyping is precise timing in carrier sensing. The latency of GNU Radio/USRP brings about a significant challenge for high speed data rates. This issue is is analyzed in [16], among others. The transmit and receive latencies were evaluated and the impact on network performance was characterized under an IEEE 802.15.4

As the interest in Cognitive Radio (CR) networks increases, GNU Radio/USRP has become popular in developing CR systems [48–51]. In [48], an adaptive interference avoidance Transform-domain Communication System (TDCS) based cognitive radio was demonstrated. In [49], GNU Radio/USRP is used to set up a testbed for service discovery and device identification in CR networks, which may achieve better spectral efficiency and also enhance wireless security. In [50], a cognitive receiver is designed, which includes a universal classifier, synchronizer, and demodulator. The performance is verified with the GNU Radios/USRP platform together with MATLAB-enabled Anritsu MS2781A Signature Signal Analyzer. In [51], the authors implemented an adaptive spectrum sensing scheme that exploits primary network traffic information with GNU Radio/USRP. USRP is shown to

In this book chapter, we focus on the fast prototyping of the PSMACs to evaluate the performance under the realistic wireless channels and networks. It could be possible to extend this work to more efficient industrial product by the recently developed frameworks. For example, besides GNU Radio and USPR, FPGA-based software radio platform, such as Airblue [52] was also designed to support high performance wireless protocols and cross-layer experiments. A very recent study promotes the wireless MAC processor concept [53], which provides engines for reconfigurable MAC protocol implementation.

be amenable to implementing spectrum sensing algorithms.

This work is supported in part by the US National Science Foundation (NSF) under Grants ECCS-0802113 and DUE-1044021, and through the NSF Wireless Internet Center for Advanced Technology at Auburn University. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the foundation.

## **Author details**

Yingsong Huang1, Philip A. Walsh2, Shiwen Mao<sup>1</sup> and Yihan Li<sup>1</sup>

1 Department of Electrical and Computer Engineering, Auburn University, Auburn, AL, USA 2 QUALCOMM Inc., San Diego, CA, USA

## **References**


[4] Bluetooth Special Interest Group, "Specification of the Bluetooth system," Nov. 2003, version 1.2. [online]. Available: http://www.bluetooth.com.

[19] K. Park. The Internet as a complex system. In K. Park and W. Willinger, editors, *SFI Studies in the Sciences of Complexity*, chapter 1. Oxford University Press, Oxford, UK,

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

49

[20] R. Jain, D.M. Chiu, and W. Hawe. A quantitative measure of fairness and discrimination for resource allocation in shared systems, 1984. DEC Research Report TR-301.

[21] M. X. Gong, E. Perahia, R. J. Stacey, Want R, and Mao S. A CSMA/CA MAC protocol for multi-user MIMO wireless LANs. In *Proc. IEEE GLOBECOM 2010*, pages 1–6, Miami,

[22] M. X. Gong, R. J. Stacey, D. Akhmetov, and S. Mao. Performance analysis of a directional CSMA/CA protocol for mmWave wireless PANs. In *Proc. IEEE WCNC 2010*, pages 1–6,

[23] M. X. Gong, D. Akhmetov, R. Want, and S. Mao. Directional CSMA/CA protocol with spatial reuse for mmWave wireless networks. In *Proc. IEEE GLOBECOM 2010*, pages

[24] I. K. Son, S. Mao, M. X. Gong, and Y. Li. On frame-based scheduling for directional mmWave WPANs. In *Proc. IEEE INFOCOM 2012*, pages 2149–2157, Orlando, FL, Mar.

[25] D. Hu and S. Mao. Design and analysis of a sensing error-aware MAC protocol for cognitive radio networks. In *Proc. IEEE GLOBECOM 2009*, pages 5514–5519, Honolulu,

[26] D. Hu and S. Mao. A sensing error aware MAC protocol for cognitive radio networks. *ICST Transactions on Mobile Communications and Applications*, 1(1), 2012. to appear.

[27] S.-M. Hur, S. Mao, Y. T. Hou, K. Nam, and J. H. Reed. On exploiting location information for concurrent transmission in multi-hop wireless networks. *IEEE Transactions on*

[28] I. K. Son, S. Mao, and S.-M. Hur. Medium access control for opportunistic concurrent transmissions under shadowing channels. *MDPI Sensors Journal*, 9(6):4824–4844, June

[29] S.-M. Hur, S. Mao, K. Nam, and J. H. Reed. On concurrent transmissions in multi-hop wireless networks with shadowing channels. In *Proc. IEEE ICC 2008*, pages 2662–2666,

[30] Y. Xiao. IEEE 802.11 performance enhancement via concatenation and piggyback

[31] D.C. Tucker and C.A. Tagliarini. Prototyping with GNU radio and the USRP - where to

[32] X. Li, W. Hu, H. Yousefi'zadeh, and A. Qureshi. A case study of a MIMO SDR implementation. In *Proc. IEEE MILCOM'08*, pages 1–7, San Diego, CA, Nov. 2008.

mechanisms. *IEEE Trans. Wireless Commun.*, 4(5):2182–2192, Sept. 2005.

begin. In *Proc. IEEE SOUTHEASTCON '09*, pages 50–54, Mar. 2009.

2005.

2012.

2009.

FL, Dec. 2010.

Sydney, Australia, Apr. 2010.

1–5, Miami, FL, Dec. 2010.

HI, Nov./Dec. 2009.

*Vehicular Technology*, 58(1):314–323, Jan. 2009.

Beijing, P.R. China, May 2008.


[19] K. Park. The Internet as a complex system. In K. Park and W. Willinger, editors, *SFI Studies in the Sciences of Complexity*, chapter 1. Oxford University Press, Oxford, UK, 2005.

26 Mobile Ad-Hoc Networks

Nov. 2008.

Jan./Mar. 2002.

com/downloads/.

May 2002.

Baltimore, MD, Nov. 2011.

http://warp.rice.edu/index.php.

gov/el/isd/ieee/ieee1588.cfm.

[4] Bluetooth Special Interest Group, "Specification of the Bluetooth system," Nov. 2003,

[5] M. Ozdemir, D. Gu, A. B. McDonald, and J. Zhang. Enhancing MAC performance with a reverse direction protocol for high-capacity wireless LANs. In *Proc. VTC'06 Fall*, pages

[6] Y. Xiao and J. Rosdahl. Throughput and delay limits of IEEE 802.11. *IEEE Commun.*

[7] J. Li, C. Blake, D. D. Coute, H. Lee, and R. Morris. Capacity of ad hoc wireless networks.

[8] Y. Li, S. Mao, and S. Panwar. PSMAC: Polling service-based medium access control for wireless networks. In *Proc. WiOpt'07*, pages 1–10, Limassol, Cyprus, Apr. 2007.

[9] Y. Li, S. Mao, S. Panwar, and S. Midkiff. On the performance of distributed polling service-based medium access control. *IEEE Trans. Wireless Commun.*, 7(11):4635–4645,

[10] R. Bruno, M. Conti, and E. Gregori. Optimization of efficiency and energy consumption in p-persistent CSMA-based wireless LANs. *IEEE Trans. Mobile Computing*, 1(1):10–31,

[11] Y. Huang, P. Walsh, Y. Li, and S. Mao. A GNU radio testbed for distributed polling service-based medium access control. In *Proc. IEEE MILCOM 2011*, pages 519–524,

[13] Ettus Research LLC, "USRP family brochure." [online] Available: http://www.ettus.

[14] H. Takagi and L. Kleinrock. A tutorial on the analysis of polling systems. Computer

[15] Jeffrey H. Reed. *Software Radio: A Modern Approach to Radio Engineering*. Prentice Hall,

[16] T. Schmid, O. Sekkat, and M. Srivastava. An experimental study of network performance impact of increased latency in software defined radios. In *Proc.*

[17] WARP: Wireless Open-Access Research Platform, Rice University, [online] Available:

[18] IEEE. IEEE 1588TM-2002 standard for a precision clock synchronization protocol for networked measurement and control systems. [online] Available: http://www.nist.

[12] GNU Radio, [online] Available: http://www.gnu.org/software/gnuradio.

Science Department, UCLA, Tech. Rep. No. 850005, Feb. 1985.

*WinTECH'07*, pages 59–66, Montreal, Canada, Sept. 2007.

version 1.2. [online]. Available: http://www.bluetooth.com.

In *Proc. ACM MOBICOM'01*, pages 61–69, Rome, Italy, July 2001.

1–5, Montreal, Canada, Sept. 2006.

*Lett.*, 6(8):335–357, Aug. 2002.


[33] N. Santhapuri, R.R. Choudhury, and S. Nelakuditi. Link sense: beyond wireless carrier sensing. *IEEE Trans. Commun. Letters*, 15(4):470–472, Apr. 2011.

[46] R. Dhar, G. George, A. Malani, and P. Steenkiste. Supporting integrated MAC and PHY software development for the USRP SDR. In *Proc. 2006 1st IEEE Workshop on Networking*

A Distributed Polling Service-Based Medium Access Control Protocol: Prototyping and Experimental Validation

http://dx.doi.org/10.5772/53772

51

[47] E. Kohler, R. Morris, B. Chen, J. Jannotti, and M.F. Kaashoek. The Click modular router.

[48] R. Zhou, Q. Han, R. Cooper, V. Chakravarthy, and Z. Wu. A software defined radio based adaptive interference avoidance TDCS cognitive radio. In *Proc. IEEE ICC'10*, pages

[49] R. Miller, W. Xu, P. Kamat, and W. Trappe. Service discovery and device identification in cognitive radio networks. In *Proc. IEEE SECON'07*, pages 40–47, San Diego, CA, Jun.

[50] Q. Chen, Y. Wang, and C.W. Bostian. Universal classifier synchronizer demodulator. In

[51] X. Shi and R. de Francisco. Adaptive spectrum sensing for cognitive radios: an experimental approach. In *Proc. IEEE WCNC'11*, pages 1408–1413, Quintana-Roo,

[52] M. C. Ng, K. E. Fleming, M. Vutukuru, S. Gross, A. Arvind, and H. Balakrishnan. Airblue: A system for cross-layer wireless protocol development. In *Proc. ANCS'10*,

[53] I. Tinnirello, G. Bianchi, P. Gallo, D. Garlisi, F. Giuliano, and F. Gringoli. Wireless MAC processors: programming MAC protocols on commodity hardare. In *Proc. IEEE*

*Technologies for Software Defined Radio Networks*, pages 68–77, Sept. 2006.

*ACM Trans. Comput. Syst.*, 18(3):263–297, Aug. 2000.

*Proc. IEEE IPCCC'08*, pages 366–371, Austin, TX, Dec. 2008.

*INFOCOM'12*, pages 1269–1277, Orlando, FL, Mar. 2012.

[54] Linux Wireless, [online]. Available: http://linuxwireless.org/.

[55] Madwifi Project, [online]. Available: http://madwifi-project.org/.

1–5, Cape Town, South Africa, May 2010.

2007.

Mexico, Mar. 2011.

pages 1–11, La Jolla, CA, Oct. 2010.


[46] R. Dhar, G. George, A. Malani, and P. Steenkiste. Supporting integrated MAC and PHY software development for the USRP SDR. In *Proc. 2006 1st IEEE Workshop on Networking Technologies for Software Defined Radio Networks*, pages 68–77, Sept. 2006.

28 Mobile Ad-Hoc Networks

Mar. 2010.

[33] N. Santhapuri, R.R. Choudhury, and S. Nelakuditi. Link sense: beyond wireless carrier

[34] D. Maas, M. Firooz, J. Zhang, N. Patwari, and S. Kasera. Channel sounding for the masses: low complexity GNU 802.11b channel impulse response estimation. *IEEE Trans.*

[35] C. Yu, T. Shen, K.G. Shin, J. Lee, and Y. Suh. Multihop transmission opportunity in wireless multihop networks. In *Proc. IEEE INFOCOM'10*, pages 1–9, San Diego, CA,

[36] J. Friedman, A. Davitian, D. Torres, D. Cabric, and M. Srivastava. Angle-of-arrival-assisted relative interferometric localization using software defined

[37] T. Leising, C. Dietrich, M. Gavitt, R. Kim, H. Satake, S. Hoque, and T. Rittenbach. An excursion to define the boundaries of the Government Reference Architecture. In *Proc.*

[38] J. Zhang, J. Jia, Q. Zhang, and E. Lo. Implementation and evaluation of cooperative communication schemes in software-defined radio testbed. In *Proc. IEEE INFOCOM'10*,

[39] M. Bruno, M. Murdy, P. Perreault, A.M. Wyglinski, and J.A. McNeill. Widely tunable RF transceiver front end for software-defined radio. In *Proc. IEEE MILCOM'09*, pages

[40] P. Fuxjager, D. Valerio A. Costantini, P. Castiglione, G. Zacheo, T. Zemen, and F. Ricciato. IEEE 802.11p transmission using GNURadio. In *Proc. WSR'10*, pages 83–86, Karlsruhe,

[41] J. Snyder, B. McNair, S. Edwards, and C. Dietrich. OSSIE: an open source software defined radio platform for education and research. In *Proc. FECS'11*, pages 18–22, Las

[42] K. Mandke, C. Soon-Hyeok, K. Gibeom, R. Grant, R. Daniels, K. Wonsoo, R. Heath, and S. Nettles. Early results on Hydra: A flexible MAC/PHY multihop testbed. In *Proc.*

[43] T. Korakis, M. Knox, E. Erkip, and S. Panwar. Cooperative network implementation using open-source platforms. *IEEE Commun. Mag.*, 47(2):134–141, Feb. 2009.

[44] W. Hu, H. Yousefizadeh, and X. Li. Load adaptive MAC: A hybrid MAC protocol for MIMO SDR MANETs. *IEEE Trans. Wireless Commun.*, 10(11):3924–3933, Nov. 2011.

[45] E. Bayraktaroglu, C. King, X. Liu, G. Noubir, R. Rajaraman, and B. Thapa. On the performance of IEEE 802.11 under jamming. In *Proc. IEEE INFOCOM'08*, pages

radios. In *Proc. IEEE MILCOM'09*, pages 1–8, Boston, MA, Oct. 2009.

*IEEE MILCOM'08*, pages 1–6, San Diego, CA, Nov. 2008.

*IEEE VTC'07*, pages 1896–1900, Dublin, Ireland, Apr. 2007.

pages 1307–1315, San Diego, CA, Mar. 2010.

1–6, Boston, MA, Oct. 2009.

Germany, Mar. 2010.

Vegas, NV, July 2011.

1265–1273, Phoenix, AZ, Apr. 2008.

sensing. *IEEE Trans. Commun. Letters*, 15(4):470–472, Apr. 2011.

*Wireless Commun.*, PP(99):1–8, Nov. 2011.


**Section 2**

**Routing Protocols for Wireless Ad-Hoc Networks**

**Routing Protocols for Wireless Ad-Hoc Networks**

**Chapter 3**

**Provisional chapter**

**Graph-Based Routing, Broadcasting and Organizing**

**Graph-Based Routing, Broadcasting and Organizing**

The development of networks of low-cost, low-power, multi-functional devices has received increasing attention over the last ten years. These devices are small in size and able to process data, communicate with each other, typically over a radio channel, and even sense. Each device particpates in a self-configuring infrastureless network connected by wireless, called ad-hoc network. Since most of the individual node in ad-hoc networks is inherently resource constrained: limited processing speed, storage capacity, and communication range and energy, it is impossible to achieve application requirements by individual device or unattached devices. A number of devices within a network have to combine as an aggregate collaborating to achieve application requirements. However, such massive devices cooperation must be achieved by the necessary organizational structures without requiring

An ad-hoc network is able to arrange itself to achieve the application requirements according to the present situations. Hence, wireless communication has to be the primary means to enable information exchange among these devices. In a wired network like the Internet, each router connects to a specific set of other routers, forming a routing graph. In ad-hoc networks, each device has a radio that provides a set of communication links to nearby devices. Multi-hop communication is expected to overcome some of the signal propagation

In a wide array of disciplines, an ad-hoc network can be intuitively casted into the format of a graph which is a set of vertex and a set of edges that might connect pairs of the nodes. The ad-hoc network consists of devices (vertex or nodes) and the communication links (edges) between them. Graphs are seemingly ubiquitous in ad-hoc network field. The problems of

> ©2012 , licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Liu et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,

© 2012 Liu et al., licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

distribution, and reproduction in any medium, provided the original work is properly cited.

effects experienced in long distance wireless communication.

**Algorithms for Ad-Hoc Networks**

**Algorithms for Ad-Hoc Networks**

Li Liu, Xianyue Li, Jiong Jin, Zigang Huang,

Additional information is available at the end of the chapter

Ming Liu and Marimuthu Palaniswami

Additional information is available at the end of the chapter

Li Liu, Xianyue Li, Jiong Jin, Zigang Huang, Ming Liu and Marimuthu Palaniswami

http://dx.doi.org/10.5772/54146

10.5772/54146

**1. Introduction**

human intervention.

**Provisional chapter**

## **Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks**

Li Liu, Xianyue Li, Jiong Jin, Zigang Huang, Ming Liu and Marimuthu Palaniswami Ming Liu and Marimuthu Palaniswami Additional information is available at the end of the chapter

Li Liu, Xianyue Li, Jiong Jin, Zigang Huang,

Additional information is available at the end of the chapter 10.5772/54146

http://dx.doi.org/10.5772/54146

## **1. Introduction**

The development of networks of low-cost, low-power, multi-functional devices has received increasing attention over the last ten years. These devices are small in size and able to process data, communicate with each other, typically over a radio channel, and even sense. Each device particpates in a self-configuring infrastureless network connected by wireless, called ad-hoc network. Since most of the individual node in ad-hoc networks is inherently resource constrained: limited processing speed, storage capacity, and communication range and energy, it is impossible to achieve application requirements by individual device or unattached devices. A number of devices within a network have to combine as an aggregate collaborating to achieve application requirements. However, such massive devices cooperation must be achieved by the necessary organizational structures without requiring human intervention.

An ad-hoc network is able to arrange itself to achieve the application requirements according to the present situations. Hence, wireless communication has to be the primary means to enable information exchange among these devices. In a wired network like the Internet, each router connects to a specific set of other routers, forming a routing graph. In ad-hoc networks, each device has a radio that provides a set of communication links to nearby devices. Multi-hop communication is expected to overcome some of the signal propagation effects experienced in long distance wireless communication.

In a wide array of disciplines, an ad-hoc network can be intuitively casted into the format of a graph which is a set of vertex and a set of edges that might connect pairs of the nodes. The ad-hoc network consists of devices (vertex or nodes) and the communication links (edges) between them. Graphs are seemingly ubiquitous in ad-hoc network field. The problems of

Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Liu et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Liu et al., licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

©2012 , licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons

designing multi-hop routing, broadcasting and organization algorithms for ad-hoc networks have received great considerable attention [22][23][24][25][26][27]. All are tightly coupled to the problem of the distinguished graphs. In this chapter, we discuss the routing, broadcasting and organization algorithms and protocols that can be formulated by three types of graph.

10.5772/54146

57

http://dx.doi.org/10.5772/54146

, where *<sup>V</sup>*′ is a nonempty subset of

. The spanning subgraph of *G* with

. The graph obtained from *G* by adding a set of

. If *<sup>V</sup>*′ = {*v*}, we write *<sup>G</sup>* − *<sup>v</sup>*. Similarly, an edge-induced

. If *<sup>E</sup>*′ = {*e*}, we write *<sup>G</sup>* − *<sup>e</sup>* and *<sup>G</sup>* + *<sup>e</sup>* instead of *<sup>G</sup>* − {*e*} and

. The induced subgraph

, where *<sup>E</sup>*′ is a nonempty

**2. Basic definitions and notations**

induced subgraph of *<sup>G</sup>*, *<sup>G</sup>*[*V*′

edges *<sup>E</sup>*′ is denoted by *<sup>G</sup>* + *<sup>E</sup>*′

] is denoted by *<sup>G</sup>* − *<sup>V</sup>*′

edge set *<sup>E</sup>*(*G*)\*E*′ is written simply as *<sup>G</sup>* − *<sup>E</sup>*′

subset of *<sup>E</sup>*(*G*) and ends of edges in *<sup>E</sup>*′ belong to *<sup>V</sup>*′

are disjoint, their union can be also denoted by *G*<sup>1</sup> + *G*2.

*<sup>V</sup>*(*G*), and an edge set *<sup>E</sup>*′

subgraph of *<sup>G</sup>*, *<sup>G</sup>*[*E*′

*<sup>G</sup>*[*V*(*G*)\*V*′

*G* + {*e*}.

An ad-hoc network topology could be represented by a graph *G* that is an ordered triple (*V*(*G*), *E*(*G*); *C*(*G*)) or *G*(*V*, *E*; *C*) consisting of a nonempty set *V* of vertices *v*1, *v*2, ..., *vn*, and a set *E* of edges, and *C* is the set of weights on the nodes or the edges. Generally, an edge denotes that the two nodes belong to it can communicate. Therefore,*<sup>E</sup>* = {(*vi*, *vj*) : *dist*(*vi*, *vj*) ≤ *ri*}, where *dist* is the Euclidean distance function and *ri* represents the transmission range of node *i*. The edge (*vi*, *vj*) denotes *vi* is able to communicate with

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

The graph *G* could be a directed graph if the network is heterogeneous that nodes have various transmission ranges, or be an undirected graph if any two nodes can communicate with each other where an edge (*vi*, *vj*) indicates that there must be an edge (*vi*, *vj*) existing in *E*. The weight on a node or an edge could denote the metrics of the network. In a power aware application, the weight might be the remaining power of a node. It might be a vector containing transmission speed and power consumption on an edge for the application that aims to find an energy-efficient delay-constraint routing path. In some applications, the weights on all nodes or edges are the same, e.g, in a fault tolerant network that needs achieve

A graph *H* is a subgraph of *G* (written *H* ⊆ *G*) if *V*(*H*) ⊆ *V*(*G*) and *E*(*H*) ⊆ *E*(*G*). An

, where *<sup>E</sup>*′ ⊆ *<sup>E</sup>*(*G*) that have both ends in *<sup>V</sup>*′

Let *G*<sup>1</sup> and *G*<sup>2</sup> be subgraphs of *G*. *G*<sup>1</sup> and *G*<sup>2</sup> are disjoint if they have no vertex in common, and edge-disjoint if they have no edge in common. The union *<sup>G</sup>*<sup>1</sup> ∪ *<sup>G</sup>*<sup>2</sup> of *<sup>G</sup>*<sup>1</sup> and *<sup>G</sup>* − 2 is the subgraph with the vertex set *<sup>V</sup>*(*G*1) ∪ *<sup>V</sup>*(*G*2) and the edge set *<sup>E</sup>*(*G*1) ∪ *<sup>E</sup>*(*G*2); if *<sup>G</sup>*<sup>1</sup> and *<sup>G</sup>*<sup>2</sup>

The degree of a vertex *v* in *G*, *d*(*v*), is the number of edges of *G* incident with *v*. *δ*(*G*) and ∆(*G*) represent the minimum and the maximum degrees of vertices of *G* respectively.

A path in *G* is a finit non-null sequence *P* = *v*0*e*1*v*1*e*2*v*2...*ekvk*, whose terms are alternately vertices and edges, such that, for *<sup>l</sup>* ≤ *<sup>i</sup>* ≤ *<sup>k</sup>*, the ends of *ei* are *vi*−<sup>1</sup> and *vi*. In addition, the vertices *v*0, *v*1, ..., *vk* are distinct, *P* is called a path. Usually, denote the section *vivi*+1*vj* of the path *P* = *v*0*v*1...*vk* by *P*[*vi*, *vj*]. Two vertices *u* and *v* of *G* are connected if there is a *P*[*u*, *v*] in *G*. *u* and *v* are directly connected or adjacent if (*u*, *v*) ∈ *E*(*G*). Connection is an equivalence relation on the vertex set *V*(*G*). Therefore, there is a partition of *V*(*G*) into nonempty subsets *V*1, *V*2, ..., *Vk* such that every pair of the vertices *u* and *v* is connected if and only if both *u* and *v* belong to the same set *Vi*. The subgraphs *G*[*V*1], *G*[*V*2], ..., *G*[*Vk*] are called the components

of *G*. If *G* has exactly one component, *G* is connected; otherwise, *G* is disconnected.

A flow network is a directed graph *G*(*V*, *E*; *C*, *f* ,*s*, *t*), where every edge (*u*, *v*) ∈ *E* has a non-negative capacity *c*(*u*, *v*), *f* is a flow function *f* : *V* × *V* → ℜ+, *s* is a source and *t* is a sink. A flow network must contain the properties for all nodes *u* and *v*: (1) The flow along an

], contains a vertex set *<sup>V</sup>*′

], contains a vertex set *<sup>V</sup>*′ and an edge set *<sup>E</sup>*′

*vj*. An unweighted graph *G* is also presented as (*V*(*G*), *E*(*G*)) or *G*(*V*, *E*).

no requirement except finding routing paths between two nodes.


Most of these problem are either *NP-hard*. Several approximate and near-approximate algorithms are proposed to solve these issues based on the combinatorial optimization and graph theory. In real mobile ad-hoc networks, there are some restricted conditions to be achieved in various applications, which will make the problems more difficult to solve. In this chapter, we attempt to give a preliminary review of the design and implementation of the heursitic or approxiamte algorithms on routing, broadcasting and organization by using the combinatorial optimization and graph theory. Note that we only focused on the three problems, all of which were our previous research works. The interested reader is also referred to some excellent works on other topics of combinatorial optimization and graph theory[20][21].

The organization of this chapter is as follows. In Section 2, we give some basic definitions of graph theory that appear in ad-hoc network formulation. We also give the notations used throughout this chapter. In Section 3, we provide the main ideas and approaches of formulating the ad-hoc network issues into several versions of connected dominating set problems. We present our previous research works of proposed algorithms and results related to graph theory. Then in Section 4, we consider the ad-hoc network issues which can be formulated to find disjoint sets. We also present a method of converting disjoint sets issues to network flow and combinatorial optimization problems. In Section 5, we present the minimum spanning subgraph and minimum steiner tree problem applied in fault-tolerant algorithm design. Finally, Section 6 concludes this chapter.

### **2. Basic definitions and notations**

2 Mobile Ad-Hoc Networks

networks.

theory[20][21].

designing multi-hop routing, broadcasting and organization algorithms for ad-hoc networks have received great considerable attention [22][23][24][25][26][27]. All are tightly coupled to the problem of the distinguished graphs. In this chapter, we discuss the routing, broadcasting and organization algorithms and protocols that can be formulated by three types of graph.




Most of these problem are either *NP-hard*. Several approximate and near-approximate algorithms are proposed to solve these issues based on the combinatorial optimization and graph theory. In real mobile ad-hoc networks, there are some restricted conditions to be achieved in various applications, which will make the problems more difficult to solve. In this chapter, we attempt to give a preliminary review of the design and implementation of the heursitic or approxiamte algorithms on routing, broadcasting and organization by using the combinatorial optimization and graph theory. Note that we only focused on the three problems, all of which were our previous research works. The interested reader is also referred to some excellent works on other topics of combinatorial optimization and graph

The organization of this chapter is as follows. In Section 2, we give some basic definitions of graph theory that appear in ad-hoc network formulation. We also give the notations used throughout this chapter. In Section 3, we provide the main ideas and approaches of formulating the ad-hoc network issues into several versions of connected dominating set problems. We present our previous research works of proposed algorithms and results related to graph theory. Then in Section 4, we consider the ad-hoc network issues which can be formulated to find disjoint sets. We also present a method of converting disjoint sets issues to network flow and combinatorial optimization problems. In Section 5, we present the minimum spanning subgraph and minimum steiner tree problem applied in fault-tolerant

algorithm design. Finally, Section 6 concludes this chapter.

set communicate by passing messages through neighbors that are in this set.

passing paths and nodes organization.

An ad-hoc network topology could be represented by a graph *G* that is an ordered triple (*V*(*G*), *E*(*G*); *C*(*G*)) or *G*(*V*, *E*; *C*) consisting of a nonempty set *V* of vertices *v*1, *v*2, ..., *vn*, and a set *E* of edges, and *C* is the set of weights on the nodes or the edges. Generally, an edge denotes that the two nodes belong to it can communicate. Therefore,*<sup>E</sup>* = {(*vi*, *vj*) : *dist*(*vi*, *vj*) ≤ *ri*}, where *dist* is the Euclidean distance function and *ri* represents the transmission range of node *i*. The edge (*vi*, *vj*) denotes *vi* is able to communicate with *vj*. An unweighted graph *G* is also presented as (*V*(*G*), *E*(*G*)) or *G*(*V*, *E*).

The graph *G* could be a directed graph if the network is heterogeneous that nodes have various transmission ranges, or be an undirected graph if any two nodes can communicate with each other where an edge (*vi*, *vj*) indicates that there must be an edge (*vi*, *vj*) existing in *E*. The weight on a node or an edge could denote the metrics of the network. In a power aware application, the weight might be the remaining power of a node. It might be a vector containing transmission speed and power consumption on an edge for the application that aims to find an energy-efficient delay-constraint routing path. In some applications, the weights on all nodes or edges are the same, e.g, in a fault tolerant network that needs achieve no requirement except finding routing paths between two nodes.

A graph *H* is a subgraph of *G* (written *H* ⊆ *G*) if *V*(*H*) ⊆ *V*(*G*) and *E*(*H*) ⊆ *E*(*G*). An induced subgraph of *<sup>G</sup>*, *<sup>G</sup>*[*V*′ ], contains a vertex set *<sup>V</sup>*′ , where *<sup>V</sup>*′ is a nonempty subset of *<sup>V</sup>*(*G*), and an edge set *<sup>E</sup>*′ , where *<sup>E</sup>*′ ⊆ *<sup>E</sup>*(*G*) that have both ends in *<sup>V</sup>*′ . The induced subgraph *<sup>G</sup>*[*V*(*G*)\*V*′ ] is denoted by *<sup>G</sup>* − *<sup>V</sup>*′ . If *<sup>V</sup>*′ = {*v*}, we write *<sup>G</sup>* − *<sup>v</sup>*. Similarly, an edge-induced subgraph of *<sup>G</sup>*, *<sup>G</sup>*[*E*′ ], contains a vertex set *<sup>V</sup>*′ and an edge set *<sup>E</sup>*′ , where *<sup>E</sup>*′ is a nonempty subset of *<sup>E</sup>*(*G*) and ends of edges in *<sup>E</sup>*′ belong to *<sup>V</sup>*′ . The spanning subgraph of *G* with edge set *<sup>E</sup>*(*G*)\*E*′ is written simply as *<sup>G</sup>* − *<sup>E</sup>*′ . The graph obtained from *G* by adding a set of edges *<sup>E</sup>*′ is denoted by *<sup>G</sup>* + *<sup>E</sup>*′ . If *<sup>E</sup>*′ = {*e*}, we write *<sup>G</sup>* − *<sup>e</sup>* and *<sup>G</sup>* + *<sup>e</sup>* instead of *<sup>G</sup>* − {*e*} and *G* + {*e*}.

Let *G*<sup>1</sup> and *G*<sup>2</sup> be subgraphs of *G*. *G*<sup>1</sup> and *G*<sup>2</sup> are disjoint if they have no vertex in common, and edge-disjoint if they have no edge in common. The union *<sup>G</sup>*<sup>1</sup> ∪ *<sup>G</sup>*<sup>2</sup> of *<sup>G</sup>*<sup>1</sup> and *<sup>G</sup>* − 2 is the subgraph with the vertex set *<sup>V</sup>*(*G*1) ∪ *<sup>V</sup>*(*G*2) and the edge set *<sup>E</sup>*(*G*1) ∪ *<sup>E</sup>*(*G*2); if *<sup>G</sup>*<sup>1</sup> and *<sup>G</sup>*<sup>2</sup> are disjoint, their union can be also denoted by *G*<sup>1</sup> + *G*2.

The degree of a vertex *v* in *G*, *d*(*v*), is the number of edges of *G* incident with *v*. *δ*(*G*) and ∆(*G*) represent the minimum and the maximum degrees of vertices of *G* respectively.

A path in *G* is a finit non-null sequence *P* = *v*0*e*1*v*1*e*2*v*2...*ekvk*, whose terms are alternately vertices and edges, such that, for *<sup>l</sup>* ≤ *<sup>i</sup>* ≤ *<sup>k</sup>*, the ends of *ei* are *vi*−<sup>1</sup> and *vi*. In addition, the vertices *v*0, *v*1, ..., *vk* are distinct, *P* is called a path. Usually, denote the section *vivi*+1*vj* of the path *P* = *v*0*v*1...*vk* by *P*[*vi*, *vj*]. Two vertices *u* and *v* of *G* are connected if there is a *P*[*u*, *v*] in *G*. *u* and *v* are directly connected or adjacent if (*u*, *v*) ∈ *E*(*G*). Connection is an equivalence relation on the vertex set *V*(*G*). Therefore, there is a partition of *V*(*G*) into nonempty subsets *V*1, *V*2, ..., *Vk* such that every pair of the vertices *u* and *v* is connected if and only if both *u* and *v* belong to the same set *Vi*. The subgraphs *G*[*V*1], *G*[*V*2], ..., *G*[*Vk*] are called the components of *G*. If *G* has exactly one component, *G* is connected; otherwise, *G* is disconnected.

A flow network is a directed graph *G*(*V*, *E*; *C*, *f* ,*s*, *t*), where every edge (*u*, *v*) ∈ *E* has a non-negative capacity *c*(*u*, *v*), *f* is a flow function *f* : *V* × *V* → ℜ+, *s* is a source and *t* is a sink. A flow network must contain the properties for all nodes *u* and *v*: (1) The flow along an edge (*u*, *v*) cannot exceed its capacity *f*(*u*, *v*) ≤ *c*(*u*, *v*); (2) The flow to a node is zero, except for the source *s*, which produces flow, and the sink, which consumes flow, ∑ *w*∈*V f*(*u*, *w*) = 0, 10.5772/54146

59

http://dx.doi.org/10.5772/54146

. It is easy to see that all

ratio for such algorithm is

*3.1.1. CDS in UDG*

bound for *mis*(*G*)

*mis*(*G*) *mcds*(*G*).

*whole area*.

of Voronoi cell. **Figure 1.** An example of Voronoi cell.

**Theorem2.**[2]*mis*(*G*) ≤ 3.453*mcds*(*G*) + 4.839

*mis*(*G*) + *conn*(*G*)

increase*V*\*<sup>M</sup>* from 1 to 0.5, then we can construct a new graph *<sup>G</sup>*′

*mcds*(*G*).The following theorem gives this bound.

**Theorem1.**[2] The rough bound for *mis*(*G*) and *mcds*(*G*) is

*mcds*(*G*) <sup>=</sup> *mis*(*G*)

For the connecting part, the best-known algorithm is a Steiner tree based algorithm with *conn*(*G*) ≤ 3*mcds*(*G*) till now[7]. On the other hand, for selecting *MIS* part, there exist many results. Let *M* be the set of *MCDS*. Based on the geometry structure on *UDG*, if we

the disks in *V* are located insides the area formed by *M*. Then we can get a conclusion that the sum of maximum area for MIS should be less than the area of MCDS, which is a rough

*mis*(*G*) ≤ 3.748*mcds*(*G*) + 5.252

Next, because the above result is rough, we analyzed the relationship between *mis*(*G*) and *mcds*(*G*) more specifically. Firstly, we used Voronoi Division to divide the whole area into some small Voronoi cell. The following Fig.1. gives an example. We also analyzed the area for each kind of polygons under densest situations. Then we can have a better bound for

Finally, we apply graph theory to consider the problem. By modifying the Voronoi division 3-regularization and combining classical Euler's Formula, we obtain the following result. **Theorem3.**[2]*mis*(*G*) ≤ 3.399*mcds*(*G*) + 0.0790*k* + 4.874, *where k is the number of the holes in the*

*mcds*(*G*) <sup>+</sup>

*conn*(*G*) *mcds*(*G*)

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

where *u* �= *s* or *t*.

## **3. Connected Dominating Set**

A Connected Dominating Set (*CDS*) of an ad-hoc network is a subset of nodes in the network, where the nodes in *CDS* are responsible for maintaining routing information, and other nodes have to rely on these nodes in *CDS* for transmission. Exploring *CDS* problem is frequently used to model the problem of computing a minimum number on the set. *CDS* plays a very important role in routing, broadcasting and connectivity management in wireless ad-hoc and sensor networks where there is no pre-defined physical backbone infrastructure to support routing and topology control that makes routing-related tasks or hierarchical organizations are very complicated.

The *CDS* problem can be formulated as follows: a graph *G*(*V*, *E*), a Dominating Set(*DS*) ia a subset *U* ⊆ *V* such that for every vertex *v* ∈ *V*, either *v* ∈ *V*, or there exists an edge (*u*, *v*) ∈ *E* and *u* ∈ *U*. If the induced subgraph *G*[*U*] is connected, then *U* is called a *CDS*. The *CDS* problem is to find a *CDS* with minimum size. In this chapter, we will give three classes of this problem. Minimum Connected Dominating Set, which is the complementary problem of all *CDS* related problems, finds a set with minimum number of nodes to construct a virtual backbone or elect cluster heads in practice. Minimum Weighted Connected Dominating Set, where the graph is weighted on node that represents energy, cost, or neighbor size in real applications, finds the minimum sum of the weighted nodes to achieve better power consumption requirement. Fault Tolerant Connected Dominating Set finds a minimum set of nodes such that it remains a connected dominating set after any part of nodes leave, to guarantee the stability and robust of a backbone or a cluster-based network upon the node failure that occurs frequently in ad-hoc networks.

## **3.1. Minimum Connected Dominating Set**

It is well-known that to find a Minimum Connected Dominating Set (*MCDS*) in a general graph is *NP-complete*. In wireless ad-hoc and sensor networks, if all nodes are homogeneous, Unit Disk Graph (*UDG*) is used to represent their geometrical structures. A *UDG* can be formally defined as follows: Given an undirected graph *G*(*V*, *E*), each vertex *v* has a transmission range with radius 1. Two vertices *u* and *v* adjacent if their Euclidean distance is less than or equal to 1. Clark et al. [1] show that computing *MCDS* is also *NP-hard* in *UDG*, and a lot of approximation algorithms for *MCDS* can be found in the literature.

To find an approximated *MCDS*, the most popular method is as follows. Firstly, find a maximal independent set(*MIS*) in given graphs. Given a graph *G*(*V*, *E*), an Independent Set(*IS*) is a subset *I* ⊂ *V* such that for any two vertex *u*, *v* ∈ *I*, they are not adjacent, say, (*u*, *v*) ∈/ *E*. An *IS* is called a Maximal Independent Set if any other arbitrary vertex is added to this set, the new set will not be an *IS* any more. Compared with *CDS*, *MIS* is much easier to be constructed. Usually, we use *mis*(*G*) to denote the size of the constructed *MIS*. The second step is to make this *MIS* connected. We donote the number of the added vertices in this step by *conn*(*G*). Let *mcds*(*G*) be the size of minimum *CDS*. Then, the approximation ratio for such algorithm is

$$\frac{\text{mis}(G) + \text{conn}(G)}{\text{mcds}(G)} = \frac{\text{mis}(G)}{\text{mcds}(G)} + \frac{\text{conn}(G)}{\text{mcds}(G)}$$

#### *3.1.1. CDS in UDG*

4 Mobile Ad-Hoc Networks

where *u* �= *s* or *t*.

**3. Connected Dominating Set**

hierarchical organizations are very complicated.

failure that occurs frequently in ad-hoc networks.

**3.1. Minimum Connected Dominating Set**

edge (*u*, *v*) cannot exceed its capacity *f*(*u*, *v*) ≤ *c*(*u*, *v*); (2) The flow to a node is zero, except

A Connected Dominating Set (*CDS*) of an ad-hoc network is a subset of nodes in the network, where the nodes in *CDS* are responsible for maintaining routing information, and other nodes have to rely on these nodes in *CDS* for transmission. Exploring *CDS* problem is frequently used to model the problem of computing a minimum number on the set. *CDS* plays a very important role in routing, broadcasting and connectivity management in wireless ad-hoc and sensor networks where there is no pre-defined physical backbone infrastructure to support routing and topology control that makes routing-related tasks or

The *CDS* problem can be formulated as follows: a graph *G*(*V*, *E*), a Dominating Set(*DS*) ia a subset *U* ⊆ *V* such that for every vertex *v* ∈ *V*, either *v* ∈ *V*, or there exists an edge (*u*, *v*) ∈ *E* and *u* ∈ *U*. If the induced subgraph *G*[*U*] is connected, then *U* is called a *CDS*. The *CDS* problem is to find a *CDS* with minimum size. In this chapter, we will give three classes of this problem. Minimum Connected Dominating Set, which is the complementary problem of all *CDS* related problems, finds a set with minimum number of nodes to construct a virtual backbone or elect cluster heads in practice. Minimum Weighted Connected Dominating Set, where the graph is weighted on node that represents energy, cost, or neighbor size in real applications, finds the minimum sum of the weighted nodes to achieve better power consumption requirement. Fault Tolerant Connected Dominating Set finds a minimum set of nodes such that it remains a connected dominating set after any part of nodes leave, to guarantee the stability and robust of a backbone or a cluster-based network upon the node

It is well-known that to find a Minimum Connected Dominating Set (*MCDS*) in a general graph is *NP-complete*. In wireless ad-hoc and sensor networks, if all nodes are homogeneous, Unit Disk Graph (*UDG*) is used to represent their geometrical structures. A *UDG* can be formally defined as follows: Given an undirected graph *G*(*V*, *E*), each vertex *v* has a transmission range with radius 1. Two vertices *u* and *v* adjacent if their Euclidean distance is less than or equal to 1. Clark et al. [1] show that computing *MCDS* is also *NP-hard* in *UDG*,

To find an approximated *MCDS*, the most popular method is as follows. Firstly, find a maximal independent set(*MIS*) in given graphs. Given a graph *G*(*V*, *E*), an Independent Set(*IS*) is a subset *I* ⊂ *V* such that for any two vertex *u*, *v* ∈ *I*, they are not adjacent, say, (*u*, *v*) ∈/ *E*. An *IS* is called a Maximal Independent Set if any other arbitrary vertex is added to this set, the new set will not be an *IS* any more. Compared with *CDS*, *MIS* is much easier to be constructed. Usually, we use *mis*(*G*) to denote the size of the constructed *MIS*. The second step is to make this *MIS* connected. We donote the number of the added vertices in this step by *conn*(*G*). Let *mcds*(*G*) be the size of minimum *CDS*. Then, the approximation

and a lot of approximation algorithms for *MCDS* can be found in the literature.

*w*∈*V*

*f*(*u*, *w*) = 0,

for the source *s*, which produces flow, and the sink, which consumes flow, ∑

For the connecting part, the best-known algorithm is a Steiner tree based algorithm with *conn*(*G*) ≤ 3*mcds*(*G*) till now[7]. On the other hand, for selecting *MIS* part, there exist many results. Let *M* be the set of *MCDS*. Based on the geometry structure on *UDG*, if we increase*V*\*<sup>M</sup>* from 1 to 0.5, then we can construct a new graph *<sup>G</sup>*′ . It is easy to see that all the disks in *V* are located insides the area formed by *M*. Then we can get a conclusion that the sum of maximum area for MIS should be less than the area of MCDS, which is a rough bound for *mis*(*G*) *mcds*(*G*).The following theorem gives this bound.

**Theorem1.**[2] The rough bound for *mis*(*G*) and *mcds*(*G*) is

$$\text{mis}(G) \le 3.748\\\text{mcds}(G) + 5.252$$

Next, because the above result is rough, we analyzed the relationship between *mis*(*G*) and *mcds*(*G*) more specifically. Firstly, we used Voronoi Division to divide the whole area into some small Voronoi cell. The following Fig.1. gives an example. We also analyzed the area for each kind of polygons under densest situations. Then we can have a better bound for *mis*(*G*) *mcds*(*G*).

of Voronoi cell. **Figure 1.** An example of Voronoi cell.

**Theorem2.**[2]*mis*(*G*) ≤ 3.453*mcds*(*G*) + 4.839

Finally, we apply graph theory to consider the problem. By modifying the Voronoi division 3-regularization and combining classical Euler's Formula, we obtain the following result.

**Theorem3.**[2]*mis*(*G*) ≤ 3.399*mcds*(*G*) + 0.0790*k* + 4.874, *where k is the number of the holes in the whole area*.

By these theoritical results, if we use two-step method to find a *CDS*, the size of the *CDS* is at most 6.4 times optimal solution. Now, we go back to Theorem 3, it has a parameter *k*. Then, the future work of this problem is to decide the parameter *k*. There exists litter rusults about it and the following theorem gives a basic solution.

10.5772/54146

61

http://dx.doi.org/10.5772/54146

*3: Choose the vertex v such that Mv*,*<sup>U</sup>* = max{|*Mx*,*U*| |*<sup>x</sup>* ∈ *<sup>N</sup>*(*U*)}*;*

 black and gray vertices form a of **Figure 2.** The black and gray vertices form a *TCDS* of *G* with three subgraphs *C*1,*C*2, *C*3.

shows the local variables presented in Algorithm 3.

\*Mv*,*U;*

**Theorem 7.**[5]*The Algorithm 2 outputs a CDS in the unit ball graph G. And* |*U*| ≤ 14.937*opt* +

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

Using above two algorithms, we can get an approximated *CDS* in any *UBG G* with linear

If we further consider the architecture of wireless networks, we can separate the network into many clusters and the selected *CDS* are cluster heads and gateways. Each node will send message to its local cluster head, and information is exchanged among those cluster heads through more steady and responsible channels, which makes the whole network more

For a *CDS*,each cluster is really small, including nodes only one hop away from the corresponding cluster head. Therefore, some researchers enlarged the size of clusters, such that the super cluster head can be at most *d*-hop away from the nodes within its dominating range. The set of such super cluster head is called *d*-*CDS*. Given a graph *G*, an *d*-*CDS* is a subset *U* ⊂ *V*such that for any vertex *v* ∈ *V*\*U*, there exists a path form *v*to some vertex of *U* with length at most *d*. Furthermore, the subgraph induced by *U* is connected. *d*-hop *CDS* problem is also NP-complete for general graphs and *UDGs*. The Fig.2. gives an example for

As the *CDS* problem, approximation algorithms for *d*-*CDS* problem usually divide into two steps. The first step, find a *d*-*DS* (usually *d*-*MIS*) in the graph. The second step, connect the *d*-*DS* into *d*-*CDS*. A *TCDS* algorithm can be generalized to *d*-*CDS* algorithm directly. Table 1

Then, we presented a distributed approximation algorithm for*TCDS* problem.

*4: U* <sup>=</sup> *<sup>U</sup>* <sup>∪</sup> *<sup>v</sup>* <sup>∪</sup> *Mv*,*<sup>U</sup> and M*′ <sup>=</sup> *<sup>M</sup>*′

*5:END WHILE 6:RETURN U;*

performance.

*3.1.3. Multi-hop CDS in UDG*

1.083*.*

reliable.

*2-CDS (TCDS)*.

**Theorem4.**[2]*For any unit disk graph G, let MCDS be a minimum connected dominating set. To form a hole, there need at least 6 connect vertices in MCDS*.

## *3.1.2. CDS in UBG*

*UDG* is widely used to abstract the homogeneous wireless networks. However, sometimes, this assumption is far from the reality. In this case, to abstract homogeneous wireless networks in three-dimensional space, Unit Ball Graphs (*UBGs*) model is used. Since *UDGs* are special instances of *UBGs* in which the altitude of every node is the same, every *NP-hard* problem in *UDGs* is also *NP-hard* in *UBGs*. Naturally, *MCDS* in a *UBGs* is still *NP-hard*.

Like the *CDS* problem on *UDGs*, we use two-step method to find an approximated *MCDS*. The first step is to construct a *MIS* and to give a bound for *mis*(*G*) *mcds*(*G*) on *UBGs*. Recall the famous Gregory-Newton Problem concerning about kissing number, the kissing number *k*(*S*3) = 12, that is, there all at most 12 independent unit balls that can simultaneously touch the surface of one unit ball. Based this result, there is a trivial bound *mis*(*G*) ≤ 11*mcds*(*G*) + 1. In order to get a better result, we consider the problem: how many independent unit balls can simultaneously touch the surface of two adjacent unit balls. Through some accurate computation, we obtain the following lemma.

**Lemma 1.***The number of independent nodes in the union of two adjacent unit balls is at most 22*.

Since the result in Lemma 1 is better than kissing number, we can improve the above ratio.

**Theorem 5.**[5]*mis*(*G*) ≤ 10.917*mcds*(*G*) + 1.083

Let *M* be a *MIS* in a *UBG* such that for any partition (*M*1, *M*2) of *M*, *dist*(*M*1, *M*2) = 2. Next, we present two differernt greedy algorithms to connect *M* and give the approximation ratios.

**Algorithm 1.**[10]*Greedy Algorithm for CDS on UBGs.* 1: *H* = *G*[*M*]*, that is, H is the subgraph of G induced by M; 2: WHILE H is disconnected DO 3: Choose the vertex v which connected the maximum component of H; 4: M* = *M* ∪ *v and H* = *G*[*M*]*; 5:END WHILE 6:RETURN M;*

**Theorem 6.**[10]*The Algorithm 1 outputs a CDS in the unit ball graph G. And the size is up-bounded by* (13 + *ln*10)*opt* + 1*, where opt is the size of MCDS.*

Before introducing the Algorithm 2, some useful notations are presented. For any vertex *x*, let *<sup>N</sup>*(*x*) be the set of vertices adjacent to *<sup>x</sup>*. For any vertex set *<sup>U</sup>*, let *<sup>N</sup>*(*U*)=(∪*x*∈*<sup>U</sup> <sup>N</sup>*(*x*))\*<sup>U</sup>* and *Mv*,*<sup>U</sup>* be the set of vertices which is adjacent to *<sup>v</sup>* and belong to *<sup>M</sup>*\*U*.

**Algorithm 2.**[5]*CDS Computation Algorithm on UBGs* 1: *<sup>U</sup>* = *r, and M*′ = *<sup>M</sup>* − *<sup>r</sup> 2: WHILE <sup>M</sup>*′ �= <sup>∅</sup> *DO*

*3: Choose the vertex v such that Mv*,*<sup>U</sup>* = max{|*Mx*,*U*| |*<sup>x</sup>* ∈ *<sup>N</sup>*(*U*)}*; 4: U* <sup>=</sup> *<sup>U</sup>* <sup>∪</sup> *<sup>v</sup>* <sup>∪</sup> *Mv*,*<sup>U</sup> and M*′ <sup>=</sup> *<sup>M</sup>*′ \*Mv*,*U; 5:END WHILE 6:RETURN U;*

**Theorem 7.**[5]*The Algorithm 2 outputs a CDS in the unit ball graph G. And* |*U*| ≤ 14.937*opt* + 1.083*.*

Using above two algorithms, we can get an approximated *CDS* in any *UBG G* with linear performance.

#### *3.1.3. Multi-hop CDS in UDG*

6 Mobile Ad-Hoc Networks

*3.1.2. CDS in UBG*

it and the following theorem gives a basic solution.

computation, we obtain the following lemma.

**Theorem 5.**[5]*mis*(*G*) ≤ 10.917*mcds*(*G*) + 1.083

**Algorithm 1.**[10]*Greedy Algorithm for CDS on UBGs.* 1: *H* = *G*[*M*]*, that is, H is the subgraph of G induced by M;*

*by* (13 + *ln*10)*opt* + 1*, where opt is the size of MCDS.*

**Algorithm 2.**[5]*CDS Computation Algorithm on UBGs*

*3: Choose the vertex v which connected the maximum component of H;*

and *Mv*,*<sup>U</sup>* be the set of vertices which is adjacent to *<sup>v</sup>* and belong to *<sup>M</sup>*\*U*.

*2: WHILE H is disconnected DO*

*4: M* = *M* ∪ *v and H* = *G*[*M*]*;*

1: *<sup>U</sup>* = *r, and M*′ = *<sup>M</sup>* − *<sup>r</sup> 2: WHILE <sup>M</sup>*′ �= <sup>∅</sup> *DO*

*5:END WHILE 6:RETURN M;*

*form a hole, there need at least 6 connect vertices in MCDS*.

By these theoritical results, if we use two-step method to find a *CDS*, the size of the *CDS* is at most 6.4 times optimal solution. Now, we go back to Theorem 3, it has a parameter *k*. Then, the future work of this problem is to decide the parameter *k*. There exists litter rusults about

**Theorem4.**[2]*For any unit disk graph G, let MCDS be a minimum connected dominating set. To*

*UDG* is widely used to abstract the homogeneous wireless networks. However, sometimes, this assumption is far from the reality. In this case, to abstract homogeneous wireless networks in three-dimensional space, Unit Ball Graphs (*UBGs*) model is used. Since *UDGs* are special instances of *UBGs* in which the altitude of every node is the same, every *NP-hard* problem in *UDGs* is also *NP-hard* in *UBGs*. Naturally, *MCDS* in a *UBGs* is still *NP-hard*.

Like the *CDS* problem on *UDGs*, we use two-step method to find an approximated *MCDS*.

famous Gregory-Newton Problem concerning about kissing number, the kissing number *k*(*S*3) = 12, that is, there all at most 12 independent unit balls that can simultaneously touch the surface of one unit ball. Based this result, there is a trivial bound *mis*(*G*) ≤ 11*mcds*(*G*) + 1. In order to get a better result, we consider the problem: how many independent unit balls can simultaneously touch the surface of two adjacent unit balls. Through some accurate

**Lemma 1.***The number of independent nodes in the union of two adjacent unit balls is at most 22*. Since the result in Lemma 1 is better than kissing number, we can improve the above ratio.

Let *M* be a *MIS* in a *UBG* such that for any partition (*M*1, *M*2) of *M*, *dist*(*M*1, *M*2) = 2. Next, we present two differernt greedy algorithms to connect *M* and give the approximation ratios.

**Theorem 6.**[10]*The Algorithm 1 outputs a CDS in the unit ball graph G. And the size is up-bounded*

Before introducing the Algorithm 2, some useful notations are presented. For any vertex *x*, let *<sup>N</sup>*(*x*) be the set of vertices adjacent to *<sup>x</sup>*. For any vertex set *<sup>U</sup>*, let *<sup>N</sup>*(*U*)=(∪*x*∈*<sup>U</sup> <sup>N</sup>*(*x*))\*<sup>U</sup>*

*mcds*(*G*) on *UBGs*. Recall the

The first step is to construct a *MIS* and to give a bound for *mis*(*G*)

If we further consider the architecture of wireless networks, we can separate the network into many clusters and the selected *CDS* are cluster heads and gateways. Each node will send message to its local cluster head, and information is exchanged among those cluster heads through more steady and responsible channels, which makes the whole network more reliable.

For a *CDS*,each cluster is really small, including nodes only one hop away from the corresponding cluster head. Therefore, some researchers enlarged the size of clusters, such that the super cluster head can be at most *d*-hop away from the nodes within its dominating range. The set of such super cluster head is called *d*-*CDS*. Given a graph *G*, an *d*-*CDS* is a subset *U* ⊂ *V*such that for any vertex *v* ∈ *V*\*U*, there exists a path form *v*to some vertex of *U* with length at most *d*. Furthermore, the subgraph induced by *U* is connected. *d*-hop *CDS* problem is also NP-complete for general graphs and *UDGs*. The Fig.2. gives an example for *2-CDS (TCDS)*.

**Figure 2.** The black and gray vertices form a *TCDS* of *G* with three subgraphs *C*1,*C*2, *C*3.

 black and gray vertices form a of As the *CDS* problem, approximation algorithms for *d*-*CDS* problem usually divide into two steps. The first step, find a *d*-*DS* (usually *d*-*MIS*) in the graph. The second step, connect the *d*-*DS* into *d*-*CDS*. A *TCDS* algorithm can be generalized to *d*-*CDS* algorithm directly. Table 1 shows the local variables presented in Algorithm 3.

Then, we presented a distributed approximation algorithm for*TCDS* problem.


10.5772/54146

63

http://dx.doi.org/10.5772/54146

**3.2. Node-Weighted Connected Dominating Set**

we had the Lemma 2.

*NWCDS* problems are also *NP-complete* on general graphs and *UDGs*.

*is a polynomial* (4*ρ* + *ε*)*-approximation algorithm for the NWDS.*

*node-weighted Steiner tree to interconnect all nodes of the MWDS.*

approximation algorithm for *NWCDS* on *UDG*.

**3.3. Fault-Tolerant Connected Dominating Set**

by Shang et. al. [8] with approximation ratio 5 + <sup>25</sup>

**Algorithm 4.**[4]*Algorithm for* (3, 3)*-CDS on UDGs.*

*1: Computer a C*2,3*, and Set Y* = *C*2,3*; 2: WHILE Y has bad-points DO*

a "bad-point". Based on above definition, we can get Lemma 3. **Lemma 3.**[4]*A* 2*-connected graph without any bad-point is* 3*-connected.*

The Node-Weighted Connected Dominating Set (*NWCDS*) problem is a generalization of the *CDS* problem. Given a graph *G*(*V*, *E*) with node weight function *f* : *V* → *R*+, the *NWCDS* problem is to find a *CDS* of *G* such that its total weight is minimum. For convenience, the weight function *f* such that *f*(*V*) ≥ 1 is normalized for any vertex *v* in *G*. If the weights on all vertices are the same, the *NWCDS* problems are equal to the *CDS* problem. Hence, the

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

To deal with this problem, we firstly considered the Min-Weight Chromatic Disk Cover (*MWCDC*) problem and used dynamic program to obtain a polynomial algorithm for *MWCDC*. Then, comparing the two problems and studying the relationship between them,

**Lemma 2.**[11]*If there exists an ρ-approximation algorithm for the MWCDC and for any fixed ε, there*

Based on Lemma 2 and the exact algorithm for *MWCDC*, we can get a (4 + *ε*)-approximation algorithm for *NWDS*. Then, using the (1 + *ε*) -approximation algorithm for the Node-Weighted Steiner tree (*WST*) problem to connect the *NWDS*, we can obtain an

**Theorem 9.**[11]*There is a* (5 + *ε*)*-approximation algorithm for the MWCDS by using a*

In wireless ad-hoc and sensor networks, nodes are mobile and thus the topology of such networks can be changed frequently. As a result, a virtual backbone (*VB*) induced by a*CDS* can be broken easily and thus it should be re-computed repeatedly. Hence, to construct a fault-tolerance *VB* is important. Here, a *k*-connected *m*-dominating set is introduced as a generalized abstraction of a fault tolerant *VB*. Given a graph *G*(*V*, *E*), a subset *U* ⊂ *V* is a *m*-dominating set (*m*-DS) if for any vertex *v* ∈ *V*\*U*,*v* has at least *m* neighbors in *U* . Furthermore, if *U* is *k*-connected, we call *U* is a *k*-connected *m*-dominating set ((*k*, *m*)-*CDS*). To obtain a (*k*, *m*)-*CDS*, the main idea is as follows. The first step is to get a basic *CDS*, that is, (1, 1)-*CDS*. Next, add *m* − 1 *MISs* in the rest graph to make the (1, 1)-*CDS* into (1, *m*)-*CDS*. Finally, by adding some new vertices to increase the connectivity of the *CDS*, the (*k*, *m*)-*CDS* is obtained. The first and second steps are easy to complete, but the final step is very hard for *k* ≥ 3. When *k* = 2, there are some approximation algorithms, and the best one is given

In the following, we introduce a (3, *m*)-*CDS* approximation algorithm. The key idea about this algorithm is to become the "bad-points" in the (2, *m*)-*CDS* to good. Given a 2-connected graph *G*, a vertex *v* is called a "good-point" if *G* − *v* is also 2-connected; otherwise, *v* is called

*<sup>m</sup>* for 2 <sup>≤</sup> *<sup>m</sup>* <sup>≤</sup> 5 and 11 for *<sup>m</sup>* <sup>&</sup>gt; 5.

**Table 1.** Local Variables in Algorithm 3.

#### **Algorithm 3.**[3]*4-Coloring Algorithm for TCDS.*

#### *Phase 1*

*1. Choose an arbitrary root r, set r's level as 0 and build a spanning tree T for r, such that each node will get its level information.*

*2. Each node exchange information to get a rank list, which records its neighbors within 2-hops. Phase 2*

*1. Root r colors itself as black, and broadcasts a black message with its id.*

*2. When a node receives a black message, it broadcasts a brown message with path as* (*id*1, *id*2)*, where id*<sup>1</sup> *is the sender's id and id*<sup>2</sup> *is the receiver's id. Besides, if this node is white or grey, mark itself as brown.*

*3. When a node receives a brown message with* (*id*1, *id*2)*, it broadcasts a grey message with a path as* (*id*1, *id*2, *id*3)*, where id*<sup>3</sup> *is the receiver's id. If it is a white node, mark itself as grey.*

*4. When a node receives a grey message, if the node has been colored before, it will transfer this GREY message as T-grey message with sender's id. If the node is white, it gives labels to its colored neighbors in rank list. After update, if every of its lower-level neighbors have been colored already, record path as blacklist, mark itself as black, and broadcast a black message with its id.*

*5. When a white node receives a T-grey message with an id, it gives label to corresponding neighbor with same id in rank list as colored neighbor.*

*6. If a leaf node has been colored, it transmits a colored message to its parent. If a node has been colored and it receives colored message from all its children, it sends a colored message to its parent. Phase 2 will terminate until the root receives colored messages from all its children.*

#### *Phase 3*

*1. All black nodes join themselves into TCDS list, and send Join message with blacklist.*

*2. When receive a Join message, if a node's id is in blacklist, mark itself into TCDS set, and transmit this message until it reaches the black node with the first id in this list. The algorithm will terminate when all the nodes in blacklist has been inserted into TCDS set.*

Using the same method in *CDS* problem on *UDG* to analysis the algorithm, we can obtain the approximation ratio of Algorithm 3.

**Theorem 8.**[3]*The Algorithm 3 outputs a TCDS in the UDG G with time complexity O*(*n*) *and message complexity O*(*nlgn*)*. Furthermore, the result from Phase 2 has size at most* 5.807*opt* + 17.152*, and Algorithm 3 has approximation ratio* 17.421*.*

Algorithm 3 can be easily modified into a distributed algorithm for *d*-hop *CDS* problem on *UDG* with approximation ratio 0.225*r*<sup>3</sup> + 1.337*r*<sup>2</sup> + 0.585*r*, where *r* = *d* + 0.5. Hence, for any *UDG* and any fixed parameter *d*, we can get a *d*-hop *CDS* with constant approximation ratio.

## **3.2. Node-Weighted Connected Dominating Set**

8 Mobile Ad-Hoc Networks

**Name Explanation**

**Algorithm 3.**[3]*4-Coloring Algorithm for TCDS.*

*with same id in rank list as colored neighbor.*

the approximation ratio of Algorithm 3.

**Table 1.** Local Variables in Algorithm 3.

*will get its level information.*

*Phase 1*

*Phase 2*

*brown.*

*Phase 3*

id The ordering number of this node.

actives it.

*1. Root r colors itself as black, and broadcasts a black message with its id.*

*as blacklist, mark itself as black, and broadcast a black message with its id.*

*will terminate until the root receives colored messages from all its children.*

*when all the nodes in blacklist has been inserted into TCDS set.*

17.152*, and Algorithm 3 has approximation ratio* 17.421*.*

*1. All black nodes join themselves into TCDS list, and send Join message with blacklist.*

(*id*1, *id*2, *id*3)*, where id*<sup>3</sup> *is the receiver's id. If it is a white node, mark itself as grey.*

level Number of hops from root to this node. The root ˛a´rs level=0.

blacklist The path from one black node to another black node which

*1. Choose an arbitrary root r, set r's level as 0 and build a spanning tree T for r, such that each node*

*2. When a node receives a black message, it broadcasts a brown message with path as* (*id*1, *id*2)*, where id*<sup>1</sup> *is the sender's id and id*<sup>2</sup> *is the receiver's id. Besides, if this node is white or grey, mark itself as*

*3. When a node receives a brown message with* (*id*1, *id*2)*, it broadcasts a grey message with a path as*

*4. When a node receives a grey message, if the node has been colored before, it will transfer this GREY message as T-grey message with sender's id. If the node is white, it gives labels to its colored neighbors in rank list. After update, if every of its lower-level neighbors have been colored already, record path*

*5. When a white node receives a T-grey message with an id, it gives label to corresponding neighbor*

*6. If a leaf node has been colored, it transmits a colored message to its parent. If a node has been colored and it receives colored message from all its children, it sends a colored message to its parent. Phase 2*

*2. When receive a Join message, if a node's id is in blacklist, mark itself into TCDS set, and transmit this message until it reaches the black node with the first id in this list. The algorithm will terminate*

Using the same method in *CDS* problem on *UDG* to analysis the algorithm, we can obtain

**Theorem 8.**[3]*The Algorithm 3 outputs a TCDS in the UDG G with time complexity O*(*n*) *and message complexity O*(*nlgn*)*. Furthermore, the result from Phase 2 has size at most* 5.807*opt* +

Algorithm 3 can be easily modified into a distributed algorithm for *d*-hop *CDS* problem on *UDG* with approximation ratio 0.225*r*<sup>3</sup> + 1.337*r*<sup>2</sup> + 0.585*r*, where *r* = *d* + 0.5. Hence, for any *UDG* and any fixed parameter *d*, we can get a *d*-hop *CDS* with constant approximation ratio.

*2. Each node exchange information to get a rank list, which records its neighbors within 2-hops.*

rank The list of neighbors within 2 hops ordered by (level, id).

color Totally for colors, black, brown, grey and white.

The Node-Weighted Connected Dominating Set (*NWCDS*) problem is a generalization of the *CDS* problem. Given a graph *G*(*V*, *E*) with node weight function *f* : *V* → *R*+, the *NWCDS* problem is to find a *CDS* of *G* such that its total weight is minimum. For convenience, the weight function *f* such that *f*(*V*) ≥ 1 is normalized for any vertex *v* in *G*. If the weights on all vertices are the same, the *NWCDS* problems are equal to the *CDS* problem. Hence, the *NWCDS* problems are also *NP-complete* on general graphs and *UDGs*.

To deal with this problem, we firstly considered the Min-Weight Chromatic Disk Cover (*MWCDC*) problem and used dynamic program to obtain a polynomial algorithm for *MWCDC*. Then, comparing the two problems and studying the relationship between them, we had the Lemma 2.

**Lemma 2.**[11]*If there exists an ρ-approximation algorithm for the MWCDC and for any fixed ε, there is a polynomial* (4*ρ* + *ε*)*-approximation algorithm for the NWDS.*

Based on Lemma 2 and the exact algorithm for *MWCDC*, we can get a (4 + *ε*)-approximation algorithm for *NWDS*. Then, using the (1 + *ε*) -approximation algorithm for the Node-Weighted Steiner tree (*WST*) problem to connect the *NWDS*, we can obtain an approximation algorithm for *NWCDS* on *UDG*.

**Theorem 9.**[11]*There is a* (5 + *ε*)*-approximation algorithm for the MWCDS by using a node-weighted Steiner tree to interconnect all nodes of the MWDS.*

### **3.3. Fault-Tolerant Connected Dominating Set**

In wireless ad-hoc and sensor networks, nodes are mobile and thus the topology of such networks can be changed frequently. As a result, a virtual backbone (*VB*) induced by a*CDS* can be broken easily and thus it should be re-computed repeatedly. Hence, to construct a fault-tolerance *VB* is important. Here, a *k*-connected *m*-dominating set is introduced as a generalized abstraction of a fault tolerant *VB*. Given a graph *G*(*V*, *E*), a subset *U* ⊂ *V* is a *m*-dominating set (*m*-DS) if for any vertex *v* ∈ *V*\*U*,*v* has at least *m* neighbors in *U* . Furthermore, if *U* is *k*-connected, we call *U* is a *k*-connected *m*-dominating set ((*k*, *m*)-*CDS*).

To obtain a (*k*, *m*)-*CDS*, the main idea is as follows. The first step is to get a basic *CDS*, that is, (1, 1)-*CDS*. Next, add *m* − 1 *MISs* in the rest graph to make the (1, 1)-*CDS* into (1, *m*)-*CDS*. Finally, by adding some new vertices to increase the connectivity of the *CDS*, the (*k*, *m*)-*CDS* is obtained. The first and second steps are easy to complete, but the final step is very hard for *k* ≥ 3. When *k* = 2, there are some approximation algorithms, and the best one is given by Shang et. al. [8] with approximation ratio 5 + <sup>25</sup> *<sup>m</sup>* for 2 <sup>≤</sup> *<sup>m</sup>* <sup>≤</sup> 5 and 11 for *<sup>m</sup>* <sup>&</sup>gt; 5.

In the following, we introduce a (3, *m*)-*CDS* approximation algorithm. The key idea about this algorithm is to become the "bad-points" in the (2, *m*)-*CDS* to good. Given a 2-connected graph *G*, a vertex *v* is called a "good-point" if *G* − *v* is also 2-connected; otherwise, *v* is called a "bad-point". Based on above definition, we can get Lemma 3.

**Lemma 3.**[4]*A* 2*-connected graph without any bad-point is* 3*-connected.*

**Algorithm 4.**[4]*Algorithm for* (3, 3)*-CDS on UDGs.*

*1: Computer a C*2,3*, and Set Y* = *C*2,3*;*

*2: WHILE Y has bad-points DO*

*3: Choose an arbitrary bad-point v and Set B* = *Y; 4: Construct the leaf-block tree T of B* − {*v*} *with blocks* {*B*1, *<sup>B</sup>*2, ..., *Bs*} *and cut-vertices* {*c*1, *<sup>c</sup>*2, ..., *ct*}*; 5: WHILE there exist a non cut-vertex w in some block Bi and a cut-vertex cj such that* (*w*, *cj*) *is a saparetor of Y DO 6: Set B* = *Bi and v* = *cj; 7: Construct the leaf-block tree T of B* − {*v*} *with blocks* {*B*1, *<sup>B</sup>*2, ..., *Bs*} *and cut-vertices* {*c*1, *<sup>c</sup>*2, ..., *ct*}*; 8: END WHILE 9: Find a path H to make a bad-point cj* ∈ {*c*1, *<sup>c</sup>*2, ..., *ct*} *to be a good-point such that all other new vertices of H are good; 10: Set Y* = *Y* ∪ *H; 11: END WHILE 12: RETURN Y;*

10.5772/54146

65

http://dx.doi.org/10.5772/54146

*i*(*V*′ *i* , *E*′ *i* ) *of*

*<sup>i</sup>* <sup>=</sup> {(*vi*, *vj*) :

*<sup>i</sup>* ) = *T;*

*<sup>i</sup>* }*, satisfying (1) f*(*V*′

*<sup>i</sup>* <sup>=</sup> *<sup>V</sup>*(*Hi*) <sup>∪</sup> *<sup>R</sup>* <sup>∪</sup> *<sup>T</sup>*, *<sup>E</sup>*′

the flow network since the *DSC* problem was proved *NP-complete*. First, a bipartite directed graph *<sup>G</sup>*(*V*, *<sup>E</sup>*) is constructed with the vertex set *<sup>V</sup>* <sup>=</sup> *<sup>S</sup>* <sup>∪</sup> *<sup>T</sup>* and *sitij* <sup>∈</sup> *<sup>E</sup>* with a capacity 1 if and only if *tij* <sup>∈</sup> *si*. Then, draw *<sup>k</sup>* copies of *<sup>G</sup>*, namely *<sup>G</sup>*1, *<sup>G</sup>*2, ..., *Gk*, where *<sup>k</sup>* is the maximum number of disjoint sets. A vertex *si* in *G*, is presented *S*1*i*, *S*2*i*, ...,*ski* in *G*1, *G*2, ..., *Gk*. A source node *S* n the flow network is constructed. For each *si* in *S*, a vertex *soi* is created to connect *s* with an edge with the capacity equals to the degree of *si* in *G*. Also, edges connecting *soi* with *sji* are constructed with the capacity equals to the degree of *si* in *G*. A vertex *Xi* is is created to connect every vertex *tij* in *Gi* with a capacity 1. Two ends *Y*<sup>1</sup> and *Y*<sup>2</sup> are created in the flow network. Each vertex *Xi* is connected to *Y*<sup>2</sup> with a capacity *m*. Every vertex *tij* is connected to *Y*<sup>1</sup> with a capacity *n*. The *DSC* problem turns to a maximum-flow problem that is to maximize the flow received in *Y*2. Finally, the *DSC* problem was formulated and

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

We considered not only the coverage optimization, but also the connectivity issue. We proposed the Multiple Disjoint Sets with Maintaining Coverage and Connectivity (*MDS-MCC*) problem [13] that given a wireless network with *w* sinks (or base stations) and *n* nodes each of which has its respective transmission range and sensing range, and *m* targets in territory, determine a maximum number of disjoint sets of nodes such that (1) all nodes of each set together cover the whole *m* targets; (2) for every node in each set, it is connected to

**Model 1**:*Given integers n*, *m and w, a directed graph G* = (*V*, *<sup>E</sup>*; *<sup>f</sup>*)*, where R* = {*vn*+1, ..., *vn*+*<sup>w</sup>* ⊂ *<sup>V</sup>*} *is a set of sinks, and T* = {*t*1, *<sup>t</sup>*2, ..., *tm*} *is a set of targets. Find the maximum integer k such that*

*(2) for each vjinV*(*Hi*)*, vj is connected to a vertex u* ∈ *R. f*(*v*) *is a labeling function that denotes the*

*<sup>f</sup>*(*vi*) = {*tj* : *tj* <sup>∈</sup> *si*}, *<sup>i</sup>* <sup>≤</sup> *<sup>n</sup>*

**Model 2**: *Given integers n*, *m and w, a directed graph G* = (*V*, *<sup>E</sup>*)*, where R* = {*vn*+1, ..., *vn*+*w*} ⊂ *V is a set of sinks, and T* = {*t*1, *<sup>t</sup>*2, ..., *tm*} *is a set of targets. Find the maximum integer k such that there exist pairwise disjoint subgraphs H*1, *<sup>H</sup>*2, ..., *Hk of G*\(*<sup>R</sup>* ∪ *<sup>T</sup>*)*, and for each tj* ∈ *<sup>T</sup>*, *tj is*

All sinks can be reduced to only one node *r* called root by using Lemma 4. Therefore, given either the graph *G* = (*V*, *E*; *f*) based on Model 1 or the graph *G* = (*V*, *E*) based on Model 2, the corresponding reduced graph can be constructed as *Gr* = (*Vr*, *Er*; *f* ,*r*) or *Gr* = (*Vr*, *Er*;*r*) where *Vr* = {*v*1, *<sup>v</sup>*2, ..., *vn*,*r*}, the first *<sup>n</sup>* vertex are the nodes, and *<sup>r</sup>* is root. There is no more changes expect that an edge in *E* from a node to a sink becomes an edge in *Er* from the node to the root. If a node is connected to more than one sink, only one edge is added in *Gr*. **Lemma 4.**[13]*A node is connected to a sink if and only if it is connected to the root in the*

*<sup>i</sup>* <sup>=</sup> {(*vi*, *vj*) : (*vi*, *vj*) <sup>∈</sup> *<sup>E</sup>*, *vi*, *vj* <sup>∈</sup> *<sup>V</sup>*′

∅, *i* > *n*

) *of Hi, where V*′

computed by using the mixed integer programming (*MIP*) heuristic.

We presented two graph-based models to formulate the *MDS-MCC* problem.

*there exist pairwise disjoint subgraphs H*1, *<sup>H</sup>*2, ..., *Hk of G*\*R, and for each supergraph H*′

) = <sup>∪</sup>*v*∈*V*′ *<sup>f</sup>*(*v*) *where V*′ <sup>⊆</sup> *V, f*(*H*) = <sup>∪</sup>*v*∈*V*(*H*) *<sup>f</sup>*(*v*) *where H* <sup>⊆</sup> *G.*

*i*(*V*′ *i* , *E*′ *i*

*<sup>i</sup>* } *and u* <sup>∈</sup> *R.*

a sink via nodes within the same set.

*<sup>i</sup>* <sup>=</sup> *<sup>V</sup>*(*Hi*) <sup>∪</sup> *R and E*′

*connected to u in each supergraph H*′

*Hi, where V*′

*And f*(*V*′

*set of targets node covers.*

(*vi*, *vj*) <sup>∈</sup> *<sup>E</sup>*, *vi*, *vj* <sup>∈</sup> *<sup>V</sup>*′

*corresponding reduced graph.*

**Theorem 10.**[4]*The Algorithm 4 output a* (3, 3)*-CDS with approximation ratio* 520/3*.*

Easy to see, if we start the Algorithm 4 with a *<sup>C</sup>*2,*<sup>m</sup>* with *<sup>m</sup>* ≥ 3, the algorithm will return a (3, *m*)-*CDS*. And we can get the following result.

**Theorem 11.**[4]*There exists a constant ratio approximation algorithm for* (3, *m*)*-CDS problem in UDG for any m.*

As above, given a *UDG* and an integer *m*, we can get a (3, *m*)-*CDS* as a fault-tolerance *VB* with constant ratio.

## **4. Disjoint Sets**

Disjoint Sets (*DS*) of an ad-hoc network is a collection of disjoint sets of nodes that each set is capable of achieving application requirements. For instance in a wireless sensor network where coverage is an important demand, the Connect Disjoint Set divides the nodes into a number of disjoint sets, such that every set completely covers all the target points. Connected Disjoint Set problem is frequently used to formulate the problem into finding a maximum number of sets.

*DS* problem plays an important role in ad-hoc networks, especially in wireless sensor networks. Disjoint Set Covers (*DSC*) problem is one of the classical problems that aims to determine a maximum number of disjoint covers, where every cover is a set of sensors which together monitor all the target points. It can be formulated as a graph, and solved by combinatorial optimization method-mixed integer programming. Besides, we studied further to find maximum disjoint sets for maintaining not only coverage but also connectivity. This class of Disjoint Set problem could be used for node scheduling methods to conserve energy, topology control methods to tolerant failure, and routing protocol design.

The disjoint set covers (*DSC*) problem was addressed by M. Cardei and D.Z. Du [12] in order to solve the problem of energy efficiency for surveillance of a set of targets. Let *T* = {*t*1, *<sup>t</sup>*2, ..., *tm*} be a set of *<sup>m</sup>* targets. Each node covers a subset of targets. A collection of nodes *<sup>S</sup>* <sup>=</sup> {*s*1,*s*2, ...,*sn*} are defined as that each set *Si* <sup>=</sup> {*ti*<sup>1</sup> , *ti*<sup>2</sup> , ..., *til* } if node *Si* covers targets *ti*<sup>1</sup> , *ti*<sup>2</sup> , ..., *til* . *DSC* problem aims to find a maximum number of disjoint sets of nodes, where every set is able to cover all the targets. They presented a heuristic algorithm based on the flow network since the *DSC* problem was proved *NP-complete*. First, a bipartite directed graph *<sup>G</sup>*(*V*, *<sup>E</sup>*) is constructed with the vertex set *<sup>V</sup>* <sup>=</sup> *<sup>S</sup>* <sup>∪</sup> *<sup>T</sup>* and *sitij* <sup>∈</sup> *<sup>E</sup>* with a capacity 1 if and only if *tij* <sup>∈</sup> *si*. Then, draw *<sup>k</sup>* copies of *<sup>G</sup>*, namely *<sup>G</sup>*1, *<sup>G</sup>*2, ..., *Gk*, where *<sup>k</sup>* is the maximum number of disjoint sets. A vertex *si* in *G*, is presented *S*1*i*, *S*2*i*, ...,*ski* in *G*1, *G*2, ..., *Gk*. A source node *S* n the flow network is constructed. For each *si* in *S*, a vertex *soi* is created to connect *s* with an edge with the capacity equals to the degree of *si* in *G*. Also, edges connecting *soi* with *sji* are constructed with the capacity equals to the degree of *si* in *G*. A vertex *Xi* is is created to connect every vertex *tij* in *Gi* with a capacity 1. Two ends *Y*<sup>1</sup> and *Y*<sup>2</sup> are created in the flow network. Each vertex *Xi* is connected to *Y*<sup>2</sup> with a capacity *m*. Every vertex *tij* is connected to *Y*<sup>1</sup> with a capacity *n*. The *DSC* problem turns to a maximum-flow problem that is to maximize the flow received in *Y*2. Finally, the *DSC* problem was formulated and computed by using the mixed integer programming (*MIP*) heuristic.

10 Mobile Ad-Hoc Networks

{*c*1, *<sup>c</sup>*2, ..., *ct*}*;*

{*c*1, *<sup>c</sup>*2, ..., *ct*}*; 8: END WHILE*

*saparetor of Y DO 6: Set B* = *Bi and v* = *cj;*

*vertices of H are good; 10: Set Y* = *Y* ∪ *H; 11: END WHILE 12: RETURN Y;*

*UDG for any m.*

with constant ratio.

**4. Disjoint Sets**

number of sets.

targets *ti*<sup>1</sup> , *ti*<sup>2</sup> , ..., *til*

*3: Choose an arbitrary bad-point v and Set B* = *Y;*

(3, *m*)-*CDS*. And we can get the following result.

*4: Construct the leaf-block tree T of B* − {*v*} *with blocks* {*B*1, *<sup>B</sup>*2, ..., *Bs*} *and cut-vertices*

*7: Construct the leaf-block tree T of B* − {*v*} *with blocks* {*B*1, *<sup>B</sup>*2, ..., *Bs*} *and cut-vertices*

**Theorem 10.**[4]*The Algorithm 4 output a* (3, 3)*-CDS with approximation ratio* 520/3*.*

*5: WHILE there exist a non cut-vertex w in some block Bi and a cut-vertex cj such that* (*w*, *cj*) *is a*

*9: Find a path H to make a bad-point cj* ∈ {*c*1, *<sup>c</sup>*2, ..., *ct*} *to be a good-point such that all other new*

Easy to see, if we start the Algorithm 4 with a *<sup>C</sup>*2,*<sup>m</sup>* with *<sup>m</sup>* ≥ 3, the algorithm will return a

**Theorem 11.**[4]*There exists a constant ratio approximation algorithm for* (3, *m*)*-CDS problem in*

As above, given a *UDG* and an integer *m*, we can get a (3, *m*)-*CDS* as a fault-tolerance *VB*

Disjoint Sets (*DS*) of an ad-hoc network is a collection of disjoint sets of nodes that each set is capable of achieving application requirements. For instance in a wireless sensor network where coverage is an important demand, the Connect Disjoint Set divides the nodes into a number of disjoint sets, such that every set completely covers all the target points. Connected Disjoint Set problem is frequently used to formulate the problem into finding a maximum

*DS* problem plays an important role in ad-hoc networks, especially in wireless sensor networks. Disjoint Set Covers (*DSC*) problem is one of the classical problems that aims to determine a maximum number of disjoint covers, where every cover is a set of sensors which together monitor all the target points. It can be formulated as a graph, and solved by combinatorial optimization method-mixed integer programming. Besides, we studied further to find maximum disjoint sets for maintaining not only coverage but also connectivity. This class of Disjoint Set problem could be used for node scheduling methods to conserve

The disjoint set covers (*DSC*) problem was addressed by M. Cardei and D.Z. Du [12] in order to solve the problem of energy efficiency for surveillance of a set of targets. Let *T* = {*t*1, *<sup>t</sup>*2, ..., *tm*} be a set of *<sup>m</sup>* targets. Each node covers a subset of targets. A collection of

where every set is able to cover all the targets. They presented a heuristic algorithm based on

. *DSC* problem aims to find a maximum number of disjoint sets of nodes,

} if node *Si* covers

energy, topology control methods to tolerant failure, and routing protocol design.

nodes *<sup>S</sup>* <sup>=</sup> {*s*1,*s*2, ...,*sn*} are defined as that each set *Si* <sup>=</sup> {*ti*<sup>1</sup> , *ti*<sup>2</sup> , ..., *til*

We considered not only the coverage optimization, but also the connectivity issue. We proposed the Multiple Disjoint Sets with Maintaining Coverage and Connectivity (*MDS-MCC*) problem [13] that given a wireless network with *w* sinks (or base stations) and *n* nodes each of which has its respective transmission range and sensing range, and *m* targets in territory, determine a maximum number of disjoint sets of nodes such that (1) all nodes of each set together cover the whole *m* targets; (2) for every node in each set, it is connected to a sink via nodes within the same set.

We presented two graph-based models to formulate the *MDS-MCC* problem.

**Model 1**:*Given integers n*, *m and w, a directed graph G* = (*V*, *<sup>E</sup>*; *<sup>f</sup>*)*, where R* = {*vn*+1, ..., *vn*+*<sup>w</sup>* ⊂ *<sup>V</sup>*} *is a set of sinks, and T* = {*t*1, *<sup>t</sup>*2, ..., *tm*} *is a set of targets. Find the maximum integer k such that there exist pairwise disjoint subgraphs H*1, *<sup>H</sup>*2, ..., *Hk of G*\*R, and for each supergraph H*′ *i*(*V*′ *i* , *E*′ *i* ) *of Hi, where V*′ *<sup>i</sup>* <sup>=</sup> *<sup>V</sup>*(*Hi*) <sup>∪</sup> *R and E*′ *<sup>i</sup>* <sup>=</sup> {(*vi*, *vj*) : (*vi*, *vj*) <sup>∈</sup> *<sup>E</sup>*, *vi*, *vj* <sup>∈</sup> *<sup>V</sup>*′ *<sup>i</sup>* }*, satisfying (1) f*(*V*′ *<sup>i</sup>* ) = *T; (2) for each vjinV*(*Hi*)*, vj is connected to a vertex u* ∈ *R. f*(*v*) *is a labeling function that denotes the set of targets node covers.*

$$f(v\_i) = \begin{cases} \{t\_j : t\_j \in s\_i\}, i \le n \\\ \bigotimes\_{\ell} i > n \end{cases}$$

*And f*(*V*′ ) = <sup>∪</sup>*v*∈*V*′ *<sup>f</sup>*(*v*) *where V*′ <sup>⊆</sup> *V, f*(*H*) = <sup>∪</sup>*v*∈*V*(*H*) *<sup>f</sup>*(*v*) *where H* <sup>⊆</sup> *G.*

**Model 2**: *Given integers n*, *m and w, a directed graph G* = (*V*, *<sup>E</sup>*)*, where R* = {*vn*+1, ..., *vn*+*w*} ⊂ *V is a set of sinks, and T* = {*t*1, *<sup>t</sup>*2, ..., *tm*} *is a set of targets. Find the maximum integer k such that there exist pairwise disjoint subgraphs H*1, *<sup>H</sup>*2, ..., *Hk of G*\(*<sup>R</sup>* ∪ *<sup>T</sup>*)*, and for each tj* ∈ *<sup>T</sup>*, *tj is connected to u in each supergraph H*′ *i*(*V*′ *i* , *E*′ *i* ) *of Hi, where V*′ *<sup>i</sup>* <sup>=</sup> *<sup>V</sup>*(*Hi*) <sup>∪</sup> *<sup>R</sup>* <sup>∪</sup> *<sup>T</sup>*, *<sup>E</sup>*′ *<sup>i</sup>* <sup>=</sup> {(*vi*, *vj*) : (*vi*, *vj*) <sup>∈</sup> *<sup>E</sup>*, *vi*, *vj* <sup>∈</sup> *<sup>V</sup>*′ *<sup>i</sup>* } *and u* <sup>∈</sup> *R.*

All sinks can be reduced to only one node *r* called root by using Lemma 4. Therefore, given either the graph *G* = (*V*, *E*; *f*) based on Model 1 or the graph *G* = (*V*, *E*) based on Model 2, the corresponding reduced graph can be constructed as *Gr* = (*Vr*, *Er*; *f* ,*r*) or *Gr* = (*Vr*, *Er*;*r*) where *Vr* = {*v*1, *<sup>v</sup>*2, ..., *vn*,*r*}, the first *<sup>n</sup>* vertex are the nodes, and *<sup>r</sup>* is root. There is no more changes expect that an edge in *E* from a node to a sink becomes an edge in *Er* from the node to the root. If a node is connected to more than one sink, only one edge is added in *Gr*.

**Lemma 4.**[13]*A node is connected to a sink if and only if it is connected to the root in the corresponding reduced graph.*

10.5772/54146

67

http://dx.doi.org/10.5772/54146

, } for every target

*j*=1{*V*(*Pij*

*<sup>j</sup>* ) <sup>−</sup>

*13:END WHILE*

*14:RETURN H*1, *H*2, ..., *Hk*

*2:FOR EACH ti* ∈ *<sup>T</sup> DO*

*6:RETURN H*1, *H*2, ..., *Hk;*

*4:END FOR*

*connected to r.*

{*tj*,*r*}}*;*

*3: Find li pairwise disjoint paths, p*<sup>1</sup>

low time and message complexity.

Therefore, there are *k* pairwise disjoint paths from *t* to *r*.

from the vertex *v*<sup>0</sup> *j* to the vertex *vi j* is greater than 0. **Algorithm 6.**[13]*Network Flow Algorithm for MDS-MCC. 1:Construct Gr* = (*Vr*, *Er*;*r*) *from* (*G* = (*V*, *E*)) *and T;*

to one of sinks. And *k* is the theoretical maximum number.

The network flow algorithm first finds a set of paths *Pi* = {*p*<sup>1</sup>

*<sup>i</sup>* , *<sup>p</sup>*<sup>2</sup> *<sup>i</sup>* , ..., *<sup>p</sup><sup>i</sup> i*

*5:Find the maximum k pairwise disjoint sets H*1, *<sup>H</sup>*2, ..., *Hk such that each set Hi* = ∪*<sup>m</sup>*

**5. Minimum Spanning Subgraph and Minimum Steiner Tree**

In Model 2, the problem is converted to find the maximal *k* disjoint sets such that there exists a path from every target node *t* to the root node *r* for each set. For any two paths from a target node *t* to the root *r* belonging to any two disjoint sets, the two paths are disjoint.

node *ti* to *r* such that any two paths are disjoint. We converted the problem of obtaining the related paths with maximum *li* from *ti* to *r* to the maximum flow problem like *DSC*. We presented a method to construct the flow network from the network of Model 2. An example is shown in Fig.4. The problem that finds the maximum number of paths is converted to solve the problem of computing the maximum flow from *s* to *Y*2. For each copy in the flow network, the flow network algorithm chooses the vertex for each disjoint result set if the flow

*, from ti to r;*

A special case was studied in wireless sensor networks that each node covers at most one target. We assumed there are *m* targets that each is exactly monitored by *k* sensor nodes. There must be *k* disjoint sets each of which completely covers all the targets and is connected

**Theorem 12.**[14]*Given integers n and m, a directed graph G* = (*V*, *E*; *f* ,*r*) *and a target set T* = {*t*1, *<sup>t</sup>*2, ..., *tm*}.*A*1, *<sup>A</sup>*2, ..., *Am be m disjoint sets with* |*Ai*| = *k, where Ai* ⊂ *<sup>V</sup>*(*G*)*. If k* = <sup>2</sup> *and G is* (*m* + *max*{1, *m* − 4})*-connected, or k* ≥ 3 *and G is* (*m*(*k* − 1) + 1)*-connected, then there exist k connected subgraphs H*1, *<sup>H</sup>*2, ..., *Hk, satisfying (1) f*(*Hi*) = *T; (2) for each vj* ∈ *<sup>V</sup>*(*Hi*), *vj is*

The minimum spanning subgraph is used to reduce the cost of algorithms in underlying wireless ad-hoc networks that are modeled as graphs. For instance, a spanning tree is used as a backbone to reduce the cost of broadcast, or to cluster the hierarchical structure. A spanning tree of a graph is a subgraph that is a tree and connects all the vertices together. Many research works on ad hoc related networks exploited minimum spanning subgraph to design energy-efficient distributed protocols, multicast routing protocols, fault tolerant topology control protocols and etc. To construct spanning subgraph has the advantage of

The Steiner tree problem is superficially similar to the minimum spanning tree problem. The minimum Steiner tree problem is a problem in combinatorial optimization, which may

*<sup>i</sup>* , *<sup>p</sup>*<sup>2</sup> *<sup>i</sup>* , *<sup>p</sup>*<sup>3</sup> *<sup>i</sup>* , ..., *<sup>p</sup><sup>i</sup> i*

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

**Figure 3.** Example of original network topology (a) and its corresponding reduced graph (b). (c) and (d) shows the constructed graph based on the Model 1 and Model 2 respectively.

We found that *MDS-MCC* problem is *NP-complete*. Two algorithms, heuristic and network flow were proposed to solve *MDS-MCC* based on the two models. Heuristic algorithm was designed to find the maximal number of disjoint subgraphs of *G* based on Model 1. The algorithm first initializes that *H* = ∅, which presents the set of vertex having been found. Then the algorithm finds out all the paths whose ends belongs to *H* and put the vertex in these paths into *H* until *H* covers all of the targets. The algorithm deletes the redundant nodes from *H* when *H* still covers all of the targets after delete it. The algorithm finds one subgraph *H* and repeats to find other subgraphs.

#### **Algorithm 5.**[15]*Heuristic Algorithm for MDS-MCC.*

*1:Construct reduced graph Gr* = (*Vr*, *Er*; *f* ,*r*) *from G* = (*V*, *E*; *f*) *and T; 2:k=0;*

*3:WHILEstill has the subgraph of G that covers all the targets DO*


## *13:END WHILE 14:RETURN H*1, *H*2, ..., *Hk*

12 Mobile Ad-Hoc Networks

(a) Original Network Topology Graph *G* (b) Reduced Graph *Gr* of *G*

(c) Constructed Graph based on Model 1 (d) Constructed Graph based on Model 2

graph based on the Model 1 and Model 2 respectively.

subgraph *H* and repeats to find other subgraphs.

**Algorithm 5.**[15]*Heuristic Algorithm for MDS-MCC.*

*2:k=0;*

*4: k* = *k* + 1*; 5: Hk* = {*r*}*;*

*6: WHILE* | *<sup>f</sup>*(*Hk*)| <sup>ł</sup>*<sup>m</sup> DO*

*8: Select one path P* ∈ *PS;*

*11: Delete redundant nodes from Hk;*

*9: Hk* = *<sup>P</sup>* ∪ *Hk; 10: END WHILE*

*12: Gr* = *Gr*\*Hk;*

*1:Construct reduced graph Gr* = (*Vr*, *Er*; *f* ,*r*) *from G* = (*V*, *E*; *f*) *and T;*

*7: PS* = {*v*0*v*1...*ve* : *ve* ∈ *Hk*, *vi* ∈ *Vr* − *Hk*, *<sup>f</sup>*(*vj*) ⊆ *<sup>f</sup>*(*Hk*), *<sup>f</sup>*(*v*0) ∈/ *<sup>f</sup>*(*HK*)}*;*

*3:WHILEstill has the subgraph of G that covers all the targets DO*

**Figure 3.** Example of original network topology (a) and its corresponding reduced graph (b). (c) and (d) shows the constructed

We found that *MDS-MCC* problem is *NP-complete*. Two algorithms, heuristic and network flow were proposed to solve *MDS-MCC* based on the two models. Heuristic algorithm was designed to find the maximal number of disjoint subgraphs of *G* based on Model 1. The algorithm first initializes that *H* = ∅, which presents the set of vertex having been found. Then the algorithm finds out all the paths whose ends belongs to *H* and put the vertex in these paths into *H* until *H* covers all of the targets. The algorithm deletes the redundant nodes from *H* when *H* still covers all of the targets after delete it. The algorithm finds one In Model 2, the problem is converted to find the maximal *k* disjoint sets such that there exists a path from every target node *t* to the root node *r* for each set. For any two paths from a target node *t* to the root *r* belonging to any two disjoint sets, the two paths are disjoint. Therefore, there are *k* pairwise disjoint paths from *t* to *r*.

The network flow algorithm first finds a set of paths *Pi* = {*p*<sup>1</sup> *<sup>i</sup>* , *<sup>p</sup>*<sup>2</sup> *<sup>i</sup>* , *<sup>p</sup>*<sup>3</sup> *<sup>i</sup>* , ..., *<sup>p</sup><sup>i</sup> i* , } for every target node *ti* to *r* such that any two paths are disjoint. We converted the problem of obtaining the related paths with maximum *li* from *ti* to *r* to the maximum flow problem like *DSC*. We presented a method to construct the flow network from the network of Model 2. An example is shown in Fig.4. The problem that finds the maximum number of paths is converted to solve the problem of computing the maximum flow from *s* to *Y*2. For each copy in the flow network, the flow network algorithm chooses the vertex for each disjoint result set if the flow from the vertex *v*<sup>0</sup> *j* to the vertex *vi j* is greater than 0.

**Algorithm 6.**[13]*Network Flow Algorithm for MDS-MCC. 1:Construct Gr* = (*Vr*, *Er*;*r*) *from* (*G* = (*V*, *E*)) *and T; 2:FOR EACH ti* ∈ *<sup>T</sup> DO 3: Find li pairwise disjoint paths, p*<sup>1</sup> *<sup>i</sup>* , *<sup>p</sup>*<sup>2</sup> *<sup>i</sup>* , ..., *<sup>p</sup><sup>i</sup> i , from ti to r; 4:END FOR 5:Find the maximum k pairwise disjoint sets H*1, *<sup>H</sup>*2, ..., *Hk such that each set Hi* = ∪*<sup>m</sup> j*=1{*V*(*Pij <sup>j</sup>* ) <sup>−</sup> {*tj*,*r*}}*; 6:RETURN H*1, *H*2, ..., *Hk;*

A special case was studied in wireless sensor networks that each node covers at most one target. We assumed there are *m* targets that each is exactly monitored by *k* sensor nodes. There must be *k* disjoint sets each of which completely covers all the targets and is connected to one of sinks. And *k* is the theoretical maximum number.

**Theorem 12.**[14]*Given integers n and m, a directed graph G* = (*V*, *E*; *f* ,*r*) *and a target set T* = {*t*1, *<sup>t</sup>*2, ..., *tm*}.*A*1, *<sup>A</sup>*2, ..., *Am be m disjoint sets with* |*Ai*| = *k, where Ai* ⊂ *<sup>V</sup>*(*G*)*. If k* = <sup>2</sup> *and G is* (*m* + *max*{1, *m* − 4})*-connected, or k* ≥ 3 *and G is* (*m*(*k* − 1) + 1)*-connected, then there exist k connected subgraphs H*1, *<sup>H</sup>*2, ..., *Hk, satisfying (1) f*(*Hi*) = *T; (2) for each vj* ∈ *<sup>V</sup>*(*Hi*), *vj is connected to r.*

## **5. Minimum Spanning Subgraph and Minimum Steiner Tree**

The minimum spanning subgraph is used to reduce the cost of algorithms in underlying wireless ad-hoc networks that are modeled as graphs. For instance, a spanning tree is used as a backbone to reduce the cost of broadcast, or to cluster the hierarchical structure. A spanning tree of a graph is a subgraph that is a tree and connects all the vertices together. Many research works on ad hoc related networks exploited minimum spanning subgraph to design energy-efficient distributed protocols, multicast routing protocols, fault tolerant topology control protocols and etc. To construct spanning subgraph has the advantage of low time and message complexity.

The Steiner tree problem is superficially similar to the minimum spanning tree problem. The minimum Steiner tree problem is a problem in combinatorial optimization, which may

10.5772/54146

69

http://dx.doi.org/10.5772/54146

communication paths from each node to the sinks. They modeled the network topology with an undirected weighted graph. The issue was formulated as that given a directed graph *G* and a root *r*, find a directed spanning subgraph of *G* such that: (1) the sum of the weight of the edges is minimized, (2) there are *k*-vertex disjoint paths between *r* and every vertex in *G*. The *FT* algorithm [18] was applied to solve this problem optimally to reach *k*-approximate. We addressed the issue of *k*-vertex fault-tolerant many-to-many routing power assignments in ad-hoc networks [17] that given an ad-hoc network consisting of *n* nodes with the various transmission ranges. For each node *Vi*, it can adjust the transmission ranges up to its maximum value *Rmax*. Determine the power *pi* of node *Vi* such that 1) there exist *k*-vertex disjoint data routing paths between any pair of nodes; 2) the total power consumed over all

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

*<sup>i</sup>*=<sup>1</sup> *pi* is minimized. A directed weighted graph *G*(*V*, *E*; *C*) was represented to model the network topology, where *<sup>V</sup>* = {*v*1, *<sup>v</sup>*2, ..., *vn*} is the set of nodes and *<sup>E</sup>* = {(*vi*, *vj*) : *dist*(*vi*, *vj*) ≤ *Rmax*} is the set of edges. For each edge (*u*, *v*) ∈ *E*, there exists a weight *C*(*u*, *v*) associated with it. *C*(*u*, *v*) represents the power consumption needed by *u* to communicate with *v*. It aimed to construct a minimum *k*-vertex connected subgraph of *G* by finding a set of power assignments for each

Two algorithms were proposed to find such minimum *k*-vertex connected subgraph of *G* by using spanning subgraph technology. The first algorithm produces a *k*-vertex connected spanning subgraph and assigns to each vertex the minimum transmission range to reach all of its neighbors. The algorithm removes the edges in decreasing order of their weights if and only if the graph keeps *k*-vertex connected after the removal. Theorem 13 guarantees that the final remaining subgraph is *k*-vertex connected. The algorithm assigns the transmission

**Theorem 13.**[17] *A graph G*(*V*, *E*) *is a k-vertex connected directed graph. If* (*u*, *v*) ∈ *E and there are at least k* + 1 *disjoint paths from u to v, namely λ*(*u*, *v*) = *k* + 1, *G* − (*u*, *v*) *is a k-vertex connected*

the minimum-cost *k*-vertex connected spanning subgraph problem proposed by Cheriyan

Steiner tree problem (*STP*) is a classical combinatorial optimization problem. This problem has a lot of versions. The graph version of *STP* is that: Given a edge-weighted graph *G* =

*n*/*ε*)-approximation algorithm [17] by using the solution of

**Algorithm 7.**[17] *Heuristic Algorithm for k-vertex fault-tolerant power assignments.*

sensor nodes is minimized, namely ∑ *<sup>n</sup>*

power to each node according to the subgraph.

*1:Sort all edges in E in decreasing order of the weights; 2:FOR EACH edge* (*u*, *v*) *in the sorted order DO*

√

*k*-vertex connected, for any *ε* > 0 and *k* ≤ (1 − *ε*)*n*.

*3: IF λ*(*u*, *v*) = *k* + 1 *THEN 4: G* = *G* − (*u*, *v*)*;*

Another algorithm is an *O*(

**5.2. Minimum Steiner Tree**

*8: pi* = *max*{*C*(*vi*, *vj*) : (*vi*, *vj*) ∈ *<sup>E</sup>*}*;*

*7:FOR i* = 1 *TO n DO*

node.

*graph.*

*5: END IF 6:END FOR*

*9:END FOR*

**Figure 4.** [13] Example of converting the network topology based on Model 2 to a constructed flow network.

be formulated in a number of settings, with the common part being that it is required to find the shortest interconnect for a given set of objects. Most of the Steiner Tree problems are NP-complete. Similar with spanning tree, Minimum Steiner Tree problem has been applied to design minimum energy broadcasting protocols, delay constrained protocols, range assignment topology control protocols in ad hoc networks.

## **5.1. Minimum Spanning Tree and Subgraph**

Given a graph *G*(*V*, *E*; *C*), a spanning tree of *G* is a subgraph that is a tree and connects all the vertices together. A minimum spanning tree (*MST*) is the spanning tree with the minimum total weight in all spanning trees. There are many extended concepts of *MST*. The *k*-minimum spanning tree (*k*-*MST*) is the tree that spans some subset of *k* vertices in the graph with minimum weight. A set of *k*-smallest spanning trees is a subset of *k* spanning trees such that no spanning tree outside the subset has smaller weight. The Euclidean minimum spanning tree is a spanning tree of a graph with edge weights corresponding to the Euclidean distance between vertices that are points in the plane. The degree constrained minimum spanning tree is a minimum spanning tree with each vertex *v* is connected to no more than *d*(*v*) other vertices. If the graph *G* is not connected, the graph has minimum spanning forest. Similarly, a minimum spanning subgraph is the spanning subgraph with the minimum total weight in all spanning subgraphs.

M. Cardei et al. [16] addressed the topology control issue of power assignment in ad-hoc networks by using minimum spanning subgraph techniques. They aimed to minimize the total transmission power assigned for all nodes while building *k*-vertex fault tolerant communication paths from each node to the sinks. They modeled the network topology with an undirected weighted graph. The issue was formulated as that given a directed graph *G* and a root *r*, find a directed spanning subgraph of *G* such that: (1) the sum of the weight of the edges is minimized, (2) there are *k*-vertex disjoint paths between *r* and every vertex in *G*. The *FT* algorithm [18] was applied to solve this problem optimally to reach *k*-approximate.

We addressed the issue of *k*-vertex fault-tolerant many-to-many routing power assignments in ad-hoc networks [17] that given an ad-hoc network consisting of *n* nodes with the various transmission ranges. For each node *Vi*, it can adjust the transmission ranges up to its maximum value *Rmax*. Determine the power *pi* of node *Vi* such that 1) there exist *k*-vertex disjoint data routing paths between any pair of nodes; 2) the total power consumed over all sensor nodes is minimized, namely ∑ *<sup>n</sup> <sup>i</sup>*=<sup>1</sup> *pi* is minimized.

A directed weighted graph *G*(*V*, *E*; *C*) was represented to model the network topology, where *<sup>V</sup>* = {*v*1, *<sup>v</sup>*2, ..., *vn*} is the set of nodes and *<sup>E</sup>* = {(*vi*, *vj*) : *dist*(*vi*, *vj*) ≤ *Rmax*} is the set of edges. For each edge (*u*, *v*) ∈ *E*, there exists a weight *C*(*u*, *v*) associated with it. *C*(*u*, *v*) represents the power consumption needed by *u* to communicate with *v*. It aimed to construct a minimum *k*-vertex connected subgraph of *G* by finding a set of power assignments for each node.

Two algorithms were proposed to find such minimum *k*-vertex connected subgraph of *G* by using spanning subgraph technology. The first algorithm produces a *k*-vertex connected spanning subgraph and assigns to each vertex the minimum transmission range to reach all of its neighbors. The algorithm removes the edges in decreasing order of their weights if and only if the graph keeps *k*-vertex connected after the removal. Theorem 13 guarantees that the final remaining subgraph is *k*-vertex connected. The algorithm assigns the transmission power to each node according to the subgraph.

**Theorem 13.**[17] *A graph G*(*V*, *E*) *is a k-vertex connected directed graph. If* (*u*, *v*) ∈ *E and there are at least k* + 1 *disjoint paths from u to v, namely λ*(*u*, *v*) = *k* + 1, *G* − (*u*, *v*) *is a k-vertex connected graph.*

**Algorithm 7.**[17] *Heuristic Algorithm for k-vertex fault-tolerant power assignments. 1:Sort all edges in E in decreasing order of the weights; 2:FOR EACH edge* (*u*, *v*) *in the sorted order DO 3: IF λ*(*u*, *v*) = *k* + 1 *THEN 4: G* = *G* − (*u*, *v*)*; 5: END IF 6:END FOR 7:FOR i* = 1 *TO n DO 8: pi* = *max*{*C*(*vi*, *vj*) : (*vi*, *vj*) ∈ *<sup>E</sup>*}*; 9:END FOR* √

Another algorithm is an *O*( *n*/*ε*)-approximation algorithm [17] by using the solution of the minimum-cost *k*-vertex connected spanning subgraph problem proposed by Cheriyan *k*-vertex connected, for any *ε* > 0 and *k* ≤ (1 − *ε*)*n*.

## **5.2. Minimum Steiner Tree**

14 Mobile Ad-Hoc Networks

(a) Network Topology (b) Constructed Flow Network

range assignment topology control protocols in ad hoc networks.

**5.1. Minimum Spanning Tree and Subgraph**

weight in all spanning subgraphs.

**Figure 4.** [13] Example of converting the network topology based on Model 2 to a constructed flow network.

be formulated in a number of settings, with the common part being that it is required to find the shortest interconnect for a given set of objects. Most of the Steiner Tree problems are NP-complete. Similar with spanning tree, Minimum Steiner Tree problem has been applied to design minimum energy broadcasting protocols, delay constrained protocols,

Given a graph *G*(*V*, *E*; *C*), a spanning tree of *G* is a subgraph that is a tree and connects all the vertices together. A minimum spanning tree (*MST*) is the spanning tree with the minimum total weight in all spanning trees. There are many extended concepts of *MST*. The *k*-minimum spanning tree (*k*-*MST*) is the tree that spans some subset of *k* vertices in the graph with minimum weight. A set of *k*-smallest spanning trees is a subset of *k* spanning trees such that no spanning tree outside the subset has smaller weight. The Euclidean minimum spanning tree is a spanning tree of a graph with edge weights corresponding to the Euclidean distance between vertices that are points in the plane. The degree constrained minimum spanning tree is a minimum spanning tree with each vertex *v* is connected to no more than *d*(*v*) other vertices. If the graph *G* is not connected, the graph has minimum spanning forest. Similarly, a minimum spanning subgraph is the spanning subgraph with the minimum total

M. Cardei et al. [16] addressed the topology control issue of power assignment in ad-hoc networks by using minimum spanning subgraph techniques. They aimed to minimize the total transmission power assigned for all nodes while building *k*-vertex fault tolerant

Steiner tree problem (*STP*) is a classical combinatorial optimization problem. This problem has a lot of versions. The graph version of *STP* is that: Given a edge-weighted graph *G* =

(*V*, *E*; *C*) with edge-weight function *C* : *E* → ℜ<sup>+</sup> and a subset *U* ⊂ *V* called a terminal set, the *STP* is to find a subtree *T* of *G* interconnecting the terminal set *U* with minimum total weight. The graph version of *STP* is *NP-complete* and the best approximation ratio is *ρ* = 1 + ln 3 <sup>2</sup> = 1.55 till now [28].

10.5772/54146

71

http://dx.doi.org/10.5772/54146

issues difficult to be tractable. The methods that might convert these practical issues into graph-based problems are important for the design and implementation of routing, broadcasting and organization algorithms. In this chapter, we present three essential graph-based issues casted from practicle ad-hoc network issues: Connected Dominating Set, Disjoint Sets, and Minimum Spanning Subgraph and Minimum Steiner Tree. Theoritical analysis are described to verify the correctness of these proposed algorithms that are either

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

While much efforts have been made to solve the graph-based issues, still much progress needs to be done. For instance, some clustering issues in ad-hoc networks can be casted into graph labeling or graph coloring problem that assigns of labels to the nodes subject to certain constraints. In other mobile ad-hoc applications, many problems involve graph classification, graph subsumption, and even the description and implementation of graph data structure, querying and database. More approaches for ad-hoc network applications should be discussed from the aspectes of the applicability and the utility by using graph

This work was partially supported by the Scientific Research Foundation for the Returned Overseas Chinese Scholars, State Education Ministry, the Gansu Provincial Science & Technology Department (grant no. 1007RJYA010), the National Natural Science Foundation of China (grant nos. 61003240, 11201208, 10905026, 11275003) and the Fundamental Research

1 School of Information Science and Engineering, Lanzhou University, P.R.China

4 School of Physical Science and Technology, Lanzhou University, P.R.China

3 Department of Electrical and Electronic Engineering, The University of Melbourne,

5 School of Electrical and Information Engineering, The University of Sydney, Australia

[1] B.N. Clark, C.J. Colbourn and D.S. Johnson, Unit Disk Graphs, Discrete Mathematics,

[2] X. Gao, Y. Wang, X. Li and W. Wu, Analysis on Theoretical Bounds for Approximating Dominating Set Problems, Discrete Mathematics, Algorithms and Applications, 1 71-84

2 School of Mathematics and Statistics, Lanzhou University, P.R.China

Funds for the Central Universities (grant no. lzujbky-2011-44).

Li Liu1, Xianyue Li2, Jiong Jin3, Zigang Huang4, Ming Liu<sup>5</sup> and Marimuthu Palaniswami3

heuristics or approximationg.

**Acknowledgements**

**Author details**

Australia

**References**

(2009).

86 165-177 (1990).

theory.

We considered a variant of *STP* – Node-Weighted Steiner Tree (*NWST*) problem, that is, the weight function is from vertex set to positive real set now. Given a node-weighted graph *G* = (*V*, *E*; *C*) with node-weight function *C* : *V* → ℜ<sup>+</sup> and a subset *U* ⊂ *V* called a terminal set, the *STP* is to find a subtree *T* of *G* interconnecting the terminal set *U* with minimum total weight. As an application, *NWST* can be used on *NWCDS* problem to interconnect the node-weighted dominating set.

To deal with the *NWST* problem, the first idea is to convert this problem to classical *STP*. We constructed a new graph *<sup>G</sup>*′ with the same vertex set, edge set and terminal set. The difference is the weighted function of *<sup>G</sup>*′ is on edges.

**Algorithm 8.**[9]*Approximation Algorithm for NWST on UDGs 1:Construct an edge-weighted graph G*′ = (*V*, *<sup>E</sup>*; *<sup>C</sup>*′ ) *with the same vertex set, edge set and terminal set of G; 2:FOR EACH edge u*, *v in graph G*′ *DO 3: Assign the weight of this edge C*′ (*u*, *v*)=(*C*(*u*) + *C*(*v*))/2*; 4:END FOR 5:T* = *SMT*(*G*′ , *<sup>U</sup>*)*, where SMT*(*G*′ , *<sup>U</sup>*) *is the best-known approximation algorithm on graph G*′ *and terminal U; 6:RETURN T;*

**Theorem 14.**[9]*Algorithm 8 is a* 2.5*ρ-approximation for node-weighted Steiner tree problem in unit disk graph.*

Furthermore, we should give a theoretical result, to show that the *NWST* has polynomial-time approximation scheme (*PTAS*) on *UDGs* if the terminal set *U* is *c*-local, that is, in the minimum node-weighted spanning tree for *U*, the Euclid distance of the longest edge is at most some constant *c*. A *PTAS* is a family of approximation algorithm with ration 1 + *ε* for any *ε* > 0.

The main idea of the *PTAS* for *NWST* is based on the partition and shifting strategy. Firstly, we partitioned the whole area containing all vertices into some small cells. Then, we divided every cell into interior area and boundary area. Secondly, for each cell, we constructed a local optimal Steiner forest on terminal vertices in the interior area of this cell. Then, we combined all these forests to obtain a local optimal Steiner forest. Thirdly, we added all the crossing edges to get a Steiner tree on terminal set *R*. We call the resulting graph *Gp* for a specific partition *P*. In order to get a better node-weighted Steiner tree, we shifted the partition and choose the minimum output among all of partitions.

**Theorem 15.**[6]*Node-weighted Steiner tree problem has PTAS on unit disk graphs.*

## **6. Conclusion**

Many problems in mobile ad-hoc networks can be formulated by using graph theory. However, in real ad-hoc network applications, there are many constraints that make the issues difficult to be tractable. The methods that might convert these practical issues into graph-based problems are important for the design and implementation of routing, broadcasting and organization algorithms. In this chapter, we present three essential graph-based issues casted from practicle ad-hoc network issues: Connected Dominating Set, Disjoint Sets, and Minimum Spanning Subgraph and Minimum Steiner Tree. Theoritical analysis are described to verify the correctness of these proposed algorithms that are either heuristics or approximationg.

While much efforts have been made to solve the graph-based issues, still much progress needs to be done. For instance, some clustering issues in ad-hoc networks can be casted into graph labeling or graph coloring problem that assigns of labels to the nodes subject to certain constraints. In other mobile ad-hoc applications, many problems involve graph classification, graph subsumption, and even the description and implementation of graph data structure, querying and database. More approaches for ad-hoc network applications should be discussed from the aspectes of the applicability and the utility by using graph theory.

## **Acknowledgements**

16 Mobile Ad-Hoc Networks

*ρ* = 1 + ln 3

*set of G;*

*4:END FOR 5:T* = *SMT*(*G*′

*disk graph.*

for any *ε* > 0.

**6. Conclusion**

*and terminal U; 6:RETURN T;*

<sup>2</sup> = 1.55 till now [28].

difference is the weighted function of *<sup>G</sup>*′ is on edges.

*1:Construct an edge-weighted graph G*′ = (*V*, *<sup>E</sup>*; *<sup>C</sup>*′

, *<sup>U</sup>*)*, where SMT*(*G*′

choose the minimum output among all of partitions.

*2:FOR EACH edge u*, *v in graph G*′ *DO 3: Assign the weight of this edge C*′

**Algorithm 8.**[9]*Approximation Algorithm for NWST on UDGs*

node-weighted dominating set.

(*V*, *E*; *C*) with edge-weight function *C* : *E* → ℜ<sup>+</sup> and a subset *U* ⊂ *V* called a terminal set, the *STP* is to find a subtree *T* of *G* interconnecting the terminal set *U* with minimum total weight. The graph version of *STP* is *NP-complete* and the best approximation ratio is

We considered a variant of *STP* – Node-Weighted Steiner Tree (*NWST*) problem, that is, the weight function is from vertex set to positive real set now. Given a node-weighted graph *G* = (*V*, *E*; *C*) with node-weight function *C* : *V* → ℜ<sup>+</sup> and a subset *U* ⊂ *V* called a terminal set, the *STP* is to find a subtree *T* of *G* interconnecting the terminal set *U* with minimum total weight. As an application, *NWST* can be used on *NWCDS* problem to interconnect the

To deal with the *NWST* problem, the first idea is to convert this problem to classical *STP*. We constructed a new graph *<sup>G</sup>*′ with the same vertex set, edge set and terminal set. The

(*u*, *v*)=(*C*(*u*) + *C*(*v*))/2*;*

**Theorem 14.**[9]*Algorithm 8 is a* 2.5*ρ-approximation for node-weighted Steiner tree problem in unit*

Furthermore, we should give a theoretical result, to show that the *NWST* has polynomial-time approximation scheme (*PTAS*) on *UDGs* if the terminal set *U* is *c*-local, that is, in the minimum node-weighted spanning tree for *U*, the Euclid distance of the longest edge is at most some constant *c*. A *PTAS* is a family of approximation algorithm with ration 1 + *ε*

The main idea of the *PTAS* for *NWST* is based on the partition and shifting strategy. Firstly, we partitioned the whole area containing all vertices into some small cells. Then, we divided every cell into interior area and boundary area. Secondly, for each cell, we constructed a local optimal Steiner forest on terminal vertices in the interior area of this cell. Then, we combined all these forests to obtain a local optimal Steiner forest. Thirdly, we added all the crossing edges to get a Steiner tree on terminal set *R*. We call the resulting graph *Gp* for a specific partition *P*. In order to get a better node-weighted Steiner tree, we shifted the partition and

Many problems in mobile ad-hoc networks can be formulated by using graph theory. However, in real ad-hoc network applications, there are many constraints that make the

**Theorem 15.**[6]*Node-weighted Steiner tree problem has PTAS on unit disk graphs.*

) *with the same vertex set, edge set and terminal*

, *<sup>U</sup>*) *is the best-known approximation algorithm on graph G*′

This work was partially supported by the Scientific Research Foundation for the Returned Overseas Chinese Scholars, State Education Ministry, the Gansu Provincial Science & Technology Department (grant no. 1007RJYA010), the National Natural Science Foundation of China (grant nos. 61003240, 11201208, 10905026, 11275003) and the Fundamental Research Funds for the Central Universities (grant no. lzujbky-2011-44).

## **Author details**

Li Liu1, Xianyue Li2, Jiong Jin3, Zigang Huang4, Ming Liu<sup>5</sup> and Marimuthu Palaniswami3

1 School of Information Science and Engineering, Lanzhou University, P.R.China

2 School of Mathematics and Statistics, Lanzhou University, P.R.China

3 Department of Electrical and Electronic Engineering, The University of Melbourne, Australia

4 School of Physical Science and Technology, Lanzhou University, P.R.China

5 School of Electrical and Information Engineering, The University of Sydney, Australia

## **References**


[3] X. Gao, X. Li and W. Wu, A Constant-Factor Approximation for d-Hop Connected Dominating Set in Unit Disk Graph, The 10th International Conference on Information and Management Sciences (IMS 2011), 263-272 (2011).

10.5772/54146

73

http://dx.doi.org/10.5772/54146

[16] M. Cardei, S. Yang, J. WU, Algorithms for fault-tolerant topology in heterogeneous wireless sensor networks, IEEE Transaction on Parallel Distributed Systems, 19(3)

Graph-Based Routing, Broadcasting and Organizing Algorithms for Ad-Hoc Networks

[17] L. Liu, L. Li, B. Hu, Algorithms for k-fault Tolerant Power Assignments in Wireless Sensor Networks, Science China-Information Sciences, Springer, 53(12) 2527-2537

[18] N. Li, J.-C. Hou, FLSS: A fault-tolerant topology control algorithm for wireless networks, The 10th Annual International Conference on Mobile Computing and

lC286 (2004).

[19] J. Cheriyan, S. Vempala, A. Vetta, Approximation algorithms for minimum-cost k-vertex connected subgraphs, The 34th Annual ACM Symposium on the Theory of Computing

[20] D. Chakrabarti, C. Faloutsos, Graph mining: laws, generators, and algorithms, ACM

[22] L. Liu, B. Hu, L. Li, Algorithms for Energy Efficient Mobile Object Tracking in Wireless

[23] J. Tian, J. Hähner, C. Becker, I. Stepanov, K. Rothermel, Graph-based mobility model for mobile ad hoc network simulation, The 35th Annual Simulation Symposium, (2002).

[24] A. Casteigts, S. Chaumette, Dynamicity aware graph relabeling systems (da-grs), a local computation based model to describe manet algorithms, The 17th International Conference on Parallel and Distributed Computing and Systems (PDCS 2005), 231-236

[25] S. Bittner, W.-U. Raffel, and M. Scholz, The area graph-based mobility model and its impact on data dissemination, The 3rd IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops 2005), 268-272

[26] M. Jahnke, C. Thul, P. Martini, Graph based metrics for intrusion response measures in computer networks, The 32nd IEEE Conference on Local Computer Networks (LCN

[27] W. Ke, P. Basu, T.D.C. Little, A task graph based application framework for mobile ad hoc networks, The 5th IEEE International Conference on Communications (ICC 2002),

[28] G. Robins and A. Zelikovsky, Improved Steiner tree approximation in graphs, The 11th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, 770?779 (2000).

[21] A.-L. Barabási, Linked: the new science of networks, Perseus Books Group (2002).

Sensor Networks, Cluster Computing, 13(2) 181-197 (2010).

545-558 (2008).

Networking (MobiCom 2004), 275´

(STOC 2002), 306-312 (2002).

Computing Surveys, 38(1) (2006).

(2010).

(2005).

(2005).

2007), 1035-1042 (2007).

3279-3283 (2002).


[16] M. Cardei, S. Yang, J. WU, Algorithms for fault-tolerant topology in heterogeneous wireless sensor networks, IEEE Transaction on Parallel Distributed Systems, 19(3) 545-558 (2008).

18 Mobile Ad-Hoc Networks

(2009).

[3] X. Gao, X. Li and W. Wu, A Constant-Factor Approximation for d-Hop Connected Dominating Set in Unit Disk Graph, The 10th International Conference on Information

[4] D. Kim, W. Wang, X. Li, Z. Zhang and W. Wu, A New Constant Factor Approximation for Computing 3-Connected m-Dominating Sets in Homogeneous Wireless Networks, The 29th IEEE Conference on Computer Communications (INFOCOM 2010), 1-9 (2010).

[5] D. Kim, Z. Zhang, X. Li, W. Wang, W. Wu and D.-Z. Du, A Better Approximation Algorithm for Computing Connected Dominating Sets in Unit Ball Graphs, IEEE

[6] X. Li, X.-H. Xu, F. Zou, H. Du, P.-J. Wan, Y. Wang and W. Wu, A PTAS for Node-Weighted Steiner Tree in Unit Disk Graphs, The 3rd Annual International Conference on Combinatorial Optimization and Applications (COCOA 2009), 36-48

[7] M. Min, H.-W.Du, X.-H. Jia, C.-X. Huang, S.-C. Huang and W. Wu, Improving Construction for Connected Dominating Set with Steiner Tree in Wireless Sensor

[8] W. Shang, F. Yao, P. Wan and X. Hu, On Minimum m-Connected k-Dominating Set Problem in Unit Disc Graphs, Journal of Combinatorial Optimization, 16 99-106 (2008).

[9] F. Zou, X. Li, S. Gao and W. Wu, Node-weighted Steiner tree approximation in unit disk

[10] F. Zou, X. Li, D. Kim and W. Wu, Construction of Minimum Connected Dominating Set in 3-Dimensional Wireless Network, The 3rd International Conference on Wireless

[11] F. Zou, Y. Wang, X.-H. Xu, X. Li, H. Du, P. Wan and W. Wu, New approximations for minimum-weighted dominating set and minimum-weighted connected dominating

[12] M. Cardei, D.-Z. Du, Improving wireless sensor network lifetime through power aware

[13] L. Liu, B. Hu, L. Li, Energy Conservation Algorithms for Maintaining Coverage and Connectivity in Wireless Sensor Networks, IET Communications, 4(7) 786-800 (2010).

[14] H. Li, H. Miao, L. Liu, L. Li, H. Zhang, Energy conservation in wireless sensor networks and connectivity of graphs, Theoretical Computer Science, 393(1-3) 81-89 (2008).

[15] L. Liu, B. Hu, H.F. Miao, H. Li, L. Li, Q.L. Zhao, Achieving Energy Conservation, Coverage and Connectivity Requirements in Wireless Sensor Networks, The 29th IEEE International Conference on Distributed Computing Systems Workshops (ICDCS

sets on unit disk graphs, Theoretical Computer Science, 412 198-208 (2011).

and Management Sciences (IMS 2011), 263-272 (2011).

Transactions On Mobile Computing, 9 1108-1118 (2010).

Networks, Journal of Global Optimization, 35 111-119 (2006).

graphs, Journal of Combinatorial Optimization, 18 342-349 (2009).

Algorithms, Systems and Applications (WASA 2008), 134-140 (2008).

organization, Wireless Networks, 11(3) 333-340 (2005).

Workshop 2009), 227-232 (2009).


**Chapter 4**

**Probabilistic Routing in**

http://dx.doi.org/10.5772/53997

**1. Introduction**

wireless medium [2, 6].

throughput and energy efficiency [10, 16]

**Opportunistic Ad Hoc Networks**

Vangelis Angelakis, Niki Gazoni and Di Yuan

Additional information is available at the end of the chapter

Routing packets in multi-hop ad hoc wireless networks poses a great challenge mainly due to the unreliability of the wireless links and the inherent interference of the wireless medium [13]. Due to these characteristics, traditional wired routing schemes that select the best path towards a destination and forward the packet to a specific next hop, have proven ill-suited for networks utilizing the wireless medium and relying on lossy broadcast links. Lately, a new routing paradigm, namely *opportunistic routing*, has been proposed to cope with unreli‐ able transmissions by taking advantage of the broadcast nature and spatial diversity of the

Opportunistic routing constitutes a new routing paradigm leveraging the nodes' ability to overhear a broadcast packet. Its core difference from traditional routing schemes in that forwarders can be selected from the group of recipients of the packet even after its transmission, hence there is no hard commitment to a predetermined path. This flexibili‐ ty enables opportunistic routing to combine multiple weak links to create a reliable route, as well as to exploit unexpectedly long transmissions. The added forwarding relia‐ bility in transmission reduces the retransmission cost, which in turn improves the

Proposed opportunistic protocols demonstrate a lack of concrete understanding of the way key wireless networking primitives and design decisions affect the performance of an op‐ portunistic routing scheme. As a result, it is unclear to which extent the improved perform‐ ance of these protocols owes to their opportunistic design and to which extent it is affected by other design features that can also be applied to traditional routing schemes [19, 20, 22]. Opportunistic protocols which decide on forwarders in a centralized manner require the ex‐ change of node coordination messages, leading to high overhead and increased resource

> © 2012 Angelakis et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

© 2012 Angelakis et al.; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

## **Chapter 4**

## **Probabilistic Routing in Opportunistic Ad Hoc Networks**

Vangelis Angelakis, Niki Gazoni and Di Yuan

Additional information is available at the end of the chapter

http://dx.doi.org/10.5772/53997

## **1. Introduction**

Routing packets in multi-hop ad hoc wireless networks poses a great challenge mainly due to the unreliability of the wireless links and the inherent interference of the wireless medium [13]. Due to these characteristics, traditional wired routing schemes that select the best path towards a destination and forward the packet to a specific next hop, have proven ill-suited for networks utilizing the wireless medium and relying on lossy broadcast links. Lately, a new routing paradigm, namely *opportunistic routing*, has been proposed to cope with unreli‐ able transmissions by taking advantage of the broadcast nature and spatial diversity of the wireless medium [2, 6].

Opportunistic routing constitutes a new routing paradigm leveraging the nodes' ability to overhear a broadcast packet. Its core difference from traditional routing schemes in that forwarders can be selected from the group of recipients of the packet even after its transmission, hence there is no hard commitment to a predetermined path. This flexibili‐ ty enables opportunistic routing to combine multiple weak links to create a reliable route, as well as to exploit unexpectedly long transmissions. The added forwarding relia‐ bility in transmission reduces the retransmission cost, which in turn improves the throughput and energy efficiency [10, 16]

Proposed opportunistic protocols demonstrate a lack of concrete understanding of the way key wireless networking primitives and design decisions affect the performance of an op‐ portunistic routing scheme. As a result, it is unclear to which extent the improved perform‐ ance of these protocols owes to their opportunistic design and to which extent it is affected by other design features that can also be applied to traditional routing schemes [19, 20, 22]. Opportunistic protocols which decide on forwarders in a centralized manner require the ex‐ change of node coordination messages, leading to high overhead and increased resource

© 2012 Angelakis et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Angelakis et al.; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

consumption. Furthermore they require global knowledge of the topology which makes them prone to poor performance in the event of misinformation.

tion pair. The multiple paths established can be overlapping, edge-disjoint or node-disjoint with each other [6]. Data traffic is then split, according to some routing goal, along these multiple paths avoiding congestion and to using network resources with increased efficient‐ ly. Multi-path routing can yield a variety of benefits such as fault tolerance, increased band‐ width, or improved security. It is typically proposed in order to increase the reliability of

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

77

Opportunistic routing differs from the above traditional routing techniques in that it lever‐ ages the broadcast nature of wireless medium and the route is typically generated on the fly, i.e. the transmitting nodes may vary dependent on the actual packet broadcast transmission. As opposed to multi-path routing, it can remain "commitment-free" to the number of prede‐ termined paths. Among the nodes that receive the packet, the one with the best conditions to the destination may be chosen to relay [3, 17, 21]. This can mitigate the effect of losses or

**i.** Opportunistic routing can be used to combine multiple weak links to produce a

As an example consider a node with five candidate relay neighbors and a distant destination and assume there is a 0.2 packet success rate to each of the neighbors, while each of them has a packet success rate of 1.0 to the destination. Under a traditional routing protocol, one of the five neighboring nodes would be selected as relay, resulting, on average, in five trans‐ missions to send a packet from the source to the relay node, and then one more transmission

Opportunistic routing can consider the five neighboring nodes as one virtual link that can forward the packet to the destination. This opportunistic virtual link will then have a suc‐

quired to deliver a packet to *at least one* of the five intermediate nodes, and one more transmission is required for an intermediate node to forward. Hence, with 2.487 transmis‐ sions required on average end-to-end packet delivery through the opportunistic virtual link,

**ii.** Opportunistic routing can take advantage of "against-the-odds" successful trans‐

In traditional routing protocols there typically is a trade-off reflected in the route selection metric between link quality and the spatial progress, in terms of distance from the destina‐ tion, each transmission achieves. Consider a tandem of 4 nodes A, B, C, and D where the channel conditions from A to B is expected to be better than those of A to C, and so on due to proximity. Then indeed a transmission from A to B is more likely to be successful, albeit the information will physically progress less hence an added transmission to C may be re‐

quired to guarantee, with some probability margin, reaching the final destination.

= 0.672. So, on average only 1/0.67=1.487 transmissions will be re‐

increased overhead due to unreliable and unpredictable wireless links.

The key opportunistic routing benefits are the following two [15]:

achieves a throughput gain of x2.4 over traditional routing.

missions, to achieve increased throughput.

data transmission or to provide load balancing [11].

*1.1.3. Opportunistic routing*

virtual strong link.

from the relay node to the destination.

cess rate of: 1 − (1 − 0.2)5

On the other hand, localized probabilistic forwarding decision protocols, which have been designed mostly for use in sensor networks, have to trade high performance for robustness and simplicity. In fact some of them partly rely on flooding techniques, thus demonstrating a percolation behavior, which leads to unnecessary transmissions [23].

In designing of an opportunistic routing scheme, there are two key design decisions [10, 11]. Firstly, how node receiving a packet should decide to forward or not. Secondly, provided that a node has decided to relay a packet, based on some metric, when is the most appropri‐ ate time to do so. Here, using a simulation framework, we examine how the forwarding de‐ cisions and transmission timing affect performance and under which channel error conditions and topology density it is beneficial to use opportunistic routing instead of tradi‐ tional routing. Furthermore, we develop an opportunistic forwarding scheme, whose pa‐ rameters can be tuned to allow for low resource consumption and high delay performance, while being robust to misinformation. We provide evidence which confirms that the sug‐ gested protocol supports multiple flows in a network, a weakness of existing early demon‐ strated solutions in the literature. Finally, to evaluate the scheme, and the role of the wireless primitives in forwarding, we provide comparisons to single-path routing and two opportunistic routing protocols, SOAR [15] and Directed Transmission [12]. Our simulation results, under various channel error and misinformation conditions, demonstrate that the proposed routing protocol outperforms both SOAR which uses a centralized scheme for for‐ warding decision-making and Directed Transmission which, designed for sensor networks, is distributed using only local information.

#### **1.1. Routing schemes in multi-hop wireless networks**

#### *1.1.1. Single-path routing*

Initially, the routing techniques that have traditionally been used in wired networks were transported for use in multi-hop wireless networks as well. These routing protocols typical‐ ly rely on choosing the best sequence of nodes between a source and destination, by some metric, and then forward each packet through that path, until something goes wrong, i.e. packets start getting lost. However, in the wireless domain, the performance of single path routing would often prove unsatisfactory due to the fact that, especially in multi-hop net‐ works, link conditions are highly varying due to interference that such a single path may be far from optimal. Typically such protocols yield highly volatile routes incurring very high overhead costs in end-to-end communication. Most of the well-established routing proto‐ cols, such as DSR [7], AODV [14], and DSDV [4] fall into this category.

#### *1.1.2. Multi-path routing*

Towards improving routing performance, in multi-hop wireless networks, multi-path rout‐ ing takes advantage of the potential of multiple alternative paths between a source-destina‐ tion pair. The multiple paths established can be overlapping, edge-disjoint or node-disjoint with each other [6]. Data traffic is then split, according to some routing goal, along these multiple paths avoiding congestion and to using network resources with increased efficient‐ ly. Multi-path routing can yield a variety of benefits such as fault tolerance, increased band‐ width, or improved security. It is typically proposed in order to increase the reliability of data transmission or to provide load balancing [11].

#### *1.1.3. Opportunistic routing*

consumption. Furthermore they require global knowledge of the topology which makes

On the other hand, localized probabilistic forwarding decision protocols, which have been designed mostly for use in sensor networks, have to trade high performance for robustness and simplicity. In fact some of them partly rely on flooding techniques, thus demonstrating

In designing of an opportunistic routing scheme, there are two key design decisions [10, 11]. Firstly, how node receiving a packet should decide to forward or not. Secondly, provided that a node has decided to relay a packet, based on some metric, when is the most appropri‐ ate time to do so. Here, using a simulation framework, we examine how the forwarding de‐ cisions and transmission timing affect performance and under which channel error conditions and topology density it is beneficial to use opportunistic routing instead of tradi‐ tional routing. Furthermore, we develop an opportunistic forwarding scheme, whose pa‐ rameters can be tuned to allow for low resource consumption and high delay performance, while being robust to misinformation. We provide evidence which confirms that the sug‐ gested protocol supports multiple flows in a network, a weakness of existing early demon‐ strated solutions in the literature. Finally, to evaluate the scheme, and the role of the wireless primitives in forwarding, we provide comparisons to single-path routing and two opportunistic routing protocols, SOAR [15] and Directed Transmission [12]. Our simulation results, under various channel error and misinformation conditions, demonstrate that the proposed routing protocol outperforms both SOAR which uses a centralized scheme for for‐ warding decision-making and Directed Transmission which, designed for sensor networks,

Initially, the routing techniques that have traditionally been used in wired networks were transported for use in multi-hop wireless networks as well. These routing protocols typical‐ ly rely on choosing the best sequence of nodes between a source and destination, by some metric, and then forward each packet through that path, until something goes wrong, i.e. packets start getting lost. However, in the wireless domain, the performance of single path routing would often prove unsatisfactory due to the fact that, especially in multi-hop net‐ works, link conditions are highly varying due to interference that such a single path may be far from optimal. Typically such protocols yield highly volatile routes incurring very high overhead costs in end-to-end communication. Most of the well-established routing proto‐

Towards improving routing performance, in multi-hop wireless networks, multi-path rout‐ ing takes advantage of the potential of multiple alternative paths between a source-destina‐

them prone to poor performance in the event of misinformation.

is distributed using only local information.

*1.1.1. Single-path routing*

76 Wireless Ad-Hoc Networks

*1.1.2. Multi-path routing*

**1.1. Routing schemes in multi-hop wireless networks**

cols, such as DSR [7], AODV [14], and DSDV [4] fall into this category.

a percolation behavior, which leads to unnecessary transmissions [23].

Opportunistic routing differs from the above traditional routing techniques in that it lever‐ ages the broadcast nature of wireless medium and the route is typically generated on the fly, i.e. the transmitting nodes may vary dependent on the actual packet broadcast transmission. As opposed to multi-path routing, it can remain "commitment-free" to the number of prede‐ termined paths. Among the nodes that receive the packet, the one with the best conditions to the destination may be chosen to relay [3, 17, 21]. This can mitigate the effect of losses or increased overhead due to unreliable and unpredictable wireless links.

The key opportunistic routing benefits are the following two [15]:

**i.** Opportunistic routing can be used to combine multiple weak links to produce a virtual strong link.

As an example consider a node with five candidate relay neighbors and a distant destination and assume there is a 0.2 packet success rate to each of the neighbors, while each of them has a packet success rate of 1.0 to the destination. Under a traditional routing protocol, one of the five neighboring nodes would be selected as relay, resulting, on average, in five trans‐ missions to send a packet from the source to the relay node, and then one more transmission from the relay node to the destination.

Opportunistic routing can consider the five neighboring nodes as one virtual link that can forward the packet to the destination. This opportunistic virtual link will then have a suc‐ cess rate of: 1 − (1 − 0.2)5 = 0.672. So, on average only 1/0.67=1.487 transmissions will be re‐ quired to deliver a packet to *at least one* of the five intermediate nodes, and one more transmission is required for an intermediate node to forward. Hence, with 2.487 transmis‐ sions required on average end-to-end packet delivery through the opportunistic virtual link, achieves a throughput gain of x2.4 over traditional routing.

**ii.** Opportunistic routing can take advantage of "against-the-odds" successful trans‐ missions, to achieve increased throughput.

In traditional routing protocols there typically is a trade-off reflected in the route selection metric between link quality and the spatial progress, in terms of distance from the destina‐ tion, each transmission achieves. Consider a tandem of 4 nodes A, B, C, and D where the channel conditions from A to B is expected to be better than those of A to C, and so on due to proximity. Then indeed a transmission from A to B is more likely to be successful, albeit the information will physically progress less hence an added transmission to C may be re‐ quired to guarantee, with some probability margin, reaching the final destination.

Not, in advance, committing to who will forward a packet to the final destination in such a case can prove beneficial if for some reason the channel conditions prove unexpectedly fa‐ vorable to the long transmission from A to C. Hence a rule of thumb stating that: "Among the nodes that receive the packet, the one closest to the destination should forward" comes naturally in the case of opportunistic routing.

shortest path from source to destination. The cost metric is again ETX. A significant differ‐ ence between ExOR and SOAR is that SOAR performs the routing decision process on a *perpacket* basis rather than on a batch. Finally, in SOAR the forwarder list is limited to 5 relays. Overall, SOAR incurs slightly less overhead than ExOR and restricts flows as close to the shortest path from source to destination as possible. It is considered crucial to avoid diverg‐ ing paths, and select forwarders that can hear each other because overhearing is the only

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

79

To make the protocol reliable to ACK losses, selective ACKs are used. Each ACK packet con‐ tains the starting sequence number of out-of-order ACKs and a bit-map of out-of-order ACKs. In addition, SOAR uses a scheme of *piggy-backed acknowledgement* and *ACKs compres‐ sion* to reduce the overhead of acknowledgments. When a node does not have much data to

However, the increase in throughput that is observed when SOAR is in use is partly due to its opportunistic scheme and partly due to its complex acknowledgment scheme, therefore making it unclear at what extent this protocol contributes to opportunistic routing [20].

In ROMER [18], a credit mechanism is used to build a forwarding mesh topology on the fly centered on minimum cost paths. It aims to avoid the cost of retransmissions over persis‐ tently poor routes. Each packet is assigned a number of credits equal to the amount needed to reach the destination along the minimum cost path plus some extra slack allowing the

Before forwarding a packet the transmitting node calculates the remaining credit that the packet would have if forwarded over a link and compares it to a threshold value. This scheme enables multiple forwarders to emerge near the source to ensuring route diversity and packet progress in view of lossy links. At the same time the scheme secures converge

Greedy probabilistic forwarding is used to deliver the data packet along the instantaneously highest rate link with probability one and along other high-rated downstream links with a high probability value. Thus, it favors high quality links over low quality ones by selecting higher random forwarding probability. However, it does not account for resource conserva‐

The Parametric probabilistic sensor network routing scheme of [15] proposes two proto‐ cols that forward a single packet with varying retransmission probability through a net‐ work of sensor nodes, focusing on simplicity and robustness to errors in distance estimation. The Destination Attractor assigns a higher retransmission probability to the packet, as it moves closer to the destination and reduces it, as the packet moves away from the destination. Distance check is performed by comparing the distance of the

send, it should also send stand-alone ACKs to provide timely channel feedback.

means to avoid duplicate transmissions.

*1.2.3. Resilient Opportunistic Mesh Routing: ROMER*

packet to deviate slightly from this (shortest) path

tion and catering to multiple flows.

*1.2.4. Destination attractor and directed transmission*

near the destination and remains close to the minimum cost path.

#### **1.2. Related opportunistic routing works**

Here, we introduce the major opportunistic routing protocols our work is based on, and/or is compared against.

#### *1.2.1. Extreme Opportunistic Routing: ExOR*

ExOR [1] is a routing protocol for wireless multi-hop networks that was implemented on the RoofNet testbed at the Massachusetts Institute of Technology. ExOR integrates routing and MAC protocols, still all packets are broadcast at layer 3. It improves routing performance by utilizing opportunistically success over unstable long-range links (see above).

After collecting a batch of packets, which is uniquely identified by a *BatchID*, the source broadcasts each packet in the batch, listing the forwarding nodes in a priority order in the packet's header. Priority is set by the ETX metric to the destination [8]. The ETX metric, i.e. essentially the expected number of transmissions necessary to forward a packet along a route, can be considered to map to a distance from the destination, hence, the lower the met‐ ric, the higher the priority. Only nodes that are "closer" to the destination than the source are included in the potential forwarder set. Each packet carries a bitmap, marking packets that have been received by the sending node or nodes with higher priorities. A forwarder transmits a packet only if no forwarder with higher priority has explicitly acknowledged re‐ ceipt of it. ExOR has good routing performance.

It is unlikely that a forwarder will receive the entire batch correctly, so the nodes that have stored fragments of the batch will need to schedule their transmissions. To that end, each forwarder uses a forwarding timer that ExOR has set to five packet durations times the number of higher priority nodes in the forwarder list, and which is a prediction of the time at which the node should start forwarding packets from its packet buffer. After each sched‐ ule cycle, the batch maps need to be updated by means of negative acknowledgments and when the destination has received 90% of the batch, the rest of it is sent using traditional routing, because the overhead would be forbidding otherwise.

Due to the centralized coordination and scheduling that is needed between forwarders and the destination, ExOR incurs high overhead when the batch of packets to transmit is small as in bursty and short-lived flows, or the number of candidate forwarders is large.

#### *1.2.2. The Simple Opportunistic Adaptive Routing protocol: SOAR*

The SOAR protocol [15] has been proposed as an improvement to ExOR in order to support multiple flows. In SOAR the candidate forwarders are constrained to be on-or-near the shortest path from source to destination. The cost metric is again ETX. A significant differ‐ ence between ExOR and SOAR is that SOAR performs the routing decision process on a *perpacket* basis rather than on a batch. Finally, in SOAR the forwarder list is limited to 5 relays. Overall, SOAR incurs slightly less overhead than ExOR and restricts flows as close to the shortest path from source to destination as possible. It is considered crucial to avoid diverg‐ ing paths, and select forwarders that can hear each other because overhearing is the only means to avoid duplicate transmissions.

To make the protocol reliable to ACK losses, selective ACKs are used. Each ACK packet con‐ tains the starting sequence number of out-of-order ACKs and a bit-map of out-of-order ACKs. In addition, SOAR uses a scheme of *piggy-backed acknowledgement* and *ACKs compres‐ sion* to reduce the overhead of acknowledgments. When a node does not have much data to send, it should also send stand-alone ACKs to provide timely channel feedback.

However, the increase in throughput that is observed when SOAR is in use is partly due to its opportunistic scheme and partly due to its complex acknowledgment scheme, therefore making it unclear at what extent this protocol contributes to opportunistic routing [20].

#### *1.2.3. Resilient Opportunistic Mesh Routing: ROMER*

Not, in advance, committing to who will forward a packet to the final destination in such a case can prove beneficial if for some reason the channel conditions prove unexpectedly fa‐ vorable to the long transmission from A to C. Hence a rule of thumb stating that: "Among the nodes that receive the packet, the one closest to the destination should forward" comes

Here, we introduce the major opportunistic routing protocols our work is based on, and/or

ExOR [1] is a routing protocol for wireless multi-hop networks that was implemented on the RoofNet testbed at the Massachusetts Institute of Technology. ExOR integrates routing and MAC protocols, still all packets are broadcast at layer 3. It improves routing performance by

After collecting a batch of packets, which is uniquely identified by a *BatchID*, the source broadcasts each packet in the batch, listing the forwarding nodes in a priority order in the packet's header. Priority is set by the ETX metric to the destination [8]. The ETX metric, i.e. essentially the expected number of transmissions necessary to forward a packet along a route, can be considered to map to a distance from the destination, hence, the lower the met‐ ric, the higher the priority. Only nodes that are "closer" to the destination than the source are included in the potential forwarder set. Each packet carries a bitmap, marking packets that have been received by the sending node or nodes with higher priorities. A forwarder transmits a packet only if no forwarder with higher priority has explicitly acknowledged re‐

It is unlikely that a forwarder will receive the entire batch correctly, so the nodes that have stored fragments of the batch will need to schedule their transmissions. To that end, each forwarder uses a forwarding timer that ExOR has set to five packet durations times the number of higher priority nodes in the forwarder list, and which is a prediction of the time at which the node should start forwarding packets from its packet buffer. After each sched‐ ule cycle, the batch maps need to be updated by means of negative acknowledgments and when the destination has received 90% of the batch, the rest of it is sent using traditional

Due to the centralized coordination and scheduling that is needed between forwarders and the destination, ExOR incurs high overhead when the batch of packets to transmit is small as

The SOAR protocol [15] has been proposed as an improvement to ExOR in order to support multiple flows. In SOAR the candidate forwarders are constrained to be on-or-near the

in bursty and short-lived flows, or the number of candidate forwarders is large.

utilizing opportunistically success over unstable long-range links (see above).

naturally in the case of opportunistic routing.

**1.2. Related opportunistic routing works**

*1.2.1. Extreme Opportunistic Routing: ExOR*

ceipt of it. ExOR has good routing performance.

routing, because the overhead would be forbidding otherwise.

*1.2.2. The Simple Opportunistic Adaptive Routing protocol: SOAR*

is compared against.

78 Wireless Ad-Hoc Networks

In ROMER [18], a credit mechanism is used to build a forwarding mesh topology on the fly centered on minimum cost paths. It aims to avoid the cost of retransmissions over persis‐ tently poor routes. Each packet is assigned a number of credits equal to the amount needed to reach the destination along the minimum cost path plus some extra slack allowing the packet to deviate slightly from this (shortest) path

Before forwarding a packet the transmitting node calculates the remaining credit that the packet would have if forwarded over a link and compares it to a threshold value. This scheme enables multiple forwarders to emerge near the source to ensuring route diversity and packet progress in view of lossy links. At the same time the scheme secures converge near the destination and remains close to the minimum cost path.

Greedy probabilistic forwarding is used to deliver the data packet along the instantaneously highest rate link with probability one and along other high-rated downstream links with a high probability value. Thus, it favors high quality links over low quality ones by selecting higher random forwarding probability. However, it does not account for resource conserva‐ tion and catering to multiple flows.

#### *1.2.4. Destination attractor and directed transmission*

The Parametric probabilistic sensor network routing scheme of [15] proposes two proto‐ cols that forward a single packet with varying retransmission probability through a net‐ work of sensor nodes, focusing on simplicity and robustness to errors in distance estimation. The Destination Attractor assigns a higher retransmission probability to the packet, as it moves closer to the destination and reduces it, as the packet moves away from the destination. Distance check is performed by comparing the distance of the source node in hops from the destination to the distance of the node currently holding the packet. The primary concern of this approach is to deliver as many copies of a single packet to the destination sensor as possible, without accounting for resource usage or de‐ lays. Directed Transmission improves probabilistic routing's performance by assigning an exponentially higher forwarding probability to nodes that are on the shortest path from the source to the destination and decreasing it as the packet strays from the shortest path. This leads to lower resource consumption than the Destination Attractor and can be tuned to resemble shortest path routing, when the misinformation is low enough. Both protocols are compared to shortest path routing as an ideal case.

The immense resource consumption of this scheme renders it completely impractical when amongst the targets of a routing protocol is e.g. to allow for multiple flows to exist simulta‐ neously in the network – a goal not always necessary in event-detection sensor networks. Summarily the stochastic forwarding procedure proposed is intended as a flexible solution in routing applied in a variety of networks, where lossy areas are observed due to low link quality and that the topology is sufficiently dense to require opportunistic communication.

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

81

The major issues that need to be addressed in the design of the routing scheme that encom‐ passes a stochastic forwarding procedure are (i) deciding which nodes should forward a packet, (ii) when to do so, (iii) how to acknowledge the reception of a packet. Candidate for‐ warders should be selected in order to improve the performance of the end-to-end flow. On the other hand the number of these forwarders should be limited to those that guarantee, with a high probability, the packets' progress towards their destination, in order to avoid excess resource consumption and allow better network resources utilization. Furthermore, the forwarding time differentiation between the candidates enables the mitigation of redun‐ dant transmissions, by limiting packet collisions. Lastly, since layer 3 broadcast packets typi‐ cally do not implement link-layer acknowledgements, such a scheme should be devised. The destination could generate acknowledgements upon packet reception, which would be propagated back to the source, either opportunistically or via the shortest path. This would impose significant load on the network if the acknowledgements were "stand-alone" layer 2, or layer 3 control packets competing with the data packets and being susceptible to lossy links, which would cause significant delay until retransmission of a lost packet. However, the option of piggy-backing the acknowledgments onto data packets is limiting since it can be applied only when flows of symmetric direction exist between source and destination. Hop-by-hop acknowledgments provide robustness to the lossy links and mitigate delay on the other hand increase the overhead. Conversely, a passive acknowledgment scheme that utilizes overhearing of other nodes' transmissions, avoids imposing additional load to the

For the purpose of determining which nodes are the most suitable forwarding candidates for a particular packet, a routing cost metric needs to be used. For the framework presenta‐ tion elucidation, the procedure presented here uses as a metric the physical distance be‐ tween two nodes. However, any cost metric can be used to this end, (provided, the metric has well-defined minimum and maximum values). In order for a node to be able to calculate its routing metric from the destination of the packet, a neighbor discovery phase should take place between the nodes in network, before data packets can be exchanged. In our discus‐ sion we consider this to have taken place offline and do not assume it to be a part of the protocol, although it is an aspect that would increase the protocol overhead. Note that for the actual simulation comparisons the same assumption has been made for all protocols. Other metrics' calculation, as for example the ETX metric used in ExOr, can be incorporated in the specific protocol, with relative low design overhead. Note that such processes may be

prone to misinformation due to the overly distributed nature of the network.

network, contrary to explicit acknowledgment packets.

**2.2. Forwarding cost metric**

## **2. Design considerations for a probabilistic routing scheme**

As it has become apparent from our discussion thus far, in designing a probabilistic packet routing scheme for an opportunistic ad hoc network there are two key design decisions in the core of the forwarding procedure [5]:


In what follows we develop a concise simulation framework to investigate how the forward‐ ing decisions and transmission timing affect performance, and under which channel error conditions and topology density it is beneficial to use stochastic opportunistic routing in‐ stead of traditional routing techniques. With the insight gained, we develop a probabilistic packet forwarding procedure can be automatically tuned to allow for low resource con‐ sumption and delay-tolerant performance, while at the same time being robust to poor sys‐ tem information, which is a common case in ad hoc opportunistic networks. The procedure is embedded in a basic routing scheme, which is compared to single path routing and two reference opportunistic routing protocols, already discussed, SOAR and Directed Transmis‐ sion. Simulation results under various channel error and errors in the metric calculation, demonstrate that our proposed protocol outperforms both SOAR, which uses a centralized forwarding decision scheme and Directed Transmission, which is highly distributed and de‐ signed for sensor networks.

#### **2.1. Forwarding procedure principles & parameters**

Apart from an initial neighbor discovery phase, routing decisions should require minimal information to be exchanged between nodes and no co-operation, to avoid imposing compu‐ tational load on nodes with limited computational capacity and wasting bandwidth in ex‐ changing control packets when bandwidth is limited. The forwarding procedure developed therefore had the key goals of simplicity and distributed decision-making. This is an obvi‐ ous trade-off, as the simplest design solution would be flooding, a technique used in many sensor network opportunistically routing schemes (e.g. see [23] and the references therein). The immense resource consumption of this scheme renders it completely impractical when amongst the targets of a routing protocol is e.g. to allow for multiple flows to exist simulta‐ neously in the network – a goal not always necessary in event-detection sensor networks. Summarily the stochastic forwarding procedure proposed is intended as a flexible solution in routing applied in a variety of networks, where lossy areas are observed due to low link quality and that the topology is sufficiently dense to require opportunistic communication.

The major issues that need to be addressed in the design of the routing scheme that encom‐ passes a stochastic forwarding procedure are (i) deciding which nodes should forward a packet, (ii) when to do so, (iii) how to acknowledge the reception of a packet. Candidate for‐ warders should be selected in order to improve the performance of the end-to-end flow. On the other hand the number of these forwarders should be limited to those that guarantee, with a high probability, the packets' progress towards their destination, in order to avoid excess resource consumption and allow better network resources utilization. Furthermore, the forwarding time differentiation between the candidates enables the mitigation of redun‐ dant transmissions, by limiting packet collisions. Lastly, since layer 3 broadcast packets typi‐ cally do not implement link-layer acknowledgements, such a scheme should be devised. The destination could generate acknowledgements upon packet reception, which would be propagated back to the source, either opportunistically or via the shortest path. This would impose significant load on the network if the acknowledgements were "stand-alone" layer 2, or layer 3 control packets competing with the data packets and being susceptible to lossy links, which would cause significant delay until retransmission of a lost packet. However, the option of piggy-backing the acknowledgments onto data packets is limiting since it can be applied only when flows of symmetric direction exist between source and destination. Hop-by-hop acknowledgments provide robustness to the lossy links and mitigate delay on the other hand increase the overhead. Conversely, a passive acknowledgment scheme that utilizes overhearing of other nodes' transmissions, avoids imposing additional load to the network, contrary to explicit acknowledgment packets.

#### **2.2. Forwarding cost metric**

source node in hops from the destination to the distance of the node currently holding the packet. The primary concern of this approach is to deliver as many copies of a single packet to the destination sensor as possible, without accounting for resource usage or de‐ lays. Directed Transmission improves probabilistic routing's performance by assigning an exponentially higher forwarding probability to nodes that are on the shortest path from the source to the destination and decreasing it as the packet strays from the shortest path. This leads to lower resource consumption than the Destination Attractor and can be tuned to resemble shortest path routing, when the misinformation is low enough.

As it has become apparent from our discussion thus far, in designing a probabilistic packet routing scheme for an opportunistic ad hoc network there are two key design decisions in

**a.** *how* a node should decide whether or not to forward a packet it received and is not in‐

In what follows we develop a concise simulation framework to investigate how the forward‐ ing decisions and transmission timing affect performance, and under which channel error conditions and topology density it is beneficial to use stochastic opportunistic routing in‐ stead of traditional routing techniques. With the insight gained, we develop a probabilistic packet forwarding procedure can be automatically tuned to allow for low resource con‐ sumption and delay-tolerant performance, while at the same time being robust to poor sys‐ tem information, which is a common case in ad hoc opportunistic networks. The procedure is embedded in a basic routing scheme, which is compared to single path routing and two reference opportunistic routing protocols, already discussed, SOAR and Directed Transmis‐ sion. Simulation results under various channel error and errors in the metric calculation, demonstrate that our proposed protocol outperforms both SOAR, which uses a centralized forwarding decision scheme and Directed Transmission, which is highly distributed and de‐

Apart from an initial neighbor discovery phase, routing decisions should require minimal information to be exchanged between nodes and no co-operation, to avoid imposing compu‐ tational load on nodes with limited computational capacity and wasting bandwidth in ex‐ changing control packets when bandwidth is limited. The forwarding procedure developed therefore had the key goals of simplicity and distributed decision-making. This is an obvi‐ ous trade-off, as the simplest design solution would be flooding, a technique used in many sensor network opportunistically routing schemes (e.g. see [23] and the references therein).

Both protocols are compared to shortest path routing as an ideal case.

**2. Design considerations for a probabilistic routing scheme**

**b.** *when* is the most appropriate time to transmit such a packet.

the core of the forwarding procedure [5]:

tended for him, and

80 Wireless Ad-Hoc Networks

signed for sensor networks.

**2.1. Forwarding procedure principles & parameters**

For the purpose of determining which nodes are the most suitable forwarding candidates for a particular packet, a routing cost metric needs to be used. For the framework presenta‐ tion elucidation, the procedure presented here uses as a metric the physical distance be‐ tween two nodes. However, any cost metric can be used to this end, (provided, the metric has well-defined minimum and maximum values). In order for a node to be able to calculate its routing metric from the destination of the packet, a neighbor discovery phase should take place between the nodes in network, before data packets can be exchanged. In our discus‐ sion we consider this to have taken place offline and do not assume it to be a part of the protocol, although it is an aspect that would increase the protocol overhead. Note that for the actual simulation comparisons the same assumption has been made for all protocols. Other metrics' calculation, as for example the ETX metric used in ExOr, can be incorporated in the specific protocol, with relative low design overhead. Note that such processes may be prone to misinformation due to the overly distributed nature of the network.

#### **2.3. Forwarding probability function**

In order to determine which nodes will forward a packet in a stochastic manner, a forwarding probability function is utilized. This function is the same for all nodes in the network. It's role is to map cost metrics to forwarding probabilities to each node that receives a packet. More spe‐ cifically, this function is (a) non-increasing in the cost metric, i.e. lower routing cost values should not yield lower probability, and (b) bound, so that the minimum values it assigns are between zero and one. Given the cost metric assumed, our forwarding probability is assigned with respect to the distance of the receiving node from the packet destination and its relative position to the sender. Hence, when a node broadcasts a packet it has to include in the routing header its distance from the destination, so that the nodes that receive it, can calculate their for‐ warding probability for it. Obviously, out of the neighbors of the sender node, that is to say, the nodes that are within range of its broadcast, the neighbor that is closest to the destination should be assigned a probability equal to one, to ensure the progress of the packet towards the destination. In what follows we interchange the terms "routing cost metric" and distance.

**a.** a linear forwarding probability function: Initially, we consider a linear decreasing func‐ tion with probability values from 1 to 0. It is simple to observe that such a function sat‐ isfies the above requirements. This forwarding probability p is expressed by:

$$p = \frac{1}{d\_{\text{min}} - d\_{\text{max}}} \left[ d \left( p\_{\text{max}} - p\_{\text{min}} \right) + p\_{\text{min}} d\_{\text{min}} - p\_{\text{max}} d\_{\text{max}} \right]. \tag{1}$$

This function provides differentiation between the forwarding probabilities of different no‐ des that receive the same packet in the broadcast range of the transmitter. However, it as‐ signs a probability equal to 1 to exactly one node in each broadcast area, the node with *d*min distance from the destination. Therefore, the packet's progress would heavily rely on that particular node. Moreover, if no node is to be found with this particular distance value in a topology, then there would be no certain forwarder for that packet in this broadcast area.

**b.** Piece-wise linear forwarding probability function: To deal with the case of no certain forwarders, the previous forwarding probability function can be modified to increase the number of potential forwarding candidates that can have high forwarding probabil‐ ity or equal to one. This can be achieved by using a piecewise function composed of an initial flat region where probability is one, followed by a decreasing linear function. The shape of the function is demonstrated in Figure 2. In this case, the forwarding probabili‐

( max min min min max max )

ì ü ï ï <sup>=</sup> í ý é ù -+ - ë û ï ï - î þ (2)

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

83

*<sup>p</sup>* min 1, *dp p p d p d* . *d d*

min max 1

**Figure 2.** Piece-wise forwarding probability function and a node's broadcast radius.

Ideally this would be the neighbor on the shortest path to destination.

This piecewise function is produced by setting *P*max > 1 and hence introducing more than one certain forwarders. To guarantee the packets' progress to the destination, at least one neigh‐ bor with forwarding probability equal to 1 is needed and this is ensured by the flat region.

**b.** Binary forwarding probability function: The final variant we examine for the forward‐ ing probability function is a 0-1 function. Figure 3 illustrates the step-wise function. In this case, nodes are either assigned a forwarding probability equal to one or a probabili‐ ty equal to zero, that is they either forward the packet always or they never do. For‐

ty is given by:

where *d* is the distance between the candidate forwarder and the destination, *p*max is the for‐ warding probability associated to the nearest possible candidate (i.e., for *d = d*min), and *p*min is the probability associated to the furthest possible candidate (i.e., for *d = d*max). It is straight‐ forward to observe that 0 ≤ *p* ≤ 1 for *d*min ≤ *d* ≤ *d*max.

**Figure 1.** Forwarding probability as a linear function; inset: a node's broadcast radius.

This function provides differentiation between the forwarding probabilities of different no‐ des that receive the same packet in the broadcast range of the transmitter. However, it as‐ signs a probability equal to 1 to exactly one node in each broadcast area, the node with *d*min distance from the destination. Therefore, the packet's progress would heavily rely on that particular node. Moreover, if no node is to be found with this particular distance value in a topology, then there would be no certain forwarder for that packet in this broadcast area.

**2.3. Forwarding probability function**

82 Wireless Ad-Hoc Networks

In order to determine which nodes will forward a packet in a stochastic manner, a forwarding probability function is utilized. This function is the same for all nodes in the network. It's role is to map cost metrics to forwarding probabilities to each node that receives a packet. More spe‐ cifically, this function is (a) non-increasing in the cost metric, i.e. lower routing cost values should not yield lower probability, and (b) bound, so that the minimum values it assigns are between zero and one. Given the cost metric assumed, our forwarding probability is assigned with respect to the distance of the receiving node from the packet destination and its relative position to the sender. Hence, when a node broadcasts a packet it has to include in the routing header its distance from the destination, so that the nodes that receive it, can calculate their for‐ warding probability for it. Obviously, out of the neighbors of the sender node, that is to say, the nodes that are within range of its broadcast, the neighbor that is closest to the destination should be assigned a probability equal to one, to ensure the progress of the packet towards the destination. In what follows we interchange the terms "routing cost metric" and distance.

**a.** a linear forwarding probability function: Initially, we consider a linear decreasing func‐ tion with probability values from 1 to 0. It is simple to observe that such a function sat‐

( max min min min max max )

where *d* is the distance between the candidate forwarder and the destination, *p*max is the for‐ warding probability associated to the nearest possible candidate (i.e., for *d = d*min), and *p*min is the probability associated to the furthest possible candidate (i.e., for *d = d*max). It is straight‐

*<sup>p</sup> dp p p d p d* . *d d* <sup>=</sup> é ù -+ - ë û - (1)

isfies the above requirements. This forwarding probability p is expressed by:

min max 1

**Figure 1.** Forwarding probability as a linear function; inset: a node's broadcast radius.

forward to observe that 0 ≤ *p* ≤ 1 for *d*min ≤ *d* ≤ *d*max.

**b.** Piece-wise linear forwarding probability function: To deal with the case of no certain forwarders, the previous forwarding probability function can be modified to increase the number of potential forwarding candidates that can have high forwarding probabil‐ ity or equal to one. This can be achieved by using a piecewise function composed of an initial flat region where probability is one, followed by a decreasing linear function. The shape of the function is demonstrated in Figure 2. In this case, the forwarding probabili‐ ty is given by:

$$p = \min\left\{1, \frac{1}{d\_{\min} - d\_{\max}} \left[d\left(p\_{\max} - p\_{\min}\right) + p\_{\min}d\_{\min} - p\_{\max}d\_{\max}\right] \right\}.\tag{2}$$

**Figure 2.** Piece-wise forwarding probability function and a node's broadcast radius.

This piecewise function is produced by setting *P*max > 1 and hence introducing more than one certain forwarders. To guarantee the packets' progress to the destination, at least one neigh‐ bor with forwarding probability equal to 1 is needed and this is ensured by the flat region. Ideally this would be the neighbor on the shortest path to destination.

**b.** Binary forwarding probability function: The final variant we examine for the forward‐ ing probability function is a 0-1 function. Figure 3 illustrates the step-wise function. In this case, nodes are either assigned a forwarding probability equal to one or a probabili‐ ty equal to zero, that is they either forward the packet always or they never do. For‐ warding is again based on the value of the metric and there is a threshold value of the metric, which when surpassed it is decided that the node should not forward. Yet again, the number of forwarders may be increased or decreased by adapting the thresh‐ old value of the metric. We describe this function by:

$$p = \begin{cases} 0, & d\_{\text{threshold}} < d \le d\_{\text{max}}, \\ 1, & d\_{\text{min}} \le d \le d\_{\text{threshold}}. \end{cases} \tag{3}$$

( max min )( ) min 1 . *win win win p win base* = - -+ (4)

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

85

Where *pbase* is the base probability for that node and *win*min, *win*max are values of minimum

In order to acknowledge successful packet reception the forwarding procedure takes ad‐ vantage of the broadcast nature of the wireless medium. After broadcasting a packet, a node can learn if at least one of its neighboring nodes received it by overhearing its neighbors' transmissions for a sort amount of time, thus also avoiding collisions. If a transmission of the last sent packet is overheard, then a node will drop the packet from its queue and con‐ tinue to transmit the next. In case time goes by without overhearing any transmission of the last sent packet, then the node will retransmit it, as long as a maximum number of retrans‐

Upon successful reception of a new non-expired packet, the node will have to calculate its forwarding probability for it, its back-off window for it and select a random back-off value from the range of the latter. A list with the packet and flow IDs of previously successfully forwarded packets can be kept to ensure that a node will not forward the same packet of a flow twice thus reducing redundant transmissions. After determining all of the above, a node will have to store individual packets according to the back-off timer that it has calcu‐

The manner in which the node will handle the various packets it has stored can be described as a system of multiple queues, each one containing packets for which the node has selected the same back-off value and each queue is a FIFO. After having successfully transmitted a packet and overheard its retransmission by a neighboring node, the node will look for the queue with the smallest back-off and pick the first packet from that. This ensures that a packet for which the node has a small back-off will have priority over one for which the node has a large back-off value. Taking into account that the back-off assignment favors the optimal forwarding candidates for a packet, this queuing policy allows the node to give pri‐

**a.** Maximum probability (*p*max): The forwarding probability function slope defines the dif‐ ference in the probability to forward the packet between the neighbors of the node cur‐ rently holding the packet. Specifically, the steeper that slope is the more the neighbors closer to the destination will be favored. By setting the maximum probability to a value higher than 1, the slope of the forwarding probability function can be tilted, thus in‐ creasing the flat segment, which leads to more "certain" forwarders. This feature pro‐

and maximum back-off that can be assigned, respectively.

lated for each of them and try to transmit them in time.

ority to packets to whose progress it can contribute more.

**2.7. Routing scheme adjustable parameters**

missions has not been reached.

**2.6. Multiple packets handling**

**2.5. Passive hob-by-hop acknowledgment and retransmission scheme**

**Figure 3.** Step-wise forwarding probability function and a node's broadcast radius.

#### **2.4. Back-off window differentiation**

Having calculated its probability to forward a certain packet that it received, a node should proceed to decide when to do so. To this end, a randomized back-off mechanism is used, where each node calculates a window of back-off time slots and randomly selects a number of slots from that range. After this back-off timer has expired, the node will proceed to forward the packet with its predetermined probability. The focus here is to differentiate the back-off times of different nodes, focusing more on the ones with high forwarding probability. These highlylikely forwarders contribute significantly to the packet's progress towards the destination; therefore it is important to avoid collisions between their transmissions, making the packet move closer to the destination as fast as possible. To this end, back-off values are taken to be in‐ versely proportional to a node's forwarding probability. However, the piece-wise and the step forwarding probability functions both include flat regions which can assign probability equal to 1 to more than one nodes which would result in them calculating the same back-off timers. For this purpose, the linear probability function (2) is used to calculate a base probability for each node which will then be used in order to calculate its back-off window *win*.

$$
\hat{u}vin = \left(win\_{\text{max}} - \overline{w}in\_{\text{min}}\right)\left(1 - p\_{\text{base}}\right) + \overline{w}in\_{\text{min}}.\tag{4}
$$

Where *pbase* is the base probability for that node and *win*min, *win*max are values of minimum and maximum back-off that can be assigned, respectively.

#### **2.5. Passive hob-by-hop acknowledgment and retransmission scheme**

In order to acknowledge successful packet reception the forwarding procedure takes ad‐ vantage of the broadcast nature of the wireless medium. After broadcasting a packet, a node can learn if at least one of its neighboring nodes received it by overhearing its neighbors' transmissions for a sort amount of time, thus also avoiding collisions. If a transmission of the last sent packet is overheard, then a node will drop the packet from its queue and con‐ tinue to transmit the next. In case time goes by without overhearing any transmission of the last sent packet, then the node will retransmit it, as long as a maximum number of retrans‐ missions has not been reached.

#### **2.6. Multiple packets handling**

warding is again based on the value of the metric and there is a threshold value of the metric, which when surpassed it is decided that the node should not forward. Yet again, the number of forwarders may be increased or decreased by adapting the thresh‐

max

<sup>ï</sup> £ £ <sup>î</sup> (3)

*threshold* 

min

*<sup>p</sup> d dd* ìï < £ <sup>=</sup> <sup>í</sup>

0, , 1, . *threshold* 

*d dd*

old value of the metric. We describe this function by:

84 Wireless Ad-Hoc Networks

**Figure 3.** Step-wise forwarding probability function and a node's broadcast radius.

Having calculated its probability to forward a certain packet that it received, a node should proceed to decide when to do so. To this end, a randomized back-off mechanism is used, where each node calculates a window of back-off time slots and randomly selects a number of slots from that range. After this back-off timer has expired, the node will proceed to forward the packet with its predetermined probability. The focus here is to differentiate the back-off times of different nodes, focusing more on the ones with high forwarding probability. These highlylikely forwarders contribute significantly to the packet's progress towards the destination; therefore it is important to avoid collisions between their transmissions, making the packet move closer to the destination as fast as possible. To this end, back-off values are taken to be in‐ versely proportional to a node's forwarding probability. However, the piece-wise and the step forwarding probability functions both include flat regions which can assign probability equal to 1 to more than one nodes which would result in them calculating the same back-off timers. For this purpose, the linear probability function (2) is used to calculate a base probability for

each node which will then be used in order to calculate its back-off window *win*.

**2.4. Back-off window differentiation**

Upon successful reception of a new non-expired packet, the node will have to calculate its forwarding probability for it, its back-off window for it and select a random back-off value from the range of the latter. A list with the packet and flow IDs of previously successfully forwarded packets can be kept to ensure that a node will not forward the same packet of a flow twice thus reducing redundant transmissions. After determining all of the above, a node will have to store individual packets according to the back-off timer that it has calcu‐ lated for each of them and try to transmit them in time.

The manner in which the node will handle the various packets it has stored can be described as a system of multiple queues, each one containing packets for which the node has selected the same back-off value and each queue is a FIFO. After having successfully transmitted a packet and overheard its retransmission by a neighboring node, the node will look for the queue with the smallest back-off and pick the first packet from that. This ensures that a packet for which the node has a small back-off will have priority over one for which the node has a large back-off value. Taking into account that the back-off assignment favors the optimal forwarding candidates for a packet, this queuing policy allows the node to give pri‐ ority to packets to whose progress it can contribute more.

#### **2.7. Routing scheme adjustable parameters**

**a.** Maximum probability (*p*max): The forwarding probability function slope defines the dif‐ ference in the probability to forward the packet between the neighbors of the node cur‐ rently holding the packet. Specifically, the steeper that slope is the more the neighbors closer to the destination will be favored. By setting the maximum probability to a value higher than 1, the slope of the forwarding probability function can be tilted, thus in‐ creasing the flat segment, which leads to more "certain" forwarders. This feature pro‐ vides the forwarding function the ability to adapt in situations where more forwarders with high probability are needed.

For the purpose of testing the performance of the suggested procedure in realistic condi‐ tions, the assumption that there is full and accurate knowledge of nodes' locations in the topology was relaxed. Regardless of the metric used, the possibility of erroneous estimations of the metric value should be taken into consideration when testing the performance of a

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

87

To this end, a noise parameter in the metric calculation was introduced in the simulation en‐ vironment. We consider that the calculated metric is taken randomly in an interval centered

Experiments were conducted on a 40 x 40 node grid topology to measure delay, loss ratio and resource consumption for varying network densities and channel error conditions. Each experiment with a given set of parameters was repeated for 100 runs and the results present‐ ed in what follows are averages over the number of runs. Delay measurements were per‐ formed on the shortest path from source to destination and a classic single-path lowest-cost

The forwarding probability function slope defines how great the difference in the probabili‐ ty to forward the packet will be between the neighbors of the node currently holding the

on the real metric value and spans by a percentile which is a simulation parameter.

routing scheme, in order to examine its robustness.

route has been simulated and used as the basis of comparisons.

**Figure 4.** Grid topology with transmission radii for 8 and 12 neighbors.

**4.1. Tuning the schemes' adjustable parameters**

*4.1.1. The effect of the forwarding probability function*

**4. Results**


## **3. Simulation framework assumptions and setup**

To model the behavior of our proposed opportunistic routing scheme and gain insight in its parameters in order to be able to optimize them, we developed a MATLAB-based platform as a time-driven simulator. The model we consider is time-slotted one. Specifically, a timeslot refers to the duration a fixed size packet needs to be broadcast and received. To setup the multi-hop wireless network simulation environment, we made a series of assumptions, regarding system information availability, packet propagation and channel errors.

For simulation simplicity we assumed a protocol propagation model i.e. a transmission can only be received, under some probability, by all nodes within a broadcast radius from the source. The nodes that lie within a node's broadcast radius are referred to as neighbors of that node. In our initial implementation all nodes in the network shared the same packet re‐ ception probability and same broadcast radius. Individualizing them is a straightforward programming exercise.

The simulation scenarios we include in the next section take place in a grid topology, such that a node may have four, eight or twelve neighbors, depending on the transmission radius (Figure 4). The nodes have fixed positions, known a priori, as far as calculating metric val‐ ues is concerned. However, more randomized topologies are be examined as well, by setting random nodes of the uniform grid topology as inactive. From an implementation perspec‐ tive, this was performed by randomly selecting nodes other than the source or destination of the packets and fixing their packet reception probability to zero.

For the purpose of testing the performance of the suggested procedure in realistic condi‐ tions, the assumption that there is full and accurate knowledge of nodes' locations in the topology was relaxed. Regardless of the metric used, the possibility of erroneous estimations of the metric value should be taken into consideration when testing the performance of a routing scheme, in order to examine its robustness.

To this end, a noise parameter in the metric calculation was introduced in the simulation en‐ vironment. We consider that the calculated metric is taken randomly in an interval centered on the real metric value and spans by a percentile which is a simulation parameter.

Experiments were conducted on a 40 x 40 node grid topology to measure delay, loss ratio and resource consumption for varying network densities and channel error conditions. Each experiment with a given set of parameters was repeated for 100 runs and the results present‐ ed in what follows are averages over the number of runs. Delay measurements were per‐ formed on the shortest path from source to destination and a classic single-path lowest-cost route has been simulated and used as the basis of comparisons.

**Figure 4.** Grid topology with transmission radii for 8 and 12 neighbors.

### **4. Results**

vides the forwarding function the ability to adapt in situations where more forwarders

**b.** Acknowledgment delay: After a node broadcasts a packet, it will start overhearing its neighbors' transmission in order to verify that the packet it sent has been broadcasted by one of them. The amount of time it can wait in this overhearing mode without suc‐ cess, until it decides it has to retransmit the packet, is called acknowledgment delay. If this interval is too small, then the node might end up retransmitting a packet that is suc‐ cessfully received by the further hops, thus adding one redundant transmission. On the other hand, if it is too long and no transmission is overheard, then the packet's progress

**c.** Time to live (TTL): To ensure that the packets will not circulate in the network long af‐ ter they have reached the destination, a mechanism that renders them obsolete is need‐ ed. For this purpose, each packet has a fixed number of "credits" which are spent each time it is broadcast. These credits can be time units or number of hops traversed, under the assumption that a time unit equals the time it takes for the packet to move one hope further. A node that receives a packet with an expired TTL will discard it without calcu‐

To model the behavior of our proposed opportunistic routing scheme and gain insight in its parameters in order to be able to optimize them, we developed a MATLAB-based platform as a time-driven simulator. The model we consider is time-slotted one. Specifically, a timeslot refers to the duration a fixed size packet needs to be broadcast and received. To setup the multi-hop wireless network simulation environment, we made a series of assumptions,

For simulation simplicity we assumed a protocol propagation model i.e. a transmission can only be received, under some probability, by all nodes within a broadcast radius from the source. The nodes that lie within a node's broadcast radius are referred to as neighbors of that node. In our initial implementation all nodes in the network shared the same packet re‐ ception probability and same broadcast radius. Individualizing them is a straightforward

The simulation scenarios we include in the next section take place in a grid topology, such that a node may have four, eight or twelve neighbors, depending on the transmission radius (Figure 4). The nodes have fixed positions, known a priori, as far as calculating metric val‐ ues is concerned. However, more randomized topologies are be examined as well, by setting random nodes of the uniform grid topology as inactive. From an implementation perspec‐ tive, this was performed by randomly selecting nodes other than the source or destination of

regarding system information availability, packet propagation and channel errors.

lating any forwarding probability or back-off window for it.

**3. Simulation framework assumptions and setup**

the packets and fixing their packet reception probability to zero.

with high probability are needed.

will be delayed.

86 Wireless Ad-Hoc Networks

programming exercise.

#### **4.1. Tuning the schemes' adjustable parameters**

#### *4.1.1. The effect of the forwarding probability function*

The forwarding probability function slope defines how great the difference in the probabili‐ ty to forward the packet will be between the neighbors of the node currently holding the packet. Specifically, the steeper that slope is the more the neighbors closer to the destination will be favored. To ensure the packet's progressing to the destination, at least one neighbor with forwarding probability equal to 1 is needed; ideally this would be the neighbor on the shortest path to destination. This leads to a linear forwarding probability function. As the packet error ratio (PER) increases, more "certain" forwarders are needed, to make up for failed packet receptions, but the need arises to relax potential collisions among them.

By setting the maximum probability to a value higher than 1, we tilt the slope of the for‐ warding probability function, thus increasing the number of certain forwarders. Figure 5 il‐ lustrates how tilting the slope increases the number of certain forwarders in an 8 neighbor topology. Initially there is only one certain forwarder, the one that is closest to the destina‐ tion. Two more forwarders are added that are closer to the destination than the node that transmitted the packet. If the slope is increased, two more forwarders are added, that are slightly further away from the destination, which will make the packet progress diverge sideways from the shortest path. Values of maximum probability in [1.4, 2] contribute to the packet's progress without diverging much from the shortest path. Furthermore, for a given PER value, having more than one certain forwarders yields lower delay.

This is verified by Figure 6 which illustrates how tilting the forwarding probability function's slope leads to lower delays, in the context of a 10-hop shortest path. It should be noted that only the maximum forwarding probability parameter is examined at this point; lower delay can be achieved by adjusting the maximum back-off window value as well, which in this case is varia‐ ble, dependent on the forwarding probability, taking values in [1, 8]. Nonetheless, our proba‐ bilistic scheme outperforms single-path routing for PER values higher than 0.25.

**Figure 6.** Tilting the slope to create a saturated, piece-wise probability function yields reduced delays.

es, which renders fixed back-off values larger than 2 inefficient.

tiation also yields lower resource consumption.

the number of the different runs of the experiment.

There were two general approaches to back-off window schemes with respect to the win‐ dow range values. Firstly, in the fixed back-off window option, all transmitting nodes would randomly select their back-off values from the same range of window values. Sec‐ ondly, when differentiating, each transmitting node randomly selects its back-off value from a different range of numbers. Specifically, the back-off window of a node will be randomly chosen between a smaller set of numbers, the larger its forwarding probability is, so as to reduce delays. Figure 7 below illustrates the delay performance of the fixed (7a) and differ‐ entiated back-off window schemes (7b), for increasing packet error rate values, in a scenario where the source is 10 hops away from the destination. There is a steeper increase in delay for the fixed back-off window scheme as the width of the back-off window interval increas‐

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

89

It can be observed that the lowest delay is measured for a back-off window of 1, which rais‐ es the question, why differentiate between nodes at all. The reason is that back-off differen‐

To capture the effect a packet's transmission has on the network, we track the footprint its transmissions produce over time on the nodes as it is forwarded towards the destination, until all transmissions cease. The times each node has received the packet are averaged over

For all results referring to footprints hereon the source node's coordinates are (10,20) and the destination is at (20,20). Figure 8 illustrates the footprint for a flow with back-off window equal to 1. As we increase the width of the back-off window the flooding is limited to an area around the shortest path. This is shown by the plots in Figure 9. It should be noted that

*4.1.2. Back-off window differentiation*

**Figure 5.** Increasing the number of certain forwarding nodes tilting the probability function slope.

**Figure 6.** Tilting the slope to create a saturated, piece-wise probability function yields reduced delays.

#### *4.1.2. Back-off window differentiation*

packet. Specifically, the steeper that slope is the more the neighbors closer to the destination will be favored. To ensure the packet's progressing to the destination, at least one neighbor with forwarding probability equal to 1 is needed; ideally this would be the neighbor on the shortest path to destination. This leads to a linear forwarding probability function. As the packet error ratio (PER) increases, more "certain" forwarders are needed, to make up for

By setting the maximum probability to a value higher than 1, we tilt the slope of the for‐ warding probability function, thus increasing the number of certain forwarders. Figure 5 il‐ lustrates how tilting the slope increases the number of certain forwarders in an 8 neighbor topology. Initially there is only one certain forwarder, the one that is closest to the destina‐ tion. Two more forwarders are added that are closer to the destination than the node that transmitted the packet. If the slope is increased, two more forwarders are added, that are slightly further away from the destination, which will make the packet progress diverge sideways from the shortest path. Values of maximum probability in [1.4, 2] contribute to the packet's progress without diverging much from the shortest path. Furthermore, for a given

This is verified by Figure 6 which illustrates how tilting the forwarding probability function's slope leads to lower delays, in the context of a 10-hop shortest path. It should be noted that only the maximum forwarding probability parameter is examined at this point; lower delay can be achieved by adjusting the maximum back-off window value as well, which in this case is varia‐ ble, dependent on the forwarding probability, taking values in [1, 8]. Nonetheless, our proba‐

failed packet receptions, but the need arises to relax potential collisions among them.

88 Wireless Ad-Hoc Networks

PER value, having more than one certain forwarders yields lower delay.

bilistic scheme outperforms single-path routing for PER values higher than 0.25.

**Figure 5.** Increasing the number of certain forwarding nodes tilting the probability function slope.

There were two general approaches to back-off window schemes with respect to the win‐ dow range values. Firstly, in the fixed back-off window option, all transmitting nodes would randomly select their back-off values from the same range of window values. Sec‐ ondly, when differentiating, each transmitting node randomly selects its back-off value from a different range of numbers. Specifically, the back-off window of a node will be randomly chosen between a smaller set of numbers, the larger its forwarding probability is, so as to reduce delays. Figure 7 below illustrates the delay performance of the fixed (7a) and differ‐ entiated back-off window schemes (7b), for increasing packet error rate values, in a scenario where the source is 10 hops away from the destination. There is a steeper increase in delay for the fixed back-off window scheme as the width of the back-off window interval increas‐ es, which renders fixed back-off values larger than 2 inefficient.

It can be observed that the lowest delay is measured for a back-off window of 1, which rais‐ es the question, why differentiate between nodes at all. The reason is that back-off differen‐ tiation also yields lower resource consumption.

To capture the effect a packet's transmission has on the network, we track the footprint its transmissions produce over time on the nodes as it is forwarded towards the destination, until all transmissions cease. The times each node has received the packet are averaged over the number of the different runs of the experiment.

For all results referring to footprints hereon the source node's coordinates are (10,20) and the destination is at (20,20). Figure 8 illustrates the footprint for a flow with back-off window equal to 1. As we increase the width of the back-off window the flooding is limited to an area around the shortest path. This is shown by the plots in Figure 9. It should be noted that a linear forwarding probability function with maximum probability equal to 2 was used for these experiments. There is a trade-off between low delay performance and resource con‐ sumption which should be addressed by having each flow's specific requirements in mind. For example, in a network where only one flow is present at a time, a back-off window set to 1 would yield the lowest delay possible, whereas in the presence of multiple flows, a more conservative back-off scheme with the window interval set to [1,8] should be used.

(a) (b)

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

91

**Figure 9.** Increasing the back-off window range from [1,2] in (a) to [1,8] in (b) under a piece-wise probability function

To evaluate the robustness of our scheme to mistakes in metric estimations, we examine the

**1.** Linear probability function: To measure resource consumption for the linear probability function with maximum probability set to 2, we track the flow's course in a scenario where there is no channel error and the source is 10 hops away from the destination

Figure 10 below illustrates how the linear forwarding probability scheme reacts to increasing metric miscalculation. It is noteworthy that the linear forwarding probability scheme is insensi‐ tive to metric noise up to 10% of the accurate metric's value and performs decently even at the presence of noise equal to 30% of the accurate metric's value. Having in mind that the metric val‐ ues are randomly chosen from a uniform distribution in such wide intervals, it is obvious that metric noise equal to 0.3 already presents a scenario of extremely inaccurate metric estimation. **2.** Step-wise probability function: We compare the performance of the linear probability function in the presence of noise to that of the step-wise probability function. For the purposes of these experiments the step was set to 0, such as the neighbors that have a smaller distance from destination, than the node currently holding the packet, will for‐ ward the packet. The source is again at (10,20) and the destination at (20,20) and the

Figure 11 illustrates the step-wise function's performance under increasing metric noise con‐ ditions. For the same values of metric noise, the step-wise function consumes fewer resour‐ ces than the linear function and it is also less affected by metric noise. This is justified by the fact that even when inaccurate estimations are made, only a few nodes will calculate their metric so that they fall below the threshold, whereas the majority of nodes will get the same

and use a balanced back-off window scheme in the interval [1, 4].

back-off scheme is again set to [1, 4] interval.

probability as what they would get if there was no noise.

reduces the footprint causing less interference.

*4.1.3. Metric miscalculation error*

effect of introducing metric noise.

**Figure 7.** Delay in number of slots for a 10-hop shortest-path source-destination pair for the fixed (a) and variable (b) back-off schemes.

**Figure 8.** A back-off window of one time slot yields low delay compared to a variable backoff window but has a large footprint i.e. is resource inefficient.

**Figure 9.** Increasing the back-off window range from [1,2] in (a) to [1,8] in (b) under a piece-wise probability function reduces the footprint causing less interference.

#### *4.1.3. Metric miscalculation error*

a linear forwarding probability function with maximum probability equal to 2 was used for these experiments. There is a trade-off between low delay performance and resource con‐ sumption which should be addressed by having each flow's specific requirements in mind. For example, in a network where only one flow is present at a time, a back-off window set to 1 would yield the lowest delay possible, whereas in the presence of multiple flows, a more

(a) (b)

**Figure 7.** Delay in number of slots for a 10-hop shortest-path source-destination pair for the fixed (a) and variable (b)

**Figure 8.** A back-off window of one time slot yields low delay compared to a variable backoff window but has a large

back-off schemes.

90 Wireless Ad-Hoc Networks

footprint i.e. is resource inefficient.

conservative back-off scheme with the window interval set to [1,8] should be used.

To evaluate the robustness of our scheme to mistakes in metric estimations, we examine the effect of introducing metric noise.

**1.** Linear probability function: To measure resource consumption for the linear probability function with maximum probability set to 2, we track the flow's course in a scenario where there is no channel error and the source is 10 hops away from the destination and use a balanced back-off window scheme in the interval [1, 4].

Figure 10 below illustrates how the linear forwarding probability scheme reacts to increasing metric miscalculation. It is noteworthy that the linear forwarding probability scheme is insensi‐ tive to metric noise up to 10% of the accurate metric's value and performs decently even at the presence of noise equal to 30% of the accurate metric's value. Having in mind that the metric val‐ ues are randomly chosen from a uniform distribution in such wide intervals, it is obvious that metric noise equal to 0.3 already presents a scenario of extremely inaccurate metric estimation.

**2.** Step-wise probability function: We compare the performance of the linear probability function in the presence of noise to that of the step-wise probability function. For the purposes of these experiments the step was set to 0, such as the neighbors that have a smaller distance from destination, than the node currently holding the packet, will for‐ ward the packet. The source is again at (10,20) and the destination at (20,20) and the back-off scheme is again set to [1, 4] interval.

Figure 11 illustrates the step-wise function's performance under increasing metric noise con‐ ditions. For the same values of metric noise, the step-wise function consumes fewer resour‐ ces than the linear function and it is also less affected by metric noise. This is justified by the fact that even when inaccurate estimations are made, only a few nodes will calculate their metric so that they fall below the threshold, whereas the majority of nodes will get the same probability as what they would get if there was no noise.

(a) (b)

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

93

(c) (d)

**Figure 11.** Increasing the metric miscalculation factor from 0.05 (a), 0.1 (b), 0.3 (c), to 0.5 (d) slightly affects the re‐

It is of interest to indicate that the routing scheme we have devised thus far is able to sup‐ port the interaction of different flows in the network and examine their behavior. The sce‐ narios in the following figures were chosen with respect to the most common cases presented in wireless mesh and sensor networks. Figure 12 illustrates the scenario of two nodes sending packets to the same destination node, whereas Figure 13 is the reverse, which can be considered as a "downlink" case. Both provide evidence that the system supports multiple flows and that the scheme behaves as expected both in terms of packet error, as

source efficiency less than in figure 10 when using a step-wise probability function.

*4.1.4. Multiple flow support*

well as in terms of back-off delay.

**Figure 10.** Increasing the metric miscalculation factor from 0.05 (a), 0.1 (b), 0.3 (c), to 0.5 (d) slightly affects the re‐ source efficiency for an 8-neighbor topology under a piece-wise probability function.

**Figure 11.** Increasing the metric miscalculation factor from 0.05 (a), 0.1 (b), 0.3 (c), to 0.5 (d) slightly affects the re‐ source efficiency less than in figure 10 when using a step-wise probability function.

#### *4.1.4. Multiple flow support*

(a) (b)

92 Wireless Ad-Hoc Networks

(c) (d)

**Figure 10.** Increasing the metric miscalculation factor from 0.05 (a), 0.1 (b), 0.3 (c), to 0.5 (d) slightly affects the re‐

source efficiency for an 8-neighbor topology under a piece-wise probability function.

It is of interest to indicate that the routing scheme we have devised thus far is able to sup‐ port the interaction of different flows in the network and examine their behavior. The sce‐ narios in the following figures were chosen with respect to the most common cases presented in wireless mesh and sensor networks. Figure 12 illustrates the scenario of two nodes sending packets to the same destination node, whereas Figure 13 is the reverse, which can be considered as a "downlink" case. Both provide evidence that the system supports multiple flows and that the scheme behaves as expected both in terms of packet error, as well as in terms of back-off delay.

**4.2. Performance comparison**

*4.2.1. Comparing against SOAR*

single miscalculation error.

For our comparative simulations, SOAR's algorithm for packet forwarding decisions was used, combined with the proposed passive acknowledgment scheme, in order to test the performance of its opportunistic features. SOAR initially uses ETX as a metric in order to decide on the cost of forwarding, however, for comparison purposes, hop distance was used for both protocols. SOAR behaves similarly to shortest path routing in no-error con‐ ditions, constraining the flow along the shortest path from the source to the destination, as shown in Figure 14. When metric miscalculation is present, SOAR's delay increases signifantly, as opposed to the proposed scheme's performance which is unaffected, as shown in Figure 15. This can be explained by the quasi-deterministic forwarding scheme used by SOAR. If metric miscalculation occurs at the source (who creates the list of for‐ warders), the error will propagate along with the list, since it is included in any sent packets. Therefore consequent calculations based on this list will be influenced by even a

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

95

**Figure 14.** The proposed scheme (dashed) yields lower delays than SOAR (solid) for packet error probability over 0.25.

**Figure 12.** Delay performance of a 50 packet flow while competing with another for the same destination.

**Figure 13.** Delay performance of a 50 packet flow while competing with another flow from the same source.

#### **4.2. Performance comparison**

#### *4.2.1. Comparing against SOAR*

**Figure 12.** Delay performance of a 50 packet flow while competing with another for the same destination.

94 Wireless Ad-Hoc Networks

**Figure 13.** Delay performance of a 50 packet flow while competing with another flow from the same source.

For our comparative simulations, SOAR's algorithm for packet forwarding decisions was used, combined with the proposed passive acknowledgment scheme, in order to test the performance of its opportunistic features. SOAR initially uses ETX as a metric in order to decide on the cost of forwarding, however, for comparison purposes, hop distance was used for both protocols. SOAR behaves similarly to shortest path routing in no-error con‐ ditions, constraining the flow along the shortest path from the source to the destination, as shown in Figure 14. When metric miscalculation is present, SOAR's delay increases signifantly, as opposed to the proposed scheme's performance which is unaffected, as shown in Figure 15. This can be explained by the quasi-deterministic forwarding scheme used by SOAR. If metric miscalculation occurs at the source (who creates the list of for‐ warders), the error will propagate along with the list, since it is included in any sent packets. Therefore consequent calculations based on this list will be influenced by even a single miscalculation error.

**Figure 14.** The proposed scheme (dashed) yields lower delays than SOAR (solid) for packet error probability over 0.25.

(a) (b)

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

97

(c)

**Figure 16.** Directed Transmission appears equally robust to metric miscalculations as the proposed routing scheme,

We have addressed the two key design decisions of designing an opportunistic routing scheme. How nodes should decide whether to forward or not and when is the most efficient time to do so. We gave indications using a simulation framework on how the forwarding decisions and transmission timing alone affect performance. This was done through a prob‐ abilistic forwarding scheme, whose parameters can be tuned to allow for low resource con‐ sumption and high delay performance, while being robust to misinformation. The overall routing protocol comprising the forwarding scheme along with the timing and the acknowl‐ edgement mechanism is stripped of complex routing mechanisms and so we examined which channel error conditions and topology density it is beneficial to use opportunistic

still compared to Figures 10 and 11 it requires on average more retransmissions to deliver a packet.

**5. Conclusion**

routing instead of traditional routing.

**Figure 15.** SOAR's delay performance degrades as metric miscalculation is increased.

#### *4.2.2. Comparing against direct transmission*

Directed Transmission is a parametric probabilistic routing protocol focuses on design sim‐ plicity, distributed routing decisions and robustness to metric miscalculation. It should be noted that Directed Transmission does not account for losses due to poor link quality, so the two protocols were compared in no-channel error scenarios, where metric miscalculation was present. When error in metric calculation increases, directed transmission's use of re‐ sources does not increase significantly, as is the case with the scheme proposed. However, the spread of the flow on the grid is comparable to its equivalent in the proposed scheme when the piece-wise probability function was used and larger than its equivalent when the step-wise probability function was used. Furthermore directed transmission has a larger average number of transmissions needed to deliver a packet along the 10 hop path, regard‐ less of metric noise. These are depicted in Figure 16. This demonstrates that a routing proto‐ col can be simple enough as the one we proposed and at the same time conserve resources sufficiently to be applied in WSNs without suffering from low delay performance.

**Figure 16.** Directed Transmission appears equally robust to metric miscalculations as the proposed routing scheme, still compared to Figures 10 and 11 it requires on average more retransmissions to deliver a packet.

## **5. Conclusion**

**Figure 15.** SOAR's delay performance degrades as metric miscalculation is increased.

Directed Transmission is a parametric probabilistic routing protocol focuses on design sim‐ plicity, distributed routing decisions and robustness to metric miscalculation. It should be noted that Directed Transmission does not account for losses due to poor link quality, so the two protocols were compared in no-channel error scenarios, where metric miscalculation was present. When error in metric calculation increases, directed transmission's use of re‐ sources does not increase significantly, as is the case with the scheme proposed. However, the spread of the flow on the grid is comparable to its equivalent in the proposed scheme when the piece-wise probability function was used and larger than its equivalent when the step-wise probability function was used. Furthermore directed transmission has a larger average number of transmissions needed to deliver a packet along the 10 hop path, regard‐ less of metric noise. These are depicted in Figure 16. This demonstrates that a routing proto‐ col can be simple enough as the one we proposed and at the same time conserve resources

sufficiently to be applied in WSNs without suffering from low delay performance.

*4.2.2. Comparing against direct transmission*

96 Wireless Ad-Hoc Networks

We have addressed the two key design decisions of designing an opportunistic routing scheme. How nodes should decide whether to forward or not and when is the most efficient time to do so. We gave indications using a simulation framework on how the forwarding decisions and transmission timing alone affect performance. This was done through a prob‐ abilistic forwarding scheme, whose parameters can be tuned to allow for low resource con‐ sumption and high delay performance, while being robust to misinformation. The overall routing protocol comprising the forwarding scheme along with the timing and the acknowl‐ edgement mechanism is stripped of complex routing mechanisms and so we examined which channel error conditions and topology density it is beneficial to use opportunistic routing instead of traditional routing.

Simulation results demonstrate that the suggested opportunistic scheme can outperform sin‐ gle path routing for error values larger than 15% -20%, for a well-selected slope of the for‐ warding probability function, with restrained use of resources. Furthermore, we have shown that the optimal manner of adapting to increasing error is to increase the number of forwarders by increasing the slope of the forwarding probability function. In particular, the number of certain forwarders has the most impact on performance and they need to be in‐ creased with respect to error conditions.

[2] S. Biswas and R. Morris. Opportunistic routing in multi-hop wireless networks. In

Probabilistic Routing in Opportunistic Ad Hoc Networks

http://dx.doi.org/10.5772/53997

99

[3] J. Du, H. Liu, and P. Chen. Omr: An opportunistic multi-path reliable routing proto‐ col in wireless sensor networks. In proc. IEEE ICPPW '07, doi: 10.1109/ICPPW.

[4] C. E. Perkins and P. Bhagwat (1994). Highly dynamic destination-sequenced dis‐ tance-vector routing (dsdv) for mobile computers: ACM SIGCOMM Computer Com‐

[5] N. Gazoni, V. Angelakis, V. Siris, and R. Bruno. A framework for opportunistic rout‐ ing in multi-hop wireless networks. In proc. ACM PE-WASUN, doi:

[6] S. Jain and S. Das. Exploiting Path Diversity in the Link Layer in Wireless Ad Hoc Networks, in proc. IEEE WoWMoM '05, doi: 10.1016/j.adhoc.2007.07.002, 2005.

[7] D. B. Johnson, D. A. Maltz, and J. Broch (2001). Dsr: The dynamic source routing pro‐ tocol for multi-hop wireless ad hoc networks. In: Charles E. Perkins editor, Ad Hoc

[8] De Couto D. S. J, Morris R., Aguayo D., and Bicket J. A high-throughput path metric for multi-hop wireless routing. In proc. ACM MobiCom '03, doi:

[9] Z. J. Haas, J. Y. Halpern, and L. Li (2006). Gossip-based ad hoc routing. IEEE/ACM

[10] L. Haitao, et al. (2009). Opportunistic routing for wireless ad hoc and sensor net‐ works: Present and future directions. IEEE Communications Magazine, doi: 10.1109/

[11] S. Mueller, R. Tsang, and D. Ghosal. (2004) Multipath routing in mobile ad hoc net‐ works: Issues and challenges. In M. C. Calzarossa, E. Gelenbe, editors, Performance

[12] M. S. Nassr et al. Scalable and Reliable Sensor Network Routing: Performance Study from Field Deployment. In proc. IEEE INFOCOM '07, doi: 10.1109/INFCOM.2007.84,

[13] R. Rajaraman, (2002) Topology control and routing in ad hoc networks: A survey.

[14] E. M. Royer and C.E. Perkins. An implementation study of the aodv routing protocol.

[15] E. Rozner, J. Seshadri, Y. Mehta, and L. Qiu. SOAR: Simple Opportunistic Adaptive Routing Protocol for Wireless Mesh Networks. In IEEE Trans. On Mobile Computing

Tools and Applications to Networked Systems, Springer-Verlag pp. 209-234.

Transactions on Networking (TON) doi:10.1109/TNET.2006.876186.

proc. SIGCOMM05, doi: 10.1145/972374.972387, 2005.

munication Review, doi: 10.1145/190809.190336.

Networking, Addison-Wesley. pp. 139-172.

ACM SIGACT News, doi>10.1145/564585.564602.

In proc IEEE WCNC, doi: 10.1109/WCNC.2000.904764, 2000.

10.1145/1868589.1868600, 2010.

10.1145/938985.939000, 2003.

MCOM.2009.5350376.

8(12): 1622-1635, 2009.

2007

2007.61, 2007.

To reduce resource consumption, in terms of packet transmissions, utilizing a step-wise function is a sound approach, which proved robust to metric miscalculations. Finally, there is a tradeoff between differentiating each forwarder's back-off value to reduce resource con‐ sumption and reducing delay. Simulation results show that a variable back-off scheme that gives priority, by means of smaller back-off windows, to best forwarders according to their forwarding probability is preferable to a fixed back-off window for all forwarders.

## **Acknowledgements**

Dr. Angelakis and Ms. Gazoni were with ICS-FORTH, Greece when conducting part of the research presented and acknowledge the aid of Dr. V. A. Siris and the support of the FP7 project EU-MESH.

We further acknowledge the support of the FP7-People-2007-3-1-IAPP-218309 project. This work has been also partially supported by CENIIT at Linköping University, the Swedish ex‐ cellence center ELLIIT, and the Swedish Research Council (VR) through project B0581701.

We finally thank Mr. Lei Lei for his help in the final revision of the material.

## **Author details**

Vangelis Angelakis1 , Niki Gazoni2 and Di Yuan1

1 Department of Science and Technology, Linköping University, Norrköping, Sweden

2 Forthnet S.A., Systems Engineering and Design Department, Athens, Greece

## **References**

[1] C. L. Barrett, S. J. Eidenbenz, L. Kroc, M. Marathe, and J. P. Smith. Parametric proba‐ bilistic sensor network routing. In proc. ACM WSNA '03, doi 10.1145/ 941350.941368, 2003.

[2] S. Biswas and R. Morris. Opportunistic routing in multi-hop wireless networks. In proc. SIGCOMM05, doi: 10.1145/972374.972387, 2005.

Simulation results demonstrate that the suggested opportunistic scheme can outperform sin‐ gle path routing for error values larger than 15% -20%, for a well-selected slope of the for‐ warding probability function, with restrained use of resources. Furthermore, we have shown that the optimal manner of adapting to increasing error is to increase the number of forwarders by increasing the slope of the forwarding probability function. In particular, the number of certain forwarders has the most impact on performance and they need to be in‐

To reduce resource consumption, in terms of packet transmissions, utilizing a step-wise function is a sound approach, which proved robust to metric miscalculations. Finally, there is a tradeoff between differentiating each forwarder's back-off value to reduce resource con‐ sumption and reducing delay. Simulation results show that a variable back-off scheme that gives priority, by means of smaller back-off windows, to best forwarders according to their

Dr. Angelakis and Ms. Gazoni were with ICS-FORTH, Greece when conducting part of the research presented and acknowledge the aid of Dr. V. A. Siris and the support of the FP7

We further acknowledge the support of the FP7-People-2007-3-1-IAPP-218309 project. This work has been also partially supported by CENIIT at Linköping University, the Swedish ex‐ cellence center ELLIIT, and the Swedish Research Council (VR) through project B0581701.

We finally thank Mr. Lei Lei for his help in the final revision of the material.

and Di Yuan1

2 Forthnet S.A., Systems Engineering and Design Department, Athens, Greece

1 Department of Science and Technology, Linköping University, Norrköping, Sweden

[1] C. L. Barrett, S. J. Eidenbenz, L. Kroc, M. Marathe, and J. P. Smith. Parametric proba‐ bilistic sensor network routing. In proc. ACM WSNA '03, doi 10.1145/ 941350.941368,

, Niki Gazoni2

forwarding probability is preferable to a fixed back-off window for all forwarders.

creased with respect to error conditions.

**Acknowledgements**

project EU-MESH.

98 Wireless Ad-Hoc Networks

**Author details**

Vangelis Angelakis1

**References**

2003.


[16] R.C. Shah, S. Wietholter, A. Wolisz, J. M. Rabaey. When does opportunistic routing make sense? In Proc. IEEE Percom, doi: 10.1109/PERCOMW.2005.90, 2005.

**Chapter 5**

**Reducing Routing Loops Under**

Takuya Yoshihiro and Masanori Kobayashi

Additional information is available at the end of the chapter

still displayed a sufficient performance to be applied in practice.

http://dx.doi.org/10.5772/53814

**1. Introduction**

**Link-State Routing in Wireless Mesh Networks**

In Mobile Ad Hoc Networks (MANETs), one important issue is how to provide stable com‐ munication between nodes against transition of network state such as node mobility or qual‐ ity transition of communication links. In MANETs, due to the fragile nature of wireless links, routing protocols are designed to be more robust and resilient against failure, while restraining the network load of control messages even if nodes are distributed densely. Four routing protocols, i.e., AODV[1], DSR[2], OLSR[3], TBRPF[4] have been standardized so far. Although each of which has its own mechanism that is convenient for MANET, they do not

One of the drawbacks in these routing protocols is that they do not consider the transition of link quality in their process of computing forwarding paths; they use hop counts as their ba‐ sic criteria to compute forwarding paths of packets. However, the transition of link quality including link failure is not avoidable in MANET because its basic requirements include node mobility and wireless links. To take this important characteristic into account, many routing metrics have been proposed that quantifies link quality from various points of view [6]-[11]. For MANETs in which mobility is included in general, the event that affects the most on communication performance is link failure due to mobility. Thus, most of the pro‐ posed link metrics tries to quantify the probability of link failure by way of measuring node speed, RSSI (Received Signal Strength Indication), and so on [6]-[11]. For Wireless Mesh Networks (WMN) [5] in which nodes are stationary, because the risk of link failure is far smaller than MANET, the link quality that should be quantified is the quality of communi‐ cations such as communication speed, delay, and stability of links [12]-[16]. For example, ETX (Expected Transmission Count) [12], which is one of the most commonly used link met‐ rics, quantifies the average transmission count in 802.11 MAC computed from success ratio

> © 2012 Yoshihiro and Kobayashi; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

© 2012 Yoshihiro and Kobayashi; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,

distribution, and reproduction in any medium, provided the original work is properly cited.


## **Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks**

Takuya Yoshihiro and Masanori Kobayashi

Additional information is available at the end of the chapter

http://dx.doi.org/10.5772/53814

## **1. Introduction**

[16] R.C. Shah, S. Wietholter, A. Wolisz, J. M. Rabaey. When does opportunistic routing make sense? In Proc. IEEE Percom, doi: 10.1109/PERCOMW.2005.90, 2005.

[17] J. Wu, M. Lu, and F. Li. Utility-Based Opportunistic Routing in Multi-Hop Wireless

[18] Y. Yuan, H. Yang, S.Wong, S. Lu, and W. Arbaugh. Romer: Resilient opportunistic mesh routing for wireless mesh networks. In proc IEEE WiMesh workshop 2005,

[19] K. Zeng, W. Lou, and H. Zhai. On end-to-end throughput of opportunistic routing in multirate and multihop wireless networks. In proc. IEEE INFOCOM '08, doi: 10.1109/

[20] Z. Zhong and S. Nelakuditi. On the efficacy of opportunistic routing. In SECON '07: In proceedings of the 4th IEEE International Conference on Sensor and Ad Hoc Com‐

[21] S. Chachulski et al., Trading Structure for Randomness in Wireless Opportunistic Routing. In proc. ACM SIGCOMM '07, doi: 10.1145/1282427.1282400 2007.

[22] P. Jacquet, T. Clausen, (2003) Optimized Link State Routing Protocol (OLSR), RFC

[23] Y. Yan et al. Practical Coding-Aware Opportunistic Routing Mechanism for Wireless

[24] Z. Zhong et al., (2006) On Selection of Candidates for Opportunistic AnyPath For‐ warding. ACM SIGMOBILE Mobile Computing and Communications Review

Mesh Networks. In proc. IEEE ICC2008 doi: 10.1109/ICC.2008.541,.2008.

munications and Networks, doi: 10.1109/SAHCN.2007.4292856, 2007.

Networks," Proc. IEEE ICDCS '08, doi: 10.1109/ICDCS.2008.90.

SECON, pp. 146-158, 2005.

INFOCOM.2008.133 2008.

doi>10.1145/1215976.1215978.

3626

100 Wireless Ad-Hoc Networks

In Mobile Ad Hoc Networks (MANETs), one important issue is how to provide stable com‐ munication between nodes against transition of network state such as node mobility or qual‐ ity transition of communication links. In MANETs, due to the fragile nature of wireless links, routing protocols are designed to be more robust and resilient against failure, while restraining the network load of control messages even if nodes are distributed densely. Four routing protocols, i.e., AODV[1], DSR[2], OLSR[3], TBRPF[4] have been standardized so far. Although each of which has its own mechanism that is convenient for MANET, they do not still displayed a sufficient performance to be applied in practice.

One of the drawbacks in these routing protocols is that they do not consider the transition of link quality in their process of computing forwarding paths; they use hop counts as their ba‐ sic criteria to compute forwarding paths of packets. However, the transition of link quality including link failure is not avoidable in MANET because its basic requirements include node mobility and wireless links. To take this important characteristic into account, many routing metrics have been proposed that quantifies link quality from various points of view [6]-[11]. For MANETs in which mobility is included in general, the event that affects the most on communication performance is link failure due to mobility. Thus, most of the pro‐ posed link metrics tries to quantify the probability of link failure by way of measuring node speed, RSSI (Received Signal Strength Indication), and so on [6]-[11]. For Wireless Mesh Networks (WMN) [5] in which nodes are stationary, because the risk of link failure is far smaller than MANET, the link quality that should be quantified is the quality of communi‐ cations such as communication speed, delay, and stability of links [12]-[16]. For example, ETX (Expected Transmission Count) [12], which is one of the most commonly used link met‐ rics, quantifies the average transmission count in 802.11 MAC computed from success ratio

© 2012 Yoshihiro and Kobayashi; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Yoshihiro and Kobayashi; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

of MAC transmission, and ETT (Expected Transmission Time) [13] extends ETX to quantify the average transmission time of a MAC frame in the link.

shortest paths state, routing tables among some nodes possibly create loops temporarily. This kind of looping is traditionally called as "routing-table loops" or just "routing loops."

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

103

See Figure 1 for an example of a routing loop as a result of link failure. Figure 1(a) shows an ini‐ tial link metrics on the circular network with three nodes. The shortest paths from *A* (resp. *B*) to *C* computed by *A* itself (resp. *B* itself) is also indicated here. Suppose that link *(A, C)* fails. With this topology change, the shortest paths are finally changed to the state shown in Figure 1(c). However, in the transient state where only *A* knows the link failure and *B* does not know it (Fig‐ ure 1(b)), A forwards packets destined to *C* using the next hop *B*, while *B* forwards those using the next hop *A*, then they loops between *A* and *B*. This loop continues until *B* updates its next

Routing loops caused of failure occurs in both wired and wireless networks. However, wire‐ less network has another type of risk for routing loops. In wireless multi-hop networks with proactive link-state routing schemes such as OLSR, it is general to deploy a dynamic metric to improve the performance of networks over instable wireless links. With dynamic metrics,

The typical example of loops caused from metric change is shown in Figure 2. In Figure 2(a), the initial metrics are shown with the same topology as in Figure 1. The shortest paths from *A* and *B* to *C* is the direct path to *C*. Suppose that metrics of links *(A, C)* and *(B, C)* are simul‐ taneously raised to 3. In the final state shown in Figure 2(c), the shortest paths are the same as the initial state. However, in the transient state shown in Figure 2(b) where *A* knows the metric change of only *(A, C)* and *B* knows the metric change of only *(B, C)*, the shortest path for *C* computed in *A* is via *B* while the one computed in *B* is via *A*, then the packets loop between *A* and *B*. You may imagine that the situation shown in this example may be rare in practice. However, similar situation frequently occurs under dynamic metrics. Imagine the case heavy traffic suddenly appears in a network. Dynamic metrics sensitively respond to

frequent changes of link metrics arise to be a major cause of routing loops.

the traffic load and then many metric values would be raised simultaneously.

hop nodes and consumes significant network resources of *A* and *B*.

**Figure 1.** A Routing Loop in Case of Link Failure

As far as proactive link-state routing such as OLSR is concerned, it is well understood that introducing dynamic link metrics make networks far robust and resilient, and consequently improve performance of networks in practical situations. However, simultaneously, such dynamic metrics cause communication paths to be changed frequently. Note that the paths flapping behavior is not always bad, because it is the result of continuous effort of routing protocols to find better quality paths. Nevertheless, it certainly increases the risk of several inconvenient phenomena such as packet looping.

Packet looping is one of the very harmful problems because looping packets travel along the same link repeatedly and consume significant capacity of the network. In general, larger number of looping packets appears when the network topology changes including link met‐ rics more frequently. In other words, dynamic metrics by nature involves the risk of this kind of instability in exchange for the flexibility against wireless instability. Therefore, it is one of the goals for us to reduce the harmful influence of packet loops, while simultaneously holding the flexibility brought from dynamic metrics.

Note that, in wireless multi-hop routing, there are several causes of reducing communica‐ tion performance other than packet looping, and they are deeply related with one another. Not only packet loops, but also congestions due to interference, and further link failures due to wireless instability or mobility are also regarded as the essential elements that should be considered in MANET routing schemes. Especially, interference would be the most focused element in the current state of the art. However, in wireless networks, packet looping and interference are deeply related with each other so that improving performance from the viewpoint of looping would also be an important part of the contribution.

In this paper, we present a new loop reduction method for Wireless Mesh Networks, which follows the description of the literature on loop-free techniques for wired and wireless net‐ works. This article is organized as follows. In Section 2, we first describe a concise descrip‐ tion of proactive link-state routing protocols and related techniques in WMNs, including dynamic metrics. In Section 3, we review the literature of loop prevention methods for wired networks. In Section 4 we describe the loop prevention methods proposed for WMNs. Then, in Section 5, we present a new loop prevention method and its evaluation results. Fi‐ nally in Section 6 we conclude the article.

## **2. Packet looping problem and its harmful influences**

Packet looping is a harmful phenomenon in which packets are forwarded among the same nodes. Looping packets significantly consume resources of networks, and consequently cause severe congestion. Packet looping traditionally has been discussed in wired networks, where looping occurs typically when a link fails. Link failure triggers the process of paths re-computation in routing protocols. Then, in the transient state to converge to the new shortest paths state, routing tables among some nodes possibly create loops temporarily. This kind of looping is traditionally called as "routing-table loops" or just "routing loops."

See Figure 1 for an example of a routing loop as a result of link failure. Figure 1(a) shows an ini‐ tial link metrics on the circular network with three nodes. The shortest paths from *A* (resp. *B*) to *C* computed by *A* itself (resp. *B* itself) is also indicated here. Suppose that link *(A, C)* fails. With this topology change, the shortest paths are finally changed to the state shown in Figure 1(c). However, in the transient state where only *A* knows the link failure and *B* does not know it (Fig‐ ure 1(b)), A forwards packets destined to *C* using the next hop *B*, while *B* forwards those using the next hop *A*, then they loops between *A* and *B*. This loop continues until *B* updates its next hop nodes and consumes significant network resources of *A* and *B*.

**Figure 1.** A Routing Loop in Case of Link Failure

of MAC transmission, and ETT (Expected Transmission Time) [13] extends ETX to quantify

As far as proactive link-state routing such as OLSR is concerned, it is well understood that introducing dynamic link metrics make networks far robust and resilient, and consequently improve performance of networks in practical situations. However, simultaneously, such dynamic metrics cause communication paths to be changed frequently. Note that the paths flapping behavior is not always bad, because it is the result of continuous effort of routing protocols to find better quality paths. Nevertheless, it certainly increases the risk of several

Packet looping is one of the very harmful problems because looping packets travel along the same link repeatedly and consume significant capacity of the network. In general, larger number of looping packets appears when the network topology changes including link met‐ rics more frequently. In other words, dynamic metrics by nature involves the risk of this kind of instability in exchange for the flexibility against wireless instability. Therefore, it is one of the goals for us to reduce the harmful influence of packet loops, while simultaneously

Note that, in wireless multi-hop routing, there are several causes of reducing communica‐ tion performance other than packet looping, and they are deeply related with one another. Not only packet loops, but also congestions due to interference, and further link failures due to wireless instability or mobility are also regarded as the essential elements that should be considered in MANET routing schemes. Especially, interference would be the most focused element in the current state of the art. However, in wireless networks, packet looping and interference are deeply related with each other so that improving performance from the

In this paper, we present a new loop reduction method for Wireless Mesh Networks, which follows the description of the literature on loop-free techniques for wired and wireless net‐ works. This article is organized as follows. In Section 2, we first describe a concise descrip‐ tion of proactive link-state routing protocols and related techniques in WMNs, including dynamic metrics. In Section 3, we review the literature of loop prevention methods for wired networks. In Section 4 we describe the loop prevention methods proposed for WMNs. Then, in Section 5, we present a new loop prevention method and its evaluation results. Fi‐

Packet looping is a harmful phenomenon in which packets are forwarded among the same nodes. Looping packets significantly consume resources of networks, and consequently cause severe congestion. Packet looping traditionally has been discussed in wired networks, where looping occurs typically when a link fails. Link failure triggers the process of paths re-computation in routing protocols. Then, in the transient state to converge to the new

viewpoint of looping would also be an important part of the contribution.

**2. Packet looping problem and its harmful influences**

the average transmission time of a MAC frame in the link.

102 Wireless Ad-Hoc Networks

inconvenient phenomena such as packet looping.

holding the flexibility brought from dynamic metrics.

nally in Section 6 we conclude the article.

Routing loops caused of failure occurs in both wired and wireless networks. However, wire‐ less network has another type of risk for routing loops. In wireless multi-hop networks with proactive link-state routing schemes such as OLSR, it is general to deploy a dynamic metric to improve the performance of networks over instable wireless links. With dynamic metrics, frequent changes of link metrics arise to be a major cause of routing loops.

The typical example of loops caused from metric change is shown in Figure 2. In Figure 2(a), the initial metrics are shown with the same topology as in Figure 1. The shortest paths from *A* and *B* to *C* is the direct path to *C*. Suppose that metrics of links *(A, C)* and *(B, C)* are simul‐ taneously raised to 3. In the final state shown in Figure 2(c), the shortest paths are the same as the initial state. However, in the transient state shown in Figure 2(b) where *A* knows the metric change of only *(A, C)* and *B* knows the metric change of only *(B, C)*, the shortest path for *C* computed in *A* is via *B* while the one computed in *B* is via *A*, then the packets loop between *A* and *B*. You may imagine that the situation shown in this example may be rare in practice. However, similar situation frequently occurs under dynamic metrics. Imagine the case heavy traffic suddenly appears in a network. Dynamic metrics sensitively respond to the traffic load and then many metric values would be raised simultaneously.

Note that the routing loops cause severe degradation of network performance. Speakman et al. [17] measured the impact of packet looping through their proposed method that detects looping packets at each node and drops them immediately. From the evaluation with mobi‐ lity scenarios, they found the throughput of the network is improved by at most 10%, which shows the significant occupancy of resources with looping packets.

ing path for each destination. There are two major routing strategies, e.g., Distance-Vector schemes and Link-State schemes, which have been deployed in the Internet for a long time.

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

105

Distance-Vector routing schemes are deployed from the early stage of the Internet, and one of them is standardized as the representative routing protocol called RIP (Routing Informa‐ tion Protocol) [19]. RIP is based on the distributed Bellman-Ford algorithm [18]. Distancevector routing scheme is driven with a simple mechanism: each node maintains a distancetable in which the distance for each destination is held, and advertises the distance-table to every neighbor periodically. Each node has only to choose the neighbor that has the shortest distance for each destination to construct its routing table. Unfortunately, this simple scheme has a serious problem so called the count-to-infinity problem [18]. The count-to-in‐ finity problem occurs in case of topology change such as link failure, where the distance for a destination increases repeatedly among involved nodes until reaching the maximum dis‐ tance defined in the protocol. In this period of time, packets are forwarded among those in‐

Several solutions are presented to reduce the harmful influence of the count-to-infinity problem. As a simple solution deployed in the early days, techniques so called split-hori‐ zon and poison-reverse [18] are well known. Although they can effectively reduce the af‐ fect of count-to-infinity phenomenon, the influence of the problem is not still negligible. One of the early-days solutions for this problem is to exchange full paths information in the routing scheme. This approach is currently known as Path-Vector routing, which is still used in inter-AS routing protocol BGP (Border Gateway Protocol) [21]. (Note that BGP is currently deployed not only for preventing loops, but also for several other func‐ tionalities such as controlling policies.) However, maintaining full paths information for every destination requires so much cost. To reduce the cost of control messages, Cheng et al. proposed a method to limit the information of forwarding paths to destinations that is transmitted into the network, with which they still prevent count-to-infinity prob‐ lems [22]. Unfortunately, although this method mostly prevents routing loops, it cannot

The first solution that prevents count-to-infinity problem without using path information was proposed by Garcia-luna-aceves, which was called as DUAL [23]. In [23], he presented locally computable sufficient conditions to be loop-free when a node changes its successor (next-hop) nodes to forward packets. Namely, when a node wants to change its successor node for a destination, it firstly checks the condition of loop-freedom. If the condition is met, it safely changes the successor node. Otherwise, it invokes a diffusing computation by send‐ ing a query to its neighbors to find a feasible successor. A neighbor node that received the query again send a query to its neighbors if it does not have a feasible successor, and when it received all the responses from its neighbors, it surely finds a feasible successor and re‐ turns the response with the successor information to the sender of the query. When the sender received the responses from all neighbors, it determines the new feasible successor. This coordination of nodes guarantees the selection of a "safe" successor to be loop-freedom at any instant. The mechanism of DUAL is implemented in the routing protocol EIGRP (En‐

volved nodes and loop among them.

still eliminate temporary routing loops completely.

hanced Interior Gateway Protocol) [24].

In wireless multi-hop routing, there are several causes of reducing performance other than packet looping, and they are deeply related with one another. Generally, the cause that has the largest impact on the performance would be the interference among radios. Because in wire‐ less networks radio spreads for all directions, packet transmission on a link can be disturbed by other link's transmissions. Especially, in case of multi-hop networks over 802.11 MAC, hidden terminals significantly degrade the network performance by generating severe congestion. If such congestion is extreme, naturally wireless links are to fail. Link failure in turn invokes paths flapping, and the path flapping creates loops. Then, the loops again grow up conges‐ tions. In this way, the circulation of those harmful influences is formed. To reduce these harm‐ ful influences, it is essential to take measures for each of the causes. As one of the measures to deal with this situation, the techniques to reduce routing loops would be an important part to improve the performance of wireless multi-hop networks.

**Figure 2.** A Routing Loop in Case of Metric Changes

## **3. Literature on loop-prevention techniques for wired networks**

#### **3.1. Loop-prevention in distance-vector schemes**

We start with the literature of loop prevention techniques for wired networks. To construct loop-free paths for every destination of a given network is a primary routing problem in the Internet. The most general approach for this problem is to use shortest-paths as the forward‐ ing path for each destination. There are two major routing strategies, e.g., Distance-Vector schemes and Link-State schemes, which have been deployed in the Internet for a long time.

Note that the routing loops cause severe degradation of network performance. Speakman et al. [17] measured the impact of packet looping through their proposed method that detects looping packets at each node and drops them immediately. From the evaluation with mobi‐ lity scenarios, they found the throughput of the network is improved by at most 10%, which

In wireless multi-hop routing, there are several causes of reducing performance other than packet looping, and they are deeply related with one another. Generally, the cause that has the largest impact on the performance would be the interference among radios. Because in wire‐ less networks radio spreads for all directions, packet transmission on a link can be disturbed by other link's transmissions. Especially, in case of multi-hop networks over 802.11 MAC, hidden terminals significantly degrade the network performance by generating severe congestion. If such congestion is extreme, naturally wireless links are to fail. Link failure in turn invokes paths flapping, and the path flapping creates loops. Then, the loops again grow up conges‐ tions. In this way, the circulation of those harmful influences is formed. To reduce these harm‐ ful influences, it is essential to take measures for each of the causes. As one of the measures to deal with this situation, the techniques to reduce routing loops would be an important part to

shows the significant occupancy of resources with looping packets.

104 Wireless Ad-Hoc Networks

improve the performance of wireless multi-hop networks.

**Figure 2.** A Routing Loop in Case of Metric Changes

**3.1. Loop-prevention in distance-vector schemes**

**3. Literature on loop-prevention techniques for wired networks**

We start with the literature of loop prevention techniques for wired networks. To construct loop-free paths for every destination of a given network is a primary routing problem in the Internet. The most general approach for this problem is to use shortest-paths as the forward‐

Distance-Vector routing schemes are deployed from the early stage of the Internet, and one of them is standardized as the representative routing protocol called RIP (Routing Informa‐ tion Protocol) [19]. RIP is based on the distributed Bellman-Ford algorithm [18]. Distancevector routing scheme is driven with a simple mechanism: each node maintains a distancetable in which the distance for each destination is held, and advertises the distance-table to every neighbor periodically. Each node has only to choose the neighbor that has the shortest distance for each destination to construct its routing table. Unfortunately, this simple scheme has a serious problem so called the count-to-infinity problem [18]. The count-to-in‐ finity problem occurs in case of topology change such as link failure, where the distance for a destination increases repeatedly among involved nodes until reaching the maximum dis‐ tance defined in the protocol. In this period of time, packets are forwarded among those in‐ volved nodes and loop among them.

Several solutions are presented to reduce the harmful influence of the count-to-infinity problem. As a simple solution deployed in the early days, techniques so called split-hori‐ zon and poison-reverse [18] are well known. Although they can effectively reduce the af‐ fect of count-to-infinity phenomenon, the influence of the problem is not still negligible. One of the early-days solutions for this problem is to exchange full paths information in the routing scheme. This approach is currently known as Path-Vector routing, which is still used in inter-AS routing protocol BGP (Border Gateway Protocol) [21]. (Note that BGP is currently deployed not only for preventing loops, but also for several other func‐ tionalities such as controlling policies.) However, maintaining full paths information for every destination requires so much cost. To reduce the cost of control messages, Cheng et al. proposed a method to limit the information of forwarding paths to destinations that is transmitted into the network, with which they still prevent count-to-infinity prob‐ lems [22]. Unfortunately, although this method mostly prevents routing loops, it cannot still eliminate temporary routing loops completely.

The first solution that prevents count-to-infinity problem without using path information was proposed by Garcia-luna-aceves, which was called as DUAL [23]. In [23], he presented locally computable sufficient conditions to be loop-free when a node changes its successor (next-hop) nodes to forward packets. Namely, when a node wants to change its successor node for a destination, it firstly checks the condition of loop-freedom. If the condition is met, it safely changes the successor node. Otherwise, it invokes a diffusing computation by send‐ ing a query to its neighbors to find a feasible successor. A neighbor node that received the query again send a query to its neighbors if it does not have a feasible successor, and when it received all the responses from its neighbors, it surely finds a feasible successor and re‐ turns the response with the successor information to the sender of the query. When the sender received the responses from all neighbors, it determines the new feasible successor. This coordination of nodes guarantees the selection of a "safe" successor to be loop-freedom at any instant. The mechanism of DUAL is implemented in the routing protocol EIGRP (En‐ hanced Interior Gateway Protocol) [24].

DUAL is improved in [25], in which only one-hop query processing is required, by means of using the predecessor information (i.e., information of forwarding paths to reach destina‐ tions) in the similar way as BGP. Later, Schmid et al. proposed to prevent the count-to-infin‐ ity problem without changing the message format of RIP routing protocols, if all link costs in a network is uniform [26].

maintains a routing table that includes next-hop nodes for all destinations. In Contrast, reac‐ tive strategy is a new approach for MANET in which network load of control messages are

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

107

Reactive routing schemes such as AODV searches a path when a request for data delivery occurs, and by that they save the network load of control messages for unnecessary destina‐ tions. Thus, the family of reactive routing schemes is suitable for the case where communi‐ cation amount or destinations to deliver data are limited. Reactive routing schemes are by nature loop-free because, once the path is determined, it is basically used unless a link or a node on the path fails. However, they require a path repairing process when the path is bro‐ ken, which inevitably degrades the performance. To overcome this degradation, the method called ROAM [32] is proposed that allows nodes to change their successors without any message exchange. By means of using loop-free conditions given in [23], ROAM also guar‐ antees loop-freedom with the more flexible paths control functionality. Also, [33] presents a method to improve the efficiency of path repairing in reactive routing schemes using the

On the other hand, proactive routing schemes such as OLSR always maintain a path for ev‐ ery destination using routing tables. Note that the majority of the proactive routing schemes proposed so far are based on link-state strategy. In the link-state routing, every node in a network advertises its neighbor information (i.e., link information). As a result, all nodes in the network share the topology of the network, from which nodes compute their routing ta‐ bles. Proactive routing schemes are able to begin communication without delay of searching paths, whereas they requires constant load of control messages. Because the load of control messages in dense networks is significant, OLSR deploys an effective load reduction techni‐ que called MPR (Multi-Point Relay), which limits the relay nodes in the flooding procedure

In proactive link-state routing schemes, routing tables have to be maintained so that better paths are always available over the transition of wireless link quality. However, the initially standardized routing protocols including OLSR do not take it into account because they compute the shortest paths with respect to hop-count. To achieve more flexible routing over unstable wireless links, dynamic metrics were introduced into the shortest-path routing.

For wireless mesh networks, De Couto, et al. first proposed a routing metric called ETX [12], which quantifies the average transmission count of an 802.11 link required to have packet received by the other node. Because 802.11 link requires an acknowledgement to complete a

sion ratio to the neighbor via the link and *dr* is that of the reverse direction. Value *d <sup>f</sup>* are

the time interval of probe packets, *w* is the measuring time range, and *c* is the number of received probe packets within time *w*. Value *dr* is computed in the same way for the reverse

computed via periodically transmitted probe packets with the formula *<sup>d</sup> <sup>f</sup>* <sup>=</sup> *<sup>c</sup><sup>τ</sup>*

*d <sup>f</sup>* × *dr*

, where *d <sup>f</sup>* is the success transmis‐

*<sup>w</sup>* , where *τ* is

reduced by searching forwarding paths to create its routing table entries on demand.

loop-free condition given in [23].

that advertises messages throughout a network.

**4.2. Dynamic metrics for proactive networks**

transmission, ETX of a link is computed as *ETX* <sup>=</sup> <sup>1</sup>

#### **3.2. Loop-prevention in link-state schemes**

Link-state routing is another representative routing strategy that is also deployed from the early stage of the Internet. In this category of routing family, IS-IS (Intermediate-Systems, Intermedi‐ ate-Systems) [27] and OSPF (Open Shortest Path Fast) [28] are the representative standardized routing protocols. In the link-state routing schemes, every node advertises the neighbor infor‐ mation (i.e., link information) to have all nodes in the network share the same image of whole network topology, and then every node computes the shortest paths on the shared network top‐ ology. Because all neighbor information is advertised through the network, link-state routing schemes require larger cost of control messages than distance-vector routing schemes.

Link-state routing schemes exchange more information among nodes, and it significantly re‐ duces the time for path converging. Nevertheless, the risk of routing loops still remains in the face of topology changes. DUAL [23], which we described as a loop-free technique for distance-vector algorithms, again can be applied for link-state routing schemes so that link state routing works without routing loops under the diffusing computation. However, be‐ cause this mechanism is based on distance-vector schemes and suitable to use on it, imple‐ menting it over link-state scheme is a little complicated. So, as a simple and feasible method to perform loop-free convergence to the new state of routing tables against single link/node/ SRLG (Shared Risk Link Group) failure, Francois et al. proposed a method to control the or‐ der of updating routing tables not to create loops without any additional messages [29]. In their method, when a router computed a new successor to forward packets, it waits for a while until neighbor routers no longer select it as their successors, before updating its suc‐ cessor. To shrink the waiting time, simple messages to guarantee the order of updating suc‐ cessors can be used. Francois et al. further proposed a method to perform a planed link failure without loops by increasing a link cost gradually until no flow uses the link [30]. The mathematical analysis of the same problem is seen in [31]. In this method, they present algo‐ rithms to compute the sequence of intermediate values of link costs with which we can change a link cost to an arbitrary value without loops at any instant. With this sequence of link costs, it is possible to control the amount of traffic on the link, i.e., we can decrease or increase the traffic on a link gradually without rapid change of the link load.

## **4. Literature on loop-prevention techniques for wireless networks**

#### **4.1. Loop-prevention in reactive routing schemes**

For wireless networks, generally two routing strategies are deployed, i.e., proactive and re‐ active routing. Proactive strategy takes a similar mechanism as wired networks; it always maintains a routing table that includes next-hop nodes for all destinations. In Contrast, reac‐ tive strategy is a new approach for MANET in which network load of control messages are reduced by searching forwarding paths to create its routing table entries on demand.

Reactive routing schemes such as AODV searches a path when a request for data delivery occurs, and by that they save the network load of control messages for unnecessary destina‐ tions. Thus, the family of reactive routing schemes is suitable for the case where communi‐ cation amount or destinations to deliver data are limited. Reactive routing schemes are by nature loop-free because, once the path is determined, it is basically used unless a link or a node on the path fails. However, they require a path repairing process when the path is bro‐ ken, which inevitably degrades the performance. To overcome this degradation, the method called ROAM [32] is proposed that allows nodes to change their successors without any message exchange. By means of using loop-free conditions given in [23], ROAM also guar‐ antees loop-freedom with the more flexible paths control functionality. Also, [33] presents a method to improve the efficiency of path repairing in reactive routing schemes using the loop-free condition given in [23].

On the other hand, proactive routing schemes such as OLSR always maintain a path for ev‐ ery destination using routing tables. Note that the majority of the proactive routing schemes proposed so far are based on link-state strategy. In the link-state routing, every node in a network advertises its neighbor information (i.e., link information). As a result, all nodes in the network share the topology of the network, from which nodes compute their routing ta‐ bles. Proactive routing schemes are able to begin communication without delay of searching paths, whereas they requires constant load of control messages. Because the load of control messages in dense networks is significant, OLSR deploys an effective load reduction techni‐ que called MPR (Multi-Point Relay), which limits the relay nodes in the flooding procedure that advertises messages throughout a network.

#### **4.2. Dynamic metrics for proactive networks**

DUAL is improved in [25], in which only one-hop query processing is required, by means of using the predecessor information (i.e., information of forwarding paths to reach destina‐ tions) in the similar way as BGP. Later, Schmid et al. proposed to prevent the count-to-infin‐ ity problem without changing the message format of RIP routing protocols, if all link costs

Link-state routing is another representative routing strategy that is also deployed from the early stage of the Internet. In this category of routing family, IS-IS (Intermediate-Systems, Intermedi‐ ate-Systems) [27] and OSPF (Open Shortest Path Fast) [28] are the representative standardized routing protocols. In the link-state routing schemes, every node advertises the neighbor infor‐ mation (i.e., link information) to have all nodes in the network share the same image of whole network topology, and then every node computes the shortest paths on the shared network top‐ ology. Because all neighbor information is advertised through the network, link-state routing

Link-state routing schemes exchange more information among nodes, and it significantly re‐ duces the time for path converging. Nevertheless, the risk of routing loops still remains in the face of topology changes. DUAL [23], which we described as a loop-free technique for distance-vector algorithms, again can be applied for link-state routing schemes so that link state routing works without routing loops under the diffusing computation. However, be‐ cause this mechanism is based on distance-vector schemes and suitable to use on it, imple‐ menting it over link-state scheme is a little complicated. So, as a simple and feasible method to perform loop-free convergence to the new state of routing tables against single link/node/ SRLG (Shared Risk Link Group) failure, Francois et al. proposed a method to control the or‐ der of updating routing tables not to create loops without any additional messages [29]. In their method, when a router computed a new successor to forward packets, it waits for a while until neighbor routers no longer select it as their successors, before updating its suc‐ cessor. To shrink the waiting time, simple messages to guarantee the order of updating suc‐ cessors can be used. Francois et al. further proposed a method to perform a planed link failure without loops by increasing a link cost gradually until no flow uses the link [30]. The mathematical analysis of the same problem is seen in [31]. In this method, they present algo‐ rithms to compute the sequence of intermediate values of link costs with which we can change a link cost to an arbitrary value without loops at any instant. With this sequence of link costs, it is possible to control the amount of traffic on the link, i.e., we can decrease or

schemes require larger cost of control messages than distance-vector routing schemes.

increase the traffic on a link gradually without rapid change of the link load.

**4.1. Loop-prevention in reactive routing schemes**

**4. Literature on loop-prevention techniques for wireless networks**

For wireless networks, generally two routing strategies are deployed, i.e., proactive and re‐ active routing. Proactive strategy takes a similar mechanism as wired networks; it always

in a network is uniform [26].

106 Wireless Ad-Hoc Networks

**3.2. Loop-prevention in link-state schemes**

In proactive link-state routing schemes, routing tables have to be maintained so that better paths are always available over the transition of wireless link quality. However, the initially standardized routing protocols including OLSR do not take it into account because they compute the shortest paths with respect to hop-count. To achieve more flexible routing over unstable wireless links, dynamic metrics were introduced into the shortest-path routing.

For wireless mesh networks, De Couto, et al. first proposed a routing metric called ETX [12], which quantifies the average transmission count of an 802.11 link required to have packet received by the other node. Because 802.11 link requires an acknowledgement to complete a transmission, ETX of a link is computed as *ETX* <sup>=</sup> <sup>1</sup> *d <sup>f</sup>* × *dr* , where *d <sup>f</sup>* is the success transmis‐ sion ratio to the neighbor via the link and *dr* is that of the reverse direction. Value *d <sup>f</sup>* are computed via periodically transmitted probe packets with the formula *<sup>d</sup> <sup>f</sup>* <sup>=</sup> *<sup>c</sup><sup>τ</sup> <sup>w</sup>* , where *τ* is the time interval of probe packets, *w* is the measuring time range, and *c* is the number of received probe packets within time *w*. Value *dr* is computed in the same way for the reverse direction at the neighbor node, and is carried by probe packets to the neighbor to compute the ETX value of the link.

*b* (0<*b* <1) is a ratio of metric decreased per unit time. When a link is judged as "unstable," the metric is reset with the initial value *δ* 0(*l*)=*a* + *c*. This judgment should be done carefully

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

109

In LLD routing protocol, link metrics are updated periodically and the timing of them is roughly synchronized in the network. With the synchronization, we can decrease all link metric values in the same ratio, which guarantees loop-freedom as long as no link becomes "unstable." However, not only it cannot ensure loop-freedom when unstable link appears,

As a method to reduce routing loops in wireless mesh networks, LMR (Loop-free Metric Range) is presented in [36]. The idea of LMR is to prevent rapid changes of metrics by ap‐ plying the changeable range of metrics per unit time. So, LMR can be applied to any dynam‐ ic link metric proposed ever. The changeable range in LMR is expressed as the formula *ml*,*t*-*t'<sup>r</sup>* -*t'* <sup>≤</sup>*ml*,*<sup>t</sup>* <sup>≤</sup>*ml*,*t*-*t'<sup>r</sup> t'*, where *ml*,*<sup>t</sup>* is the metric of link *<sup>l</sup>* at time *t*, and *<sup>r</sup>* is the coefficient that we call *metric stretch*. Namely, a metric can be changed in a unit time by the value multiplied

Note that, reference [36] theoretically proved that we could achieve loop-freedom at any in‐ stant with sufficiently small value of *r* as long as no link fails. Unfortunately, such loop-free value of *r* is too small to use in practice. Although the loop-free value of metric stretch *r* depends on several parameters such as network diameter, the value of *r* to be loop-free is less than 0.5% per unit time for a practical case, where we usually suppose the time interval of control messages in the deployed routing protocol as the unit time. However, reference [36] showed that, even with values *r* larger than the loop-free threshold, we could reduce routing loops in wireless mesh networks. Here, note that a trade-off is observed that loop packets are reduced for smaller *r*, but simultaneously the flexibility of paths selection is also

because frequent reset of metrics leads instability of forwarding paths.

but also it requires additional messages for synchronization.

reduced so that more congestions and further link failure occur.

**5. A new loop-reduction technique for wireless mesh networks**

In this section, we propose another method to reduce looping in Wireless Mesh Networks that can work in combination with LMR. LMR reduces loop packets by limiting the range of metric changes to prevent rapid transition of metrics. Namely, packet loops are reduced by means of suppressing paths flapping. Here, note that the metric stretch *r* of LMR that guar‐ antees loop-freedom depends on the network diameter. Specifically, the larger the network diameter in hop count is, the smaller the metric stretch to guarantee loop-freedom is. This means that it is difficult to guarantee loop-freedom for farther destination because larger number of links is included in the path. In other words, packets destined to nearer nodes

To lower the metric stretch of LMR, it would be reasonable to limit the length in hop count of each single forwarding path. In our method, this is done by splitting a forwarding path

by metric stretch *r*.

**5.1. Idea for loop reduction**

would less likely to create a loop.

ETX is extended by introducing communication speed of links as ETT (Expected Transmis‐ sion Time), which quantifies the average transmission time to have an 802.11 frame received via a link [13]. WCETT (Weighted Cumulative ETT) is also proposed in the same paper [13], which takes bottleneck channel affection into account to compute path metrics under multichannel environments. Note that WCETT is not link metrics but path metrics ("link metric" here means the additive metric where a path metric is the sum of link metrics included in the path), which is expressed as *WCETT* =(1 - *β*)∑*i*=1 *<sup>n</sup> ETT <sup>i</sup>* <sup>+</sup> *<sup>β</sup>Max*1<sup>≤</sup> *<sup>j</sup>*≤*<sup>k</sup> <sup>X</sup> <sup>j</sup>* , where *n* is the number of hops of the forwarding path, *k* is the number of available channels, and *Xi* =∑*Hop i on channel j ETT <sup>j</sup>* . By including the level of bottleneck channel affection*βMax*1<sup>≤</sup> *<sup>j</sup>*≤*<sup>k</sup> X <sup>j</sup>* , WCETT quantifies the quality of a whole path.

Unfortunately, this path metric approach may include routing loops even in a static metric situation. For this problem, Sobrinho introduced a necessary and sufficient condition for path metrics to be loop-free in static metric situation, which is called isotonicity [14]. As a path metric that hold isotonicity, Yang et al. proposed a path metric called MIC (Metric of Interference and Channel-switching) [15], which metric values can be decomposed to the isotonic metrics in a virtual network. This characteristic enables MIC to be computed effi‐ ciently using the general shortest-path computation algorithms such as Dijkstra's algorithm.

#### **4.3. Loop-prevention for proactive networks**

It is now well understood that dynamic metrics significantly improves the network perform‐ ance and the robustness against instability of wireless links. However, dynamic metrics by nature increase the frequency of changing forwarding paths, which in contrast causes insta‐ bility of communications in networks. One of the significant effects introduced by dynamic metrics is the routing loop problem described in Section 2. As described there, the routing loop problem is one of the major causes of instability in wireless multi-hop networks.

One naive idea to eliminate routing loops in wireless networks is to apply the loop-free tech‐ niques proposed for wired networks. However, with dynamic metrics, it is hard to apply these loop-free techniques such as DUAL because metric change is too frequent. In such cas‐ es, diffusing computations such as DUAL requires too many requests for changing succes‐ sors. Consequently, for wireless multi-hop networks, we need another lower-cost approach against routing loop problems.

As a loop aware routing scheme for MANETs, LLD (Loop-free Link Duration) is proposed [35]. LLD extends proactive routing schemes such as OLSR [3] by introducing dynamic met‐ rics. In LLD, based on the assumption that longer lasting links are more stable in probabili‐ ty, each link metric is decreased constantly as time passes from an initial value. Namely, the longer a link stays stable, the smaller its metric becomes. Every link metric *δ <sup>t</sup>*(*l*) of link *l* at time *t* is managed by one of the end node of *l* with the formula *δ <sup>t</sup>* (*l*)=*ab <sup>t</sup>* + *c* as long as the link is judged as "stable, " where *t* is the time passed by since the link was born, and *b* (0<*b* <1) is a ratio of metric decreased per unit time. When a link is judged as "unstable," the metric is reset with the initial value *δ* 0(*l*)=*a* + *c*. This judgment should be done carefully because frequent reset of metrics leads instability of forwarding paths.

In LLD routing protocol, link metrics are updated periodically and the timing of them is roughly synchronized in the network. With the synchronization, we can decrease all link metric values in the same ratio, which guarantees loop-freedom as long as no link becomes "unstable." However, not only it cannot ensure loop-freedom when unstable link appears, but also it requires additional messages for synchronization.

As a method to reduce routing loops in wireless mesh networks, LMR (Loop-free Metric Range) is presented in [36]. The idea of LMR is to prevent rapid changes of metrics by ap‐ plying the changeable range of metrics per unit time. So, LMR can be applied to any dynam‐ ic link metric proposed ever. The changeable range in LMR is expressed as the formula *ml*,*t*-*t'<sup>r</sup>* -*t'* <sup>≤</sup>*ml*,*<sup>t</sup>* <sup>≤</sup>*ml*,*t*-*t'<sup>r</sup> t'*, where *ml*,*<sup>t</sup>* is the metric of link *<sup>l</sup>* at time *t*, and *<sup>r</sup>* is the coefficient that we call *metric stretch*. Namely, a metric can be changed in a unit time by the value multiplied by metric stretch *r*.

Note that, reference [36] theoretically proved that we could achieve loop-freedom at any in‐ stant with sufficiently small value of *r* as long as no link fails. Unfortunately, such loop-free value of *r* is too small to use in practice. Although the loop-free value of metric stretch *r* depends on several parameters such as network diameter, the value of *r* to be loop-free is less than 0.5% per unit time for a practical case, where we usually suppose the time interval of control messages in the deployed routing protocol as the unit time. However, reference [36] showed that, even with values *r* larger than the loop-free threshold, we could reduce routing loops in wireless mesh networks. Here, note that a trade-off is observed that loop packets are reduced for smaller *r*, but simultaneously the flexibility of paths selection is also reduced so that more congestions and further link failure occur.

## **5. A new loop-reduction technique for wireless mesh networks**

#### **5.1. Idea for loop reduction**

direction at the neighbor node, and is carried by probe packets to the neighbor to compute

ETX is extended by introducing communication speed of links as ETT (Expected Transmis‐ sion Time), which quantifies the average transmission time to have an 802.11 frame received via a link [13]. WCETT (Weighted Cumulative ETT) is also proposed in the same paper [13], which takes bottleneck channel affection into account to compute path metrics under multichannel environments. Note that WCETT is not link metrics but path metrics ("link metric" here means the additive metric where a path metric is the sum of link metrics included in

number of hops of the forwarding path, *k* is the number of available channels, and

Unfortunately, this path metric approach may include routing loops even in a static metric situation. For this problem, Sobrinho introduced a necessary and sufficient condition for path metrics to be loop-free in static metric situation, which is called isotonicity [14]. As a path metric that hold isotonicity, Yang et al. proposed a path metric called MIC (Metric of Interference and Channel-switching) [15], which metric values can be decomposed to the isotonic metrics in a virtual network. This characteristic enables MIC to be computed effi‐ ciently using the general shortest-path computation algorithms such as Dijkstra's algorithm.

It is now well understood that dynamic metrics significantly improves the network perform‐ ance and the robustness against instability of wireless links. However, dynamic metrics by nature increase the frequency of changing forwarding paths, which in contrast causes insta‐ bility of communications in networks. One of the significant effects introduced by dynamic metrics is the routing loop problem described in Section 2. As described there, the routing

One naive idea to eliminate routing loops in wireless networks is to apply the loop-free tech‐ niques proposed for wired networks. However, with dynamic metrics, it is hard to apply these loop-free techniques such as DUAL because metric change is too frequent. In such cas‐ es, diffusing computations such as DUAL requires too many requests for changing succes‐ sors. Consequently, for wireless multi-hop networks, we need another lower-cost approach

As a loop aware routing scheme for MANETs, LLD (Loop-free Link Duration) is proposed [35]. LLD extends proactive routing schemes such as OLSR [3] by introducing dynamic met‐ rics. In LLD, based on the assumption that longer lasting links are more stable in probabili‐ ty, each link metric is decreased constantly as time passes from an initial value. Namely, the longer a link stays stable, the smaller its metric becomes. Every link metric *δ <sup>t</sup>*(*l*) of link *l* at

link is judged as "stable, " where *t* is the time passed by since the link was born, and

time *t* is managed by one of the end node of *l* with the formula *δ <sup>t</sup>*

loop problem is one of the major causes of instability in wireless multi-hop networks.

*<sup>n</sup> ETT <sup>i</sup>* <sup>+</sup> *<sup>β</sup>Max*1<sup>≤</sup> *<sup>j</sup>*≤*<sup>k</sup> <sup>X</sup> <sup>j</sup>*

. By including the level of bottleneck channel affection*βMax*1<sup>≤</sup> *<sup>j</sup>*≤*<sup>k</sup> X <sup>j</sup>*

, where *n* is the

(*l*)=*ab <sup>t</sup>* + *c* as long as the

,

the ETX value of the link.

108 Wireless Ad-Hoc Networks

*Xi* =∑*Hop i on channel j ETT <sup>j</sup>*

the path), which is expressed as *WCETT* =(1 - *β*)∑*i*=1

WCETT quantifies the quality of a whole path.

**4.3. Loop-prevention for proactive networks**

against routing loop problems.

In this section, we propose another method to reduce looping in Wireless Mesh Networks that can work in combination with LMR. LMR reduces loop packets by limiting the range of metric changes to prevent rapid transition of metrics. Namely, packet loops are reduced by means of suppressing paths flapping. Here, note that the metric stretch *r* of LMR that guar‐ antees loop-freedom depends on the network diameter. Specifically, the larger the network diameter in hop count is, the smaller the metric stretch to guarantee loop-freedom is. This means that it is difficult to guarantee loop-freedom for farther destination because larger number of links is included in the path. In other words, packets destined to nearer nodes would less likely to create a loop.

To lower the metric stretch of LMR, it would be reasonable to limit the length in hop count of each single forwarding path. In our method, this is done by splitting a forwarding path between two nodes into the sequence of partial forwarding paths, such that the length of each partial path in hop count is smaller than a certain value *k*. This is performed using loose source routing, in which a packet should visit several intermediate nodes before reach‐ ing its final destination.

the shortest path for each destination is held, is computed every time a node computes the

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

111

We evaluated the proposed method through computer simulation with network simulator Qualnet [38]. We implemented ETX link metric and the proposed method by modifying the

As a network topology, we used a 7 x 7 grid as shown in Figure 4, where nodes are placed with interval of 300 meters. Because we set the transmit power with 85dB, only the neighbors in vertical and horizontal directions are connected by wireless links. Each node has a single 802.11 interface with an omni-antenna, and the communication speed

We generated four CBR (Constant Bit Rate) flows in diagonal directions, i.e., from *A* to *D*, *D* to *A*, *B* to *C*, and *C* to *B*, where the packet size is 512 bytes and the communication speeds tried are 40, 60, and 80kbps. We ran the simulation for 15 minutes: during 2 minutes from the beginning, we just wake up all routers and wait for the convergence of routes, and after

As for OLSR parameters, we use the default values for HELLO\_INTERVAL and TC\_IN‐ TERVAL, i.e., 2 and 5 seconds, respectively. Because we deployed ETX routing metric, we set the parameter NEIGHBOR\_HOLD\_TIME with 20 seconds, i.e., 10 sequential loss of HELLO messages cause links to fail. We set TC\_REDUNDANCY=2 to disable the mechanism of MPR (Multi-Point Relay), which reduce the load of control messages by limiting relay nodes and advertised links, to exclude the affect of advertised link selec‐ tion. With this parameter settings, all nodes relay control messages and all links are ad‐

shortest paths to create its routing table.

**Figure 3.** Proposed Method, Case of *k*=2

OLSRv2-Niigata module [39].

that we generate the four CBR flows for 10 minutes.

**5.3. Simulation setup**

is fixed to 2Mbps.

vertised over the network.

By limiting the path length within *k*, the threshold of the metric stretch of LMR to be loopfree becomes smaller, because we can use the threshold value in which network diameter is assumed to be *k*. For example, if *k* =3, and the maximum and the minimum link metric are *Mmax* =5 and *Mmin* =1, respectively, the metric stretch should hold *r* ≤1.0667 to guarantee loop-freedom according to [36]. For *k* =4 and *k* =5, the conditions are *r* ≤1.05 and *r* ≤1.04, re‐ spectively.

#### **5.2. A new loop-reduction method**

We propose a new method to reduce routing loops for wireless mesh networks. As descri‐ bed in the previous section, we split a forwarding path between two nodes into a sequence of partial paths to limit the length of each partial path. To achieve this, we introduce a tech‐ nique of loose source routing, where the list of intermediate nodes to visit is held in each packet header, and the packet is repeatedly forwarded to the next intermediate node to fi‐ nally reach its destination.

In our method, these intermediate nodes are set along the shortest paths to the destination. Specifically, every time a packet reaches its intermediate node, the node set the next inter‐ mediate node with the node *k*-hop ahead in the shortest path to the destination. Note that, with this method, we require only one additional field in the packet header for an inter‐ mediate node.

We explain our method with an example shown in Figure 3. There is a network with 10 no‐ des and assume that the proposed method is working with *k*=2. Suppose that a packet is sent from *A* destined to *F*, and the computed shortest path from *A* to *F* is expressed by the se‐ quence of nodes *A*, *B*, *C*, *D*, *E* and *F*. In *A*, because the intermediate-node field is empty, *A* sets the field with *C*, which is the 2-hop ahead in the forwarding path to *F*, and forwards the packet to the next-hop node to reach the intermediate node *C*. Node *B* forwards a packet to *C*, which is the next-hop node for the intermediate node *C*. At node *C*, because *C* is the inter‐ mediate node of the packet, node *C* update the intermediate-node field with *E*, which is the node 2-hop ahead on the path to the destination *F*, and *C* forwards packets to *D*. Node *D* simply forwards packet to *E*. At node *E*, because the destination *F* lies within *k* hop distance, it forwards the packet to *F* with its intermediate-node field left empty. The proposed meth‐ od forwards packets to their destination in this way.

To implement this scheme in practice, nodes are required not only to prepare extra field for an intermediate node in the packet header, but also to maintain an extra table that manages an intermediate node for each destination. Because this scheme extends link-state routing schemes, computing intermediate nodes can be easily done in the process of shortest-paths computation. Consequently, the intermediate-node table, in which the node k-hop ahead on the shortest path for each destination is held, is computed every time a node computes the shortest paths to create its routing table.

**Figure 3.** Proposed Method, Case of *k*=2

#### **5.3. Simulation setup**

between two nodes into the sequence of partial forwarding paths, such that the length of each partial path in hop count is smaller than a certain value *k*. This is performed using loose source routing, in which a packet should visit several intermediate nodes before reach‐

By limiting the path length within *k*, the threshold of the metric stretch of LMR to be loopfree becomes smaller, because we can use the threshold value in which network diameter is assumed to be *k*. For example, if *k* =3, and the maximum and the minimum link metric are *Mmax* =5 and *Mmin* =1, respectively, the metric stretch should hold *r* ≤1.0667 to guarantee loop-freedom according to [36]. For *k* =4 and *k* =5, the conditions are *r* ≤1.05 and *r* ≤1.04, re‐

We propose a new method to reduce routing loops for wireless mesh networks. As descri‐ bed in the previous section, we split a forwarding path between two nodes into a sequence of partial paths to limit the length of each partial path. To achieve this, we introduce a tech‐ nique of loose source routing, where the list of intermediate nodes to visit is held in each packet header, and the packet is repeatedly forwarded to the next intermediate node to fi‐

In our method, these intermediate nodes are set along the shortest paths to the destination. Specifically, every time a packet reaches its intermediate node, the node set the next inter‐ mediate node with the node *k*-hop ahead in the shortest path to the destination. Note that, with this method, we require only one additional field in the packet header for an inter‐

We explain our method with an example shown in Figure 3. There is a network with 10 no‐ des and assume that the proposed method is working with *k*=2. Suppose that a packet is sent from *A* destined to *F*, and the computed shortest path from *A* to *F* is expressed by the se‐ quence of nodes *A*, *B*, *C*, *D*, *E* and *F*. In *A*, because the intermediate-node field is empty, *A* sets the field with *C*, which is the 2-hop ahead in the forwarding path to *F*, and forwards the packet to the next-hop node to reach the intermediate node *C*. Node *B* forwards a packet to *C*, which is the next-hop node for the intermediate node *C*. At node *C*, because *C* is the inter‐ mediate node of the packet, node *C* update the intermediate-node field with *E*, which is the node 2-hop ahead on the path to the destination *F*, and *C* forwards packets to *D*. Node *D* simply forwards packet to *E*. At node *E*, because the destination *F* lies within *k* hop distance, it forwards the packet to *F* with its intermediate-node field left empty. The proposed meth‐

To implement this scheme in practice, nodes are required not only to prepare extra field for an intermediate node in the packet header, but also to maintain an extra table that manages an intermediate node for each destination. Because this scheme extends link-state routing schemes, computing intermediate nodes can be easily done in the process of shortest-paths computation. Consequently, the intermediate-node table, in which the node k-hop ahead on

ing its final destination.

110 Wireless Ad-Hoc Networks

**5.2. A new loop-reduction method**

od forwards packets to their destination in this way.

nally reach its destination.

mediate node.

spectively.

We evaluated the proposed method through computer simulation with network simulator Qualnet [38]. We implemented ETX link metric and the proposed method by modifying the OLSRv2-Niigata module [39].

As a network topology, we used a 7 x 7 grid as shown in Figure 4, where nodes are placed with interval of 300 meters. Because we set the transmit power with 85dB, only the neighbors in vertical and horizontal directions are connected by wireless links. Each node has a single 802.11 interface with an omni-antenna, and the communication speed is fixed to 2Mbps.

We generated four CBR (Constant Bit Rate) flows in diagonal directions, i.e., from *A* to *D*, *D* to *A*, *B* to *C*, and *C* to *B*, where the packet size is 512 bytes and the communication speeds tried are 40, 60, and 80kbps. We ran the simulation for 15 minutes: during 2 minutes from the beginning, we just wake up all routers and wait for the convergence of routes, and after that we generate the four CBR flows for 10 minutes.

As for OLSR parameters, we use the default values for HELLO\_INTERVAL and TC\_IN‐ TERVAL, i.e., 2 and 5 seconds, respectively. Because we deployed ETX routing metric, we set the parameter NEIGHBOR\_HOLD\_TIME with 20 seconds, i.e., 10 sequential loss of HELLO messages cause links to fail. We set TC\_REDUNDANCY=2 to disable the mechanism of MPR (Multi-Point Relay), which reduce the load of control messages by limiting relay nodes and advertised links, to exclude the affect of advertised link selec‐ tion. With this parameter settings, all nodes relay control messages and all links are ad‐ vertised over the network.

We compared the cases of (i) the conventional method only with ETX metric, (ii) the pro‐ posed method with ETX metric, and the proposed method with ETX and LMR. As for LMR, we tried several parameters of metric stretch *r*. We performed 30 trials for each parameter, and compared the performance using the average of them.

paths selection does not react against rapid transition of link quality, resulting in link fail‐

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

113

On the other hand, in this result, packet loops do not occur frequently when the metric stretch is high or LMR is not applied. This is why the network is not so congested that cause rapid metric changes and then routing loops. For the evidence of this point, see the result of packet delivery ratio shown in Figure 6, where packet delivery ratio is very high as much as

Figure 6 also shows the interesting tendency that the packet delivery ratio is the best when the metric stretch *r* takes 1.03. We point out that the main reason of this phenomenon is in‐ terference among nodes; when *r* takes large values, forwarding paths change frequently and it becomes the situation where many nodes have packets to forward. The throughput de‐ grades in CSMA/CA when the number of nodes in contention increases. Namely, when *r* takes small values, loop packets due to link failure degrades the performance, whereas when *r* takes large values, heavy interference degrades the performance. The result of Fig‐ ure 6 shows that the balance point of the metric stretch in this network is around *r*=1.03.

In Figures 7-10, we show the results in the cases of more loaded scenarios where we gener‐ ate 60kbps and 80kbps flows. Although the whole tendency is the same as the 40kbps sce‐ nario, the number of loop packets increases and the packet delivery ratio decreases in total. Note that in these cases packet loss with the reason "queue over" significantly increases, which indicates the heavy load of the network. Note that, in Figure 9, the cases of *k* =3, 4, 5 especially take better performance of loop packets reduction. Note that in the cases where *r* is less than 1.03, routing loops due to link failure dominates, and the cases where both LMR

and the proposed method are applied takes better performance.

**The Number of Loop** 

**Packets**

LMR r=1.01

ETX

k=2

k=3

**Figure 5.** Number of Loop Packets (Case of 40kbps flows)

k=4

k=5

k=6

LMR r=1.03

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.05

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.1

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.2

ETX

k=2

k=3

k=4

k=5

k=6

LMR off

ETX

k=2

k=3

k=4

k=5

k=6

ure. Link failure causes paths re-computation and consequently leads packet loops.

90%, indicating that the congestion level is low.

**Figure 4.** Simulation Settings

#### **5.4. Simulation results**

Figures 5-10 show the results of the case where the transmission rates of the four flows are all 40, 60, and 80kbps. In these figure, the results of every combinations of the values *k*=2, 3, …, 6 of the proposed method and the metric stretch values *r*=0.01, 0.03, 0.05, 0.1, 0.2 of LMR.

In Figure 5, the number of loop packets in the 40kbps case is shown. The number of loop packets is relatively low in total, but we see that the ETX cases take especially high value, which surely indicates the effects of the proposed method on reducing loop packets. It is wondering that loop packets increase when the metric stretch takes smaller values. The rea‐ son is that; when the metric stretch is small, forwarding paths tend to be persistent and paths selection does not react against rapid transition of link quality, resulting in link fail‐ ure. Link failure causes paths re-computation and consequently leads packet loops.

We compared the cases of (i) the conventional method only with ETX metric, (ii) the pro‐ posed method with ETX metric, and the proposed method with ETX and LMR. As for LMR, we tried several parameters of metric stretch *r*. We performed 30 trials for each parameter,

Figures 5-10 show the results of the case where the transmission rates of the four flows are all 40, 60, and 80kbps. In these figure, the results of every combinations of the values *k*=2, 3, …, 6 of the proposed method and the metric stretch values *r*=0.01, 0.03, 0.05, 0.1, 0.2 of LMR.

In Figure 5, the number of loop packets in the 40kbps case is shown. The number of loop packets is relatively low in total, but we see that the ETX cases take especially high value, which surely indicates the effects of the proposed method on reducing loop packets. It is wondering that loop packets increase when the metric stretch takes smaller values. The rea‐ son is that; when the metric stretch is small, forwarding paths tend to be persistent and

and compared the performance using the average of them.

**Figure 4.** Simulation Settings

112 Wireless Ad-Hoc Networks

**5.4. Simulation results**

On the other hand, in this result, packet loops do not occur frequently when the metric stretch is high or LMR is not applied. This is why the network is not so congested that cause rapid metric changes and then routing loops. For the evidence of this point, see the result of packet delivery ratio shown in Figure 6, where packet delivery ratio is very high as much as 90%, indicating that the congestion level is low.

Figure 6 also shows the interesting tendency that the packet delivery ratio is the best when the metric stretch *r* takes 1.03. We point out that the main reason of this phenomenon is in‐ terference among nodes; when *r* takes large values, forwarding paths change frequently and it becomes the situation where many nodes have packets to forward. The throughput de‐ grades in CSMA/CA when the number of nodes in contention increases. Namely, when *r* takes small values, loop packets due to link failure degrades the performance, whereas when *r* takes large values, heavy interference degrades the performance. The result of Fig‐ ure 6 shows that the balance point of the metric stretch in this network is around *r*=1.03.

In Figures 7-10, we show the results in the cases of more loaded scenarios where we gener‐ ate 60kbps and 80kbps flows. Although the whole tendency is the same as the 40kbps sce‐ nario, the number of loop packets increases and the packet delivery ratio decreases in total. Note that in these cases packet loss with the reason "queue over" significantly increases, which indicates the heavy load of the network. Note that, in Figure 9, the cases of *k* =3, 4, 5 especially take better performance of loop packets reduction. Note that in the cases where *r* is less than 1.03, routing loops due to link failure dominates, and the cases where both LMR and the proposed method are applied takes better performance.

**Figure 5.** Number of Loop Packets (Case of 40kbps flows)

LMR r=1.01

ETX

**Figure 10.** Packet Delivery Ratio (Case of 80kbps)

k=2

k=3

k=4

k=5

k=6

LMR r=1.03

ETX

degrades the quality and the stability of the communications.

k=2

k=3

k=4

k=5

k=6

LMR r=1.05

ETX

k=2

k=3

We evaluated the performance of the proposed method in combination with the other loop reduction method LMR. The simulation results showed that the proposed method solely did not work well and it effectively worked when LMR is applied together. In other words, the combination of the proposed method and LMR works well to reduce routing loops in wire‐

Routing loop problem in wired networks has been traditionally regarded as a harmful prob‐ lem to be avoided, and it is the same in wireless mesh networks. The harmful influence of the looping packets has not been frequently focused on in wireless mesh networks, only be‐ cause the problem of interference has currently far larger impact on the performance. Al‐ though the harmful affection is not always reflected on throughput or packet delivery ratio, looping packets causes large variation of jitter and throughput on time series, which surely

k=4

k=5

k=6

LMR r=1.1

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.2

ETX

k=2

k=3

k=4

k=5

k=6

LMR off

ETX

k=2

k=3

k=4

k=5

k=6

**The Number of** 

**Packet Delivery** 

**5.5. Discussion**

less mesh networks.

**Ratio (%)**

**Packets**

**Loop** 

LMR r=1.01

ETX

**Figure 9.** Number of Loop Packets (Case of 80kbps)

k=2

k=3

k=4

k=5

k=6

LMR r=1.03

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.05

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.1

ETX

k=2

k=3

k=4

k=5

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

k=6

LMR r=1.2

ETX

k=2

k=3

k=4

k=5

k=6

LMR off

ETX

k=2

http://dx.doi.org/10.5772/53814

k=3

k=4

k=5

k=6

115

**Figure 6.** Packet Delivery Ratio (Case of 40kbps flows)

**Figure 7.** Number of Loop Packets (Case of 60kbps flows)

**Figure 9.** Number of Loop Packets (Case of 80kbps)

**Figure 10.** Packet Delivery Ratio (Case of 80kbps)

#### **5.5. Discussion**

LMR r=1.01

ETX

k=2

**Figure 8.** Packet Delivery Ratio (Case of 60kbps flows)

k=3

k=4

k=5

k=6

LMR r=1.03

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.05

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.1

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.2

ETX

k=2

k=3

k=4

k=5

k=6

LMR off

ETX

k=2

k=3

k=4

k=5

k=6

**The Number of Loop** 

**Packet Delivery**

**Ratio (%)**

**Packets**

LMR r=1.01

ETX

k=2

k=3

**Figure 7.** Number of Loop Packets (Case of 60kbps flows)

k=4

k=5

k=6

LMR r=1.03

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.05

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.1

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.2

ETX

k=2

k=3

k=4

k=5

k=6

LMR off

ETX

k=2

k=3

k=4

k=5

k=6

**Packet Delivery**

114 Wireless Ad-Hoc Networks

**Ratio (%)**

LMR r=1.01

ETX

k=2

**Figure 6.** Packet Delivery Ratio (Case of 40kbps flows)

k=3

k=4

k=5

k=6

LMR r=1.03

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.05

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.1

ETX

k=2

k=3

k=4

k=5

k=6

LMR r=1.2

ETX

k=2

k=3

k=4

k=5

k=6

LMR off

ETX

k=2

k=3

k=4

k=5

k=6

We evaluated the performance of the proposed method in combination with the other loop reduction method LMR. The simulation results showed that the proposed method solely did not work well and it effectively worked when LMR is applied together. In other words, the combination of the proposed method and LMR works well to reduce routing loops in wire‐ less mesh networks.

Routing loop problem in wired networks has been traditionally regarded as a harmful prob‐ lem to be avoided, and it is the same in wireless mesh networks. The harmful influence of the looping packets has not been frequently focused on in wireless mesh networks, only be‐ cause the problem of interference has currently far larger impact on the performance. Al‐ though the harmful affection is not always reflected on throughput or packet delivery ratio, looping packets causes large variation of jitter and throughput on time series, which surely degrades the quality and the stability of the communications.

To improve the quality and stability of communications, we have proposed two methods, both of which attain loop-reduction against metric changes. One of the important problems here is that the two methods do not assume link failure, whereas practically congestions easily cause link failure and the consequent packet loops in wireless mesh networks. To make the most of the applied methods and achieve stable communications in wireless mesh networks, it is desirable to develop a congestion control method that prevents link failure even in case of congestion. In combination with such congestion control methods, the harm‐ ful influence of looping packets in wireless networks would be significantly improved.

[3] Clausen, T. & Jacquet, P. (2003). Optimized Link State Routing Protocol (OLSR), IETF

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

117

[4] Ogier, R., Templin, F. & Lewis, M., (2004). Topology Dissemination Based on Re‐ verse-Path Forwarding (TBRPF), IETF Request For Comments (RFC 3684), IETF.

[5] Akyildiz, I.F. & Wang, X. (2009), Wireless Mesh Networks, John Wiley & Sons Ltd

[6] Cheng, Z. & Heinzelman, W.B. (2004). Exploring Long Lifetime Routing (LLR) in ad hoc Networks, Proceedings of 7th ACM International Symposium on Modeling,

[7] Zhao, M. & Wang, W. (2007). The impacts of radio channels and node mobility on link statistics in mobile ad hoc networks, Proceedings of IEEE Global Telecommuni‐

[8] Tickoo, O., Raghunath, S. & Kalyanaraman, S. (2003). Route Fragility: A Novel Metric for Route Selection in Mobile Ad Hoc Networks, Proceedings of IEEE ICON03, pp.

[9] Trivi ˜no-Cabrera, A., Nieves-P´erez, I., Casilari, E. & Gonz´alez-Ca˜nete, F.J. (2006). Ad Hoc Routing Based on the Stability of Routes, Proceedings of the 4th ACMInter‐

nationalWorkshop on MobilityManagement and Wireless Access, pp.100–103.

[10] Yawut, C., Paillassa, B. & Dhaou, R. (2007). On Metrics for Mobility Oriented Self Adaptive Protocols, Proceedings of in Wireless and Mobile Communications 2007

[11] Qin, L. & Kunz, T. (2006). Mobility Metrics to Enable Adaptive Routing in MANET, Proceedings of IEEE Wireless and Mobile Computing, Networking and Communica‐

[12] De Couto, D., Aguayo, D., Bicket, J. & Morris, R. (2003). A High-Throughput Path Metric for Multi-Hop Wireless Routing, Proceeding of ACM Annual International Conference on Mobile Computing and Networks (MOBICOM2003), pp.134–146.

[13] Draves, R., Padhye, J. & Zill, B. (2004). Routing in Multi-Radio, Multi-HopWireless‐ Mesh Networks, Proceedings of ACM Annual International Conference on Mobile

[14] Sobrinho, J. L. (2003). Network Routing with Path Vector Protocols: Theory and Ap‐ plications, Proceedings of the ACM 2003 conference on Applications, technologies, architectures, and protocols for computer communications (SIGCOMM2003), pp.49–

[15] Yang, Y., Wang. J. & Kravets, R. (2005). Interference-aware Load Balancing for Multi‐ hop Wireless Networks, In Technical Report UIUCDCS-R-2005-2526, Department of

Computing and Networks (MOBICOM2004), pp.114–128.

Analysis and imulation of Wireless and Mobile Systems, pp.203–210.

cations Conference (Globecom2007), No.1, pp.1205-1209.

Request For Comments (RFC 3626), IETF.

Publication.

537–542.

(ICWMC2007).

60.

tions 2006 (WiMobapos2006), pp.1–8.

Computer Science, University of Illinois.

## **6. Conclusion**

In this article, we reviewed the literature of loop-free routing in wired and wireless net‐ works, and further we proposed a new loop-reduction technique for wireless mesh net‐ works. We see that, in proactive routing schemes, it is promising to apply dynamic metrics to afford flexibility against wireless instability, and for this reason it is difficult to apply a family of loop-free techniques developed for wired networks.

We have several loop reduction techniques for wireless multi-hop networks, but it is not still sufficient in performance to provide stable communications in wireless multi-hop networks because loops are not still eliminated. We see that the main cause of looping under the two loop reduction methods, i.e., LMR and the proposed method in this paper, is link failure due to congestion. To provide stable communications over wireless mesh networks, a method is required to prevent link cuts even in case of congestion. To develop such congestion control methods, which works in combination with the two loop-reduction methods, is one of the important tasks to realize wireless mesh networks that can provide stable and reliable com‐ munications without routing loops.

## **Author details**

Takuya Yoshihiro and Masanori Kobayashi

Wakayama University, Japan

## **References**


[3] Clausen, T. & Jacquet, P. (2003). Optimized Link State Routing Protocol (OLSR), IETF Request For Comments (RFC 3626), IETF.

To improve the quality and stability of communications, we have proposed two methods, both of which attain loop-reduction against metric changes. One of the important problems here is that the two methods do not assume link failure, whereas practically congestions easily cause link failure and the consequent packet loops in wireless mesh networks. To make the most of the applied methods and achieve stable communications in wireless mesh networks, it is desirable to develop a congestion control method that prevents link failure even in case of congestion. In combination with such congestion control methods, the harm‐ ful influence of looping packets in wireless networks would be significantly improved.

In this article, we reviewed the literature of loop-free routing in wired and wireless net‐ works, and further we proposed a new loop-reduction technique for wireless mesh net‐ works. We see that, in proactive routing schemes, it is promising to apply dynamic metrics to afford flexibility against wireless instability, and for this reason it is difficult to apply a

We have several loop reduction techniques for wireless multi-hop networks, but it is not still sufficient in performance to provide stable communications in wireless multi-hop networks because loops are not still eliminated. We see that the main cause of looping under the two loop reduction methods, i.e., LMR and the proposed method in this paper, is link failure due to congestion. To provide stable communications over wireless mesh networks, a method is required to prevent link cuts even in case of congestion. To develop such congestion control methods, which works in combination with the two loop-reduction methods, is one of the important tasks to realize wireless mesh networks that can provide stable and reliable com‐

[1] Perkins, C., Belding-Royer, E. & Das, S. (2003), Ad Hoc On-demand Distance Vector

[2] Johnson, D., Hu, Y. & Malts, D. (2007). The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4, IETF Request For Comments (RFC) 4728,

(AODV) Routing, IETF Request For Comments (RFC) 3561, IETF.

family of loop-free techniques developed for wired networks.

**6. Conclusion**

116 Wireless Ad-Hoc Networks

munications without routing loops.

Wakayama University, Japan

Takuya Yoshihiro and Masanori Kobayashi

**Author details**

**References**

IETF.


[16] Jin, S., & Mase K., A Hidden-Exposed Terminal Interference Aware Routing Metric for Multi-Radio and Multi-Rate Wireless Mesh Networks, IEICE Transactions on Communications, Vol.92-B(No.4), pp.709–716.

[32] J. Raju and J. J. Garcia-Luna-Aceves, "A New Approach to On-demand Loop-free

Reducing Routing Loops Under Link-State Routing in Wireless Mesh Networks

http://dx.doi.org/10.5772/53814

119

[33] J. J. Garcia-Luna-Aceves, "A New Approach to On-demand Loop-free Routing in Ad Hoc Networks," In Proceedings of the twenty-second annual symposium on Princi‐

[34] Yoshihiro, T. (2009). Loop-free Link Stability Metrics for Proactive Routing in Wire‐

[35] Takuya Yoshihiro (2011). LLD: Loop-free Link Stability Metrics for Proactive Link-State Routing in Wireless Ad Hoc Networks, Mobile Ad-Hoc Networks: Protocol De‐ sign, Xin Wang (Ed.), ISBN: 978-953-307-402-3, InTech, Available from: http:// www.intechopen.com/books/mobile-ad-hoc-networks-protocol-design/lld-loop-freelink-stability-metrics-for-proactive-link-state-routing-in-wireless-ad-hoc-networks

[36] T. Yoshihiro, "Reducing Routing Loops under Dynamic Metrics in Wireless Mesh Networks," IEEE Global Communication Conference, Exhibition, and Industory Fo‐

[38] OLSRv2-Niigata, http://www2.net.ie.niigata-u.ac.jp/nOLSRv2/olsrv2/Welcome.html

Multipath Routing," In IEEE IC3N'99, pp.522-7, 1999.

rum (Globecom2010), pp.1-6, 2010.

[37] Qualnet, http://www.scalable-networks.com/

ples of distributed computing (PODC'03), pp. 53 – 62, 2003.

less Ad Hoc Networks, Proceedings of IEEE ICC2009, pp.1–5.


[16] Jin, S., & Mase K., A Hidden-Exposed Terminal Interference Aware Routing Metric for Multi-Radio and Multi-Rate Wireless Mesh Networks, IEICE Transactions on

[17] Speakman L., Owada Y., Mase K., Looping in OLSRv2 in Mobile Ad-Hoc Networks, Loop Suppression and Loop Correction, IEICE Transactions on Communications,

[18] A.S. Tanenbaum, Computer Networks Fourth Edition, Publisher: Prentice Hall PTR,

[20] J.M. Jaffe and F.M. Moss, "A Responsive Routing Algorithm for Computer Net‐ works," in IEEE Transactions on Communications, Vol. COM-30, No. 7, July 1982,

[21] Y. Rekhter, T. Li, and S. Hares, "A Border Gateway Protocol 4 (BGP-4)," IETF RFC

[22] C. Cheng, R. Riley, S. P. R. Kumar, J. J. Garcia-Luna-Aceves, A loop-free extended Bellman-Ford routing protocol without bouncing effect, SIGCOMM Comput. Com‐

[23] Garcia-Luna-Aceves, J. J. (1993), Loop-free Routing using Diffusing Computations,

[24] R. Albrightson, J.J. Garcia-Luna-Aceves, and J. Boyle, "EIGRP – A Fast Routing Pro‐ tocol Based on Distance Vectors," in Proceedings of Network/Interop, Las Vegas,

[25] J.J. Garcia-Luna-Aceves and Shree Murthy, A Path-Finding Algorithm for Loop-Free

[26] Andreas Schmid and Christoph Steigner, Avoiding Counting to Infinity in Distance Vector Routing, TELECOMMUNICATION SYSTEMS, Volume 19, Numbers 3-4

[29] Francois, P. & Bonaventure, O. (2007), Avoiding Transient Loops During the Conver‐ gence of Link-state Routing Protocols, IEEE/ACM Transactions on Networking, Vol.

[30] Francois, P., Shand, M. & Bonaventure, O. (2007). Disruption-free Topology Reconfi‐

[31] Ito, H., Iwama, K., Okabe, Y. & Yoshihiro, T. (2003). Avoiding Routing Loops on the

Communications, Vol.92-B(No.4), pp.709–716.

[19] G. Malkin, "RIP Version 2," IETF RFC2453, November 1998.

mun. Rev., Vol. 19, No. 4. (September 1989), pp. 224-236.

IEEE/ACM Transactions on Networking, Vol.1 (No.1), 130–141.

Routing, IEEE/ACM Trans. Networking, Vol.5, pp.148—160, 1997.

[27] IS-IS (Intermediate Systems – Intermediate Systems), ISO/IEC 10589, 2002.

guration in OSPF Networks, Proceedings of IEEE INFOCOM2007.

Internet, Theory of Computing Systems, Vol.36, 597–609.

(2002), 497-514, DOI: 10.1023/A:1013858909535

[28] Moy, "OSPF version 2," IETF RFC2328, April 1998.

Vol.E92-B(No.4), pp.1210–1221.

ISBN:9780130661029, 2003.

pp. 1758-1762.

118 Wireless Ad-Hoc Networks

NV, May 1994.

15 (No. 6), 1280–1932.

4271, January 2006.

[38] OLSRv2-Niigata, http://www2.net.ie.niigata-u.ac.jp/nOLSRv2/olsrv2/Welcome.html

**Section 3**

**Applications of Wireless Ad-Hoc Networks**

**Applications of Wireless Ad-Hoc Networks**

**Chapter 6**

**Review of Autoconfiguration for MANETs**

A MANET is a temporary multi-hop wireless network composed of mobile nodes without an underlying infrastructure. The mobile nodes in a MANET are not connected to an access point to access the Internet (although in some special cases a MANET and the Internet may co-exist). Instead, their wireless network interface cards operate in ad-hoc mode. The nodes that are within the transmission range of each other can communicate directly. For the nodes that are

Due to the popularity of mobile devices and independence from the infrastructure, a MAN‐ ET can find wide applications in temporary wireless networks in meeting rooms, airports, and stadiums. It is fast, convenient, and economical to set up a MANET in a battlefield and for search and rescue. A Vehicular Ad-hoc Network, an variation of MANET, connects the running cars and fixed traffic lights and other sensors, is vital to implementation of smart

Before the application of such an IP-based network, IP address assignment is one of the most important network configuration parameters for the mobile nodes. Without a valid unique IP address, a mobile node cannot participate in unicast communications. It can only receive and send broadcast messages, which consumes valuable bandwidth and power, and thus it is de‐

For a small-scale MANET or a closed MANET, it may be simple to assign IP addresses to mobiles node by hand. It is also possible to burn an IP address in the ROM of a mobile node to re-use it repeatedly. However, the procedure will become inefficient and even impractical for a large-scale system or an open system where different kinds of nodes (such as laptops,

Automatic IP address allocation is far more difficult to implement in a MANET than a hard‐ wired network such as a local area network, due to instability of mobile nodes, multi-hop transmission of messages, openness of the system, and lack of infrastructure. Therefore, al‐

> © 2012 Zhou and Mutka; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

> © 2012 Zhou and Mutka; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

out of the range, they have to resort to the nodes in between to relay the messages.

sirable to limit the duration and scope of broadcast communications in a MANET.

smartphones, tablets, PDAs, and specialized computers) are free to join and leave.

Hongbo Zhou and Matt W. Mutka

http://dx.doi.org/10.5772/52687

**1. Introduction**

transportation.

Additional information is available at the end of the chapter

## **Chapter 6**

## **Review of Autoconfiguration for MANETs**

Hongbo Zhou and Matt W. Mutka

Additional information is available at the end of the chapter

http://dx.doi.org/10.5772/52687

## **1. Introduction**

A MANET is a temporary multi-hop wireless network composed of mobile nodes without an underlying infrastructure. The mobile nodes in a MANET are not connected to an access point to access the Internet (although in some special cases a MANET and the Internet may co-exist). Instead, their wireless network interface cards operate in ad-hoc mode. The nodes that are within the transmission range of each other can communicate directly. For the nodes that are out of the range, they have to resort to the nodes in between to relay the messages.

Due to the popularity of mobile devices and independence from the infrastructure, a MAN‐ ET can find wide applications in temporary wireless networks in meeting rooms, airports, and stadiums. It is fast, convenient, and economical to set up a MANET in a battlefield and for search and rescue. A Vehicular Ad-hoc Network, an variation of MANET, connects the running cars and fixed traffic lights and other sensors, is vital to implementation of smart transportation.

Before the application of such an IP-based network, IP address assignment is one of the most important network configuration parameters for the mobile nodes. Without a valid unique IP address, a mobile node cannot participate in unicast communications. It can only receive and send broadcast messages, which consumes valuable bandwidth and power, and thus it is de‐ sirable to limit the duration and scope of broadcast communications in a MANET.

For a small-scale MANET or a closed MANET, it may be simple to assign IP addresses to mobiles node by hand. It is also possible to burn an IP address in the ROM of a mobile node to re-use it repeatedly. However, the procedure will become inefficient and even impractical for a large-scale system or an open system where different kinds of nodes (such as laptops, smartphones, tablets, PDAs, and specialized computers) are free to join and leave.

Automatic IP address allocation is far more difficult to implement in a MANET than a hard‐ wired network such as a local area network, due to instability of mobile nodes, multi-hop transmission of messages, openness of the system, and lack of infrastructure. Therefore, al‐

though DHCP [1] or SAA [2] is popular for hardwired networks, they cannot be directly ported to a MANET. A distributed algorithm that adapts to node mobility and topology change is more desirable.

**a.** In the simplest scenario in Fig. 1, the node joins the network and then participates in the communication with other nodes. Once it is done, it leaves the network forever;

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 125

**b.** It is possible that some nodes move out of transmission range of other nodes. Thus, the network is divided into two or more partitions, as in Fig. 2 (a). If more nodes join differ‐ ent partitions, they may get duplicate addresses. When partitions merge later, address

**c.** In the third case, two or more independent MANETs merge. Because IP addresses are allocated independently, there may be duplicate addresses, which is similar to the sec‐

Several autoconfiguration schemes have been proposed. Depending on the IP address allo‐

**Figure 1.** A node joins and leaves the MANET once

**Figure 2.** Network partitions and merges

**Figure 3.** Merger of two independent MANETs

The autoconfiguration scheme needs to address all the three scenarios.

cation state they have, they can be divided into the following three groups:

ond case.

**2.2. Related work**

**a.** Stateless allocation

conflicts need to be resolved, as in Fig. 2 (b);

Autoconfiguration for MANETs brings other issues that need to addressed as well.

The first issue is the change of IP address during communication. This issue is rare for a fixed node in a hardwired network running DHCP service. Even after the lease expires, the client tends to receive the same IP address from the server. In a MANET with autoconfigu‐ ration, there may be address conflicts when two separate MANETs join together. As a result, some of the nodes need to relinquish the duplicate addresses, which will interrupt on-going communications. An IP address handoff mechanism is necessary to make the transition smooth.

Security of the autoconfiguration is another issue that needs to be considered. If malicious nodes may be present, they may launch attacks on the autoconfiguration scheme to make it fail. Thus, a secure autoconfiguration is necessary for applications that have strict require‐ ment for security level.

Autoconfiguration impacts the design of the security framework in a MANET. Most security frameworks assume that the IP address is the ID of the node, which is associated with the node's security parameters such as its public key. In an autoconfiguration scheme, the IP ad‐ dress is generated dynamically, and it may need to change during the session, which expos‐ es the vulnerabilities in some pre-existing security frameworks.

This chapter gives a comprehensive review of autoconfiguration and related issues. It is structured as follows. Section 2 gives a review of autoconfiguration schemes, which can be divided into three groups. Among others, our Prophet Address Allocation outperforms in terms of bandwidth and latency. Section 3 introduces the IP address handoff scheme, which maintains the routing fabrics and on-going communications if there is an address change. In Section 4, we present different attack patterns and improve Prophet Address Allocation to survive these attacks. Thus, unique IP address allocation can still be achieved in the pres‐ ence of malicious nodes. In Section 5, the Sybil attack is demonstrated to defeat some securi‐ ty frameworks within the scenario of autoconfiguration, and thus a different security framework is desirable. To further solve this problem, a combination of secure autoconfigu‐ ration and security framework is described in Section 6. Section 7 concludes the chapter.

## **2. Autoconfiguration for MANETs**

Because unique IP address allocation is the first step towards a functioning MANET, this section studies the issue of autoconfiguration itself.

#### **2.1. Introduction**

In an open MANET where mobile nodes are free to join and leave, there are three scenarios that are of concern:

**a.** In the simplest scenario in Fig. 1, the node joins the network and then participates in the communication with other nodes. Once it is done, it leaves the network forever;

**Figure 1.** A node joins and leaves the MANET once

though DHCP [1] or SAA [2] is popular for hardwired networks, they cannot be directly ported to a MANET. A distributed algorithm that adapts to node mobility and topology

The first issue is the change of IP address during communication. This issue is rare for a fixed node in a hardwired network running DHCP service. Even after the lease expires, the client tends to receive the same IP address from the server. In a MANET with autoconfigu‐ ration, there may be address conflicts when two separate MANETs join together. As a result, some of the nodes need to relinquish the duplicate addresses, which will interrupt on-going communications. An IP address handoff mechanism is necessary to make the transition

Security of the autoconfiguration is another issue that needs to be considered. If malicious nodes may be present, they may launch attacks on the autoconfiguration scheme to make it fail. Thus, a secure autoconfiguration is necessary for applications that have strict require‐

Autoconfiguration impacts the design of the security framework in a MANET. Most security frameworks assume that the IP address is the ID of the node, which is associated with the node's security parameters such as its public key. In an autoconfiguration scheme, the IP ad‐ dress is generated dynamically, and it may need to change during the session, which expos‐

This chapter gives a comprehensive review of autoconfiguration and related issues. It is structured as follows. Section 2 gives a review of autoconfiguration schemes, which can be divided into three groups. Among others, our Prophet Address Allocation outperforms in terms of bandwidth and latency. Section 3 introduces the IP address handoff scheme, which maintains the routing fabrics and on-going communications if there is an address change. In Section 4, we present different attack patterns and improve Prophet Address Allocation to survive these attacks. Thus, unique IP address allocation can still be achieved in the pres‐ ence of malicious nodes. In Section 5, the Sybil attack is demonstrated to defeat some securi‐ ty frameworks within the scenario of autoconfiguration, and thus a different security framework is desirable. To further solve this problem, a combination of secure autoconfigu‐ ration and security framework is described in Section 6. Section 7 concludes the chapter.

Because unique IP address allocation is the first step towards a functioning MANET, this

In an open MANET where mobile nodes are free to join and leave, there are three scenarios

es the vulnerabilities in some pre-existing security frameworks.

**2. Autoconfiguration for MANETs**

**2.1. Introduction**

that are of concern:

section studies the issue of autoconfiguration itself.

Autoconfiguration for MANETs brings other issues that need to addressed as well.

change is more desirable.

124 Wireless Ad-Hoc Networks

ment for security level.

smooth.

**b.** It is possible that some nodes move out of transmission range of other nodes. Thus, the network is divided into two or more partitions, as in Fig. 2 (a). If more nodes join differ‐ ent partitions, they may get duplicate addresses. When partitions merge later, address conflicts need to be resolved, as in Fig. 2 (b);

**Figure 2.** Network partitions and merges

**c.** In the third case, two or more independent MANETs merge. Because IP addresses are allocated independently, there may be duplicate addresses, which is similar to the sec‐ ond case.

**Figure 3.** Merger of two independent MANETs

The autoconfiguration scheme needs to address all the three scenarios.

#### **2.2. Related work**

Several autoconfiguration schemes have been proposed. Depending on the IP address allo‐ cation state they have, they can be divided into the following three groups:

**a.** Stateless allocation

In the stateless allocation algorithm, no IP address allocation state is recorded. Instead, it uti‐ lizes Duplicate Address Detection (DAD) to determine a free IP address for a newcomer, as in [3]. The scheme reserved a pool of IP addresses for DAD communication only. The new node chooses one IP address from the pool to broadcast DAD messages, which contains an‐ other random IP address for actual data communications. The broadcast is utilized to see if the address is still available. If not, the new node will receive a veto message from some member and then choose another random address again. Otherwise, it repeats the DAD pro‐ cedure for a few more times. Once it is certain that the address is free, it can proceed with the address for subsequent data communications.

**i.** The interval between two occurrences of the same integer in a given sequence is ex‐

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 127

**ii.** The probability of the same number in different sequences with different seeds in a

**iii.** The first node chooses an initial state. Based on the initial state, it generates an inte‐

**iv.** When another node joins the MANET, it receives the new state from the allocator,

The design of the stateful function is based on the fundamental theory in arithmetic that ev‐ ery positive integer may be expressed uniquely as a product of prime numbers, apart from

If each node has different tuples, they will have unique integers for their IP addresses. Thus, the most important issue is to generate different tuples during allocation. In our design, we

Parameter a in the state is used by the first node in each MANET to generate unique seed. The tuple is used to generate the product of prime numbers. Parameter index is the location of exponential value in the tuple that is to be increased by the allocator, while index itself is

Based on the state and stateful function as above, the procedures of PAA can be illustrated

**a.** The first node chooses a random number for a, an initial tuple of (0, 0, 0, 0) for p1 to p4,

**b.** When the second node approaches the first node, the allocator updates its state to (a, (1,0, 0, 0), 0), and passes it to the new node. The new node increases index by 1. Thus,

**c.** If the third node approaches the first node, the first node updates its state to (a, (2,0, 0, 0), 0) and passes it to the new node. The third node gets the address of a + 5, and up‐

**d.** Similarly, when the fourth node approaches the second node, the allocator updates its state to (a, (1,1, …, 0), 1) and passes it to the third node. The new node increases index

by 1. Thus, the third node's state is (a, (1,1, 0, 0), 2), and its address is a + 7.

which is used to calculate its own IP address. The states in the allocator and the

tremely long;

n=∏ *i*=1 *k*

IPAddr = (a+∏

with a 4-tuple:

*i*=1 *k*

increased at the new node.

The general procedures work as below:

given allocation session is extremely low.

ger as its own IP address. It updates the state;

new node are updated simultaneously.

the arrangement of terms, as in the following formula:

*piei*) % range + 1

dates its own state to (a, (2,0, 0, 0), 1).

*piei*, where the primes pi satisfy p1<p2< … <pk.

chose the state to be (a, (p1, p2, …,pk), index), and the stateful function is:

and 0 for index. It generates its own IP address, which is a + 1;

the new node's state is (a, (1,0, 0, 0), 1), and its address is a + 3;

The scheme in [3] did not address scenarios 2 and 3. A modified version, which is called weak DAD, was proposed in [4] to detect duplicate addresses on network merger. It favors proactive routing protocols and requires some changes to routing protocols.

**b.** Locally stateful allocation

The locally stateful allocation, such as one in [5] is based on a buddy system. Each allocator maintains a disjoint address pool. When a new node joins the network, the allocator divides the address pool into halves between itself and the new node. Thus, the address received from the allocator is guaranteed to be unique.

Although this algorithm can solve the scenarios 1 and 2 easily, it lacks the mechanism for scenario 3. Another problem is the reclamation of lost address pools. To solve this problem, allocators may need to exchange beacon messages frequently to track all the address pools and thus result in high communication overhead.

A similar idea was proposed in [6] that tries to deal with the network's partition and merger.

**c.** Globally stateful allocation

Distributed Dynamic Host Configuration Protocol (DDHCP) proposed in [7] maintains the global allocation state of IP addresses in all the members. When a new node joins, the alloca‐ tor chooses a free IP address according to the allocation state. But the new node still needs to perform DAD to avoid the allocation of the same free IP address to two new nodes arriving simultaneously. It is also used to update the global allocation state in all the members.

DDHCP works well with proactive routing protocols. It also introduced network ID to de‐ tect merger of partitions or independent networks. It is generated from the node with the lowest IP address and is piggybacked in the periodic HELLO messages. Once network merger is detected, conflict detection and resolution will be initiated.

#### **2.3. Prophet Address Allocation**

We proposed Prophet Address Allocation (PAA) in [8] and [9], in which each node main‐ tains a local allocation state. Unlike the disjoint address pools used in [5], the allocation state in PAA is an integer sequence. The integer sequence is generated by a stateful function with a seed. We deliberately designed the stateful function and update of seeds to satisfy the fol‐ lowing two properties:


The general procedures work as below:

In the stateless allocation algorithm, no IP address allocation state is recorded. Instead, it uti‐ lizes Duplicate Address Detection (DAD) to determine a free IP address for a newcomer, as in [3]. The scheme reserved a pool of IP addresses for DAD communication only. The new node chooses one IP address from the pool to broadcast DAD messages, which contains an‐ other random IP address for actual data communications. The broadcast is utilized to see if the address is still available. If not, the new node will receive a veto message from some member and then choose another random address again. Otherwise, it repeats the DAD pro‐ cedure for a few more times. Once it is certain that the address is free, it can proceed with

The scheme in [3] did not address scenarios 2 and 3. A modified version, which is called weak DAD, was proposed in [4] to detect duplicate addresses on network merger. It favors

The locally stateful allocation, such as one in [5] is based on a buddy system. Each allocator maintains a disjoint address pool. When a new node joins the network, the allocator divides the address pool into halves between itself and the new node. Thus, the address received

Although this algorithm can solve the scenarios 1 and 2 easily, it lacks the mechanism for scenario 3. Another problem is the reclamation of lost address pools. To solve this problem, allocators may need to exchange beacon messages frequently to track all the address pools

A similar idea was proposed in [6] that tries to deal with the network's partition and merger.

Distributed Dynamic Host Configuration Protocol (DDHCP) proposed in [7] maintains the global allocation state of IP addresses in all the members. When a new node joins, the alloca‐ tor chooses a free IP address according to the allocation state. But the new node still needs to perform DAD to avoid the allocation of the same free IP address to two new nodes arriving simultaneously. It is also used to update the global allocation state in all the members.

DDHCP works well with proactive routing protocols. It also introduced network ID to de‐ tect merger of partitions or independent networks. It is generated from the node with the lowest IP address and is piggybacked in the periodic HELLO messages. Once network

We proposed Prophet Address Allocation (PAA) in [8] and [9], in which each node main‐ tains a local allocation state. Unlike the disjoint address pools used in [5], the allocation state in PAA is an integer sequence. The integer sequence is generated by a stateful function with a seed. We deliberately designed the stateful function and update of seeds to satisfy the fol‐

merger is detected, conflict detection and resolution will be initiated.

proactive routing protocols and requires some changes to routing protocols.

the address for subsequent data communications.

from the allocator is guaranteed to be unique.

and thus result in high communication overhead.

**b.** Locally stateful allocation

126 Wireless Ad-Hoc Networks

**c.** Globally stateful allocation

**2.3. Prophet Address Allocation**

lowing two properties:


The design of the stateful function is based on the fundamental theory in arithmetic that ev‐ ery positive integer may be expressed uniquely as a product of prime numbers, apart from the arrangement of terms, as in the following formula:

$$\text{In} = \prod\_{i=1}^{k} \mathcal{P} \dot{\mathcal{I}}^{\dot{e}i} \text{, where the primes pi satisfy p1<sup>2</sup>}$$

If each node has different tuples, they will have unique integers for their IP addresses. Thus, the most important issue is to generate different tuples during allocation. In our design, we chose the state to be (a, (p1, p2, …,pk), index), and the stateful function is:

$$\text{IPAddr} = (\text{a} + \prod\_{i=1}^{k} \mathcal{P} \dot{\mathcal{I}}^{\dot{e}}) \text{ \% range + 1}$$

Parameter a in the state is used by the first node in each MANET to generate unique seed. The tuple is used to generate the product of prime numbers. Parameter index is the location of exponential value in the tuple that is to be increased by the allocator, while index itself is increased at the new node.

Based on the state and stateful function as above, the procedures of PAA can be illustrated with a 4-tuple:


In summary, all the four nodes will have different states and different IP addresses. They will generate different integers in a sequence in the subsequent allocations.

1000×1000, 1200×1200, and 1400×1400 are tested for 200 and 250 nodes. The final results are

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 129

Although we chose AODV as the ad hoc routing protocol during the simulation, both ad‐ dress allocation schemes use one-hop and multi-hop broadcast, respectively for control mes‐

Figure 4 shows the ratio of total messages collected in stateless address allocation and Prophet Address Allocation, in contrast with a linear line. It shows that the ratio increases linearly with the number of nodes. Because in stateful allocation, each node is going to re‐ ceive one copy of the message from all its neighbors, while in PAA only the neighbors of the new node receive a copy, so the communication overhead is almost constant regardless of

Figure 5 shows the average number of retrials for all the nodes in the MANET. For stateless allocation, each node tries for a constant three times. For APP, except for the first node that

the average results obtained with all the area sizes.

the number of nodes in the MANET.

**Figure 4.** Ratio of communication overhead of Stateless to PA

**Figure 5.** Latency for different node numbers

sage exchanges.

#### **2.4. Protocol**

The protocol of the PAA includes the following steps:


The above-mentioned procedures can solve Scenario 2 easily because even the network is partitioned, the addresses allocated in different parts will still be different. To handle Sce‐ nario 3, we borrowed the idea of Network ID (NID) from DDHCP. The first node also choo‐ ses a random NID and propagate it throughout the network during the allocation. If seed a and NID are also contained in the periodic HELLO messages, the nodes between two sepa‐ rate MANETs will detect the merger of two networks and initiate conflict resolution proce‐ dures. With the seeds, the node on the border can calculate two integer sequences and locate potentially duplicate addresses. The duplicate address list is then broadcast throughout the two MANETs. If a node happens to have that duplicate address, it changes its address ac‐ cordingly.

#### **2.5. Performance evaluation**

Because every node can be an allocator in Prophet Address Allocation, only the communica‐ tions between one-hop neighbors are necessary. Thus, PAA outperforms other schemes in the term of bandwidth and latency and is more suitable for a large-scale MANET.

We also ran simulations to demonstrate its superiority of PAA over stateless address alloca‐ tion with ns-2. The simulations are run on ns-2.34 [10] with 50 nodes to 250 nodes. The ran‐ dom waypoint mobility model was used in the simulation [10]. After a node pauses for several seconds, a random destination point is chosen. The maximum speed is set to 5 m/s, which is repeated until the end of simulation. The pause time is 10 s for 50 nodes and 100 nodes, 20 s for 150, 200, and 250 nodes. These nodes join the MANET every 30 s (for 50, 100, and 150 nodes), or every 10 s (for 200 and 250 nodes). Different area sizes are also intro‐ duced to show the effect of node density on the algorithm. For example, scenario files of 800×800, 1000×1000, and 1200×1200 are utilized for 100 and 150 nodes, while scenario files of 1000×1000, 1200×1200, and 1400×1400 are tested for 200 and 250 nodes. The final results are the average results obtained with all the area sizes.

Although we chose AODV as the ad hoc routing protocol during the simulation, both ad‐ dress allocation schemes use one-hop and multi-hop broadcast, respectively for control mes‐ sage exchanges.

Figure 4 shows the ratio of total messages collected in stateless address allocation and Prophet Address Allocation, in contrast with a linear line. It shows that the ratio increases linearly with the number of nodes. Because in stateful allocation, each node is going to re‐ ceive one copy of the message from all its neighbors, while in PAA only the neighbors of the new node receive a copy, so the communication overhead is almost constant regardless of the number of nodes in the MANET.

**Figure 4.** Ratio of communication overhead of Stateless to PA

In summary, all the four nodes will have different states and different IP addresses. They

**i.** When a new node switches to ad-hoc mode, it starts to broadcast State Request

**ii.** If the new node does not receive any State Reply Message, it concludes that it is the

**iii.** If it receives a State Reply Message that contains the state, it applies the stateful

**iv.** During its session, if it receives a State Request Message from some other new node, it updates its state and includes it in the State Reply Message.

The above-mentioned procedures can solve Scenario 2 easily because even the network is partitioned, the addresses allocated in different parts will still be different. To handle Sce‐ nario 3, we borrowed the idea of Network ID (NID) from DDHCP. The first node also choo‐ ses a random NID and propagate it throughout the network during the allocation. If seed a and NID are also contained in the periodic HELLO messages, the nodes between two sepa‐ rate MANETs will detect the merger of two networks and initiate conflict resolution proce‐ dures. With the seeds, the node on the border can calculate two integer sequences and locate potentially duplicate addresses. The duplicate address list is then broadcast throughout the two MANETs. If a node happens to have that duplicate address, it changes its address ac‐

Because every node can be an allocator in Prophet Address Allocation, only the communica‐ tions between one-hop neighbors are necessary. Thus, PAA outperforms other schemes in

We also ran simulations to demonstrate its superiority of PAA over stateless address alloca‐ tion with ns-2. The simulations are run on ns-2.34 [10] with 50 nodes to 250 nodes. The ran‐ dom waypoint mobility model was used in the simulation [10]. After a node pauses for several seconds, a random destination point is chosen. The maximum speed is set to 5 m/s, which is repeated until the end of simulation. The pause time is 10 s for 50 nodes and 100 nodes, 20 s for 150, 200, and 250 nodes. These nodes join the MANET every 30 s (for 50, 100, and 150 nodes), or every 10 s (for 200 and 250 nodes). Different area sizes are also intro‐ duced to show the effect of node density on the algorithm. For example, scenario files of 800×800, 1000×1000, and 1200×1200 are utilized for 100 and 150 nodes, while scenario files of

the term of bandwidth and latency and is more suitable for a large-scale MANET.

Message periodically. Because each node in the MANET can act as an allocator, so

first node in the MANET. Thus, it generates a random number for a and configures

will generate different integers in a sequence in the subsequent allocations.

The protocol of the PAA includes the following steps:

only one-hop broadcast is necessary;

function to configure itself, and update the state;

**2.4. Protocol**

128 Wireless Ad-Hoc Networks

cordingly.

**2.5. Performance evaluation**

itself;

**Figure 5.** Latency for different node numbers

Figure 5 shows the average number of retrials for all the nodes in the MANET. For stateless allocation, each node tries for a constant three times. For APP, except for the first node that tries for three times, all the nodes try for infinite time. However, the simulation results show that most of them get reply messages within 2 rounds.

not find node A because that IP address does not exist anymore, unless the DNS scheme

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 131

Another issue with IP address change is the routing fabrics will be broken. Although the ef‐ fect is not immediate since the forwarding is based on next hop's MAC address. The ARP entry will gradually time out and its upstream nodes cannot reach it anymore. Thus, local routing repair mechanism or route rediscovery procedures needs to be initiated eventually.

IP address change will also pose the threat to privacy. Suppose node A is talking with node B. On merger of two MANETs, node A needs to change its address because it has the same address of node C. Without notification to node B, the messages from node B will be routed

Mobile IP supports host mobility among LANs [13]. The host is assigned with a permanent home address. Once it connects a foreign network and gets a temporary care-of address, it registers the care-of address at its home agent. A tunnel is then built to forward messages between its home agent and foreign agent. Thus, any messages that destined to its home ad‐ dress will be forwarded to its current care-of address. Because a MANET is different from a

The tunneling scheme was proposed in [14] that aimed to maintain on-going communica‐ tions after address change in MANET. Once a node changes its address, it sends an Address Error (AERR) to the other party and an IP-in-IP tunnel is created between them. The outer IP header contains the new address while the inner IP header uses the old address. This solu‐ tion can preserver communication states. However, it ignores the overhead cause by routing repair or route rediscovery. Besides, it introduced Denial of Service issue, as illustrated in Fig. 8. Suppose node A changes its address from xto y because the another node (node C) has the same address of x. A tunnel is created between nodes A and B that forwards all the packets destined to IP address x to node A. Thus, node B cannot communicate with node C

proposed in [12] is combined with the reactive routing protocol.

**Figure 7.** A MANET is connected to a hardwired network

LAN, so it is not working for address handoff.

to node C.

anymore.

**3.2. Related work**

## **3. IP address handoff in MANETs**

With autoconfiguration implemented in MANETs, the IP address of a mobile node is not fixed any more. If a node changes its IP address, on-going communications will be inter‐ rupted, and routing fabrics will be broken. Thus, we need a handoff scheme to address these issues.

#### **3.1. Introduction**

Due to the node mobility and topology change, the following scenarios may lead to the ne‐ cessity of IP address change in some mobile nodes:


**Figure 6.** A MANET with hierarchical addressing

**d.** A MANET can get connected to the Internet if a hardwired node that also has a wireless network interface card working in ad-hoc mode, as in Fig. 7. That node would behave like a bridge between the hardwired network and the MANET. If the MANET and the hardwired network use the same private address range, there could be duplicate ad‐ dresses.

When a node (say node A) changes its IP address, its current data communication will be interrupted. Even the other party (say node B) may initiate to rebuild the connection, it will not find node A because that IP address does not exist anymore, unless the DNS scheme proposed in [12] is combined with the reactive routing protocol.

**Figure 7.** A MANET is connected to a hardwired network

Another issue with IP address change is the routing fabrics will be broken. Although the ef‐ fect is not immediate since the forwarding is based on next hop's MAC address. The ARP entry will gradually time out and its upstream nodes cannot reach it anymore. Thus, local routing repair mechanism or route rediscovery procedures needs to be initiated eventually.

IP address change will also pose the threat to privacy. Suppose node A is talking with node B. On merger of two MANETs, node A needs to change its address because it has the same address of node C. Without notification to node B, the messages from node B will be routed to node C.

#### **3.2. Related work**

tries for three times, all the nodes try for infinite time. However, the simulation results show

With autoconfiguration implemented in MANETs, the IP address of a mobile node is not fixed any more. If a node changes its IP address, on-going communications will be inter‐ rupted, and routing fabrics will be broken. Thus, we need a handoff scheme to address these

Due to the node mobility and topology change, the following scenarios may lead to the ne‐

**a.** A MANET is divided into two or more partitions. Some new members join different partitions and duplicate addresses may be allocated. Once the partitions merge, these

**b.** Two separate MANETs merge together. Because address allocation is independent in

**c.** In case where hierarchical addressing scheme is applied [11], a node needs to change its

**d.** A MANET can get connected to the Internet if a hardwired node that also has a wireless network interface card working in ad-hoc mode, as in Fig. 7. That node would behave like a bridge between the hardwired network and the MANET. If the MANET and the hardwired network use the same private address range, there could be duplicate ad‐

When a node (say node A) changes its IP address, its current data communication will be interrupted. Even the other party (say node B) may initiate to rebuild the connection, it will

that most of them get reply messages within 2 rounds.

cessity of IP address change in some mobile nodes:

nodes need to change their IP addresses;

**Figure 6.** A MANET with hierarchical addressing

dresses.

each network, there could be duplicate addresses;

address when roaming from one subnet to another, as in Fig 6;

**3. IP address handoff in MANETs**

issues.

**3.1. Introduction**

130 Wireless Ad-Hoc Networks

Mobile IP supports host mobility among LANs [13]. The host is assigned with a permanent home address. Once it connects a foreign network and gets a temporary care-of address, it registers the care-of address at its home agent. A tunnel is then built to forward messages between its home agent and foreign agent. Thus, any messages that destined to its home ad‐ dress will be forwarded to its current care-of address. Because a MANET is different from a LAN, so it is not working for address handoff.

The tunneling scheme was proposed in [14] that aimed to maintain on-going communica‐ tions after address change in MANET. Once a node changes its address, it sends an Address Error (AERR) to the other party and an IP-in-IP tunnel is created between them. The outer IP header contains the new address while the inner IP header uses the old address. This solu‐ tion can preserver communication states. However, it ignores the overhead cause by routing repair or route rediscovery. Besides, it introduced Denial of Service issue, as illustrated in Fig. 8. Suppose node A changes its address from xto y because the another node (node C) has the same address of x. A tunnel is created between nodes A and B that forwards all the packets destined to IP address x to node A. Thus, node B cannot communicate with node C anymore.

node B's port number, and sequence number of message from A to B. Based on these

x y TCP 5472 80 626473 x y … … … …

If an incoming packet matches an entry in the NAT table, its new address y is changed to x. At the same time, the Seq Number field is increased by the payload length. For an outgoing packet with the destination address x, if it matches an entry, its destination address will be set to y. The NAT table at node B includes both port numbers and sequence number from node A, so the packets destined to node A can be distinguished from those to node C. To prevent IP spoofing attacks, the Address Change message is required to include node A's

A prototype of IP address handoff scheme was implemented on Fedora Linux 12 with netfil‐ ter [16] to test the preservation of communication states in a LAN, as illustrated in Fig. 9. After a TCP connection is created between a laptop client and a server, the client changes its

The outgoing packets are handled in NF\_IP\_LOCAL\_OUT hook, while the incoming pack‐ ets are modified in NF\_IP\_PRE\_ROUTING hook. The code to modify outgoing packets is the client is illustrated in Table 3. The processing of incoming packets is similar. In the pro‐

**Remote Port Number**

**Local Port**

**Number Seq Number**

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 133

data, node B can insert an entry to its NAT table, such as table 2:

**Old Address New Address Protocol**

**Table 2.** NAT table at node B

digital signature.

**3.4. Prototype implementation**

**Figure 9.** Thetestbed of the prototype

address from 192.168.1.155 to 192.168.1.140.

**Figure 8.** Denial of Service issue in tunneling scheme

#### **3.3. IP address handoff scheme**

We proposed IP address handoff scheme in [15] to maintain routing fabrics and keep ongoing communications.

Firstly, because the node is aware of the IP address change, we can require that node broad‐ cast a Route Shift message that contains its old and new IP addresses to its one-hop neigh‐ bors. To prevent IP spoofing attacks, we can also require the message to be signed with its private key. A lightweight solution is that the node chooses a random number and attaches the hash value of the random number in Route Request message, Route Reply message, and periodic HELLO messages. In the Route Shift message, the random value is included to veri‐ fy the identity of the origin.

Secondly, a NAT-based solution is utilized to maintain communication states, in which the old address is changed to new address for outgoing packets while the new address is changed back for incoming packets. NAT needs to be performed at both ends, as below:

**a.** On address change, node A as in Fig 7 creates a NAT table (such as Table 1) that maps the old address to the new address according to the protocol and source port number of outgoing TCP/UDP packets if the packet still contains the old address.


**Table 1.** NAT table at node A

According to the NAT table, the outgoing packet's old source address x is modified to y, and the checksums need to be re-calculated. For incoming packets, if its protocol and destination port number match an entry, the destination address is changed back to x together with the checksums updated.

**b.** Node A sends an Address Change message to node B so node B can create its NAT ta‐ ble. The control message contains the old address, new address, node A's port number,


node B's port number, and sequence number of message from A to B. Based on these data, node B can insert an entry to its NAT table, such as table 2:

**Table 2.** NAT table at node B

**Figure 8.** Denial of Service issue in tunneling scheme

We proposed IP address handoff scheme in [15] to maintain routing fabrics and keep on-

Firstly, because the node is aware of the IP address change, we can require that node broad‐ cast a Route Shift message that contains its old and new IP addresses to its one-hop neigh‐ bors. To prevent IP spoofing attacks, we can also require the message to be signed with its private key. A lightweight solution is that the node chooses a random number and attaches the hash value of the random number in Route Request message, Route Reply message, and periodic HELLO messages. In the Route Shift message, the random value is included to veri‐

Secondly, a NAT-based solution is utilized to maintain communication states, in which the old address is changed to new address for outgoing packets while the new address is changed back for incoming packets. NAT needs to be performed at both ends, as below:

**a.** On address change, node A as in Fig 7 creates a NAT table (such as Table 1) that maps the old address to the new address according to the protocol and source port number of

**Old Address New Address Protocol Port Number** x y TCP 5472 x y … …

According to the NAT table, the outgoing packet's old source address x is modified to y, and the checksums need to be re-calculated. For incoming packets, if its protocol and destination port number match an entry, the destination address is changed back to x together with the

**b.** Node A sends an Address Change message to node B so node B can create its NAT ta‐ ble. The control message contains the old address, new address, node A's port number,

outgoing TCP/UDP packets if the packet still contains the old address.

**3.3. IP address handoff scheme**

going communications.

132 Wireless Ad-Hoc Networks

fy the identity of the origin.

**Table 1.** NAT table at node A

checksums updated.

If an incoming packet matches an entry in the NAT table, its new address y is changed to x. At the same time, the Seq Number field is increased by the payload length. For an outgoing packet with the destination address x, if it matches an entry, its destination address will be set to y. The NAT table at node B includes both port numbers and sequence number from node A, so the packets destined to node A can be distinguished from those to node C. To prevent IP spoofing attacks, the Address Change message is required to include node A's digital signature.

#### **3.4. Prototype implementation**

A prototype of IP address handoff scheme was implemented on Fedora Linux 12 with netfil‐ ter [16] to test the preservation of communication states in a LAN, as illustrated in Fig. 9. After a TCP connection is created between a laptop client and a server, the client changes its address from 192.168.1.155 to 192.168.1.140.

**Figure 9.** Thetestbed of the prototype

The outgoing packets are handled in NF\_IP\_LOCAL\_OUT hook, while the incoming pack‐ ets are modified in NF\_IP\_PRE\_ROUTING hook. The code to modify outgoing packets is the client is illustrated in Table 3. The processing of incoming packets is similar. In the pro‐ totype, the addresses are hardcoded. But in real application, NAT tables mentioned in the previous section should be utilized.

**a.** IP spoofing attack

figuration.

**c.** Sybil attack

of the parameters.

**b.** State pollution attack

duplicate addresses will be assigned.

**4.2. Secure prophet address allocation**

antee a unique state for each address allocation:

The relationship among these parameters is:

and the initial exponential array.

**a.** More parameters are included in the reply message

IP spoofing attack means the malicious node impersonates as another node. In stateless au‐ toconfiguration scheme, the malicious node masquerades as a node with the same IP ad‐ dress as the new node chooses. For each request message from the new node, it replies with a veto message to deter the new node from joining the network. In Prophet Address Alloca‐ tion, the malicious node uses another member's IP address and state in allocation, and thus

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 135

IP spoofing attack is extremely difficult to detect and prevent, even with the deployment of Certificate Authority, because the IP address of CA itself needs to be obtained with autocon‐

In stateful allocation schemes, the malicious node passes incorrect or forged state in the re‐

In Sybil attack [17], a malicious node impersonate several non-existent nodes at the same time. Thus, these nodes will seem like a group and can undermine the network service that requires cooperation among all or most nodes. In stateful allocation scheme, a malicious

In the original Prophet Address Allocation, the new node does not verify the parameters in the reply message, which leaves the exposure to IP spoofing attacks and state pollution at‐ tacks. In Secure Prophet Address Allocation, we made the following improvements to guar‐

Now the reply messages contains the following parameters: (1) The seed value of the MAN‐ ET (a); (2) The index of increasing exponential (c); (3) The source address of the allocator (x); (4) The initial exponential array (i[1,2, …, n]); (5) Priority (p), which indicates the freshness

**b.** The new node verifies the parameters and chooses a seemingly correct one randomly

which means the source address of the allocator should be calculated with the seed value

*x f ai n* = ¼ ( , 1,2, , é ù ë û) (1)

node can initiate a Sybil attack and convince the new node of incorrect parameters.

ply message to the new node, thus duplicate addresses will be allocated.

```
#define OLD_ADDRESS 0xC0A8019B // 192.168.1.155
#define NEW_ADDRESS 0xC0A8018C // 192.168.1.140
static unsigned int handoff_NAT_out(unsigned int hook, struct sk_buff **pskb, const struct net_device *indev,
const struct net_device *outdev, int (*okfn)(struct sk_buff *)
{
struct tcphdr* th;
// Whether we should perform NAT or not
if ((*pskb)-"/>nh.iph-"/>saddr == htonl(OLD_ADDRESS) && (*pskb)-"/>nh.iph-"/>protocol == 6)
{
th = (struct tcphdr*)((char*)(*pskb)-"/>nh.iph + (*pskb)-"/>nh.iph-"/>ihl*4);
if (th-"/>dest == htons(10000))
{
// Change (source) address
(*pskb)-"/>nh.iph-"/>saddr = (DWORD)htonl(NEW_ADDRESS);
// Recompute IP checksum
(*pskb)-"/>nh.iph-"/>check = 0;
(*pskb)-"/>nh.iph-"/>check = in_checksum((WORD*)((*pskb)-"/>nh.iph), (*pskb)-"/>nh.iph-"/>ihl*4);
}
}
return NF_ACCEPT;
}
```
**Table 3.** NAT processing of outgoing packets at the client

We ran Wireshark at both the server and client to capture all the TCP packets and verified that the session continues without being aware of the address change.

## **4. Secure address allocation for MANETs**

All the autoconfiguration schemes introduced in Section 2 assume that every node in the MANET is trustworthy and have no security mechanism. Thus, if there is a malicious node in the network, the autoconfiguration scheme may fail: either no new node will be allowed to join the network, or there will be duplicate addresses. This section focuses on a secure au‐ toconfiguration scheme.

#### **4.1. Attacks on autoconfiguration**

There are several common kinds of attacks that target at autoconfiguration schemes:

#### **a.** IP spoofing attack

totype, the addresses are hardcoded. But in real application, NAT tables mentioned in the

static unsigned int handoff\_NAT\_out(unsigned int hook, struct sk\_buff \*\*pskb, const struct net\_device \*indev,

if ((\*pskb)-"/>nh.iph-"/>saddr == htonl(OLD\_ADDRESS) && (\*pskb)-"/>nh.iph-"/>protocol == 6)

(\*pskb)-"/>nh.iph-"/>check = in\_checksum((WORD\*)((\*pskb)-"/>nh.iph), (\*pskb)-"/>nh.iph-"/>ihl\*4);

We ran Wireshark at both the server and client to capture all the TCP packets and verified

All the autoconfiguration schemes introduced in Section 2 assume that every node in the MANET is trustworthy and have no security mechanism. Thus, if there is a malicious node in the network, the autoconfiguration scheme may fail: either no new node will be allowed to join the network, or there will be duplicate addresses. This section focuses on a secure au‐

There are several common kinds of attacks that target at autoconfiguration schemes:

that the session continues without being aware of the address change.

th = (struct tcphdr\*)((char\*)(\*pskb)-"/>nh.iph + (\*pskb)-"/>nh.iph-"/>ihl\*4);

previous section should be utilized.

// Whether we should perform NAT or not

if (th-"/>dest == htons(10000))

// Change (source) address

// Recompute IP checksum (\*pskb)-"/>nh.iph-"/>check = 0;

return NF\_ACCEPT;

toconfiguration scheme.

**4.1. Attacks on autoconfiguration**

{

{

{

} }

}

struct tcphdr\* th;

134 Wireless Ad-Hoc Networks

#define OLD\_ADDRESS 0xC0A8019B // 192.168.1.155 #define NEW\_ADDRESS 0xC0A8018C // 192.168.1.140

const struct net\_device \*outdev, int (\*okfn)(struct sk\_buff \*)

(\*pskb)-"/>nh.iph-"/>saddr = (DWORD)htonl(NEW\_ADDRESS);

**Table 3.** NAT processing of outgoing packets at the client

**4. Secure address allocation for MANETs**

IP spoofing attack means the malicious node impersonates as another node. In stateless au‐ toconfiguration scheme, the malicious node masquerades as a node with the same IP ad‐ dress as the new node chooses. For each request message from the new node, it replies with a veto message to deter the new node from joining the network. In Prophet Address Alloca‐ tion, the malicious node uses another member's IP address and state in allocation, and thus duplicate addresses will be assigned.

IP spoofing attack is extremely difficult to detect and prevent, even with the deployment of Certificate Authority, because the IP address of CA itself needs to be obtained with autocon‐ figuration.

**b.** State pollution attack

In stateful allocation schemes, the malicious node passes incorrect or forged state in the re‐ ply message to the new node, thus duplicate addresses will be allocated.

**c.** Sybil attack

In Sybil attack [17], a malicious node impersonate several non-existent nodes at the same time. Thus, these nodes will seem like a group and can undermine the network service that requires cooperation among all or most nodes. In stateful allocation scheme, a malicious node can initiate a Sybil attack and convince the new node of incorrect parameters.

#### **4.2. Secure prophet address allocation**

In the original Prophet Address Allocation, the new node does not verify the parameters in the reply message, which leaves the exposure to IP spoofing attacks and state pollution at‐ tacks. In Secure Prophet Address Allocation, we made the following improvements to guar‐ antee a unique state for each address allocation:

**a.** More parameters are included in the reply message

Now the reply messages contains the following parameters: (1) The seed value of the MAN‐ ET (a); (2) The index of increasing exponential (c); (3) The source address of the allocator (x); (4) The initial exponential array (i[1,2, …, n]); (5) Priority (p), which indicates the freshness of the parameters.

**b.** The new node verifies the parameters and chooses a seemingly correct one randomly

The relationship among these parameters is:

$$\mathbf{x} = f\left(a, i\left[1, 2, \dots, n\right]\right) \tag{1}$$

which means the source address of the allocator should be calculated with the seed value and the initial exponential array.

The new node chooses the reply message randomly that confirms to the relationship and has the highest p value, chooses a random value (r), and generates its own address with the following equation:

$$y = f\left(a, c\left[1, 2, \ldots, n\right]\right) \tag{2}$$

**5. Autoconfiguration's impact on distributed certificate authority**

**5.1. Threshold cryptography-based DCA**

down unexpectedly [22][23].

compromised, as illustrated below:

**5.3. Multiple-key cryptography-based DCA**

sages.

**5.2. Vulnerability of threshold cryptography-based DCA**

Most prevalent Distributed Certificate Authority (DCA) schemes for MANET are based on threshold cryptography. However, in the context of autoconfiguration, these DCA schemes will fail in the presence of Sybil attacks. This section introduces a different DCA scheme.

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 137

Threshold cryptography-based DCA scheme [20] [21] was originally proposed for hard‐ wired networks, in which the administrators of servers can verify others' identities and trust each other. In (k, n)-threshold cryptography, the public key of the DCA is known to all the users, while the secret key is divided into many secrete shares among n servers. When a user wants its message signed, the message is sent to all the DCA servers. Each server signs it with its secret share to generate a partial signature. With at least k partial signatures, a val‐ id signature can be constructed that can be verified with the public key. Because these secret shares have no explicit relationship, and can be refreshed periodically without changing the public key, a malicious node has to gather at least k secret shares within some time interval to compromise the system, which makes the system very secure. Besides, the system can tol‐ erate the loss of n - k nodes, it seems ideal for a MANET where nodes may leave or power

In Certificate Authority, the IP address of the node is regarded as the identity of the node. However, in the presence of an autoconfiguration scheme, the identity is generated dynami‐ cally. With Sybil attacks from a malicious node, threshold cryptography-based DCA will be

Suppose node M is a malicious node in the MANET. Because the IP addresses are assigned with autoconfiguration, node M may request or generate multiple identities in advance. During the formation of a DCA server group based on (k, n)-threshold cryptography, it uses k identities to join the DCA server group with other good nodes, such as nodes A, B, and C. Thus, it has enough secret shares to generate a valid signature for any kind of its own mes‐

To co-exist with an autoconfiguration scheme, we proposed multiple-key cryptographybased DCA scheme (MC-DCA) in [24]. The idea of multiple-key cryptography was first pre‐ sented in [25], which is a variation of public-key cryptography. In traditional public-key cryptography, there are only two keys, one of which is the public key and the other is the private key. The message encrypted or signed with one key can be decrypted/verified with the other. In multiple-key cryptography, there are multiple keys. We can choose any subset of the keys to be public keys and the complementary subset will be private keys. The mes‐

where

$$e\begin{bmatrix} \\ j \end{bmatrix} = \begin{vmatrix} i\mathbf{I} \ j\mathbf{I} & j \le c \\ r+p, & j=c \\ i\mathbf{I} \ j\mathbf{J} = 0, & j \ge c \end{vmatrix}$$

**c.** A broadcast is included to force all the members to update its state

An ACK message is broadcast throughout the MANET to include p + r value, which will be the new priority value in each member's state.

Although all the parameters in a reply message could be forged, since the new node always chooses the highest priority value and its own random value, it is guaranteed that the state it receives would be unique at present. The subsequent ACK message forces all the members to update their states. Thus, the state that the new node just used will become obsolete and will not be used in the subsequent allocations.

#### **4.3. Simulation**

Simulations of Prophet Address Allocation and Secure Prophet Address Allocation in the are run with ns-2 (version 2.34). Malicious nodes are randomly chosen during the simula‐ tion. Statistics data about the number of duplicate addresses are collected to show the invul‐ nerability of the latter. Both allocation schemes are tested with 50 nodes in the area of 800 × 800 with random waypoint mobility model. The size of exponential array is chosen to be 50. However, at most 6 exponentials are used. Table 4 shows that no duplicate addresses are generated in Secure Prophet Address Allocation.


**Table 4.** The number of duplicate address in simulations

## **5. Autoconfiguration's impact on distributed certificate authority**

Most prevalent Distributed Certificate Authority (DCA) schemes for MANET are based on threshold cryptography. However, in the context of autoconfiguration, these DCA schemes will fail in the presence of Sybil attacks. This section introduces a different DCA scheme.

#### **5.1. Threshold cryptography-based DCA**

The new node chooses the reply message randomly that confirms to the relationship and has the highest p value, chooses a random value (r), and generates its own address with the

An ACK message is broadcast throughout the MANET to include p + r value, which will be

Although all the parameters in a reply message could be forged, since the new node always chooses the highest priority value and its own random value, it is guaranteed that the state it receives would be unique at present. The subsequent ACK message forces all the members to update their states. Thus, the state that the new node just used will become obsolete and

Simulations of Prophet Address Allocation and Secure Prophet Address Allocation in the are run with ns-2 (version 2.34). Malicious nodes are randomly chosen during the simula‐ tion. Statistics data about the number of duplicate addresses are collected to show the invul‐ nerability of the latter. Both allocation schemes are tested with 50 nodes in the area of 800 × 800 with random waypoint mobility model. The size of exponential array is chosen to be 50. However, at most 6 exponentials are used. Table 4 shows that no duplicate addresses are

**IP spoofing attacks State pollution attacks and Sybil attacks**

PA SPA PA SPA

10% 1 0 1 0 20% 2 0 2 0 25% 2 0 2 0 33% 5 0 5 0 50% 3 0 3 0

ë û) (2)

*y f ae n* = ¼ ( , 1,2, , é ù

**c.** A broadcast is included to force all the members to update its state

the new priority value in each member's state.

will not be used in the subsequent allocations.

generated in Secure Prophet Address Allocation.

**Table 4.** The number of duplicate address in simulations

following equation:

136 Wireless Ad-Hoc Networks

*i j* , *j* <*c r* + *p*, *j* =*c i j* =0, *j* >*c*

**4.3. Simulation**

**Percentage of malicious nodes**

where

*e j* ={

Threshold cryptography-based DCA scheme [20] [21] was originally proposed for hard‐ wired networks, in which the administrators of servers can verify others' identities and trust each other. In (k, n)-threshold cryptography, the public key of the DCA is known to all the users, while the secret key is divided into many secrete shares among n servers. When a user wants its message signed, the message is sent to all the DCA servers. Each server signs it with its secret share to generate a partial signature. With at least k partial signatures, a val‐ id signature can be constructed that can be verified with the public key. Because these secret shares have no explicit relationship, and can be refreshed periodically without changing the public key, a malicious node has to gather at least k secret shares within some time interval to compromise the system, which makes the system very secure. Besides, the system can tol‐ erate the loss of n - k nodes, it seems ideal for a MANET where nodes may leave or power down unexpectedly [22][23].

#### **5.2. Vulnerability of threshold cryptography-based DCA**

In Certificate Authority, the IP address of the node is regarded as the identity of the node. However, in the presence of an autoconfiguration scheme, the identity is generated dynami‐ cally. With Sybil attacks from a malicious node, threshold cryptography-based DCA will be compromised, as illustrated below:

Suppose node M is a malicious node in the MANET. Because the IP addresses are assigned with autoconfiguration, node M may request or generate multiple identities in advance. During the formation of a DCA server group based on (k, n)-threshold cryptography, it uses k identities to join the DCA server group with other good nodes, such as nodes A, B, and C. Thus, it has enough secret shares to generate a valid signature for any kind of its own mes‐ sages.

#### **5.3. Multiple-key cryptography-based DCA**

To co-exist with an autoconfiguration scheme, we proposed multiple-key cryptographybased DCA scheme (MC-DCA) in [24]. The idea of multiple-key cryptography was first pre‐ sented in [25], which is a variation of public-key cryptography. In traditional public-key cryptography, there are only two keys, one of which is the public key and the other is the private key. The message encrypted or signed with one key can be decrypted/verified with the other. In multiple-key cryptography, there are multiple keys. We can choose any subset of the keys to be public keys and the complementary subset will be private keys. The mes‐ sage encrypted/signed with one subset of keys needs to be decrypted/verified with all the keys in the other subset.

**6.1. Related work**

to the new node.

posed in [32].

The procedures work as follows:

random number RN;

dress AddrN = Hash(RN);

this scheme is vulnerable to Sybil attacks.

phy-based DCA is vulnerable to Sybil attacks.

**6.2. Secure autoconfiguration and public-key distribution**

A self-authentication scheme was proposed in [27] that is an application of Cryptographical‐ ly Generated Address [28]. A new node generates its public/private key pair randomly and simply uses the hash value of its public key as its IP address. To avoid address conflict, a DAD procedure as described in Section 2 is used. This method is simple and elegant. To ver‐ ify the ownership of the public key, the other node just needs to perform a hash function its public key. However, there are some problems with this scheme: (1) Only one pair of pri‐ vate/public keys are supported; (2) With the autoconfiguration, the IP address may need to change, which leads to the change of public/private key pair; (3) In case when a MANET is connected to the Internet, the private address of the node may need to be changed with

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 139

NAT. Thus, there is no relationship with the public key and the public IP address.

The challenge-response scheme [29] is based on the buddy system in [6]. The difference is in the security mechanism in the former: the new node broadcasts its MAC address and public key to its one-hop neighbors for authentication. Because only one-hop neighbors get the public key, other nodes are still susceptible to the "man-in-the-middle" attack. Another issue is that the allocator itself could be a malicious node and allocate a non-disjoint address pool

The trust model in [30] is based on MANETconf [7]. It assumes that the number of malicious nodes is small in the network. Each node maintains a trust value for its neighbors. Only the node whose trust value is greater than or equal to a threshold value is considered to be trustworthy. During autoconfiguration, the new node chooses a trustworthy node as an allo‐ cator. The allocator also ignores the veto messages from non-trustworthy nodes. However,

Another trust model proposed in [31] is based on the buddy system [6] and threshold cryp‐ tography-based DCA [22]. It assumes that there is already a DCA in the MANET, so the messages can be authenticated. But as we already pointed out in [24], threshold cryptogra‐

Because the identity of the mobile node is generated with the autoconfiguration, it is desira‐ ble that the new node's public key is distributed throughout the network at the same time to avoid the "man-in-the-middle" attack. Thus, we combined both in SA-PKD scheme pro‐

**i.** The new node, node N, generates its own public/ private key pair (PbN/PrN) and a

**ii.** The new node applies a hash function on the random number RN and gets its ad‐

MC-DCA scheme is based on a distributed algorithm to generate secret shares and the pub‐ lic key [26]. Suppose there are n servers in the DCA server group. Firstly, all the servers agree on three parameters: two large prime numbers p and q such that q divides p-1, and g that is a generator of Gq (Gq is the unique subgroup of Z\*p of order q). These three parame‐ ters are a part of the public key and should be known to all the other nodes. Each server (say server i) chooses its secret share xi, and computes the public part of hi = gxi. The sum of xi is the private key, while the product of hi is the public key. The following steps in [26] are used for threshold cryptography and unrelated to MC-DCA scheme.

The protocol of MC-DCA works as follows:


If a server node leaves the MANET abruptly, the client can get all the partial signatures. In this case, new nodes would be invited to join the DCA server group. They will choose differ‐ ent secret shares and result in a different public key. Thus, we need to associate a version number with the public key. The client needs to store the all the public keys. We can also require that the certificate be renewed once the version number is increased by a threshold value to remove old public keys.

## **6. Secure autoconfiguration and public-key distribution**

Section 4 and 5 addressed secure autoconfiguration and distributed certificate authority for MANETs separately. This section intends to combine both secure autoconfiguration and public-key distribution when a new node joins the network, which may provide a bootstrap‐ ping procedures to build a distributed certificate authority.

#### **6.1. Related work**

sage encrypted/signed with one subset of keys needs to be decrypted/verified with all the

MC-DCA scheme is based on a distributed algorithm to generate secret shares and the pub‐ lic key [26]. Suppose there are n servers in the DCA server group. Firstly, all the servers agree on three parameters: two large prime numbers p and q such that q divides p-1, and g that is a generator of Gq (Gq is the unique subgroup of Z\*p of order q). These three parame‐ ters are a part of the public key and should be known to all the other nodes. Each server (say server i) chooses its secret share xi, and computes the public part of hi = gxi. The sum of xi is the private key, while the product of hi is the public key. The following steps in [26] are

**i.** When a client needs DCA service, it broadcasts an INVITE message throughout the

**ii.** On receipt of INVITE message, each node decides if it wants to participate in DCA service. If it wants to join, it broadcasts a PARTCP message with its public key;

**iv.** Each server node chooses its secret share independently and calculates the corre‐

**v.** The client sends its IP address, public key, and other related information encrypted

**vi.** The server calculates its partial signature for the message, and signs the partial sig‐

**vii.** The client verifies the signature with the public key after combining all the partial

If a server node leaves the MANET abruptly, the client can get all the partial signatures. In this case, new nodes would be invited to join the DCA server group. They will choose differ‐ ent secret shares and result in a different public key. Thus, we need to associate a version number with the public key. The client needs to store the all the public keys. We can also require that the certificate be renewed once the version number is increased by a threshold

Section 4 and 5 addressed secure autoconfiguration and distributed certificate authority for MANETs separately. This section intends to combine both secure autoconfiguration and public-key distribution when a new node joins the network, which may provide a bootstrap‐

sponding public part. One server node collects all the public part and announces

used for threshold cryptography and unrelated to MC-DCA scheme.

MANET to initiate the invitation procedure;

**iii.** All the server nodes agree on the parameters p, q, and g;

with server node own public key in a REQUEST message;

**6. Secure autoconfiguration and public-key distribution**

ping procedures to build a distributed certificate authority.

The protocol of MC-DCA works as follows:

the public key;

signatures.

value to remove old public keys.

nature with its private key;

keys in the other subset.

138 Wireless Ad-Hoc Networks

A self-authentication scheme was proposed in [27] that is an application of Cryptographical‐ ly Generated Address [28]. A new node generates its public/private key pair randomly and simply uses the hash value of its public key as its IP address. To avoid address conflict, a DAD procedure as described in Section 2 is used. This method is simple and elegant. To ver‐ ify the ownership of the public key, the other node just needs to perform a hash function its public key. However, there are some problems with this scheme: (1) Only one pair of pri‐ vate/public keys are supported; (2) With the autoconfiguration, the IP address may need to change, which leads to the change of public/private key pair; (3) In case when a MANET is connected to the Internet, the private address of the node may need to be changed with NAT. Thus, there is no relationship with the public key and the public IP address.

The challenge-response scheme [29] is based on the buddy system in [6]. The difference is in the security mechanism in the former: the new node broadcasts its MAC address and public key to its one-hop neighbors for authentication. Because only one-hop neighbors get the public key, other nodes are still susceptible to the "man-in-the-middle" attack. Another issue is that the allocator itself could be a malicious node and allocate a non-disjoint address pool to the new node.

The trust model in [30] is based on MANETconf [7]. It assumes that the number of malicious nodes is small in the network. Each node maintains a trust value for its neighbors. Only the node whose trust value is greater than or equal to a threshold value is considered to be trustworthy. During autoconfiguration, the new node chooses a trustworthy node as an allo‐ cator. The allocator also ignores the veto messages from non-trustworthy nodes. However, this scheme is vulnerable to Sybil attacks.

Another trust model proposed in [31] is based on the buddy system [6] and threshold cryp‐ tography-based DCA [22]. It assumes that there is already a DCA in the MANET, so the messages can be authenticated. But as we already pointed out in [24], threshold cryptogra‐ phy-based DCA is vulnerable to Sybil attacks.

#### **6.2. Secure autoconfiguration and public-key distribution**

Because the identity of the mobile node is generated with the autoconfiguration, it is desira‐ ble that the new node's public key is distributed throughout the network at the same time to avoid the "man-in-the-middle" attack. Thus, we combined both in SA-PKD scheme pro‐ posed in [32].

The procedures work as follows:


**iii.** Node N performs DAD for a few times with a temporary address, as described in [3]. In the DAD message, it puts the hash value of its IP address Hash(AddrN) and the address signed with its private key SignN(AddrN);

worth our research effort. Unlike a hardwired network, there is no fixed infrastructure in the MANET. Due to node mobility and instability, the network topology keeps changing. In an open system, all kinds of mobile nodes ranging from powerful laptops to energy-efficient sen‐ sor nodes may join as long as they confirm to the wireless communication standards. Subse‐

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 141

Autoconfiguration brings a lot of related issues that are trivial to solve or even unseen in a hardwired network. For example, a mobile node may need to change its IP address during the communication, which will break routing protocols and interrupt on-going communica‐ tions. Security on autoconfiguration and related issues is another important factor to the successful application of the MANET. In Sybil attacks, a malicious node can forge many non-existent fake identities to appear as a group, which can knock out the seemingly robust threshold cryptography-based DCA. All these issues are challenging, and we tried to pro‐ vide a satisfactory solution that is supported by theoretical analysis and simulation results.

**i.** An efficient autoconfiguration solution was proposed for a large-scale MANET;

**iii.** A secure autoconfiguration can withstand several common forms of attacks;

**ii.** An IP address handoff scheme aims to reduce the communication overhead caused

**iv.** A multiple-key cryptography-based DCA may replace threshold cryptography-

**v.** SA-MKD scheme combines secure autoconfiguration and public-key distribution

There is still much work awaiting us. We will continue to investigate more attack patterns on autoconfiguration scheme, study the application of MC-DCA to a large scale network,

[1] R. Droms, "Dynamic Host Configuration Protocol," Network Working Group RFC

quently, the design of the protocols and algorithms is more complicated.

They are summarized below:

based DCA;

**Author details**

Hongbo Zhou1

**References**

2131, March 1997

by address change;

when a new node joins the MANET.

and Matt W. Mutka2

1 Dept. of Computer Science, Slippery Rock University, USA

and explore the possibility of combination of MC-DCA and SA-MKD.

2 Dept. of Computer Science & Engineering, Michigan State University, USA


During the broadcast of DAD message, each node gets a copy of the hash value of the ad‐ dress and signature, which can only be verified with the parameters in the subsequent CMT message. If a malicious node uses a random string to replace the parameters in the DAD message, the receiver cannot recover the address. If a malicious node chooses another pair of public/private keys and a random address to replace both parameters in DAD message and CMT message, the receiver will get two associations, including the original one from the new node and a new association of another public key to a different address. In either case, the receiver will get the correct association of PbN to AddrN.

#### **6.3. Simulation**

We ran simulation of SA-PKD on ns-2 (version 2.34) with 50 nodes. The random waypoint mobility model is used, in which the nodes are constantly moving within the simulation area. The maximum speed is 20 m/s, and the minimum speed is 5 m/s. The pause time is 0 second. Once the simulation starts, each node joins the MANET every 10 seconds. It broad‐ casts DAD message and CMT message every 3.0 seconds for 3 times.

We used the MD5 algorithm in [33] for the hash function and a simplified RSA algorithm for signing/verification. We implemented application-level broadcasting, thus there is no pref‐ erence for the routing protocol.

Except for the first three nodes, we chose malicious nodes randomly. The percentage of ma‐ licious nodes is 2%, 4%, 8%, and 10% for different simulations. We let each node print some debug information such as its IP address and public key, and the associations of IP address‐ es to public keys it received from other nodes. According to the simulation results, all the members can get the associations of new nodes correctly.

## **7. Conclusion**

In this chapter, we gave a comprehensive review of the innovative solutions proposed by the network research community to solve the problems associated with the autoconfiguration. IP address assignment is so important for a node to participate in unicast communications, it is worth our research effort. Unlike a hardwired network, there is no fixed infrastructure in the MANET. Due to node mobility and instability, the network topology keeps changing. In an open system, all kinds of mobile nodes ranging from powerful laptops to energy-efficient sen‐ sor nodes may join as long as they confirm to the wireless communication standards. Subse‐ quently, the design of the protocols and algorithms is more complicated.

Autoconfiguration brings a lot of related issues that are trivial to solve or even unseen in a hardwired network. For example, a mobile node may need to change its IP address during the communication, which will break routing protocols and interrupt on-going communica‐ tions. Security on autoconfiguration and related issues is another important factor to the successful application of the MANET. In Sybil attacks, a malicious node can forge many non-existent fake identities to appear as a group, which can knock out the seemingly robust threshold cryptography-based DCA. All these issues are challenging, and we tried to pro‐ vide a satisfactory solution that is supported by theoretical analysis and simulation results. They are summarized below:


There is still much work awaiting us. We will continue to investigate more attack patterns on autoconfiguration scheme, study the application of MC-DCA to a large scale network, and explore the possibility of combination of MC-DCA and SA-MKD.

## **Author details**

**iii.** Node N performs DAD for a few times with a temporary address, as described in

**iv.** On receipt of the DAD message, each node performs the same hash function on its

**v.** If node N does not receive any NACK message, it broadcasts a CMT message to

the address and the association between the IP address and the public key. During the broadcast of DAD message, each node gets a copy of the hash value of the ad‐ dress and signature, which can only be verified with the parameters in the subsequent CMT message. If a malicious node uses a random string to replace the parameters in the DAD message, the receiver cannot recover the address. If a malicious node chooses another pair of public/private keys and a random address to replace both parameters in DAD message and CMT message, the receiver will get two associations, including the original one from the new node and a new association of another public key to a different address. In either case,

We ran simulation of SA-PKD on ns-2 (version 2.34) with 50 nodes. The random waypoint mobility model is used, in which the nodes are constantly moving within the simulation area. The maximum speed is 20 m/s, and the minimum speed is 5 m/s. The pause time is 0 second. Once the simulation starts, each node joins the MANET every 10 seconds. It broad‐

We used the MD5 algorithm in [33] for the hash function and a simplified RSA algorithm for signing/verification. We implemented application-level broadcasting, thus there is no pref‐

Except for the first three nodes, we chose malicious nodes randomly. The percentage of ma‐ licious nodes is 2%, 4%, 8%, and 10% for different simulations. We let each node print some debug information such as its IP address and public key, and the associations of IP address‐ es to public keys it received from other nodes. According to the simulation results, all the

In this chapter, we gave a comprehensive review of the innovative solutions proposed by the network research community to solve the problems associated with the autoconfiguration. IP address assignment is so important for a node to participate in unicast communications, it is

the address signed with its private key SignN(AddrN);

the receiver will get the correct association of PbN to AddrN.

casts DAD message and CMT message every 3.0 seconds for 3 times.

members can get the associations of new nodes correctly.

**6.3. Simulation**

140 Wireless Ad-Hoc Networks

**7. Conclusion**

erence for the routing protocol.

[3]. In the DAD message, it puts the hash value of its IP address Hash(AddrN) and

own address. If the result is the same as the hash value in the DAD message, there may be a potential address conflict, so it sends back a NACK message to veto it;

commit the autoconfiguration, in which it puts its public key and uses the address it chooses. On receipt of the CMT message, each node can verify the hash value of

> Hongbo Zhou1 and Matt W. Mutka2

1 Dept. of Computer Science, Slippery Rock University, USA

2 Dept. of Computer Science & Engineering, Michigan State University, USA

## **References**

[1] R. Droms, "Dynamic Host Configuration Protocol," Network Working Group RFC 2131, March 1997

[2] S. Thomson and T. Narten, "IPv6 Stateless Address Autoconfiguration," Network Working Group RFC 2462, December 1998

[18] H. Zhou, "Secure Prophet Address Allocation for Mobile Ad-hoc Networks," In Pro‐ ceedings of IFIP International Workshop on Network and System Security (NSS

Review of Autoconfiguration for MANETs http://dx.doi.org/10.5772/52687 143

[19] H. Zhou, M. W. Mutka, and L. M. Ni, "Secure Prophet Address Allocation for MAN‐ ETs," Wiley International Journal of Security and Communication Networks, Vol. 3,

[20] A. Shamir, "How to share a secret," Communications of ACM, Vol. 22, pp. 612-613,

[21] Y. Desmedt and Y. Frankel, "Threshold Cryptosystems," Proceedings of Advances in Cryptography (Crypto 89), Lecture Notes in Computer Science, Vol. 435, Springer-

[22] L. Zhou and Z. J. Haas, "Securing Ad Hoc Networks," IEEE Network, Vol. 13, No. 6,

[23] M. Bechler. H.-J. Hof, D. Kraft, F. Pahlke, and L. Wolf, "A Cluster-based Security Ar‐ chitecture for Ad Hoc Neteworks," In Proceedings of the 23rd Conference IEEE Com‐

[24] H. Zhou, M. W. Mutka, and L. M. Ni, "Multiple-key Cryptography-based Distributed Certificate Authority in Mobile Ad-hoc Networks," In Proceedings of IEEE Global Telecommunications Conference (GLOBECOM 2005), St. Louis, MO, November 2005

[25] C. Boyd, "Some Applications of Multiple Key Ciphers," In Proceedings of Advances in Cryptography (Eurocrypt'88), Lecture Notes in Computer Science, Springer-Ver‐

[26] T. P. Pedersen, "A Threshold Cryptosystem without a Trusted Party," In Proceedings of Advances in Cryptography (Eurocrypt'91), Lecture Notes in Computer Science,

[27] P. Wang,D. S. Reeves, and P. Ning, "Secure Address Autoconfiguration for Mobile Ad Hoc Networks," In Proceedings of the 2nd Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services (MobiQuitous 2005), pp.

[28] T. Aura, "Cryptographically Generated Address (CGA)," Networking Group RFC

[29] A. Cavalli and J.-M. Orset, "Secure Hosts Authentication in Mobile Ad Hoc Net‐ works," In Proceedings of the 24th International Conference on Distributed Comput‐

[30] S. Hu and C. J. Mitchell, "Improving IP Address Autoconfiguration Security in MANETs Using Trust Modeling," In Proceedings of 1st International Conference on Mobile Ad-hoc and Sensor Networks (MSN 2005), Wuhan, China, December 2005

ing Systems Workshops (ICDCSW 2004), Tokyo, Japan, March 2004

munication Society (INFOCOM 2004), Hong Kong, China, March 2004

2008), Shanghai, China, October 2008

Issue 1, pp 31-34, January/February, 2010

pp. 24 - 30, November/December 1999

Vol. 547, Springer-Verlag, pp. 522 - 526, 1991

519 - 521, San Diego, CA July 2005

November 1979

Verlag, pp. 307 - 315, 1989

lag, pp. 455 - 467, 1988

3972, March 2005


[18] H. Zhou, "Secure Prophet Address Allocation for Mobile Ad-hoc Networks," In Pro‐ ceedings of IFIP International Workshop on Network and System Security (NSS 2008), Shanghai, China, October 2008

[2] S. Thomson and T. Narten, "IPv6 Stateless Address Autoconfiguration," Network

[3] C. Perkins, J. Malinen, R. Wakikawa, E. Belding-Royer, and Y. Sun, "IP Address Au‐ toconfiguration for Ad Hoc Networks," draft-ietf-manet-autoconf-01.txt, November

[4] N. Vaidya, "Weak Duplicate Address Detection in Mobile Ad Hoc Networks," In Proceedings of the 3rd ACM International Symposium on Mobile Ad Hoc Network‐

[5] A.Misra, S. Das, A.McAuley, and S. K. Das, "Autoconfiguration, Registration, and Mobility Management for Pervasive Computing," IEEE Personal Communication,

[6] M. Mohsin and R. Prakash, "IP Address Assignment in a Mobile Ad Hoc Network,"

[7] S. Nesargi and R. Prakash, "MANETconf: Configuration of Hosts in a Mobile Ad Hoc Network," In Proceedings of the 21st Annual Joint Conference of IEEE Computer

[8] H. Zhou, L. M. Ni, and M. W. Mutka, "Prophet Address Allocation for Large Scale MANETs," In Proceedings of the 22nd Annual Joint Conference of IEEE Computer and Communication Societies (INFOCOM 2003), San Francisco, CA, April 2003 [9] H. Zhou, L. M. Ni, and M. W. Mutka, "Prophet Address Allocation for Large Scale MANETs," Elsevier Ad Hoc Networks Journal, Vol. 1, Issue 4, pp 423-434, November

[11] G. Pei and M. Gerla, "Mobility management for hierarchical wireless networks," Mo‐ bile Networks and Application (MONET), Vol. 6, No. 4, pp 331-337, August 2001 [12] P. Engelstad and G. Egeland, "Name resolution in on-demand MANETS and exter‐ nal IP networks," draft-engelstad-manet-name-resoltuion-00.txt, February 2003 [13] C. Perkins (editor), "IP mobility support," Network Working Group RFC 2002, Octo‐

[14] J.-H. Jeong, H.-W. Cha, J.-S. Park, and H.-J. Kim, "Ad hoc IP address autoconfigura‐

[15] H. Zhou, M. W. Mutka, and L. M. Ni, "IP Address Handoff in the MANET," In Pro‐ ceedings of the 23rd Conference of IEEE Communication Society (INFOCOM 2004),

[17] J. Couceru, "The sybil attack," In Proceedings of the 1st Workshop on Peer-to-Peer

and Communication Societies (INFOCOM 2002), New York, NY, June 2002

ing and Computing (MobiHoc'02), Lausanne, Switzerland, June 2002

In Proceedings of MILCOM 2002, Anaheim, CA, October 2002

[10] ns-2 wiki, http://nsnam.isi.edu/nsnam/index.php/Main\_Page

tion," draft-jeong-adhoc-ip-addr-autoconf-00.txt, May 2003

Working Group RFC 2462, December 1998

2001

142 Wireless Ad-Hoc Networks

2003

ber 1996

Hong Kong, China, March 2004

[16] The netfilter.org project, http://www.netfilter.org/

Systems (IPTPS'02), Cambridge, MA, March 2002

August 2001, pp 24-31


[31] F. Buiati, R. Puttini, and R. D. Sousa, "A Secure Autoconfiguration Protocol for MANET Nodes," In Proceedings of the 3rd International Conference on Ad-hoc Net‐ works and Wireless (ADHOC-NOW 2004), Vancouver, Canada, July 2004

**Chapter 7**

**Provisional chapter**

**Privacy-Preserving Information Gathering Using VANET**

For a driver, some real-time information (e.g. traffic condition along the road and the availability of parking spaces at certain areas) on his way to his destination may be useful. Nowadays, drivers could mainly rely on radio broadcasting. However, the traffic news on radio may not mention anything about the area you are driving into. A more effective way

In recent years, a special kind of ad hoc network called Vehicular Ad hoc NETwork (VANET) becomes increasingly popular. It has also become one of the critical components of an Intelligent Transportation Systems (ITS). In a typical VANET, each vehicle is assumed to have an on-board unit (OBU) and there are road-side units (RSU) installed along the roads. A trusted authority (TA) and maybe some other application servers are installed in the backend. The OBUs and RSUs communicate using the Dedicated Short Range Communications (DSRC) protocol [1] over the wireless channel while the RSUs, TA, and the application servers communicate using a secure fixed network (e.g. the Internet). The basic application of a VANET is to allow arbitrary vehicles to broadcast safety messages (e.g. about vehicle speed, turning direction, road condition, traffic accident information) to other nearby vehicles (denoted as vehicle-vehicle or V2V communications) and to RSU (denoted as vehicle-infrastructure or V2I communications) regularly such that other vehicles may adjust their travelling routes and RSUs may inform the traffic control center to adjust traffic lights for avoiding possible traffic congestion. As such, a VANET can also be interpreted as a sensor network because the traffic control center or some other central servers can collect lots of useful information about road conditions from vehicles. It is natural to investigate how to utilize the collected real-time road conditions to provide useful applications. It is natural to consider whether VANET can provide an effective platform for drivers to utilize real-time

> ©2012 Chim et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Chim et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,

© 2012 Chim et al., licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

distribution, and reproduction in any medium, provided the original work is properly cited.

**Privacy-Preserving Information Gathering Using**

T. W. Chim, S. M. Yiu, Lucas C. K. Hui and

Additional information is available at the end of the chapter

T. W. Chim, S. M. Yiu, Lucas C. K. Hui and Victor O. K. Li

Additional information is available at the end of the chapter

for providing this real-time information would be desirable.

Victor O. K. Li

**1. Introduction**

10.5772/53264

**VANET**

http://dx.doi.org/10.5772/53537

information collected in RSUs.


**Chapter 7**

**Provisional chapter**

#### **Privacy-Preserving Information Gathering Using VANET VANET**

**Privacy-Preserving Information Gathering Using**

T. W. Chim, S. M. Yiu, Lucas C. K. Hui and T. W. Chim, S. M. Yiu, Lucas C. K. Hui and Victor O. K. Li

Victor O. K. Li Additional information is available at the end of the chapter

[31] F. Buiati, R. Puttini, and R. D. Sousa, "A Secure Autoconfiguration Protocol for MANET Nodes," In Proceedings of the 3rd International Conference on Ad-hoc Net‐

[32] H. Zhou, M. W. Mutka, and L. M. Ni, "Secure Autoconfiguration and Public-key Dis‐ tribution for MANETs," In Proceedings of 6th IEEE International Conference on Mo‐ bile Ad-hoc and Sensor Systems (IEEE MASS 2009), Macau SAR, China, October,

[33] R. Rivest, "The MD5 Message-Digest Algorithm," Network Working Group RFC

works and Wireless (ADHOC-NOW 2004), Vancouver, Canada, July 2004

2009

144 Wireless Ad-Hoc Networks

1321, April 1992

Additional information is available at the end of the chapter 10.5772/53264

http://dx.doi.org/10.5772/53537

## **1. Introduction**

For a driver, some real-time information (e.g. traffic condition along the road and the availability of parking spaces at certain areas) on his way to his destination may be useful. Nowadays, drivers could mainly rely on radio broadcasting. However, the traffic news on radio may not mention anything about the area you are driving into. A more effective way for providing this real-time information would be desirable.

In recent years, a special kind of ad hoc network called Vehicular Ad hoc NETwork (VANET) becomes increasingly popular. It has also become one of the critical components of an Intelligent Transportation Systems (ITS). In a typical VANET, each vehicle is assumed to have an on-board unit (OBU) and there are road-side units (RSU) installed along the roads. A trusted authority (TA) and maybe some other application servers are installed in the backend. The OBUs and RSUs communicate using the Dedicated Short Range Communications (DSRC) protocol [1] over the wireless channel while the RSUs, TA, and the application servers communicate using a secure fixed network (e.g. the Internet). The basic application of a VANET is to allow arbitrary vehicles to broadcast safety messages (e.g. about vehicle speed, turning direction, road condition, traffic accident information) to other nearby vehicles (denoted as vehicle-vehicle or V2V communications) and to RSU (denoted as vehicle-infrastructure or V2I communications) regularly such that other vehicles may adjust their travelling routes and RSUs may inform the traffic control center to adjust traffic lights for avoiding possible traffic congestion. As such, a VANET can also be interpreted as a sensor network because the traffic control center or some other central servers can collect lots of useful information about road conditions from vehicles. It is natural to investigate how to utilize the collected real-time road conditions to provide useful applications. It is natural to consider whether VANET can provide an effective platform for drivers to utilize real-time information collected in RSUs.

Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Chim et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 Chim et al., licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

©2012 Chim et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative

In this chapter, we first highlight the most significant security and privacy challenges in VANET protocol design. We then discuss how one should design security protocols for VANETs. For example, we analyze in details the advantages and disadvantages of hardware-based and software-based solutions. Next we propose a VANET-based general information gathering scheme. A driver can issue a query (e.g. road conditions along the roads to his destination) to a nearby RSU, our scheme can then automatically collect the required information from the appropriate RSUs. The gathering process is done in a real-time and distributed manner. Note that the approach of using a centralized server that stores all information collected from RSUs may not work as the information may be changed frequently in a real-time manner and since the VANET is huge, the server will most likely become the bottleneck.

10.5772/53264

147

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

1. Dynamic, linear and real-time topology

2. Large scale and density varying network

3. Transmission and computation efficiency

4. Conditional identity privacy perserving

to handle both situations.

verification technique.

sent cannot be revealed.

Moving vehicles are major components of VANETs. They are moving at high speed most of the time and this makes a VANET topology change rapidly and subject to frequent fragmentation. A vehicle which connects part of the VANET at a certain moment may no longer act as a connector in the next moment. Also, unlike MANET, nodes move in random direction, VANET vehicles move in a constrained manner. A vehicle must move along roads and change its direction only at junctions. Vehicles on a road tend to alight in a straight line. Security protocols for VANETs should not assume any fixed node infrastructure such as trees [4] [5]. Instead, dynamic topology should be properly handled. Furthermore, a VANET topology could be affected by drivers' reaction to messages. For example, a driver may change its route after receiving a message about congestion from another vehicle. Therefore, all tasks including those for security purpose

should be performed in real-time. Centralized pre-processing is not possible.

A VANET usually covers the whole region or even the whole city and thus the total number of VANET nodes can be very huge. This means that a centralized security protocol such as [6] may not be a good choice. Instead, operations have to be done in a decentralized and distributed manner. On the other hand, a VANET usually has different network density in different regions. For example, at where there is a traffic jam, the network becomes very dense. On the contrary, in suburban area, the network becomes very sparse. This implies when designing security protocols for VANETs, we cannot have the assumption of low or high network density. Instead, a good protocol should be able

One of the initial design goals of VANETs is the sharing of critical information (e.g. to inform vehicles about danger ahead of a road) among vehicles. Thus most messages in VANETs are of real-time importance. Therefore, security operations should cause as low overhead to the network as possible. In recent years, researchers start adopting elliptic curve cryptography (ECC) approach [7] to reduce key and ciphertext sizes. Also some other researchers are trying to reduce the computation overhead induced by security operations. For example, authors in [8] and [9] propose an efficient batch signature

Normally, a driver may not want others to know his real identity and then trace his route or driving habit. If this cannot be satisfied, he may not subscribe to any new service including VANET at all. Thus the real identity of any vehicle should be kept anonymous from others and a third party should not be able to reveal a vehicle ˛a ˛es real identity by analyzing multiple messages sent by it. RSUs are just installed along the roadside and are more vulnerable to attack. In the extreme case, even if all RSUs collude, we want to make sure that the relationship between the real identity of a vehicle and the messages it

However, since vehicles are fast moving objects, injuries or even death are usually caused when accidents take place. If an accident is caused by a VANET message, a trusted party such as the police force may need to find out the message sender so as to avoid repeated occurrence of similar accidents. Thus while preserving a vehicle ˛a ˛es privacy, its

Like other existing VANET applications, there are basic security requirements to be satisfied by such a protocol. They include sender authentication (to ensure that the sender is a valid subscriber), conditional identity privacy preserving (to ensure that a driver's travelling route cannot be traced by any third party except the trusted authority). And there are additional security and privacy requirements to make it more practical. Conditional identity privacy preserving implies that a trusted authority is able to reveal the real identity of a vehicle. If the information gathering scheme is not properly designed, a driver's real identity and query (the information required) can be linked up and analyzed. This is not preferable because we want to ensure that no one in this world (including trusted authority) knows what a driver is querying for. This leads to our privacy preserving problem. Besides, a driver may not want vehicles nearby to know his query by eavesdropping his message. Also when the system sends the result back to him/her, we do not want non-subscribers nearby to enjoy free information gathering service in case it is a paid service. We regard this as a confidentiality problem. Finally, since our information gathering scheme involves the information provided by more than one RSU and RSUs are left unattended at roadsides most of the time, proper and efficient authentication of this information becomes critical. Our scheme addresses this authentication problem as well.

We provide a security analysis and a simulation study to evaluate our scheme. In our simulation, we make use of the maps of New York (city road system) and California (countryside highway system) downloaded from the TIGER database. We find that the processing time is at most 1.6 % and 3.7 %, respectively, of the duration that the vehicle stays in the querying RSU's range in the two cities. Thus there must be sufficient time for the vehicle to finish its query and to verify the returning information.

The rest of this chapter is organized as follows: Challenges of security protocols for VANETs are discussed in Section 2. Hardware and software approaches are then explained and compared in Section 3. The system model and the problem statement are described in Section 4. Some preliminaries on bilinear map are given in Section 5. Our schemes are presented in Section 6. The analysis and evalution of our schemes are given in Sections 7 and 8. Related work is reviewed in Section 9. Finally, Section 10 concludes the chapter.

## **2. Challenges of security protocols for VANETs**

General security vulnerabilities and challenges for VANETs have been discussed in works like [2] and [3]. On the other hand, we focus on the challenges for designing security protocols in VANETs.

### 1. Dynamic, linear and real-time topology

2 Mobile Ad-Hoc Networks

become the bottleneck.

authentication problem as well.

in VANETs.

In this chapter, we first highlight the most significant security and privacy challenges in VANET protocol design. We then discuss how one should design security protocols for VANETs. For example, we analyze in details the advantages and disadvantages of hardware-based and software-based solutions. Next we propose a VANET-based general information gathering scheme. A driver can issue a query (e.g. road conditions along the roads to his destination) to a nearby RSU, our scheme can then automatically collect the required information from the appropriate RSUs. The gathering process is done in a real-time and distributed manner. Note that the approach of using a centralized server that stores all information collected from RSUs may not work as the information may be changed frequently in a real-time manner and since the VANET is huge, the server will most likely

Like other existing VANET applications, there are basic security requirements to be satisfied by such a protocol. They include sender authentication (to ensure that the sender is a valid subscriber), conditional identity privacy preserving (to ensure that a driver's travelling route cannot be traced by any third party except the trusted authority). And there are additional security and privacy requirements to make it more practical. Conditional identity privacy preserving implies that a trusted authority is able to reveal the real identity of a vehicle. If the information gathering scheme is not properly designed, a driver's real identity and query (the information required) can be linked up and analyzed. This is not preferable because we want to ensure that no one in this world (including trusted authority) knows what a driver is querying for. This leads to our privacy preserving problem. Besides, a driver may not want vehicles nearby to know his query by eavesdropping his message. Also when the system sends the result back to him/her, we do not want non-subscribers nearby to enjoy free information gathering service in case it is a paid service. We regard this as a confidentiality problem. Finally, since our information gathering scheme involves the information provided by more than one RSU and RSUs are left unattended at roadsides most of the time, proper and efficient authentication of this information becomes critical. Our scheme addresses this

We provide a security analysis and a simulation study to evaluate our scheme. In our simulation, we make use of the maps of New York (city road system) and California (countryside highway system) downloaded from the TIGER database. We find that the processing time is at most 1.6 % and 3.7 %, respectively, of the duration that the vehicle stays in the querying RSU's range in the two cities. Thus there must be sufficient time for

The rest of this chapter is organized as follows: Challenges of security protocols for VANETs are discussed in Section 2. Hardware and software approaches are then explained and compared in Section 3. The system model and the problem statement are described in Section 4. Some preliminaries on bilinear map are given in Section 5. Our schemes are presented in Section 6. The analysis and evalution of our schemes are given in Sections 7 and 8. Related

General security vulnerabilities and challenges for VANETs have been discussed in works like [2] and [3]. On the other hand, we focus on the challenges for designing security protocols

the vehicle to finish its query and to verify the returning information.

work is reviewed in Section 9. Finally, Section 10 concludes the chapter.

**2. Challenges of security protocols for VANETs**

Moving vehicles are major components of VANETs. They are moving at high speed most of the time and this makes a VANET topology change rapidly and subject to frequent fragmentation. A vehicle which connects part of the VANET at a certain moment may no longer act as a connector in the next moment. Also, unlike MANET, nodes move in random direction, VANET vehicles move in a constrained manner. A vehicle must move along roads and change its direction only at junctions. Vehicles on a road tend to alight in a straight line. Security protocols for VANETs should not assume any fixed node infrastructure such as trees [4] [5]. Instead, dynamic topology should be properly handled. Furthermore, a VANET topology could be affected by drivers' reaction to messages. For example, a driver may change its route after receiving a message about congestion from another vehicle. Therefore, all tasks including those for security purpose should be performed in real-time. Centralized pre-processing is not possible.

2. Large scale and density varying network

A VANET usually covers the whole region or even the whole city and thus the total number of VANET nodes can be very huge. This means that a centralized security protocol such as [6] may not be a good choice. Instead, operations have to be done in a decentralized and distributed manner. On the other hand, a VANET usually has different network density in different regions. For example, at where there is a traffic jam, the network becomes very dense. On the contrary, in suburban area, the network becomes very sparse. This implies when designing security protocols for VANETs, we cannot have the assumption of low or high network density. Instead, a good protocol should be able to handle both situations.

3. Transmission and computation efficiency

One of the initial design goals of VANETs is the sharing of critical information (e.g. to inform vehicles about danger ahead of a road) among vehicles. Thus most messages in VANETs are of real-time importance. Therefore, security operations should cause as low overhead to the network as possible. In recent years, researchers start adopting elliptic curve cryptography (ECC) approach [7] to reduce key and ciphertext sizes. Also some other researchers are trying to reduce the computation overhead induced by security operations. For example, authors in [8] and [9] propose an efficient batch signature verification technique.

4. Conditional identity privacy perserving

Normally, a driver may not want others to know his real identity and then trace his route or driving habit. If this cannot be satisfied, he may not subscribe to any new service including VANET at all. Thus the real identity of any vehicle should be kept anonymous from others and a third party should not be able to reveal a vehicle ˛a ˛es real identity by analyzing multiple messages sent by it. RSUs are just installed along the roadside and are more vulnerable to attack. In the extreme case, even if all RSUs collude, we want to make sure that the relationship between the real identity of a vehicle and the messages it sent cannot be revealed.

However, since vehicles are fast moving objects, injuries or even death are usually caused when accidents take place. If an accident is caused by a VANET message, a trusted party such as the police force may need to find out the message sender so as to avoid repeated occurrence of similar accidents. Thus while preserving a vehicle ˛a ˛es privacy, its real identity should be able to be traced by a trusted party when necessary. Thus we call the identity privacy preserving here conditional.

10.5772/53264

149

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

parameters together with the master keys s1 and s2 of the TA. These master keys are assumed to be known by only vehicles and the TA but not RSUs. They are used to form the signing keys for constructing signatures. TA's master keys also facilitates RSUs to verify vehicles' signatures even though they do not have any knowledge about the master keys. (It is based on pairing operations and interested readers please refer to [8] for details.) Note that the master keys can only be used for security operations inside the tamper-proof device. No

Software-based solutions, on the contrary, do not rely on any tamper-proof device. What a vehicle has is an ordinary computer device. In other words, no secret or parameter can be preloaded securely onto a vehicle. However, it still requires them for security operations like digital signatures. Software-based solutions obtain these information through a secure initial handshaking. A recent software-based solution is presented in [9]. A conventional public key infrastructure is assumed to exist for initial secure message exchange. Whenever a driver starts the vehicle, he/she has to input into the computer device an accessing password. This password is pre-assigned by the TA and is assumed to be given to the driver earlier (e.g. via paper documents during car first registration). The password input by the driver is then encrypted using the TA's conventional public key which is assumed to be known by everyone. The TA decrypts the password using its conventional private key and checks whether it matches with its records. If yes, it encrypts its master keys using the vehicle's conventional public key. Upon receiving the encrypted message, the vehicle can obtain those master keys by decrypting the encrypted block using its conventional private key. A vehicle's conventional public and private key pairs are also assumed to be assigned by the TA at earlier stage (e.g. during car first registration). Thus the computer device can perform security operations as what a tamper-proof device does. Based on the above brief descriptions, we can see that both hardware-based and software-based solutions can resolve the challenges

1. They do not have any assumptions on the network nature and so they can fit the dynamic,

2. Except initial handshaking, all cryptographic operations are done in real-time and so they

3. Both of them achieve transmission and computation efficiency. First, they adopt ECC which possess the property of short key. Second, efficient signature batch verification routines were proposed (please refer to [8] and [9] for details). Third, unlike traditional public key infrastructure, a vehicle does not need to send its certificate to others for signature verification purpose. Finally, unlike mobile phone network which is mainly for unicast, Dedicated Short Range Communications (DSRC) [1], which are short to medium range wireless communications channels specifically designed for automative use, can

4. A vehicle only attaches a pseudo identity in its messages. Its real identity can only be traced by TA using a tracing routine (please refer to [8] and [9] for details). Thus

5. Regarding multiple levels of security, there is already a representative work [12]. Thus,

linear, density-varying and small-diameter VANET topology well.

are suitable for real-time-changing VANET environments.

outsiders, including the driver, know about their values.

we mentioned in Section 2:

facilitate efficient broadcast.

conditional identity privacy can be preserved.

the extension is not difficult and is practical actually.

Next let us compare the two approaches from a number of aspects.

5. Small network diameter

Because of the dynamic nature of VANETs, the network diameter, which is defined as the number of hops between the furthest endpoints of the network, can be very small. The network route between two vehicles may be disconnected easily due to moving out-of-range or having obstacle blocking. Thus those secure routing protocols originally designed for fixed Internet or MANETs cannot be directly adopted into VANETs. New protocols such as 'carry and forward' [10] have to be adopted to fit this specific property. Security issues induced by this kind of forwarding strategy are still open problems.

6. Multiple levels of security

Different kinds of messages can exist in a nowadays VANET. As mentioned earlier, most messages are critical and are about conditions on the road. However, there can be others such as advertisements [11]. Thus a good security protocol should provide multiple security levels such as what is proposed by [12]. A critical message should have better protection than an advertisement message.

7. Energy efficiency considerations

Unlike mobile ad hoc networks (MANETs) and wireless sensor networks (WSNs) where nodes are assumed to run on self batteries, energy is no longer a challenge in VANETs. It is because OBUs are continuously charged by car batteries while RSUs are continuously charged by fixed power cables. Thus researchers' attentions should be shifted back to security problems themselves rather than paid to energy efficiency directions.

## **3. Hareware and software approaches**

Recent security works for VANETs go for a certificate-less direction (i.e. a sender does not need to send its certificate to the receiver for verification). However by nature, a vehicle's signature must contain a secret that is known by the receiver to facilitate the validation. To accomplish this, recent works focus on two major directions - hardware-based and software-based. In this section, we first explain how hardware-based and software-based solutions work respectively. Then we briefly discuss the advantages and disadvantages of each approach.

Hardware-based solutions usually rely on a tamper-proof device installed on a vehicle [3] [8]. It contains the secret we mentioned earlier and runs on its own battery and own clock. Thus an outsider cannot block its functions by cutting its power supply or by inputting wrong signals. Besides storing secrets, it is also in charge of all security operations including digital signature, encryption and decryption. Further, the device is accessible only by authorized personnel. A driver has to input a password before the device can function properly. A recent example of hardware-based solutions is [8]. Here the tamper-proof device installed on a vehicle has an accessing password preloaded. This password is assigned by a TA and is firmed burned onto the hardware when the device is first registered. Whenever a driver starts the vehicle, he/she has to input into the device the same accessing password in order to enable it for further operations. This is how the authentication of driver by the device is done. Besides the accessing password, the tamper-proof device also stores all system public parameters together with the master keys s1 and s2 of the TA. These master keys are assumed to be known by only vehicles and the TA but not RSUs. They are used to form the signing keys for constructing signatures. TA's master keys also facilitates RSUs to verify vehicles' signatures even though they do not have any knowledge about the master keys. (It is based on pairing operations and interested readers please refer to [8] for details.) Note that the master keys can only be used for security operations inside the tamper-proof device. No outsiders, including the driver, know about their values.

4 Mobile Ad-Hoc Networks

5. Small network diameter

6. Multiple levels of security

7. Energy efficiency considerations

each approach.

real identity should be able to be traced by a trusted party when necessary. Thus we call

Because of the dynamic nature of VANETs, the network diameter, which is defined as the number of hops between the furthest endpoints of the network, can be very small. The network route between two vehicles may be disconnected easily due to moving out-of-range or having obstacle blocking. Thus those secure routing protocols originally designed for fixed Internet or MANETs cannot be directly adopted into VANETs. New protocols such as 'carry and forward' [10] have to be adopted to fit this specific property. Security issues induced by this kind of forwarding strategy are still open problems.

Different kinds of messages can exist in a nowadays VANET. As mentioned earlier, most messages are critical and are about conditions on the road. However, there can be others such as advertisements [11]. Thus a good security protocol should provide multiple security levels such as what is proposed by [12]. A critical message should have better

Unlike mobile ad hoc networks (MANETs) and wireless sensor networks (WSNs) where nodes are assumed to run on self batteries, energy is no longer a challenge in VANETs. It is because OBUs are continuously charged by car batteries while RSUs are continuously charged by fixed power cables. Thus researchers' attentions should be shifted back to

Recent security works for VANETs go for a certificate-less direction (i.e. a sender does not need to send its certificate to the receiver for verification). However by nature, a vehicle's signature must contain a secret that is known by the receiver to facilitate the validation. To accomplish this, recent works focus on two major directions - hardware-based and software-based. In this section, we first explain how hardware-based and software-based solutions work respectively. Then we briefly discuss the advantages and disadvantages of

Hardware-based solutions usually rely on a tamper-proof device installed on a vehicle [3] [8]. It contains the secret we mentioned earlier and runs on its own battery and own clock. Thus an outsider cannot block its functions by cutting its power supply or by inputting wrong signals. Besides storing secrets, it is also in charge of all security operations including digital signature, encryption and decryption. Further, the device is accessible only by authorized personnel. A driver has to input a password before the device can function properly. A recent example of hardware-based solutions is [8]. Here the tamper-proof device installed on a vehicle has an accessing password preloaded. This password is assigned by a TA and is firmed burned onto the hardware when the device is first registered. Whenever a driver starts the vehicle, he/she has to input into the device the same accessing password in order to enable it for further operations. This is how the authentication of driver by the device is done. Besides the accessing password, the tamper-proof device also stores all system public

security problems themselves rather than paid to energy efficiency directions.

the identity privacy preserving here conditional.

protection than an advertisement message.

**3. Hareware and software approaches**

Software-based solutions, on the contrary, do not rely on any tamper-proof device. What a vehicle has is an ordinary computer device. In other words, no secret or parameter can be preloaded securely onto a vehicle. However, it still requires them for security operations like digital signatures. Software-based solutions obtain these information through a secure initial handshaking. A recent software-based solution is presented in [9]. A conventional public key infrastructure is assumed to exist for initial secure message exchange. Whenever a driver starts the vehicle, he/she has to input into the computer device an accessing password. This password is pre-assigned by the TA and is assumed to be given to the driver earlier (e.g. via paper documents during car first registration). The password input by the driver is then encrypted using the TA's conventional public key which is assumed to be known by everyone. The TA decrypts the password using its conventional private key and checks whether it matches with its records. If yes, it encrypts its master keys using the vehicle's conventional public key. Upon receiving the encrypted message, the vehicle can obtain those master keys by decrypting the encrypted block using its conventional private key. A vehicle's conventional public and private key pairs are also assumed to be assigned by the TA at earlier stage (e.g. during car first registration). Thus the computer device can perform security operations as what a tamper-proof device does. Based on the above brief descriptions, we can see that both hardware-based and software-based solutions can resolve the challenges we mentioned in Section 2:


Next let us compare the two approaches from a number of aspects.

#### 1. Authentications of drivers

For hardware-based solutions, to authenticate a driver, a tamper-proof device only needs to check the accessing password input by the driver locally. If it does not match the burned one, it simply disables all its functions. However, for software-based solutions, the ordinary computer device does not know whether the accessing password input by the driver is correct or not because it has no secret pre-stored. Hence, it needs to securely transmit it via network to the TA for further verification.

10.5772/53264

151

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

**Features Hardware-based Software-based**

Replication of device contents Very difficult Relatively easier Updates of system-wide Physical hardware update at TA Simple secure download

System-wide secrets and Yes No

public parameters preloaded

secrets and public parameters

**Table 1.** Hareware-based vs. Software-based Solutions

parameters, secrets or cryptographic protocols efficiently.

**4. System model and assumptions**

that are about fixed facilities in its range.

7. Complexity of security operations

compromise

operations

the followings:

Authentications of drivers Local tamper-proof device only Transmission to TA needed

Setting of new secrets after Physical hardware update at TA Simple secure download

Modification of protocols Physical hardware update at TA Simple secure download Complexity of security Need to be simple Relatively more complicated

For hardware-based solutions, all security operations are carried out by the processor of a tamper-proof device. Unluckily, the computation power of the processor is quite limited. Up to our knowledge, not all smart cards in the market today are powerful enough to perform pairing operations. Thus, security operations adopted have to be as simple as possible. However, software-based solutions do not have this limitation. Even the poorest

CPU today can handle complicated operations like pairing in reasonable time.

We summarize the comparisons between hardware-based, hybrid and software-based solutions in Table 1. We can see that the items are around efficiency, flexibility and security. In short, recall that a VANET is of large scale, hardware-based solutions are more efficient than software-based ones since they can reduce the transmission overhead between devices and TA during initial handshaking. However, there may still be problems when updating of system parameters, secrets or cryptographic protocols is required since if all drivers go to the TA for parameters, hardware or software updates, a bottleneck will appear. Our proposed scheme is hardware-based but we also provide suggestions about how to update system

Besides the assumptions made in other VANET applications such as TA being trusted and real identity of any vehicle being known by TA and itself but not by others, we further assume

1) There exists a conventional identity-based public key infrastructure (PKI). The public key of the TA is the same as its real identity *TRID* and is known by *everyone*. Also any RSU *Ri* broadcasts its public key which is the same as its real identity *RRIDi* with hello messages periodically to vehicles that are travelling within the RSU-Vehicle Communications (RVC) range of it. The validity of *RRIDi* can be ensured using a certificate issued by the TA.

2) Each RSU has a local database storing road information in its range (e.g. GPS locations of boundaries, names of buildings and streets, etc.). This facilitates an RSU to answer queries

2. System parameters preloading

For hardware-based solutions, the system-wide TA ˛a ˛es master keys are preloaded into a tamper-proof device. Thus, the TA does not need to send them to the device anymore after an initial hardware burning. However, for software-based solutions, no secret or parameter is stored in the ordinary computer device. Thus every time a driver starts the vehicle and after accessing password checking, the TA has to send them again to the device. Extra transmission overhead is needed in each session.

3. Replication of device contents

One basic assumption of tamper-proof device or smart card technology is that the contents inside the device or smart card cannot be improperly extracted or replicated easily. Thus secrets and parameters stored on them can be said to be fully protected. However, the case is not the same for ordinary computer device in software-based solutions. As everyone knows, the contents of a hard-disk can be cloned or replicated easily. This is why in the software-based solutions mentioned earlier, system secrets cannot be stored in a computer device. Instead they have to be transmitted from the TA every time it starts up.

4. Updates of system parameters

For hardware-based solutions, the system-wide TA ˛a ˛es master keys and other public parameters cannot be updated easily. Once an update is needed, a driver has to physically bring the device to the TA for an update. However, for software-based solutions, all secrets and public parameters are transmitted from the TA in real time when the vehicle starts up. Thus updates can be easily done. All the TA needs to do is to send the new set of secrets and parameters to the device.

5. Setting of new secrets after compromise

For hardware-based solutions, the same set of system-wide TA ˛a ˛es master keys and public parameters are preloaded into all tamper-proof devices. Once one of the devices is cracked by an attacker, the whole VANET system will be compromised unless a physical hardware update by the TA is done. However, software-based solutions do not have this problem. When one of the devices is found to be cracked, the TA can invoke an update of master keys and parameters by simple and secure network transmissions.

6. Modification of protocols

For hardware-based solutions, all security operations are carried out by the processor of a tamper-proof device. Thus the same set of security operations are preloaded into all devices. If, in the mean time, the TA wants to introduce a new security operation (e.g. to enhance the security level of the VANET system), it needs to ask all drivers to bring the devices to it for a hardware update. However, software-based solutions do not have this problem. When the TA wants to introduce a new security operation, it only needs to enable all computer devices to securely download a new software (like how we update our computer operating systems nowadays).


**Table 1.** Hareware-based vs. Software-based Solutions

7. Complexity of security operations

6 Mobile Ad-Hoc Networks

1. Authentications of drivers

2. System parameters preloading

3. Replication of device contents

4. Updates of system parameters

6. Modification of protocols

secrets and parameters to the device. 5. Setting of new secrets after compromise

our computer operating systems nowadays).

For hardware-based solutions, to authenticate a driver, a tamper-proof device only needs to check the accessing password input by the driver locally. If it does not match the burned one, it simply disables all its functions. However, for software-based solutions, the ordinary computer device does not know whether the accessing password input by the driver is correct or not because it has no secret pre-stored. Hence, it needs to securely

For hardware-based solutions, the system-wide TA ˛a ˛es master keys are preloaded into a tamper-proof device. Thus, the TA does not need to send them to the device anymore after an initial hardware burning. However, for software-based solutions, no secret or parameter is stored in the ordinary computer device. Thus every time a driver starts the vehicle and after accessing password checking, the TA has to send them again to the

One basic assumption of tamper-proof device or smart card technology is that the contents inside the device or smart card cannot be improperly extracted or replicated easily. Thus secrets and parameters stored on them can be said to be fully protected. However, the case is not the same for ordinary computer device in software-based solutions. As everyone knows, the contents of a hard-disk can be cloned or replicated easily. This is why in the software-based solutions mentioned earlier, system secrets cannot be stored in a computer

For hardware-based solutions, the system-wide TA ˛a ˛es master keys and other public parameters cannot be updated easily. Once an update is needed, a driver has to physically bring the device to the TA for an update. However, for software-based solutions, all secrets and public parameters are transmitted from the TA in real time when the vehicle starts up. Thus updates can be easily done. All the TA needs to do is to send the new set of

For hardware-based solutions, the same set of system-wide TA ˛a ˛es master keys and public parameters are preloaded into all tamper-proof devices. Once one of the devices is cracked by an attacker, the whole VANET system will be compromised unless a physical hardware update by the TA is done. However, software-based solutions do not have this problem. When one of the devices is found to be cracked, the TA can invoke an update

For hardware-based solutions, all security operations are carried out by the processor of a tamper-proof device. Thus the same set of security operations are preloaded into all devices. If, in the mean time, the TA wants to introduce a new security operation (e.g. to enhance the security level of the VANET system), it needs to ask all drivers to bring the devices to it for a hardware update. However, software-based solutions do not have this problem. When the TA wants to introduce a new security operation, it only needs to enable all computer devices to securely download a new software (like how we update

of master keys and parameters by simple and secure network transmissions.

device. Instead they have to be transmitted from the TA every time it starts up.

transmit it via network to the TA for further verification.

device. Extra transmission overhead is needed in each session.

For hardware-based solutions, all security operations are carried out by the processor of a tamper-proof device. Unluckily, the computation power of the processor is quite limited. Up to our knowledge, not all smart cards in the market today are powerful enough to perform pairing operations. Thus, security operations adopted have to be as simple as possible. However, software-based solutions do not have this limitation. Even the poorest CPU today can handle complicated operations like pairing in reasonable time.

We summarize the comparisons between hardware-based, hybrid and software-based solutions in Table 1. We can see that the items are around efficiency, flexibility and security. In short, recall that a VANET is of large scale, hardware-based solutions are more efficient than software-based ones since they can reduce the transmission overhead between devices and TA during initial handshaking. However, there may still be problems when updating of system parameters, secrets or cryptographic protocols is required since if all drivers go to the TA for parameters, hardware or software updates, a bottleneck will appear. Our proposed scheme is hardware-based but we also provide suggestions about how to update system parameters, secrets or cryptographic protocols efficiently.

## **4. System model and assumptions**

Besides the assumptions made in other VANET applications such as TA being trusted and real identity of any vehicle being known by TA and itself but not by others, we further assume the followings:

1) There exists a conventional identity-based public key infrastructure (PKI). The public key of the TA is the same as its real identity *TRID* and is known by *everyone*. Also any RSU *Ri* broadcasts its public key which is the same as its real identity *RRIDi* with hello messages periodically to vehicles that are travelling within the RSU-Vehicle Communications (RVC) range of it. The validity of *RRIDi* can be ensured using a certificate issued by the TA.

2) Each RSU has a local database storing road information in its range (e.g. GPS locations of boundaries, names of buildings and streets, etc.). This facilitates an RSU to answer queries that are about fixed facilities in its range.

3) Each vehicle has a tamper-proof device and a conventional computer device with GPS receiver. The tamper-proof device is responsible for generating pseudo identities and signatures on messages (details will be given later in the next section) and is assumed to have its own clock for generating correct time stamps and be able to run on its own battery [3]. The conventional computer device is responsible for all other calculations and can receive GPS signals.

10.5772/53264

153

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

**Figure 1.** Basic Steps in Our Scheme

information (with signature).

along the route in a batch.

purpose.

in Table 2.

**6.1. Setup**

devices).

5) RSU *Rk* forwards the request to its neighbors. This process repeats until the request reaches the RSU covering the furthest point of interest with respect to *Vi*'s current location. 6) RSU *Rd* constructs the information reply message and sends it along the reverse path. Each hop whose range overlaps with the region of interest attaches the corresponding hop

7) RSU *Rk* forwards the reply message to *Vi* which then verifies the messages from all RSUs

8) Based on *Vi*'s pseudo identity received from RSU *Rj*, TA reveals *Vi*'s real identity for billing

Next we explain our scheme in details. The notations used in this chapter are summarized

1. It chooses groups **G** (with *g* as the generator) and **GT** that satisfy bilinear map properties. 2. It randomly picks *s* ∈ **Z***<sup>q</sup>* as the master secret (preloaded into all vehicles' tamper-proof

3. It computes *gpub* = *g<sup>s</sup>* as a public parameter. Note that given *gpub* = *gs*, there exists no efficient algorithm to obtain *s* based on the fact that the discrete logarithm problem (DLP)

4. It assigns itself a secret key *TSK* and an identity *TRID* = *gTSK* which is assumed to be

During system startup, the following steps will be carried out by TA:

on bilinear groups is computationally hard.

known by everyone in the system.

4) We assume that there is a reasonably large number of information gathering queries issued to RSUs. Otherwise, if there is only one query, the sender can be linked up with the query easily.

## **5. Preliminaries**

Our security scheme is *pairing-based* and defined on two cyclic groups with a mapping called *bilinear map* [7]. In this section, we briefly introduce what a bilinear map is.

Let **G** be a cyclic additive group and **GT** be a cyclic multiplicative group. Both groups **G** and **GT** have the same prime order *q*. The mapping *e*ˆ : **G** × **G** → **GT** is called a bilinear map if it satisfies the following properties:


The bilinear map *e*ˆ can be constructed using pairings on elliptic curves. Each operation for computing *e*ˆ(*P*, *Q*) is referred as a pairing operation. Pairing operation is the most expensive operation in this kind of cryptographic schemes. The fewer the number of pairing operations, the more efficient the scheme is. The groups **G** and **GT** are called bilinear groups. The security of our schemes relies on the fact that the discrete logarithm problem (DLP) on bilinear groups is computationally hard, i.e., given the point *Q* = *aP*, there exists no efficient algorithm to obtain *a* by given *P* and *Q*. The implication is that we can transfer *Q* in an open wireless channel without worrying that *a* (usually some secret) can be known by any attackers.

#### **6. Our scheme**

This section presents our Privacy-preserving Information Gathering scheme. We first summarize our scheme into some basic steps (see Figure 1):

1) TA sets up parameters and generates anonymous credentials.


4) After a random delay or after travelling for a random distance, *Vi* sends out its request to RSU *Rk*.

**Figure 1.** Basic Steps in Our Scheme

8 Mobile Ad-Hoc Networks

GPS signals.

**5. Preliminaries**

satisfies the following properties:

*e*ˆ(*aP*, *bP*) = *e*ˆ(*P*, *bP*)*<sup>a</sup>* = *e*ˆ(*aP*, *P*)*<sup>b</sup>* = *e*ˆ(*P*, *P*)*ab*.

easily.

attackers.

RSU *Rk*.

**6. Our scheme**

3) Each vehicle has a tamper-proof device and a conventional computer device with GPS receiver. The tamper-proof device is responsible for generating pseudo identities and signatures on messages (details will be given later in the next section) and is assumed to have its own clock for generating correct time stamps and be able to run on its own battery [3]. The conventional computer device is responsible for all other calculations and can receive

4) We assume that there is a reasonably large number of information gathering queries issued to RSUs. Otherwise, if there is only one query, the sender can be linked up with the query

Our security scheme is *pairing-based* and defined on two cyclic groups with a mapping called

Let **G** be a cyclic additive group and **GT** be a cyclic multiplicative group. Both groups **G** and **GT** have the same prime order *q*. The mapping *e*ˆ : **G** × **G** → **GT** is called a bilinear map if it

1. Bilinear: ∀*P*, *Q*, *R* ∈ **G** and ∀*a*, *b* ∈ **Z**, *e*ˆ(*Q*, *P* + *R*) = *e*ˆ(*P* + *R*, *Q*) = *e*ˆ(*P*, *Q*) · *e*ˆ(*R*, *Q*). Also

3. Computable: There exists an efficient algorithm to compute *e*ˆ(*P*, *Q*) for any *P*, *Q* ∈ **G**.

The bilinear map *e*ˆ can be constructed using pairings on elliptic curves. Each operation for computing *e*ˆ(*P*, *Q*) is referred as a pairing operation. Pairing operation is the most expensive operation in this kind of cryptographic schemes. The fewer the number of pairing operations, the more efficient the scheme is. The groups **G** and **GT** are called bilinear groups. The security of our schemes relies on the fact that the discrete logarithm problem (DLP) on bilinear groups is computationally hard, i.e., given the point *Q* = *aP*, there exists no efficient algorithm to obtain *a* by given *P* and *Q*. The implication is that we can transfer *Q* in an open wireless channel without worrying that *a* (usually some secret) can be known by any

This section presents our Privacy-preserving Information Gathering scheme. We first

4) After a random delay or after travelling for a random distance, *Vi* sends out its request to

*bilinear map* [7]. In this section, we briefly introduce what a bilinear map is.

2. Non-degenerate: There exists *P*, *Q* ∈ **G** such that *e*ˆ(*P*, *Q*) �= 1**GT** .

summarize our scheme into some basic steps (see Figure 1):

2) Vehicle *Vi* requests for a credential from RSU *Rj*.

3) RSU *Rj* verifies *Vi*'s identity and sends it a credential.

1) TA sets up parameters and generates anonymous credentials.

5) RSU *Rk* forwards the request to its neighbors. This process repeats until the request reaches the RSU covering the furthest point of interest with respect to *Vi*'s current location.

6) RSU *Rd* constructs the information reply message and sends it along the reverse path. Each hop whose range overlaps with the region of interest attaches the corresponding hop information (with signature).

7) RSU *Rk* forwards the reply message to *Vi* which then verifies the messages from all RSUs along the route in a batch.

8) Based on *Vi*'s pseudo identity received from RSU *Rj*, TA reveals *Vi*'s real identity for billing purpose.

Next we explain our scheme in details. The notations used in this chapter are summarized in Table 2.

#### **6.1. Setup**

During system startup, the following steps will be carried out by TA:



10.5772/53264

155

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

*pub*))

(*rand*).

*<sup>i</sup>* ) where *HPi* =

*<sup>i</sup>*1, *HP<sup>s</sup>*

*<sup>i</sup>*<sup>2</sup> where *h*(.) is a one-way hash function such

Throughout this chapter, let us use the notations *AS*\_*ENCx*(*M*) and *S*\_*ENCx*(*M*) to denote encrypting message *M* using the key *x* based on any asymmetric and symmetric encryption

In our scheme, a credential will expire after a predefined period of time. Thus even if a subscriber leaks its credential to a non-subscriber or even to an attacker, the impact to the system is limited. Assume that the current time is *T*. TA computes the credential for the current period as *CT* =< **CRD**, *<sup>T</sup>*, *TSIGTSK*(**CRD**||*T*) >, where *TSIGTSK*(**CRD**||*T*) = *H*(**CRD**||*T*)*TSK*, and sends it to all RSUs securely via a fixed infrastructure. We can see that the credential carries no information about any user and that is why we call it "anonymous".

When the vehicle *Vi* starts, the driver enters the real identity *VRIDi* and password *VPWDi* (assigned by TA in Section 6.1) into the tamper-proof device to activate it. Here only simple hardware checking is involved. The tamper-proof device continues with its pseudo identity generation and message signing tasks only if both the real identity and the password are

To request for an anonymous credential, *Vi*'s tamper-proof device performs the following

1. It generates a pseudo identity *VPIDi* = (*VPIDi*1, *VPIDi*2)=(*gr*, *VRIDi* ⊕ *<sup>H</sup>*(*g<sup>r</sup>*

3. It picks a random number *rand* and encrypts it using *Rj*'s identity as *AS*\_*ENCRRIDj*

This random number becomes a shared secret between itself and RSU *Rj*. *Rj* will use it

5. It generates the signature *σ<sup>i</sup>* on *Mi* and *Ti* (*Ti* is the current timestamp given by the

1. It checks the timestamps in the messages. For any message, if the difference between the attached timestamp and the current time is larger than a threshold (which is a system parameter), the message is ignored. This can help reduce the impact of reply attack.

(*rand*), *VPIDi*, *Mi*, *Ti*, *σ<sup>i</sup>* > to RSU *Rj* nearby.

algorithms, respectively.

steps:

**6.2. Generation of anonymous credentials by TA**

**6.3. Activation of tamper-proof device on vehicle** *Vi*

where *r* is a per-session random nonce.

to encrypt the credential at a later stage.

tamper-proof device) as *VSKi*<sup>1</sup> <sup>×</sup> *VSKh*(*Mi*||*Ti*)

The RSU *Rj* then performs the following steps:

*<sup>H</sup>*(*VPIDi*1||*VPIDi*2).

6. It sends < *AS*\_*ENCRRIDj*

as SHA-1.

correct. That means *Vi* cannot use the service if it is being stolen.

**6.4. Vehicle** *Vi* **requesting for anonymous credential at RSU** *Rj*

2. It composes the credential request message *Mi* = {**CRD**\_**REQ**}.

4. It generates the signing key *VSKi* = (*VSKi*1, *VSKi*2)=(*VPID<sup>s</sup>*

**Table 2.** Notations used in this chapter


Throughout this chapter, let us use the notations *AS*\_*ENCx*(*M*) and *S*\_*ENCx*(*M*) to denote encrypting message *M* using the key *x* based on any asymmetric and symmetric encryption algorithms, respectively.

#### **6.2. Generation of anonymous credentials by TA**

10 Mobile Ad-Hoc Networks

**Table 2.** Notations used in this chapter

**Symbol Meaning G** and **GT** Bilinear groups *g* Generator of **G** *s* System master secret *gpub* = *g<sup>s</sup>* Public parameter *TRID* Identity of TA

*Ri* RSU number *i RLi* Location of RSU *Ri RCi* Certificate of RSU *Ri RRIDi* Identity of RSU *Ri*

*Vi* Vehicle number *i VCi* Certificate of vehicle *Vi*

*RRIDi* and *RLi*. Here *H*(.) is a MapToPoint hash function.

TA preloads them into the tamper-proof device of *Vi*.

decrypt and obtain the new master secret.

*VRIDi* Real identity of vehicle *Vi*

*VPIDi* Pseudo identity of vehicle *Vi VSKi* Signing key of vehicle *Vi*

*TSK* Secret key of TA s.t. *TRID* = *gTSK TSIGTSK*(*M*) TA's signature on message *M* using *TSK*

*RSKi* Secret key of RSU *Ri* s.t. *RRIDi* = *gRSKi CT* Anonymous credential for period *T*

*CPKi* Conventional public key of vehicle *Vi CSKi* Conventional private key of vehicle *Vi*

*VPWDi* Hardware activation password on *Vi*

*h*(*M*) One-way hash value of message *M*

*S*\_*ENCx*(*M*) Symmetrical encryption of *M* using key *x AS*\_*ENCx*(*M*) Asymmetrical encryption of *M* using key *x SIGx*(*M*) Signature on message *M* using key *x H*(*M*) MapToPoint hash value [13] on message *M*

5. It assigns each RSU *Ri* locating at *RLi* a secret key *RSKi*, an identity *RRIDi* = *gRSKi* and generates its certificate as *RCi* =< *RRIDi*, *RLi*, *TSIGTSK*(*RRIDi*||*RLi*) > where *TSIGTSK*(*RRIDi*||*RLi*) = *H*(*RRIDi*||*RLi*)*TSK* is TA's signature on the concatenation of

6. It assigns each vehicle *Vi* a real identity *VRIDi* = *g<sup>x</sup>* where *x* is a random number and can be thrown away after generating *VRIDi*, and the hardware activation password *VPWDi*.

7. It assigns each vehicle *Vi* a pair of conventional public key *VCPKi* and private key *VCSKi* under any public key infrastructure. *VCSKi* is preloaded into the tamper-proof device of *Vi* while *VCPKi* is stored into TA's local database. This conventional public and private keys are for updating the master secret *s* when there is a need (e.g. when any vehicle is proved to be compromised and the master secret is leaked to attackers). During such an update, TA can encrypt and send the new master secret to each uncompromised vehicle *Vi* using the corresponding *VCPKi*. In this way, only the uncompromised vehicles can In our scheme, a credential will expire after a predefined period of time. Thus even if a subscriber leaks its credential to a non-subscriber or even to an attacker, the impact to the system is limited. Assume that the current time is *T*. TA computes the credential for the current period as *CT* =< **CRD**, *<sup>T</sup>*, *TSIGTSK*(**CRD**||*T*) >, where *TSIGTSK*(**CRD**||*T*) = *H*(**CRD**||*T*)*TSK*, and sends it to all RSUs securely via a fixed infrastructure. We can see that the credential carries no information about any user and that is why we call it "anonymous".

## **6.3. Activation of tamper-proof device on vehicle** *Vi*

When the vehicle *Vi* starts, the driver enters the real identity *VRIDi* and password *VPWDi* (assigned by TA in Section 6.1) into the tamper-proof device to activate it. Here only simple hardware checking is involved. The tamper-proof device continues with its pseudo identity generation and message signing tasks only if both the real identity and the password are correct. That means *Vi* cannot use the service if it is being stolen.

## **6.4. Vehicle** *Vi* **requesting for anonymous credential at RSU** *Rj*

To request for an anonymous credential, *Vi*'s tamper-proof device performs the following steps:


The RSU *Rj* then performs the following steps:

1. It checks the timestamps in the messages. For any message, if the difference between the attached timestamp and the current time is larger than a threshold (which is a system parameter), the message is ignored. This can help reduce the impact of reply attack.

2. It verifies *Vi*'s signature by checking whether *<sup>e</sup>*ˆ(*σi*, *<sup>g</sup>*) = *<sup>e</sup>*ˆ(*VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*) *<sup>i</sup>* , *gpub*). Proof of correctness:

$$\begin{array}{l} \text{L.H.S.}\\ \mathcal{I} = \hat{\mathfrak{e}}(\sigma\_{i\prime}, \mathbf{g})\\ \mathcal{I} = \hat{\mathfrak{e}}(V\mathbf{S}\mathbf{K}\_{i\!\!1} \times V\mathbf{S}\mathbf{K}\_{i\!\!2}^{\hbar(M\_{i\!\! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \! \!$$

	- *<sup>i</sup>* , *gpub*). Proof of correctness: L.H.S. = *e*ˆ(∏*last <sup>i</sup>*=*first <sup>σ</sup>i*, *<sup>g</sup>*) = *e*ˆ(∏*last <sup>i</sup>*=*first VSKi*<sup>1</sup> <sup>×</sup> *VSKh*(*Mi*||*Ti*) *<sup>i</sup>*<sup>2</sup> , *g*) = *e*ˆ(∏*last <sup>i</sup>*=*first VPID<sup>s</sup> <sup>i</sup>*<sup>1</sup> <sup>×</sup> *HPsh*(*Mi*||*Ti*) *<sup>i</sup>* , *g*) = *e*ˆ(∏*last <sup>i</sup>*=*first VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*) *<sup>i</sup>* , *<sup>g</sup>s*) = *e*ˆ(∏*last <sup>i</sup>*=*first VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*) *<sup>i</sup>* , *gpub*) = R.H.S.

## **6.5. Vehicle** *Vi* **requesting for information at RSU** *Rk*

Note that if *Vi* obtains the credential *CT* from RSU *Rj* and if it sends out its query to *Rj* immediately, its real identity and its query can always be linked up once *Rj* colludes with TA. Thus we propose two approaches to avoid this from happening:


Now assume that *Vi* sends its query to RSU *Rk*. *Vi* performs the following:

1. It composes the request message *Mi* = {**SREQ**, *LOCi*, *Interesti*} where *LOCi* represents the current location of *Vi* and *Interesti* contains a set of points of interest (in GPS coordinates) and description of information required (e.g. average vehicle speed, congestion status).

10.5772/53264

157

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

2. It picks two random numbers *rand* and *sn*. *rand* is for *Rk* to encrypt the result at a later

2. It ensures the credential used *CT* is not outdated (e.g. the timestamp should be within a

3. It verifies TA's signature on *CT* by checking whether *e*ˆ(*TSIGTSK*(**CRD**||*T*), *g*) =

= R.H.S.

RSU *Rk* takes up the role of initiating the information gathering process by composing the information request message *Mk* = {**INFO**\_**REQ**,*sn*, *RRIDk*, *LOCi*, *Interesti*}. Let *FP* be the furthest point with respect to *LOCi* in *Interesti*. *Rk* broadcasts *Mk* to all neighbors which are

Any receiving RSU first stores *sn*, *RRIDk* and *Interesti* into its routing table to build up the reverse path so that it can send any reply back to *Rk* later on. Let *FP* be the furthest point with respect to *LOCi* in *Interesti*. It then checks whether *FP* is within its range. If not, it simply re-broadcasts *Mk* to all neighbors which are closer to *FP* than itself. Otherwise, it computes the information reply message *Md* = {**INFO**\_**RPY**,*sn*, *RRIDd*, *RLd*, *RCd*, *HopInfod*, *σd*} and sends it back to its previous RSU hop. Here *HopInfod* is the information that is of *Vi*'s

Each RSU hop along the reverse path *Rim* repeats the steps done by *Rd* and if any point in *Interesti* is within its range, it includes information and signature corresponding to its hop (i.e. *HopInfoim* and *σim*) into the information reply message. Otherwise, it simply forwards

Recall that vehicle *Vi* receives from *Rk* a set of identities, a set of hop information and a set of signatures, each corresponding to an RSU along the path of propagation. To verify the hop information provided by an RSU, its signature is verified using its identity. In turn, to verify

Upon receiving a reply, *Rk* encrypts it using *rand* and forwards it to *Vi* immediately.

an RSU's real identity, its certificate has to be verified using TA's identity.

4. It the signature is valid, it proceeds to the information gathering process.

interest and *σ<sup>d</sup>* = *H*(*HopInfod*)*RSKd* is *Rd*'s signature on *HopInfod*.

3. It sends < *AS*\_*ENCRRIDk* (*rand*,*sn*, *CT*, *Mi*) > to *Rk* and stores *rand* and *sn* locally.

stage and *sn* is used as a session number.

1. It decrypts the message using its private key.

5. It stores *rand* and *sn* locally for later usage.

**6.6. Request and reply propagation**

the reply message to its previous RSU hop.

**6.7. Verification of RSUs' hop information**

closer to *FP* than itself.

pre-defined number of periods before the current time).

*Rk* then performs the following steps:

*e*ˆ(*H*(**CRD**||*T*), *TRID*). Proof of correctness:

= *e*ˆ(*TSIGTSK*(**CRD**||*T*), *g*) = *e*ˆ(*H*(**CRD**||*T*)*TSK*, *g*) = *e*ˆ(*H*(**CRD**||*T*), *gTSK*) = *e*ˆ(*H*(**CRD**||*T*), *TRID*)

L.H.S.


*Rk* then performs the following steps:

12 Mobile Ad-Hoc Networks

L.H.S. = *e*ˆ(*σi*, *g*)

= *e*ˆ(*VPID<sup>s</sup>*

*HPh*(*Mi*||*Ti*)

L.H.S. = *e*ˆ(∏*last*

= *e*ˆ(∏*last*

= *e*ˆ(∏*last*

= *e*ˆ(∏*last*

= *e*ˆ(∏*last*

congestion status).

*<sup>i</sup>* , *gpub*). Proof of correctness:

*<sup>i</sup>*=*first <sup>σ</sup>i*, *<sup>g</sup>*)

*<sup>i</sup>*=*first VPID<sup>s</sup>*

*<sup>i</sup>*=*first VSKi*<sup>1</sup> <sup>×</sup> *VSKh*(*Mi*||*Ti*)

*<sup>i</sup>*=*first VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*)

*<sup>i</sup>*=*first VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*)

Proof of correctness:

<sup>=</sup> *<sup>e</sup>*ˆ(*VSKi*<sup>1</sup> <sup>×</sup> *VSKh*(*Mi*||*Ti*)

<sup>=</sup> *<sup>e</sup>*ˆ(*VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*)

<sup>=</sup> *<sup>e</sup>*ˆ(*VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*)

*<sup>i</sup>*<sup>2</sup> , *g*)

*<sup>i</sup>* , *g*)

*<sup>i</sup>* , *<sup>g</sup>s*)

*<sup>i</sup>* , *gpub*)

it verifies them in a batch by checking whether *e*ˆ(∏*last*

*<sup>i</sup>*<sup>2</sup> , *g*)

*<sup>i</sup>* , *g*)

*<sup>i</sup>* , *<sup>g</sup>s*)

*<sup>i</sup>* , *gpub*)

current period *CT* using *rand* and sends *S*\_*ENCrand*(*CT*) back to it.

TA. Thus we propose two approaches to avoid this from happening:

with TA, it cannot link up *Vi*'s real identity and its query.

Now assume that *Vi* sends its query to RSU *Rk*. *Vi* performs the following:

*<sup>i</sup>*<sup>1</sup> <sup>×</sup> *HPsh*(*Mi*||*Ti*)

**6.5. Vehicle** *Vi* **requesting for information at RSU** *Rk*

*<sup>i</sup>*<sup>1</sup> <sup>×</sup> *HPsh*(*Mi*||*Ti*)

2. It verifies *Vi*'s signature by checking whether *<sup>e</sup>*ˆ(*σi*, *<sup>g</sup>*) = *<sup>e</sup>*ˆ(*VPIDi*<sup>1</sup> <sup>×</sup> *HPh*(*Mi*||*Ti*)

= R.H.S. 3. If it receives requests from more than one vehicle at the same time (say request messages *Mfirst*, ..., *Mlast*, signatures *σfirst*, ..., *σlast* from vehicles *Vfirst*, ..., *Vlast* respectively),

= R.H.S. 4. For each vehicle whose signature is valid, *Rj* encrypts the anonymous credential for the

Note that if *Vi* obtains the credential *CT* from RSU *Rj* and if it sends out its query to *Rj* immediately, its real identity and its query can always be linked up once *Rj* colludes with

1. *Vi* sends out its query to *Rj* only after a random delay. This is because under normal situation, there will be credential requests from other vehicles during that random period and as a result *Rj* cannot link up which query belongs to which credential request. 2. *Vi* sends out its query at another RSU (say *Rk* �= *Rj*) after travelling for a random distance. Since *Rk* does not know *Vi*'s credential request (thus pseudo identity), even if it colludes

1. It composes the request message *Mi* = {**SREQ**, *LOCi*, *Interesti*} where *LOCi* represents the current location of *Vi* and *Interesti* contains a set of points of interest (in GPS coordinates) and description of information required (e.g. average vehicle speed,

*<sup>i</sup>* , *gpub*).

*<sup>i</sup>*=*first VPIDi*<sup>1</sup> <sup>×</sup>

*<sup>i</sup>*=*first <sup>σ</sup>i*, *<sup>g</sup>*) = *<sup>e</sup>*ˆ(∏*last*


Proof of correctness: L.H.S. = *e*ˆ(*TSIGTSK*(**CRD**||*T*), *g*) = *e*ˆ(*H*(**CRD**||*T*)*TSK*, *g*) = *e*ˆ(*H*(**CRD**||*T*), *gTSK*) = *e*ˆ(*H*(**CRD**||*T*), *TRID*) = R.H.S.


#### **6.6. Request and reply propagation**

RSU *Rk* takes up the role of initiating the information gathering process by composing the information request message *Mk* = {**INFO**\_**REQ**,*sn*, *RRIDk*, *LOCi*, *Interesti*}. Let *FP* be the furthest point with respect to *LOCi* in *Interesti*. *Rk* broadcasts *Mk* to all neighbors which are closer to *FP* than itself.

Any receiving RSU first stores *sn*, *RRIDk* and *Interesti* into its routing table to build up the reverse path so that it can send any reply back to *Rk* later on. Let *FP* be the furthest point with respect to *LOCi* in *Interesti*. It then checks whether *FP* is within its range. If not, it simply re-broadcasts *Mk* to all neighbors which are closer to *FP* than itself. Otherwise, it computes the information reply message *Md* = {**INFO**\_**RPY**,*sn*, *RRIDd*, *RLd*, *RCd*, *HopInfod*, *σd*} and sends it back to its previous RSU hop. Here *HopInfod* is the information that is of *Vi*'s interest and *σ<sup>d</sup>* = *H*(*HopInfod*)*RSKd* is *Rd*'s signature on *HopInfod*.

Each RSU hop along the reverse path *Rim* repeats the steps done by *Rd* and if any point in *Interesti* is within its range, it includes information and signature corresponding to its hop (i.e. *HopInfoim* and *σim*) into the information reply message. Otherwise, it simply forwards the reply message to its previous RSU hop.

Upon receiving a reply, *Rk* encrypts it using *rand* and forwards it to *Vi* immediately.

#### **6.7. Verification of RSUs' hop information**

Recall that vehicle *Vi* receives from *Rk* a set of identities, a set of hop information and a set of signatures, each corresponding to an RSU along the path of propagation. To verify the hop information provided by an RSU, its signature is verified using its identity. In turn, to verify an RSU's real identity, its certificate has to be verified using TA's identity.

Let us first talk about how the RSUs' certificates can be verified in a batch. Without loss of generality, assume the RSUs along the returned route have real identities *RRIDfirst*, ..., *RRIDlast*, locations *RLfirst*, ..., *RLlast* and TA signatures *TSIGTSK*(*RRIDfirst*||*RLfirst*), ..., *TSIGTSK*(*RRIDlast*||*RLlast*). Vehicle *Vi* can then verify the (*last* − *first* + <sup>1</sup>) signatures in a batch by checking whether *e*ˆ(∏*last <sup>i</sup>*=*first TSIGTSK*(*RRIDi*||*RLi*), *<sup>g</sup>*) = *e*ˆ(∏*last <sup>i</sup>*=*first <sup>H</sup>*(*RRIDi*||*RLi*), *TRID*)

10.5772/53264

159

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

1) Conditional identity privacy preserving: The pseudo identity of any vehicle is an ElGamal-type ciphertext, which is secure under the chosen plaintext attacks [14]. Also the random nonce *r* makes them different in different messages. To trace the real identity, one needs to know the value of *s* but *s* is only known by all tamper-proof devices and TA. A tamper-proof device (which can prevent unauthorized parties from modifying its logic or reading its stored data) is not supposed to carry out such a traceability function. On the other hand, Section 6.8 shows that TA is able to trace a vehicle's real identity. Thus no one except TA can trace the real identity of a particular vehicle and conditional identity privacy

2) Privacy preserving and unlinkability: After vehicle *Vi* obtains an anonymous credential, it presents it to the same RSU after a random delay or to a different RSU for service as discussed earlier. In any case, that RSU does not know *Vi*'s pseudo identity and identity verification is based on an anonymous credential, it cannot link up *Vi*'s query with its identity even if it

3) Confidentiality: When vehicle *Vi* requests for a credential from RSU *Rj*, it first picks a random number *rand* and securely sends it to *Rj*. *Rj* in return encrypts the credential using *rand*. Thus neighboring vehicles cannot illegally receive the credential by eavesdropping messages from the air. Similarly, when vehicle *Vi* requests for information gathering service from RSU *Rk*, it picks another random number and *Rk* in return encrypts the result using that random number. Thus no other vehicles can eavesdrop the result even if they are interested in similar information. For the query, *Vi* encrypts it using RSU's identity and so it is kept

4) Message authentication: TA's signature on message *M* is defined as *H*(*M*)*TSK*. Since *TSK*

Similarly, RSU *Rj*'s signature on message *M* is defined as *H*(*M*)*RSKj* . Again since *RSKj* is

Regarding vehicle *Vi*'s signature, it is composed of *VSKi*<sup>1</sup> and *VSKi*2. *VSKi*<sup>1</sup> is defined as *grs*. Due to the difficulty of solving the discrete logarithm problem, there is no way for attackers to obtain *s* and thus no one other than the tamper-proof device can compose *VSKi*1. *VSKi*2,

In this section, we evaluate our scheme in terms of processing delay using a network simulation program. Through simulation, we show that the processing delay caused by

In our simulation, we made use of two maps downloaded from the TIGER database [15] one is New York and the other is California. New York represents a city road system (see Fig. 2 for the Google Map [16]) in which most roads have speed limit of 50 km/h. California, on the other hand, represents a countryside road system (see Fig. 3 for the Google Map [16]) in which some highways have speed limit up to 120 km/h. RSUs are randomly placed onto each

*<sup>i</sup>* . Again, since no one other than tamper-proof devices

colludes with TA. Thus unlinkability is guaranteed.

is only known by TA, no others can forge the signature.

only known by *Rj*, no others can forge the signature.

on the other hand, is defined as *HP<sup>s</sup>*

**8. Simulation results**

**8.1. Simulation models**

knows *s*, *VSKi*<sup>2</sup> cannot be forged as well.

our cryptographic functions is minimal.

is achieved.

confidential from others.

Proof of correctness:

$$\begin{array}{l} \text{L.H.S.}\\ \quad = \hat{\varepsilon}(\prod\_{i=first}^{last}TSIG\_{TSK}(RRID\_{i}||RL\_{i}), \emptyset) \\ \quad = \hat{\varepsilon}(\prod\_{i=first}^{last}H(RRID\_{i}||RL\_{i})^{TSK}, \emptyset) \\ \quad = \hat{\varepsilon}((\prod\_{i=first}^{last}H(RRID\_{i}||RL\_{i}))^{TSK}, \emptyset) \\ \quad = \hat{\varepsilon}(\prod\_{i=first}^{last}H(RRID\_{i}||RL\_{i}), \emptyset^{TSK}) \\ \quad = \hat{\varepsilon}(\prod\_{i=first}^{last}H(RRID\_{i}||RL\_{i}), TRID) \\ \quad = \text{R.H.S.} \end{array}$$

Further assume these (*last* − *first* + <sup>1</sup>) RSUs provide the hop information *HopInfo first*, ..., *HopInfolast* together with signatures (*σfirst*, ..., *σlast*. Vehicle *Vi* verifies these signatures in a batch by checking whether *e*ˆ(∏*last <sup>i</sup>*=*first <sup>σ</sup>i*, *<sup>g</sup>*) = <sup>∏</sup>*last <sup>i</sup>*=*first e*ˆ(*H*(*HopInfoi*), *RRIDi*).

Proof of correctness:

L.H.S. = *e*ˆ(∏*last <sup>i</sup>*=*first <sup>σ</sup>i*, *<sup>g</sup>*) = ∏*last <sup>i</sup>*=*first <sup>e</sup>*ˆ(*σi*, *<sup>g</sup>*) = ∏*last <sup>i</sup>*=*first <sup>e</sup>*ˆ(*H*(*AvgSpdi*||*RoadCondi*)*RSKi* , *<sup>g</sup>*) = ∏*last <sup>i</sup>*=*first <sup>e</sup>*ˆ(*H*(*AvgSpdi*||*RoadCondi*), *<sup>g</sup>RSKi*) = ∏*last <sup>i</sup>*=*first <sup>e</sup>*ˆ(*H*(*AvgSpdi*||*RoadCondi*), *RRIDi*) = R.H.S.

We can see that vehicle *Vi* needs to perform only 2 pairing operations to verify the certificates of all RSUs. For the message verification, since the signatures are generated by different RSUs, altogether (*last* − *first* + 2) pairing operations are needed. Note that the above verification procedures still apply even if the returned route contains only one single hop *Rk*. In that case, we can simply set *first* = *last* = *k* in the expressions.

## **6.8. Traceability of vehicle** *Vi***'s real identity**

With *Vi*'s pseudo identity *VPIDi* = (*VPIDi*1, *VPIDi*2)=(*gr*, *VRIDi* ⊕ *<sup>h</sup>*(*g<sup>r</sup> pub*)) and the master secret *<sup>s</sup>*, TA can retrieve *Vi*'s real identity by computing *VRIDi* = *VPIDi*<sup>2</sup> ⊕ *h*(*VPID<sup>s</sup> i*1).

## **7. Security analysis**

We analyze our scheme with respect to the security and privacy requirements mentioned earlier.

1) Conditional identity privacy preserving: The pseudo identity of any vehicle is an ElGamal-type ciphertext, which is secure under the chosen plaintext attacks [14]. Also the random nonce *r* makes them different in different messages. To trace the real identity, one needs to know the value of *s* but *s* is only known by all tamper-proof devices and TA. A tamper-proof device (which can prevent unauthorized parties from modifying its logic or reading its stored data) is not supposed to carry out such a traceability function. On the other hand, Section 6.8 shows that TA is able to trace a vehicle's real identity. Thus no one except TA can trace the real identity of a particular vehicle and conditional identity privacy is achieved.

2) Privacy preserving and unlinkability: After vehicle *Vi* obtains an anonymous credential, it presents it to the same RSU after a random delay or to a different RSU for service as discussed earlier. In any case, that RSU does not know *Vi*'s pseudo identity and identity verification is based on an anonymous credential, it cannot link up *Vi*'s query with its identity even if it colludes with TA. Thus unlinkability is guaranteed.

3) Confidentiality: When vehicle *Vi* requests for a credential from RSU *Rj*, it first picks a random number *rand* and securely sends it to *Rj*. *Rj* in return encrypts the credential using *rand*. Thus neighboring vehicles cannot illegally receive the credential by eavesdropping messages from the air. Similarly, when vehicle *Vi* requests for information gathering service from RSU *Rk*, it picks another random number and *Rk* in return encrypts the result using that random number. Thus no other vehicles can eavesdrop the result even if they are interested in similar information. For the query, *Vi* encrypts it using RSU's identity and so it is kept confidential from others.

4) Message authentication: TA's signature on message *M* is defined as *H*(*M*)*TSK*. Since *TSK* is only known by TA, no others can forge the signature.

Similarly, RSU *Rj*'s signature on message *M* is defined as *H*(*M*)*RSKj* . Again since *RSKj* is only known by *Rj*, no others can forge the signature.

Regarding vehicle *Vi*'s signature, it is composed of *VSKi*<sup>1</sup> and *VSKi*2. *VSKi*<sup>1</sup> is defined as *grs*. Due to the difficulty of solving the discrete logarithm problem, there is no way for attackers to obtain *s* and thus no one other than the tamper-proof device can compose *VSKi*1. *VSKi*2, on the other hand, is defined as *HP<sup>s</sup> <sup>i</sup>* . Again, since no one other than tamper-proof devices knows *s*, *VSKi*<sup>2</sup> cannot be forged as well.

### **8. Simulation results**

14 Mobile Ad-Hoc Networks

Proof of correctness:

Proof of correctness:

*<sup>i</sup>*=*first <sup>σ</sup>i*, *<sup>g</sup>*)

*<sup>i</sup>*=*first <sup>e</sup>*ˆ(*σi*, *<sup>g</sup>*)

*e*ˆ(∏*last*

L.H.S. = *e*ˆ(∏*last*

= *e*ˆ(∏*last*

= *e*ˆ((∏*last*

= *e*ˆ(∏*last*

= *e*ˆ(∏*last*

L.H.S. = *e*ˆ(∏*last*

= ∏*last*

= ∏*last*

= ∏*last*

= ∏*last*

*h*(*VPID<sup>s</sup>*

earlier.

*i*1).

**7. Security analysis**

Let us first talk about how the RSUs' certificates can be verified in a batch. Without loss of generality, assume the RSUs along the returned route have real identities *RRIDfirst*, ..., *RRIDlast*, locations *RLfirst*, ..., *RLlast* and TA signatures *TSIGTSK*(*RRIDfirst*||*RLfirst*), ..., *TSIGTSK*(*RRIDlast*||*RLlast*). Vehicle *Vi* can then verify the (*last* − *first* + <sup>1</sup>)

= R.H.S. Further assume these (*last* − *first* + <sup>1</sup>) RSUs provide the hop information *HopInfo first*, ..., *HopInfolast* together with signatures (*σfirst*, ..., *σlast*. Vehicle *Vi* verifies these signatures in a

= R.H.S.

We can see that vehicle *Vi* needs to perform only 2 pairing operations to verify the certificates of all RSUs. For the message verification, since the signatures are generated by different RSUs, altogether (*last* − *first* + 2) pairing operations are needed. Note that the above verification procedures still apply even if the returned route contains only one single hop

master secret *<sup>s</sup>*, TA can retrieve *Vi*'s real identity by computing *VRIDi* = *VPIDi*<sup>2</sup> ⊕

We analyze our scheme with respect to the security and privacy requirements mentioned

*Rk*. In that case, we can simply set *first* = *last* = *k* in the expressions.

With *Vi*'s pseudo identity *VPIDi* = (*VPIDi*1, *VPIDi*2)=(*gr*, *VRIDi* ⊕ *<sup>h</sup>*(*g<sup>r</sup>*

*<sup>i</sup>*=*first e*ˆ(*H*(*HopInfoi*), *RRIDi*).

*<sup>i</sup>*=*first <sup>σ</sup>i*, *<sup>g</sup>*) = <sup>∏</sup>*last*

*<sup>i</sup>*=*first TSIGTSK*(*RRIDi*||*RLi*), *<sup>g</sup>*) =

*pub*)) and the

signatures in a batch by checking whether *e*ˆ(∏*last*

*<sup>i</sup>*=*first <sup>H</sup>*(*RRIDi*||*RLi*), *TRID*)

*<sup>i</sup>*=*first TSIGTSK*(*RRIDi*||*RLi*), *<sup>g</sup>*)

*<sup>i</sup>*=*first <sup>H</sup>*(*RRIDi*||*RLi*))*TSK*, *<sup>g</sup>*)

*<sup>i</sup>*=*first <sup>H</sup>*(*RRIDi*||*RLi*)*TSK*, *<sup>g</sup>*)

*<sup>i</sup>*=*first <sup>H</sup>*(*RRIDi*||*RLi*), *<sup>g</sup>TSK*)

*<sup>i</sup>*=*first <sup>H</sup>*(*RRIDi*||*RLi*), *TRID*)

*<sup>i</sup>*=*first <sup>e</sup>*ˆ(*H*(*AvgSpdi*||*RoadCondi*)*RSKi* , *<sup>g</sup>*)

*<sup>i</sup>*=*first <sup>e</sup>*ˆ(*H*(*AvgSpdi*||*RoadCondi*), *<sup>g</sup>RSKi*)

*<sup>i</sup>*=*first <sup>e</sup>*ˆ(*H*(*AvgSpdi*||*RoadCondi*), *RRIDi*)

**6.8. Traceability of vehicle** *Vi***'s real identity**

batch by checking whether *e*ˆ(∏*last*

In this section, we evaluate our scheme in terms of processing delay using a network simulation program. Through simulation, we show that the processing delay caused by our cryptographic functions is minimal.

#### **8.1. Simulation models**

In our simulation, we made use of two maps downloaded from the TIGER database [15] one is New York and the other is California. New York represents a city road system (see Fig. 2 for the Google Map [16]) in which most roads have speed limit of 50 km/h. California, on the other hand, represents a countryside road system (see Fig. 3 for the Google Map [16]) in which some highways have speed limit up to 120 km/h. RSUs are randomly placed onto each road. With the consideration of speeding behavior, we assume New York has average vehicle speed readings from 0 km/h (road blocking situation) to 70 km/h (speeding situation) while California has average vehicle speed readings from 0 km/h (highway blocking situation) to 140 km/h (speeding situation).

10.5772/53264

161

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

time as the period from when the vehicle sends out its query to when it finishes verifying the information provided by all RSUs in the reply message. This processing time is then normalized by dividing it by the duration that the vehicle is in the range of the RSU to which it sends its query. The data from all the 60 sets are then averaged to obtain a data point as

Fig. 4 shows the results for New York city. We can see that as the geographical distance increases, the processing time increases. When the source and the destination nodes are further away (i.e. a vehicle wants to gather information about a point of interest which is further away), more RSU hops are involved. This not only leads to more RSU signing operations but also more pairing operations at the vehicles in the verification phase. Nevetheless, among all geographical distance ranges, the processing time is at most 1.6 % of the duration that the vehicle stays in the querying RSU's range. Thus there must be sufficient

Fig. 5 shows the results for California city. We can see again that as the geographical distance increases, the processing time increases. When the source and the destination nodes are further away (i.e. a vehicle wants to gather information about a point of interest which is further away), more RSU hops are involved. This not only leads to more RSU signing operations but also more pairing operations at the vehicles in the verification phase. Among all geographical distance ranges, the processing time is at most 3.7 % of the duration that the vehicle stays in the querying RSU's range. This value is a little bit greater than that for New York city due to larger geographical distances. Anyway, there must be sufficient time for the

shown in Figure 4 below. Note also that we represent a range using its class mark.

time for the vehicle to finish its query and to verify the returning information.

**Figure 4.** Normalized Processing Time vs. Geographical Distance (New York)

vehicle to finish its query and to verify the returning information.

**Figure 5.** Normalized Processing Time vs. Geographical Distance (California)

**8.2. Simulation results**

**Figure 2.** City Road System in New York

**Figure 3.** Countryside Highway System in California

The settings and parameters of our simulation are adopted from [8] and [9]. Interested readers may refer to them for details. We fix the size of our newly-introduced components as follows: 5 bytes for control messages like **CRD\_REQ**, 20 bytes for each representation of GPS location, 255 bytes for timestamp and 10 bytes for random number.

We define 16 geographical distance ranges of 1 km each. For New York, the closest source and destination we pick are only 1 km apart while the furthest are 16 km. For California, the closest source and destination we pick are only 5 km apart while the furthest are 80 km. For each range, we randomly pick 60 sets of sources and destinations that are within the geographical distance range. We treat them as the current location and the furthest point of interest of a querying vehicle respectively. We then consider the worst case that all points between the current location and the furthest point of interest are of the driver's interest. The types of information we consider are average vehicle speed and general road condition (e.g. accident, traffic jam). Without loss of generality, we assume that the vehicle requests for a credential or sends out its query once it enters an RSU's range (upon hearing its beacon broadcasts). Since a vehicle can wait for a random delay or travel for a random distance after obtaining a credential before sending out its query, we define the processing

10.5772/53264

time as the period from when the vehicle sends out its query to when it finishes verifying the information provided by all RSUs in the reply message. This processing time is then normalized by dividing it by the duration that the vehicle is in the range of the RSU to which it sends its query. The data from all the 60 sets are then averaged to obtain a data point as shown in Figure 4 below. Note also that we represent a range using its class mark.

#### **8.2. Simulation results**

16 Mobile Ad-Hoc Networks

140 km/h (speeding situation).

**Figure 2.** City Road System in New York

**Figure 3.** Countryside Highway System in California

road. With the consideration of speeding behavior, we assume New York has average vehicle speed readings from 0 km/h (road blocking situation) to 70 km/h (speeding situation) while California has average vehicle speed readings from 0 km/h (highway blocking situation) to

The settings and parameters of our simulation are adopted from [8] and [9]. Interested readers may refer to them for details. We fix the size of our newly-introduced components as follows: 5 bytes for control messages like **CRD\_REQ**, 20 bytes for each representation of

We define 16 geographical distance ranges of 1 km each. For New York, the closest source and destination we pick are only 1 km apart while the furthest are 16 km. For California, the closest source and destination we pick are only 5 km apart while the furthest are 80 km. For each range, we randomly pick 60 sets of sources and destinations that are within the geographical distance range. We treat them as the current location and the furthest point of interest of a querying vehicle respectively. We then consider the worst case that all points between the current location and the furthest point of interest are of the driver's interest. The types of information we consider are average vehicle speed and general road condition (e.g. accident, traffic jam). Without loss of generality, we assume that the vehicle requests for a credential or sends out its query once it enters an RSU's range (upon hearing its beacon broadcasts). Since a vehicle can wait for a random delay or travel for a random distance after obtaining a credential before sending out its query, we define the processing

GPS location, 255 bytes for timestamp and 10 bytes for random number.

Fig. 4 shows the results for New York city. We can see that as the geographical distance increases, the processing time increases. When the source and the destination nodes are further away (i.e. a vehicle wants to gather information about a point of interest which is further away), more RSU hops are involved. This not only leads to more RSU signing operations but also more pairing operations at the vehicles in the verification phase. Nevetheless, among all geographical distance ranges, the processing time is at most 1.6 % of the duration that the vehicle stays in the querying RSU's range. Thus there must be sufficient time for the vehicle to finish its query and to verify the returning information.

**Figure 4.** Normalized Processing Time vs. Geographical Distance (New York)

Fig. 5 shows the results for California city. We can see again that as the geographical distance increases, the processing time increases. When the source and the destination nodes are further away (i.e. a vehicle wants to gather information about a point of interest which is further away), more RSU hops are involved. This not only leads to more RSU signing operations but also more pairing operations at the vehicles in the verification phase. Among all geographical distance ranges, the processing time is at most 3.7 % of the duration that the vehicle stays in the querying RSU's range. This value is a little bit greater than that for New York city due to larger geographical distances. Anyway, there must be sufficient time for the vehicle to finish its query and to verify the returning information.

**Figure 5.** Normalized Processing Time vs. Geographical Distance (California)

#### **9. Related work**

A similar scheme of real-time information gathering using VANET is proposed in a recent work [17]. However, there are a number of differences between their scheme and ours. First, their scheme is a small scale navigation scheme which covers a carpark while ours is large scale to cover the whole city and beyond. Second, in their scheme a carpark is monitored by three RSUs which centrally take up the roles of determining a vehicle's location, searching for a vacant parking space and providing navigation service to guide the vehicle to go from the carpark entrance to the selected parking space. That is, all information are provided by the three RSUs. In our scheme, the road system in the city is monitored by a large number of RSUs which take up the information gathering task in a distributed manner. Third, in terms of security functions, their scheme assumes RSUs to be fully trusted. This makes sense since the three RSUs are installed indoor and can be monitored by security guards from time to time. However, such an assumption is no longer valid in our outdoor setting. It is impossible to have security guards monitoring all RSUs across the city. Thus, unlike their scheme, authentication of RSUs becomes a vital component in ours. Fourth, our scheme allows one's identity and query to be delinked. This feature is only interesting for wide area information gathering like ours. Thus, the scheme provided in [17] cannot be used to solve the information gathering problem discussed in this chapter.

10.5772/53264

163

http://dx.doi.org/10.5772/53537

Privacy-Preserving Information Gathering Using VANET

properly authenticated. We provided a security analysis and a simulation study to evaluate our scheme. In our simulation, we made use of the maps of New York (city road system) and California (countryside highway system) downloaded from the TIGER database. We found that the processing time is at most 1.6 % and 3.7 %, respectively, of the duration that the vehicle stays in the querying RSU's range in the two cities. Thus there must be sufficient

time for the vehicle to finish its query and to verify the returning information.

1 Department of Computer Science, The University of Hong Kong, Hong Kong

<sup>⋆</sup> Address all correspondence to: twchim@cs.hku.hk; smyiu@cs.hku.hk; hui@cs.hku.hk;

2 Department of Electrical and Electronic Engineering, The University of Hong Kong, Hong

[1] H. Oh, C. Yae, D. Ahn, and H. Cho. 5.8 GHz DSRC Packet Communication System for ITS Services. In *Proceedings of the IEEE VTC '99*, pages 2223 – 2227, September 1999.

[2] J.P. Hubaux, S. Capkun, and J. Lui. The Security and Privacy of Smart Vehicles. *IEEE*

[3] J. P. Hubaux M. Raya, P. Papadimitratos. Securing Vehicular Communications. *IEEE*

[4] Y. Kim, A. Perrig, and G. Tsudik. Tree-Based Group Key Agreement. *ACM Transactions*

[5] Y. Jiang, M. Shi, X. Shen, and C. Lin. A Tree-Based Signature Scheme for VANETs. In

[6] C.K. Wong, M. Gouda, and S.S. Lam. Secure Group Communications using Key Graphs.

[7] A. Menezes. An Introduction to Pairing-Based Cryptography. In *1991 Mathematics*

[8] C. Zhang, R. Lu, X. Lin, P. H. Ho, and X. Shen. An Efficient Identity-based Batch Verification Scheme for Vehicular Sensor Networks. In *Proceedings of the IEEE INFOCOM*

[9] T.W. Chim, S.M. Yiu, Lucas C.K. Hui, and Victor O.K. Li. SPECS: Secure and Privacy Enhancing Communications for VANET. *Elsevier Ad Hoc Networks, Vol. 9, Issue 2*, pages

T. W. Chim1,2,⋆, S. M. Yiu1, Lucas C. K. Hui1 and Victor O. K. Li<sup>2</sup>

*Security and Privacy Magazine, 2(3)*, pages 49 – 55, 2004.

*on Information Systems Security, 7(1)*, pages 60 – 96, 2004.

*Proceedings of the IEEE GLOBECOM*, pages 1 – 5, 2008.

*Subject Classification, Primary 94A60*, 1991.

*'08*, pages 816 – 824, April 2008.

189 – 203, March 2010.

In *Proceedings of the IEEE SIGCOMM*, pages 68 – 79, 1998.

*Wireless Communications, Vol. 13, Issue 5*, pages 8 – 15, October 2006.

**Author details**

vli@eee.hku.hk

**References**

Kong

Other recent efforts related to the security issues in VANET include [8, 9, 18–21]. In [8], a batch verification scheme was proposed for an RSU to verify a large number of signatures at the same time using only three pairing operations. In [18], an RSU-aided inter-vehicle communications scheme was proposed. A vehicle relies on an RSU to verify the signature of another vehicle. In [19], group communications in VANETs are considered and a group key update protocol was proposed. In [9], some security and privacy-enhancing communications schemes were proposed. Of particular interest, a group communications protocol was defined. After a simple handshaking with any RSU, a group of known vehicles can verify the signature of each other without any further support from RSUs. A common group secret is also developed for secure communications among group members. [20] and [21] also target at driver privacy preservation but instead of using pseudo identities, the concept of group signature is adopted. The signature of any vehicle can be verified by the same group key but the actual signer can only be traced by a trusted party. Though privacy can be preserved, group signature schemes are rather complicated and may not be practical.

### **10. Conclusions**

In this chapter, we first highlighted the most significant security and privacy challenges in VANET protocol design. We then discussed how one should design security protocols for VANETs. In particular, we analyzed in details the advantages and disadvantages of hardware-based and software-based solutions. Next we proposed an information gathering scheme using VANETs. We utilized information collected by RSUs to provide drivers information about a set of points of interest that is out of sight in a distributed manner. Besides basic security features such as sender authentication and conditional identity privacy preserving. Our scheme adopts some security primitives in a non-trivial way to provide a number of additional security features: 1) With the idea of anonymous credential, no one including TA can link up a vehicle's query and its identity. 2) Queries and resulting information are protected from eavesdroppers. 3) Information provided by RSUs are

10.5772/53264

properly authenticated. We provided a security analysis and a simulation study to evaluate our scheme. In our simulation, we made use of the maps of New York (city road system) and California (countryside highway system) downloaded from the TIGER database. We found that the processing time is at most 1.6 % and 3.7 %, respectively, of the duration that the vehicle stays in the querying RSU's range in the two cities. Thus there must be sufficient time for the vehicle to finish its query and to verify the returning information.

## **Author details**

18 Mobile Ad-Hoc Networks

**9. Related work**

**10. Conclusions**

A similar scheme of real-time information gathering using VANET is proposed in a recent work [17]. However, there are a number of differences between their scheme and ours. First, their scheme is a small scale navigation scheme which covers a carpark while ours is large scale to cover the whole city and beyond. Second, in their scheme a carpark is monitored by three RSUs which centrally take up the roles of determining a vehicle's location, searching for a vacant parking space and providing navigation service to guide the vehicle to go from the carpark entrance to the selected parking space. That is, all information are provided by the three RSUs. In our scheme, the road system in the city is monitored by a large number of RSUs which take up the information gathering task in a distributed manner. Third, in terms of security functions, their scheme assumes RSUs to be fully trusted. This makes sense since the three RSUs are installed indoor and can be monitored by security guards from time to time. However, such an assumption is no longer valid in our outdoor setting. It is impossible to have security guards monitoring all RSUs across the city. Thus, unlike their scheme, authentication of RSUs becomes a vital component in ours. Fourth, our scheme allows one's identity and query to be delinked. This feature is only interesting for wide area information gathering like ours. Thus, the scheme provided in [17] cannot be used to solve

Other recent efforts related to the security issues in VANET include [8, 9, 18–21]. In [8], a batch verification scheme was proposed for an RSU to verify a large number of signatures at the same time using only three pairing operations. In [18], an RSU-aided inter-vehicle communications scheme was proposed. A vehicle relies on an RSU to verify the signature of another vehicle. In [19], group communications in VANETs are considered and a group key update protocol was proposed. In [9], some security and privacy-enhancing communications schemes were proposed. Of particular interest, a group communications protocol was defined. After a simple handshaking with any RSU, a group of known vehicles can verify the signature of each other without any further support from RSUs. A common group secret is also developed for secure communications among group members. [20] and [21] also target at driver privacy preservation but instead of using pseudo identities, the concept of group signature is adopted. The signature of any vehicle can be verified by the same group key but the actual signer can only be traced by a trusted party. Though privacy can be preserved,

In this chapter, we first highlighted the most significant security and privacy challenges in VANET protocol design. We then discussed how one should design security protocols for VANETs. In particular, we analyzed in details the advantages and disadvantages of hardware-based and software-based solutions. Next we proposed an information gathering scheme using VANETs. We utilized information collected by RSUs to provide drivers information about a set of points of interest that is out of sight in a distributed manner. Besides basic security features such as sender authentication and conditional identity privacy preserving. Our scheme adopts some security primitives in a non-trivial way to provide a number of additional security features: 1) With the idea of anonymous credential, no one including TA can link up a vehicle's query and its identity. 2) Queries and resulting information are protected from eavesdroppers. 3) Information provided by RSUs are

the information gathering problem discussed in this chapter.

group signature schemes are rather complicated and may not be practical.

T. W. Chim1,2,⋆, S. M. Yiu1, Lucas C. K. Hui1 and Victor O. K. Li<sup>2</sup>

<sup>⋆</sup> Address all correspondence to: twchim@cs.hku.hk; smyiu@cs.hku.hk; hui@cs.hku.hk; vli@eee.hku.hk

1 Department of Computer Science, The University of Hong Kong, Hong Kong 2 Department of Electrical and Electronic Engineering, The University of Hong Kong, Hong Kong

## **References**


20 Mobile Ad-Hoc Networks

164 Wireless Ad-Hoc Networks

159, 2007.

*7*, September 2012.

1421, April 2009.

2008.

June 2009.

[10] J. Jakubiak and Y. Koucheryavy. State of the Art and Research Challenges for VANETs.

[11] S.B. Lee, G. Pan, J.S. Park, M. Gerla, and S. Lu. Secure Incentives for Commercial Ad Dissemination in Vehicular Networks. In *Proceedings of the ACM MobiHoc*, pages 150 –

[12] T.W. Chim, S.M. Yiu, Lucas C.K. Hui, and Victor O.K. Li. MLAS: Multiple Level Authentication Scheme for VANETs. *Elsevier Ad Hoc Networks Journal, Vol. 10, Issue*

[13] D. Boneh, B. Lynn, and H. Shacham. Short Signatures from the Weil Pairing. In

[14] J. Baek, B. Lee, and K. Kim. Secure Length-Saving ElGamal Encryption under the Computational Diffie-Hellman Assumption. *Lecture Notes in Computer Science -*

[15] Topologically Integrated Geographic Encoding and Referencing system (TIGER), 2009.

[17] R. Lu, X. Lin, H. Zhu, and X. Shen. SPARK: A New VANET-based Smart Parking Scheme for Large Parking Lots. In *Proceedings of the IEEE INFOCOM '09*, pages 1413 –

[18] C. Zhang, X. Lin, R. Lu, and P. H. Ho. RAISE: An Efficient RSU-aided Message Authentication Scheme in Vehicular Communication Networks. In *Proceedings of the*

[19] A. Wasef and X. Shen. PPGCV: Privacy Preserving Group Communications Protocol for Vehicular Ad Hoc Networks. In *Proceedings of the IEEE ICC '08*, pages 1458 – 1463, May

[20] B. K. Chaurasia, S. Verma, and S. M. Bhasker. Message broadcast in VANETs using Group Signature. In *Proceedings of the IEEE WCSN '09*, pages 131 – 136, December 2008.

[21] A. Studer, E. Shi, F. Bai, and A. Perrig. TACKing Together Efficient Authentication, Revocation, and Privacy in VANETs. In *Proceedings of the IEEE SECON '09*, pages 1 – 9,

In *Proceedings of the IEEE CCNC*, pages 912 – 916, 2008.

*Proceedings of Asiacrypt '01*, pages 514 – 532, 2001.

http://www.census.gov/geo/www/tiger/.

*IEEE ICC '08*, pages 1451 – 1457, May 2008.

[16] Google Map. http://maps.google.com.

*Information Security and Privacy, Vol. 1841*, pages 49 – 58, 2000.

## *Edited by Hongbo Zhou*

A wireless ad-hoc network is a wireless network deployed without any infrastructure. This includes wireless mesh networks, mobile ad-hoc networks, and vehicular adhoc networks. This book focuses on the most fundamental aspects of wireless ad-hoc networks. Topics include the design of the link layer for better performance, the study on routing protocols for higher efficiency, and practical issues in its application. These topics are crucial to build a foundation in design, implementation, deployment, and analysis of a wireless ad-hoc network. Main features include: General introduction to a wireless ad-hoc network, Performance comparison and improvement of medium access protocols, New routing paradigm and algorithms, Autoconfiguration schemes and related issues and Privacy in a vehicular ad-hoc network.

Wireless Ad-Hoc Networks

Wireless Ad-Hoc Networks

*Edited by Hongbo Zhou*

Photo by ukayacan / iStock