Sunteți pe pagina 1din 6

A Combined Multicast Routing Protocol in Mobile Ad Hoc Networks

*



Xia Deng
1,2
, Jianxin Wang
1
, Yao Liu
1

1. School of Information Science and Engineering
Central South University, Changsha China
2. School of Computer Science and Educational Software
Guangzhou University, Guangzhou China
gzhu_dx@gzhu.edu.cn, jxwang@mail.csu.edu.cn, yliu.cs@163.com



*
This work is supported by the National Natural Science Foundation of China under Grant No. 60903222 and No. 60873265
Abstract

Mobile ad hoc networks (MANET) are composed of
nodes with high mobility, limited bandwidth and low
energy. To save energy and bandwidth, multicast in
mobile ad hoc networks is used in group
communication such as disaster rescues and military
command systems. This paper aims at designing a
multicast routing protocol which is tolerant to high
mobility and limited energy of nodes, while having
certain scalability at the same time. A multicast
routing protocol called CMRP (A Combined Multicast
Routing Protocol) is proposed, which takes into
consideration three factors when selecting the routing
path, i.e., the paths expiration time, the number of
non-forwarding nodes, and the paths Hops. The
weight of each component is adjustable in order to
meet users different requirement. Simulation results
show that a combination of these three factors is
desired to achieve good performance in terms of data
delivery ratio and energy consumption efficiency.

1. Introduction

