Multicast Operation of the Ad-Hoc On-Demand Distance Vector Routing Protocol
Royer, Perkins
network routing multicast aodv maodv
@inproceedings{royer:mobicom-1999,
author={Royer, Elizabeth M. and Perkins, Charles E.},
title={Multicast Operation of the Ad-Hoc On-Demand
Distance Vector Routing Protocol},
booktitle={{ACM}/{IEEE} International Conference on
Mobile Computing and Networking ({Mobicom})},
year={1999},
pages={207--218},
publisher={ACM},
}
No single point of failure
Constructs trees as needed
Source IP and Identification number identify packets
Leverage topology information gained in unicast and multicast routing together
Assumes symmetric links
Multicast group leader maintains multicast group sequence number
Nodes send RREQs when they want to join group, or have data to send to group
When a node joins a group:
- If it has a record of the group leader, it sends the RREQ to them
- Otherwise the RREQ gets broadcast
Members of the group tree respond to the RREQ
Nodes tries a number of times to contact group leader
- If they fail, self-elects to be group leader
Prominent among these is Multicast Ad Hoc On-Demand Distance Vector
(MAODV)~\cite{royer:mobicom-1999}, which directly applies principles
of and incorporates into the Ad Hoc On-Demand Distance Vector (AODV)
unicast protocol~\cite{perkins:wmcsa-1999}. MAODV constructs group
shared trees on demand when requested by group members or message
sources. Nodes that wish to join a group or send data to it construct
and locally broadcast a route request message. Any current member of
the multicast tree that receives such a request replies. If a
non-member of the group that knows a current path to the group
receives a route reuest, it replies if the request is not a join.
Otherwise, the request is forwarded on by receiving nodes, eventually
propagating across the entire network, with the each node storing the
previous request forwarder as their next hop back to the source.
Replies from group members or informed nodes are then unicast back to
the originating source using that reverse path information. The
source will thus receive multiple responses to its route request.
Among these it chooses the shortest path with the most fresh routing
information, determined by a group sequence number controlled by the
group leader. If the node is joining the group, it issues a multicast
activation message, which is propagated to the current group and
enables forwarding of group traffic on that path, extending the tree.
If several route requests go unanswered, the node may assume no other
group members exist or are reachable. It then elects itself group
leader and begins to respond to requests, establishing the multicast
group tree around itself. Tree maintenance is conducted via timeouts
on group traffic, with lulls filled in by keep-alive messages. Failed
timeouts alert children that their parent has become disconnected, and
they re-initiate the join process.