The nature of ad hoc applications discussed in Section 2.3, requires hosts to work in groups
to carry out a specific task. Therefore multicast networks are the best solution for this kind of
ad hoc application. Traditional wireless multicast protocols can not usually be used for ad
hoc application due to the frequent change of topology and the unstable wireless
environment.
In recent years, many different multicast ad hoc protocols have been proposed. All these
protocols are classified according to the way they propagate data into tree-based or mesh-
based ad hoc routing protocols. While mesh-based protocols send data through the network
and a subset of nodes are responsible of forwarding these data for all the group members,
tree-based protocols propagates data over an established tree holding all the multicast group
members.
Multicast Ad hoc On-demand Distance Vector protocol (MAODV) [57], Ad-hoc Multicast
Routing protocol using incrementing Id-numbers (AMRIS) [68], Preferred Link Based
Multicast Protocol (PLBM) [62], Reservation-Based multicast routing Protocol (RBM) [21]
and Ad-hoc Multicast Routing protocol (AMRoute) [69] are examples of tree based ad hoc
routing protocols.
Protocols like On-demand Multicast Routing Protocol (ODMRP) [47], Forwarding Group
Mesh Protocol (FGMP) [17], Core Assisted Mesh Protocol (CAMP) [6, 23] and Dynamic
Core-Based Multicast Routing Protocol (DCMP) [23] are examples of mesh-based ad hoc
routing protocol.
The previously mentioned types of multicast ad hoc protocols (i.e Tree-based, Mesh-based)
will be discussed in detail in the next two sections.
2.4.6 Tree based routing protocols
Using this type of multicast ad hoc protocols, a spanning tree is built to connect the multicast
group members (nodes). The spanning tree algorithm prevents loops in a tree. For ad hoc
environment after building the tree to connect the group nodes the data packets can flood
25