Mobile Ad hoc network (MANET) is a multi-hop
network composed of a set of mobile nodes with no
controlling center and infrastructure
[1, 2]
. The dynamic
topology change and the shortage of the bandwidth and
energy make it challenging to design mobile ad hoc
multicast routing protocols. A variety of multicast
protocols for ad hoc networks have been proposed,
which can be generally classified into four
categories
[3,4, 16,20]
, i.e., tree-based (MAODV
[5]
), mesh-
based (ODMRP
[6]
, CAMP
[7]
CQMP
[8]
, NC-
ODMRP
[13]
, HF-ODMRP
[14]
), hybrid approaches
(AMRoute
[9]
) and stateless multicast (DDM
[10]
).
Because the mesh-based routing protocols can provide
more routes than tree-based ones, they are more
suitable for ad hoc networks as the network topology
changes frequently and rapidly. Among these mesh-
based routing protocols, the classic ODMRP selects the
shortest path to construct the forwarding group, which
demonstrates high throughput and data delivery ratio.
In order to improve the performance of multicast
routing protocols under high dynamic scenarios, some
works focus on the stability of paths through the
prediction of node location and link expiration time
[12,
15, 17, 18, 19]
. In our previous work, LETFG-ODMRP
[15]
is proposed which combines the prediction of link
expiration time (LET) and number of forwarding nodes
(FG) in the path. However, the LET-only routing
sometimes results in bad performance because the
prediction of the link expiration time cannot avoid
deviations especially when the nodes move slowly. If
only the number of forwarding nodes is considered, the
protocol may result in too few forwarding nodes.
Without considering the paths Hops, LETFG-ODMRP
also generates long paths to the destinations and thus is
not suitable for mobile ad hoc networks under certain
scenarios. To summarize, a good routing protocol must
consider all of factors aforementioned.
In this paper we propose a combined strategy in
selecting routing paths, i.e., a multicast routing
protocol called CMRP (A Combined Multicast Routing
Protocol). CMRP considers three factors when
selecting routing paths: 1) the prediction of the link
expiration time; 2) the number of non-forwarding
nodes; and 3) the paths Hops. We can adjust the
weights of these factors to adapt to different networks
and scenarios. We choose a particular setting of these
weights to consider all of the three factors and compare
the performance with those only considering one single
factor. We conduct extensive simulations to verify the
superiority of our protocol.
The rest of this paper is organized as follows. In
Section 2 we describe the general process of
establishing forwarding groups. Section 3 presents the
routing design of our protocol CMRP. In section 4, the
performance of CMRP is evaluated through
642 978-1-4577-0253-2/11/$26.00 2011 IEEE
2 2
2 2 2 2
c a
bc) (ad )r c (a cd) (ab
LET
+
+ + +
=
simulations. Section 5 concludes the paper and
discusses the future work.

2. The establishment of forwarding groups

The Mesh-based multicast such as ODMRP sets up
routing when the source nodes have data to send. Each
multicast group selects a mesh-based forwarding group
(FG) responsible for forwarding the data.
The source sends JoinQuery packets periodically to
maintain the multicast group and the routing
information. The process of setting up a forwarding
group is shown in Fig. 1. The source broadcasts a
JoinQuery packet to its neighbors when sending data.
The nodes receiving a non-duplicate packet will save
the address of the upstream node into its RoutingTable
and then broadcast the packet. When the JoinQuery
reaches a multicast member, the node will create a
JoinReply packet and broadcast it to its neighbors.
When a node receives the JoinReply, it will compare
the address of the next hop in the packet with its own
address. If the two addresses match each other, which
indicates that the node is in the routing path to the
source and thus belongs to the forwarding group, the
node is set to be a forwarding node and it will
broadcast the JoinReply according to its RoutingTable.
Following the same process, all the nodes in the path
of the Join Reply packet reply to the source and form
the forwarding group.

Fig. 1. The process of setting up a forwarding
group
[6]

The mesh-based forwarding group is able to offer
more paths comparing with tree-based approach.
Therefore, it is more suitable for mobile ad hoc
networks when node moves frequently. Among these
mesh-based forwarding protocols, ODMRP tries to
find the shortest path to construct the forwarding
group. But when the number of sources increases, the
number of forwarding nodes becomes larger. Such a
big number of forwarding nodes may result in low data
transmission efficiency. Therefore, in order to build
optimal forwarding groups, we may also consider the
other features of paths, such as the route expiration
time, the number of non-forwarding node, etc.

3. Routing design

3.1 LET prediction model

To quantify how stable the link is in a highly mobile
ad hoc network, the link expiration time has to be
calculated mathematically. The Link Expiration Time
(LET) prediction is suitable for all kinds of node and
mobile models, and is widely adopted at present, which
is described as follows.
Assume the transmission range of a node is r and all
the nodes have the same transmission range. The signal
strength is only depending on the transmission
distance. If node i and j can communicate with each
other, it means they are within the transmission range
of each other. The information of the link between
node i and j will include the position (x
i
,y
i
) of node i,
its speed v
i
and direction
i
, the positon (x
j
,y
j
) of node
j, the speed v
j
, and the direction
j
. The prediction of
the link duration time between node i and j can be
calculated as
[12]
:
1

where
j i
j j i i
j i
j j i i
y y d
sin v sin v c
x x b
cos v cos v a
=
=
=
=

The Route Expiration Time (RET) of a path is equal


to the minimum link expiration time in the path. The
larger the RET value, the longer the path duration time
and the path is more stable. Otherwise, the path
duration time is shorter and the path is easier to
breakdown.

3.2 Route selection strategy

We take a variety of factors into considerations in
our protocol CMRP, i.e., the path duration time, the
number of non-forwarding nodes, and Hops. The
evaluating metric PathMetric is defined as follows.
1 W3 W2 W1
sold Hops/Hop * W3
ld /PathNofgo PathNofg * W2 -
PathRetold PathRet/ * W1 PathMetric
= + +

=
(2)
PathRet means the path duration time, which is set
to the minimum link expiration time of the path.
PathRet
old
is the original paths PathRet. PathRet is
the difference between the new path and the original
path. PathNofg is the number of non-forwarding nodes
in the path. PathNofg
old
is the number of the non-
forwarding nodes of the original path and PathNofg
643
Node i receives a JoinQuery packet k
If k is new for the non-member node , then
Calculate the link, let k.PathRet=min(k.PathRet, let);
Create a new record r in the RoutingTable of node i:
r.SrcAddr=k.SrcAddr; r.UpstrAddr=k.UpstrAddr;
If node i is not a FG node then
k.PathNofg = k.PathNofg+1;
End if
k.Hops = k.Hops+1; k.UpstrAddr=i.Addr;
k.(x,y,v,)=i.(x,y,v,)k.TTL = k.TLL-1;
If k.TTL >0 then
Broadcast packet k;
End if
Else if k is new for the member node i
Calculate the link, let k.PathRet=min(k.PathRet, let);
If k is a unduplicated one, then
Create a new record r in routetable:
r.SrcAddr=k.SrcAddr; r.UpstrAddr=k.UpstrAddr;
r.PathRet= k.PathRet; r.PathNofg= k.PathNofg;
r.Hops= k.Hops;
Else if k is duplicated one, then
Finding record r in RoutingTable where
r.SrcAddr=k.SrcAddr;
Calculate PathMetric;
If PathMetric>0, then
r.UpstrAddr=k.UpstrAddr; r.PathRet=k.PathRet;
r. PathNofg =k.PathNofg;
r.Hops= k.Hops;
End if
End if
If node i is not a FG node, then
k.PathNofg = k.PathNofg+1;
k.Hops = k.Hops+1; k.UpstrAddr=i.Addr;
k.(x,y,v,)=i.(x,y,v,); k.TTL = k.TLL-1;
End if
If k.TTL >0 then
broadcast packet k
End if
End if
is the incremental of the number of such nodes of the
new path. A larger ( pathNofg) means the
incremental of the forwarding nodes along the path is
smaller and thus the efficiency is higher. Hops is the
paths Hops. Hops
old
is the Hops of the original path.
Hops is the hop increment of the new path. A larger
(-Hops) means the path with fewer hops is desired
which can avoid long paths. We can use these
parameters together to help find a better path.
We use W
1
W
2
W
3
to represent the weights and
set W
i
>1/3 to place certain emphasis on the
corresponding factor. PathMetric means the overall
difference between the new path and the origin path. If
PathMetric>0, it means a better route is found. During
the setup of a forwarding group, multicast members
will wait a short time when selecting a path with
PathMetric>0, which helps find better routing paths.
Then the node in the path become a forwarding node.

3.3 The packet format

Fig. 2. The format of a multicast route Join
Query packet

The JoinQuery packet format is shown in Fig. 2.
McastAddr is the multicast address; Seq is the packet
unique identification number; SrcAddr is the packet
sender address; UpstrAddr is the address of the
upstream node; PathRet is the paths Ret; PathNoFg is
the number of non-forwarding nodes in the path; Hops
is the paths hop; TTL is the Time to Live value. X, Y,
V, represent the node position and the mobility
information. X is the nodes X-coordinate; Y is the Y-
coordinate; V is the velocity, and is the moving
direction.

McastAddr Seq SrcAddr UpstrAddr
Fig. 3. The format of multicast route Join
Reply packet

The format of a JoinReply packet is shown in Fig.3.
McastAddr is the multicast address; Seq is the packet
unique identification; SrcAddr is the sender address;
and UpstrAddr is the downstream node address

3.4 The setup of multicast route and
forwarding group

The process of setting up the forwarding group can
be described as follows.
(1) Source sends out the Join Query packet.
Source broadcasts the JoinQuery packets
periodically when it has data to send. It sets the
JoinQuery.SrcAddr to its own address, and
JoinQuery.UpstrAddr to the latest node that processed
the JoinQuery packet (initialized to source address).











































Fig. 4. The algorithm of processing a
JoinQuery packet

McastAddr Seq SrcAddr UpstrAddr PathRet
PathNofg Hops TTL X Y V
644
JoinQuery.PathRet is set to 500. When the node is a
forwarding node in the group, the JoinQuery.PathNofg
is set to 0; otherwise it is set to 1. JoinQurey.Hops is
initialized to 1. The position and movement
information of the JoinQurey packet is set to the
nodes corresponding information.
(2) Intermediate nodes process the JoinQuery
packet.
a) When a non-member node receives the
JoinQuery packets, it will only process non-duplicate
packets and discard duplicate ones. Moreover, it will
modify the JoinQuery packet and its RoutingTable
accordingly.
b) When a member node receives the JoinQuery
packets, it will check whether there is a better path in
terms of the path evaluation metric proposed in Section
3.2. If the PathMetric>0, it means that a better path is
found compared with the orginal path in RoutingTable.
The RoutingTable will be updated even if it is a
duplicate JoinQuery.
The algorithm of a node processing the JoinQuery
packets is shown in Fig. 4. The definition of
PathRet, Pathnofg and Hops are calculated as
follows respectively.

