2.4.7.1 On-demand Multicast Routing Protocol (ODMRP)
ODMRP [47] is a source initiated on-demand mesh-based multicast ad hoc protocol. It is on-
demand and source-initiated because the source establishes and updates the group
membership and multicast routes whenever it has data to send. This protocol builds a mesh
providing multiple routes, so multicast data packets will be delivered in case of node
movement and topology changes. The concept of forwarding groups [17] is used to establish
the mesh.
When a multicast sender wants to send data packets and no route information is available, it
generates a JOIN DATA packet with data payload attached and then broadcasts it. When a
neighbour node receives the JOIN DATA packet it stores the upstream node ID into its
routing table for reverse path construction and rebroadcast the packet. When the JOIN DATA
packet reaches the multicast receiver, it generates a JOIN TABLE packet and broadcast it to
its neighbours. The JOIN TABLE packet contains a multicast group address, list of all
senders whose JOIN DATA were received and the neighbour nodes which were used as a
hop toward each sender. When a node receives the JOIN TABLE it checks if one of the next
nodes ID matches its own ID, if it does, then this node is a forwarding group (FG) for the
source. Then this node broadcast its own JOIN TABLE which contains matched entries. This
process builds (or updates) the route from source to the receivers and builds a mesh of nodes
and forwarding group nodes. The main advantage of using forwarding group at ODMRP is
that it is less affected by link failure due to node movement. Figure 2.9 shows the forwarding
data flow in ODMRP.
28