le.Hops RoutingTab - Hops JoinQuery. Hops
(3) g le.PathNof RoutingTab - PathNofg JoinQuery. PathNofg
le.PathRet RoutingTab - PathRet JoinQuery. PathRet
=
=
=

(3) Member nodes create the JoinReply packet.
Multicast members will wait for a short time to
reply to the source in order to facilitate finding better
routes. When the network overhead is low, the delay is
very short. As a result, the SrcAddr, UpstrAddr in the
JoinReply packet is equal to the SrcAddr and the
corresponding UpstrAddr (the better path) in the
RoutingTable (the better path).
(4)Intermediate nodes process the JoinReply packet.
When an intermediate node receives the JoinReply
packet, it will check whether its address is the same to
the UpstrAddr in the JoinReply packet. If they are the
same, it means the node is on the path from the
members to the source. The node is then enrolled as a
forwarding node and will set the UpstrAddr in the
JoinReply packet to the UpstrAddr in the
RoutingTable.
The RoutingTable, MemberTable and FG are
refreshed periodically and the protocol needs no extra
overhead for the maintain information.

4. Simulation results

4.1 Simulation scenarios

We use Glomosim 2.03
[11]
to simulate our
protocols. Glomosim is an open source simulation
platform which is especially designed for mobile ad
hoc networks. The simulation scenario is set up as
follows. 100 nodes move within a 2000*2000 square
area; the node transmission range is 15dbm (376m);
the simulation time is 600 second. Each experiment
runs 100 times to allow us to calculate the average
value of measuring metrics. The mobile model is the
random-way model and we set the pause time to 0.
The speed of the node is unchanged during the
simulation. The multicast data delivery ratio is set to
5 packets per second; the length of each packet is
512 bytes; multicast senders and receivers are
randomly selected from the 100 nodes. There is one
multicast group in the network. We let two
parameters change to generate different scenarios: (1)
the number of multicast sender; and (2) the nodes
moving speed. When the number of multicast
senders varies, we fix the number of multicast
members to 10 and the speed to 20m/s, which means
nodes move frequently at a certain speed. When the
speed is varied, the number of multicast members is
fixed to 10 and the number of multicast sources is
set to 1. We use W
1
W
2
W
3
to reflect the
preference of the protocol. abc means
W
1
=a, W
2
=b, W
3
=c. We use1/31/31/3to
treat them equally and choose (0,0,1), (0,1,0), (1,0,0)
to refer to those only considering one factor. We
focus on following evaluating metrics.
(1) Data delivery ratio: the number of the actually
received packets over that of the packets which are
supposed to arrive at members.
(2) Energy consumption per data packet received:
the amount of energy consumption of a successfully
received unduplicated data packet. It is inversely
proportional to the networks energy consumption
efficiency. The larger the value is, the more energy a
successfully delivered packet consumes. We also adopt
E(P)=i*u*tp, and tpPhPd/2Mbps, where i is
the value of the electric current, u is the voltage value,
tp is the delivery time, and Ph and Pd are the packet
head and payload size, respectively.
(3) Average number of forwarding nodes: the
average number of forwarding nodes of every 100
seconds in the network. The larger the number of
forwarding nodes is, the more the energy that the
data transmission costs.

4.2 Performance evaluation

The impact of mobility speed on the performance of
the protocol is shown in Fig. 5. When the speed is
645
smaller than 5m/s, as there exists deviations in the
prediction of the link expiration time when the speed is
not very fast, both (1,0,0) and (1/3,1/3,1/3)
demonstrate low data delivery ratio. The data delivery
ratio of (0,1,0) is also low because it selects too few
forwarding nodes. (0,0,1) owns the best data delivery
ratio because it tends to select the shortest path to set
up the forwarding nodes.
0 10 20 30 40
0.62
0.64
0.66
0.68
0.70
0.72
0.74
(1/3,1/3,1/3)
(0,0,1)
(0,1,0)
(1,0,0)
D
a
t
a

d
e
l
i
v
e
r
y

r
a
t
i
o
Speed(m/s)
(a)

0 10 20 30 40
0.0120
0.0122
0.0124
0.0126
0.0128
0.0130
0.0132
0.0134
0.0136
0.0138
0.0140
0.0142
0.0144
0.0146
0.0148
Speed(m/s)
(1/3,1/3,1/3)
(0,0,1)
(0,1,0)
(1,0,0)
E
n
e
r
g
y

c
o
n
s
u
m
p
t
i
o
n

p
e
r

d
a
t
a

p
a
c
k
e
t

r
e
c
e
i
v
e
d
(
E
(
P
)
/
p
a
c
k
e
t
)
(b)

0 10 20 30 40
13.5
14.0
14.5
15.0
15.5
16.0
16.5
17.0
17.5
18.0
18.5
19.0
19.5
(1/3,1/3,1/3)
(0,0,1)
(0,1,0)
(1,0,0) A
v
e
r
a
g
e

n
u
m
b
e
r

o
f


f
o
r
w
a
r
d
i
n
g

n
o
d
e
s
Speed(m/s)
(c)

Fig. 5. The impact of the speed on the routing
protocol: (a) Data delivery ratio; (b) Energy
consumption per data packet received; (c)
Average number of forwarding nodes.

When the speed increases, the data delivery ratio of
(0, 0, 1) and (0, 1, 0) decrease dramatically as the route
expiration time is not considered. (1,0,0) shows the
highest data delivery ratio but demonstrates the worst
energy consumption efficiency as it owns the largest
average number of forwarding nodes, which also send
out data and consume energy. (0,1,0) owns the smallest
energy consumption and the smallest average number
of forwarding nodes because it aims at minimizing the
number of forwarding nodes along a path, but the data
delivery ratio decreases dramatically when the speed is
large. In contrast, (1/3,1/3,1/3) has a high data delivery
ratio and energy consumption efficiency even when the
speed is large, for it considers both the link expiration
time, the number of forwarding nodes and the paths
Hops. To summarize, (1/3,1/3,1/3) achieves a
reasonably balance and thus performs better than those
only considering a single factor in most cases of these
scenarios.
0 2 4 6 8 10
0.70
0.75
0.80
0.85
0.90
0.95
1.00
(1/3,1/3,1/3)
(0,0,1)
(0,1,0)
(1,0,0)
D
a
t
a

d
e
l
i
v
e
r
y

r
a
t
i
o
The number of senders
(a)
0 2 4 6 8 10
0.010
0.015
0.020
0.025
0.030
0.035
0.040
0.045
(1/3,1/3,1/3)
(0,0,1)
(0,1,0)
(1,0,0)
E
n
e
r
g
y

c
o
n
s
u
m
p
t
io
n

p
e
r

d
a
t
a

p
a
c
k
e
t

r
e
c
e
i
v
e
d
(
E
(
P
)
/
p
a
c
k
e
t
)
The number of senders
(b)
0 2 4 6 8 10
10
20
30
40
50
60
70
(1/3,1/3,1/3)
(0,0,1)
(0,1,0)
(1,0,0)
A
v
e
r
a
g
e

n
u
m
b
e
r

o
f


f
o
r
w
a
r
d
i
n
g

n
o
d
e
s
The number of senders
(c)

Fig. 6. The impact of the number of senders on


the routing protocol: (a) Data delivery ratio; (b)
Energy consumption per data packet received;
(c) Average number of forwarding nodes.

The performances of the scalability of the protocols
are shown in Fig. 6. We can see that both (1,0,0) and
(0,0,1) have high energy consumption because the
average number of forwarding nodes is increasing
646
dramatically when the number of the senders grows. In
contrast, (0,1,0) selects paths with the smallest average
number of forwarding nodes, and thus has a low
energy consumption. However, the data delivery ratio
of (0,1,0) is low when the number of the senders is
smaller than 5. At last, (1/3,1/3,1/3) performs well
concerning three metrics. It provides the best
performance among these protocols and demonstrates
good scalability at the same time.

5. Conclusion and future work

We present a routing protocol in mobile ad hoc
networks that considers three factors together, i.e., the
paths duration time, the number of non-forwarding
nodes and Hops. To adapt to different networks, we
can adjust the weights of the three factors in order to
achieve a good performance when placing certain
emphasis on data delivery ratio, or energy consumption
efficiency, or both. Simulation results show that the
combined strategy demonstrates a good trade-off and
thus performs well in most scenarios.
Our future work will involve extensive simulations
to find the optimal triples of (LET, Nofg, Hops) to
meet certain requirements of the networks. Moreover,
to improve our protocol to balance the networks work
load is also a topic of our further work.

6. References

[1] D.P. Agrawal, Q. A. Zeng, Introduction to wireless and
mobile systems. Thomson Engineering, Florence, 2003.
[2] H. Gossain, C. Cordeiro, D. Agrawal, Multicast: wired
to wireless, IEEE Communications, 2002, 40(6), pp.116-
123.
[3] C.M. Cordeiro, H.Gossain and D.P. Agrawal, Multicast
over wireless mobile ad hoc networks: present and future
directions, IEEE Network, 2003, 17(1), pp.52-59.
[4] S.J. Lee, W. Su and J. Hsu, et al, A performance
comparison study of ad hoc wireless multicast protocols.
Nineteenth Annual Joint Conference of the IEEE Computer
and Communications Societies, 2000, 3, pp. 751-756.
[5] E. M. Royer, C. E. Perkins, Multicast operation of the ad
hoc on-demand distance vector routing protocol,
ACM/IEEE international conference on Mobile computing
and networking, 1999.
[6] S. J. Lee, W. Su and M. Gerla, On-demand multicast
routing protocol in multihop wireless Mobile Networks,
Mobile Networks and Applications, 2002, 7(6), PP. 441-453.
[7] E.L. Madruga, J.J. Garcia-Luna-Aceves. Scalable
multicasting: the core-assisted mesh protocol, Mobile
Networks and Applications, 2001, 6(2), pp.151- 165.
[8] H. Dhillon, H. Q. Nqo, CQMP: a mesh-based multicast
routing protocol with consolidated query packets, IEEE
WCNC, 2005.
[9] J. Xie, R. R. Talpade and A. McAuley, M. Liu,
AMRoute: Ad hoc multicast routing protocol, Mobile
Networks and Applications, 2002, 7(6).pp. 429-439.
[10] L. Ji, M.S. Corson, Differential destination multicast-a
MANET multicast routing protocol for small groups,
Twentieth Annual Joint Conference of the IEEE Computer
and Communications Societies, 2001, 4,pp. 1192-1202.
[11] X. Zeng, R. Bagrodia and M. Gerla, et al. GloMoSim: a
library for parallel simulation of large-scale wireless
networks, Proceedings of the 12th Workshop on Parallel
and Distributed Simulations, 1998, 5, pp. 154-161.
[12] S. William, J. L. Sung and M. Gerla, Mobility prediction
and routing in ad hoc wireless networks, International
Journal of Network Management, 2001, 11, pp. 3-30.
[13] X. Deng, L. M. Sun, and J. X. Wang et al, On-demand
multicast routing protocol based on node classification in
MANET. Journal of Central South University of
Technology, 2006, 13 (2), pp. 190-195.
[14] J. X. Wang, X. Deng and J.E. Chen, An Optimal
Multicast Protocol Combined with Hops and FGs in Mobile
ad hoc Networks, Journal of Chinese Computer Systems,
2007, 28(1), pp. 31-35.
[15] X. Deng, J. WANG, An optimal multicast protocol
based on LET prediction and FGs in mobile Ad hoc
networks, Journal of Circuits and Systems, 2009, 14(6), PP.
35-41.
[16] J.h. Luo, L. Xue and D.X. Ye, Research on multicast
routing protocols for mobile-ad hoc networks, Computer
Networks, 2008, 52(5), PP.988-997.
[17] A. T. Javad, R.M. Mohammad, A Link stability-based
multicast routing protocol for wireless mobile ad hoc
networks, Elsevier Journal of Network and Computer
Application, 2011.
[18]M. Natarajan, A location prediction based routing
protocol and its extensions for multicast and multi-path
routing in mobile ad hoc networks, Elsevier Journal of Ad
hoc Networks, 2011.
[19]A.T. Javad, R.M. Mohammad, Mobility-based multicast
routing algorithm for wireless mobile Ad-hoc networks: A
learning automata approach, Computer Communictaions,
2010, 33, PP. 721-735.
[20] B. Anuradha, D. Paramartha, A Survey of Multicast
Routing Protocols For Mobile Ad Hoc Networks,
International Journal of Engineering Science and Technology,
2010, 2(10), PP. 5594-5604.
647

S-ar putea să vă placă și