An Efficient Distributed Multicast Algorithm

for Mobile Ad Hoc Networks
MS Thesis
Submitted in Partial Fulfillment
of the Requirements for the
Degree of

Master of Science (Computer Science)
at the

National University of Computer & Emerging Sciences
by
Muhammad Mustafa Rafique
April 2006
Approved:

_______________________
Dr. Qasir Shehryar Durrani
Head (Department of Computer Science)

___________20 ____

© Copyright by
Muhammad Mustafa Rafique
2006

Approved by Committee Members:

Advisor

___________________________________
Mr. Shafiq-ur-Rahman
Associate Professor
National University of Computer &
Emerging Sciences, Lahore, Pakistan.

Co-Advisor

___________________________________
Dr. Arshad Hussain
Professor
National University of Computer &
Emerging Sciences, Lahore, Pakistan.

To My Parents i .

I am also very grateful to Dr. ii . and pursuing me to conduct research in this area. he has been a continuous source of learning for me. Throughout these years. encouragements and support. Sarmad Hussain for giving me the flavor of research way back during my undergraduate studies. Arshad Hussain for introducing the field of mobile ad hoc networks to me.ACKNOWLEDGEMENTS I would like to thank Mr. not only in technical arena but also in other aspects of life. Surely. Shafiq-ur-Rahman for his excellent guidance and helpful advices in all phases of this dissertation. without his suggestions. it would have been a difficult journey. and making me realize its importance and fun. I am also very thankful to Dr.

and reading books on different religions.VITA Mr. badminton. Lahore in 2002. 1980. table tennis. philosophy and fiction. iii . His other interests include playing bridge. Pakistan on February 20. Currently he is working as software engineer in compiler research and development for embedded systems in Mentor Graphics. chess. His areas of interest include computer communication and compiler construction. Muhammad Mustafa Rafique was born in Sahiwal. He received a Bachelor of Science in Computer Science from National University of Computer and Emerging Sciences. The research on this dissertation was carried out from 2004 to 2006.

In this thesis. group advertisement. however. some protocols require the participation of all mobile nodes in the network to establish and maintain multicast groups. group maintenance etc. Similarly. The proposed algorithm is implemented and simulated on GloMoSim simulator. tree based multicast routing and mesh based multicast routing. The proposed algorithm does not rely on any single node and entire multicast group is created and maintained in totally distributed fashion.).g.ABSTRACT Several protocols have been proposed for multicast routing mobile ad hoc networks (MANETs). and its performance is compared with state of the art On-Demand Multicast Routing Protocol (ODMRP). others require the participation of only multicast group members. iv . All existing multicast routing protocols rely on a central node or group leader to perform some specific tasks (e. Some multicast routing protocols in MANETs assume the presence of underlying unicast routing protocol and use it to perform some of the operations of multicast routing. These protocols can be divided into two categories. A shared data delivery tree is created for each multicast group to deliver group messages and data packets to all the members. a mesh-based protocol is proposed for multicast routing in mobile ad hoc networks. The proposed algorithm does not rely on underlying unicast routing protocol.

..GROUP ROUTING TABLE AT INTERMEDIATE NODES...........................................................................................................63 v .............1..............................................................................51 5 CONCLUSION AND FUTURE WORK.....................2 Detailed Description..............................................................2 USAGE OF MOBILE AD HOC NETWORK .............................4 2...........................13 2........3.............................................................2.....................................................6 2.................................................................14 2.2............................................................................................63 ACTIVE/INACTIVE TABLE .....................................................................1 PROBLEM STATEMENT .......................................4 COMPARISON OF ODMRP WITH OTHER PROTOCOLS .. 61 APPENDIX B .........1.1 MULTICASTING IN MOBILE AD HOC NETWORKS ..............................................................2 MULTICAST ROUTING PROTOCOLS FOR MANETS ......... 33 3.............44 4............................................................................................................. 42 4.................. 4 MULTICAST ROUTING IN INFRASTRUCTURE NETWORKS ...1 METHODOLOGY/SIMULATION SETUP ............................................................................................34 4 SIMULATION AND RESULTS .2 Data Forwarding Efficiency .....................................GROUP MEMBERSHIP TABLE AT MEMBER NODES.....1 Tree-Based Multicast Routing Protocols in Mobile Ad Hoc Networks ..............PROTOCOL PARAMETERS AND VALUES ................3 Multicast Routing Algorithms...3 2 LITERATURE REVIEW 2................33 3.....................................................................................................................................................................3...........34 3.... 56 APPENDIX A .....................................................1 Data Packet Delivery Ratio ...............................................................................................................................................................................................2 PROPOSED ALGORITHM .........2 1....43 4......................42 4........................................... 55 6 REFERENCES ...................................................62 APPENDIX C ..................1.............4 2....... 1 1....... 63 NEXT HOP TABLE ..............2 PERFORMANCE METRICS................................................................5 2............................................. 62 CONNECTED GROUP MEMBER TABLE ..............Table of Contents 1 INTRODUCTION .........................2 Registration Process............2...............................1 Basic Strategy ...........................47 4.......................................................34 3...........................................................................2 Mesh-Based Multicast Routing Protocols in Mobile Ad Hoc Networks .............................................................1 ..........................................................................................................1 Multicast addresses and IP Multicast........................................................................49 4........45 4...................................................................................................................................2...............................................................................3......24 3 DISTRIBUTED MULTICASTING FOR MOBILE AD HOC NETWORKS....3 SIMULATION RESULTS ....3 Protocol Efficiency ................

base station or any other similar entity) which performs the function of coordinator between the network nodes. Due to this.g. Within a MANET. nodes may exhibit different mobility speeds and directions [33]. Because of lack of any fixed central entity. Generally. • Mobility of network nodes. MANETs are also known as decentralized networks. Because of rapid movement of mobile nodes. ranging from simple file transfer to voice and image transfer and even some limited video transfer. there is always a centralize entity (e. A MANET is generally a peer-to-peer network allowing direct communication between two nodes. distributed algorithms are required to be implemented in MANET in order to perform coordination and maintenance functions between the mobile nodes. MANET has to cope up with rapid link failures and changing status of network links. • Lack of any fixed central entity. each mobile node in MANET may acts as a router and relay traffic intended for other mobile nodes. however. 1 . Nodes in MANETs are free to move and create and break links/associations with other nodes. there is no central entity to perform such operations. Nodes are free to join and leave an existing MANET without causing any trouble to the existing traffic in the network. In standard cellular wireless network [39]. MANETs are different from ad hoc wireless networks [1] because of having rapidly changing network topologies due to node mobility and network size. In MANET.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 1 Introduction Mobile Ad Hoc Network (MANET) is a wireless network architecture that can be deployed without any existing infrastructure. MANETs are expected to support all kinds of mobile nodes and deliver a diverse set of data traffic. hence forming a multi-hop mobile ad hoc network. • All communications have to be done on wireless medium. The main challenges in the design of MANET are as follows: • Lack of pre-existing infrastructure.

Also due to lack of available bandwidth in wireless medium [5]. Special multicast routing algorithms are required to be implemented on such MANETs. nodes are allowed to have common goals and hence construct groups on ad hoc basis. this is why advancement in the efficiency of multicast routing protocols is a very hot issue these days. there is no guarantee of connectivity between two nodes in MANET. multicasting in MANET is normally more challenging then that in the Internet. Within MANET. which is highly vulnerable to propagation deterioration. Group-oriented communication is one of the key application categories in MANETs. If transmission of same data packet to multiple receivers in the network at the same time is desired. 2 .An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Since all communications in MANET is performed on wireless medium. Multicasting. network traffic should be minimized in order to conserve the available bandwidth by adopting such algorithms and protocols that have low overheads. is a very efficient [2] way to support group communication. unlimited mobility. Designing multicast routing protocols in MANETs should take into consideration [3] [4] robustness versus efficiency. Since it is desired to conserve several resources simultaneously in MANET. Normally [5] flooding and tree based multicasting are regarded as two extremes in multicast routing protocols. 1. one simple way is to flood the packet to the entire network but it will consume lot more network resources as compared to adopting a sophisticated multicast routing protocol and deliver the data using the selected protocol. On the other hand tree based protocols generate maximum control traffic and minimal data traffic. active adaptability. The nodes in a group may move together or independent of each other depending upon the nature of group. Flooding almost lack any control overhead but generates maximum data traffic. integrated multicast and as less state information as possible.1 Multicasting in Mobile Ad Hoc Networks Group communication plays an important role in MANETs. as compared to unicasting and broadcasting.

It is an emerging concept that people sitting in a waiting area with their PDA’s or any other hand held device should be able to build an ad hoc network and exchange data of their common interest. MANETs are also used for educational purposes to setup classrooms on ad hoc basis.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 1. MANETs are also used in rescue missions and in the scenarios of national security when existing infrastructure fails due to war or natural disaster.2 Usage of Mobile Ad Hoc Network Mobile ad hoc networks are very helpful in the situations when existing network fails or in the situations where it is not possible to setup a network infrastructure because of time. Some of them may like to play games on MANET thus initiating a group communication and forming a mobile ad hoc multicast group. logistics or any other constraint. 3 . Commercial use of MANET has also increased considerably in the recent years. This is the scenario where multicasting can be used to conserve the network resources and provide higher data delivery rate. A typical scenario where ad hoc networks are used is an instructor conducting a lecture and sends a file or presentation to her students. Typical MANETs are used in military operations [6] and battle field where it is not feasible to build a static network.

1 Multicast Routing in Infrastructure Networks Unlike unicasting and broadcasting in which it is desired to send data packets to either one destination or all the hosts in the network respectively.g. These addresses are further sub divided to support specific multicast applications as shown in Table 1.255. and each protocol has its own strengths and weaknesses.0.0. These addresses are known as Class D addresses. multicast routing in infrastructure wireless network is described. For this purpose. This is known as registration process.18. Hundred of these addresses are already assigned to specific organization and are dedicated to them e. the address range of 224. all the hosts which want to become part of multicast group identify themselves. Several multicast routing protocols have been proposed for infrastructure networks.255.1.0.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 2 Literature Review In this chapter.18. General multicast applications consume globally scoped addresses.1 Multicast addresses and IP Multicast Internet Assigned Number Authority (IANA) which is the controlling body for IP addresses has designated a group of addresses for multicast communications. first step is the identification of all the receiving nodes.224. which range from 224. implementing multicast protocol in a large scale network is a complex task. It is desired to adopt a routing protocol to determine the appropriate forwarding path to all the members of multicast group (registered receivers).0 to 239. In any multicast routing. 2.255 (in 4 . Registration process is facilitated by special set of IP addresses (class D addresses) which are reserved specifically for multicast communication. 2. which are also known as members of the multicast group. Multicast routing can be further divided into stages which must be implemented for successful implementation of multicast routing.255.0 . which is followed by the review of existing multicast routing protocols for mobile ad hoc networks.0.

255. These group IDs are basically an IP address from Class D addresses. then it shows a multicast similar to that of Class D address in IPv6. IPv6 also supports multicast addresses.y.224. If the format prefix is set to binary 111. Limited scope addresses multicast equivalent of non-routable unicast IP address (e. This ID is used to identify the multicast group to which each data packet is intended for. A multicast router upon receiving the multicast packet checks its group ID and forwards only those packets (to the attached network) for which it has atleast one group member registered/attached to it.224. 10.255 Reserved for routing protocols 224.0 – 239.0.0. IPv6 does not use IGMP for registering members of multicast group.0. Therefore.0.0.g.1.0. These are not routable outside an autonomous system and are used within a particular organization. which takes place between the hosts and the local router.255.0 . All those multicast packets for which a multicast router does not have any group member attached to it are discarded.1. each multicast group is assigned a unique ID which is known as multicast group ID.2 Registration Process Identification of all the multicast receivers is done through Internet Group Management Protocol (IGMP) [29].1. 2.255. rather it has its own registration protocol known as Multicast Listener Discovery (MLD). Each host informs its local router whenever it wants to join or leave a particular group through IGMP.0.0 .255.238.0.0.255 Internet control block 224.255 Globally scoped addresses 239. all member of the multicast group listen to all the packets which are transmitted for that group.2.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks decimal numbers) is reserved for Doe Jones.z).x. 5 .0 .255 Limited scoped addresses Table 1: IP Address Ranges for Multicast and their Purposes In IP multicasting. Address Range Purpose 224.

In this approach. In this section. source based routing and core based trees (also known as trees with rendezvous point). 2. Figure 1: Multicast message distribution using flooding [25] The main disadvantage of flooding is the enormous consumption of network bandwidth due to massive generation of duplicate packets. this packet is forwarded to all the interfaces of the receiving router except the one from which it has been received. Figure 1 shows multicast message distribution using flooding [25]. Multicast routing algorithms can be divided into four categories based on the approach followed by them to deliver multicast messages to all the members of a multicast group. On the other hand. the router discards it.3. each router after receiving a multicast packet first checks whether it has already seen this particular packet or not.3 Multicast Routing Algorithms Several multicast routing algorithms has been proposed to deliver multicast packets to all the members of multicast group.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 2. some of the most popular multicast routing algorithms are discussed. Flooding also uses memory resources in routers very inefficiently as each router is required to keep track of all the distinct recently seen packets so that the duplicate 6 .1. if the router has received this packet for the first time. The four approaches are flooding.1.1 Flooding Flooding [24] is the simplest multicast routing algorithm to deliver the multicast packets to the members of multicast group. If this is a duplicate packet. spanning trees.

3. If multiple multicast trees exist in the network simultaneously. bandwidth.1 Optimized Spanning Trees/Steiner Trees (ST) Spanning trees built using Steiner trees have the minimum overall network cost matrix (e. Prim and Kruskal [28]) can be used to the construct an optimized spanning tree.2 Spanning Trees Spanning trees algorithm is a better approach than flooding algorithms. Trees generated using Steiner tree based algorithms are efficient and generally use fewer network resources than trees built using other tree generation approaches. 7 .An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks packets can be identified. Any algorithm (e. In order to construct a spanning tree. The goal in the spanning trees algorithms is to construct a tree structure using the required internet links in such a way that there is only active path between any two routers. it is required to have the complete knowledge of network topology and the recognition of all those routers which are connected to the members of multicast group. delay etc.g. but the overall cost of the tree is minimal. flooding is still used. 2. especially in the case of single source for the whole multicast group.1. in several routing protocols such as OSPF. Building an optimized spanning tree is the same problem as constructing a minimal cost spanning tree. then using Steiner tree bases algorithms is appropriate since they use network resources efficiently. 2. because of its simplicity.1. Spanning trees can be further classified into optimized spanning trees (also known as Steiner Trees) and non-optimized spanning trees. Each router upon receiving a multicast packet transmits it to all the tree links except the one from which the multicast packet has been received.3.g. although they exhibit large data delivery delay as compared to other multicast trees.2. This tree is called spanning tree as it spans over all the nodes in the network. Despite these disadvantages.). A particular pair of nodes in a Steiner tree may have nonoptimal cost.

As Steiner trees optimize the multicast routing on global basis. Source-based routing techniques have advantage over other approaches if less delay is required to deliver the multicast packets.1.2. there would be different multicast distribution tree. Normally. For each multicast source. Non-optimized spanning trees do not guarantee minimum consumption of network cost matrix in order to construct a spanning tree. 2. The main disadvantage of spanning trees algorithms is that all the traffic of multicast group concentrates on a small set of links which may increase multicast data delivery delay because of possible congestion.3. This makes Steiner tree approach as highly spiritless in majority of multicast application.3 Source-Based Routing In source-based routing.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Figure 2: ST based multicast distribution tree from multicast source C Figure 2 shows a multicast distribution tree constructed using Steiner tree approach. 2. This approach does not use any heuristic and generally demand heavy network resources.3. therefore heuristics are used to reduce the complexity and to generate nearly optimal trees and the resulting trees are known are as non-optimal spanning trees. a multicast tree is constructed which is rooted at each source node. hence a reconstruction of new multicast distribution tree is required with every broken link or group membership modification.2 Non-Optimized Spanning Trees Since generation of optimal spanning tree is an NP-Complete problem [30].1. in source based routing each source node construct the data delivery tree and embeds the entire route in the data packet and 8 .

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks each intermediate router process the packet using the embedded routing information. it checks whether this link is in the shortest path to the sender of multicast message. Main disadvantage of source-based routing is that they require very heavy network resources in order to efficiently track the changing network dynamics and multicast group membership. Second disadvantage of source-based routing is that it causes a lot of computational overhead at the source node. In RPB. 2. Main advantage of source-based routing is that only source node is responsible for determining the path which each packet has to follow. while all other nodes sits idle. Initially source-based trees were not suitable for large groups and networks as they relied on periodic broadcast of control messages to determine new group members and to maintain the group membership. then source-based trees distribute traffic evenly in the network.1 Reverse Path Broadcasting (RPB) Reverse path broadcasting [27] is the modification of spanning tree approach and is used in Internet Multicast Backbone (MBone) [32] [40].3. The multicast packet is discarded if it is not received via the shortest path to its sender. There are several variations of source-based routing [12]. in order to deliver the message to all the routers of the network.1. some of them are discussed below. an implicit spanning tree is constructed for each source instead of building a network wide shared spanning tree. If source nodes and destination nodes are evenly distributed. irrespective of whether a particular router is hosting 9 . otherwise the received multicast packet is forwarded to all links except the one from which it is received. multicast messages are transmitted to links. when it is necessary to transmit. Figure 3 shows a multicast distributed tree constructed using RPB [25].3. It can be seen that unlike flooding. Whenever a router receives a multicast message through a link. but later techniques were developed to support large multicast groups in large networks. All the intermediate nodes will have to follow this predetermined path.

3. TRPB still has the disadvantage as it does not eliminate unwanted network traffic on those non-leaf (intermediate) sub-networks which do not have any group member attached although leaf sub-networks are successfully truncated from the spanning tree.e.3. 2. The main disadvantage of RPB is that it does not incorporate the information regarding multicast group membership and delivers multicast packets to all the routers.1. 2. sub-network where there is no group member attached) routers in the network and the spanning tree is truncated at these routers. It should be noted that there would be different multicast distribution tree for each multicast source.3. Also. TRPB identifies all the leaf sub-network (i.1. it is not required to implement any particular mechanism to stop the flow of multicast packets. Figure 3: Multicast distributed tree using RPB [25] As each packet is transmitted through the shortest path in RPB.3.2 Truncated Reverse Path Broadcasting (TRPB) TRPB algorithm overcomes some of the shortcomings of RPB approach.3 Reverse Path Multicasting (RPM) 10 . It also overcomes the disadvantage of spanning tree as there are different spanning trees for different senders. hence ensuring distributed network traffic and better utilization of network resources. All the other details of TRPB are similar to that of RPB. it guarantees fast data delivery.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks any multicast group member or not.

This pruning process will continue until multicast tree comprises only those links and routers which lead to the multicast group members. The first packet in RPM is forwarded just like the way it is forwarded in TRPB approach. hence pruning information is periodically removed from the routers and subsequent multicast packets are transmitted to all leaf and non-leaf nodes. group) pair is pruned and no further multicast message will be transmitted on the pruned links. A leaf router (which does not have any downstream router) after receiving multicast packet sends a prune message to the router from which it receives the multicast packet if there is no multicast group member attached with it. group) pair and there is no multicast group member attached to it.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks RPM [26] extends RPB and TRPB approaches such that a data delivery tree is constructed which spans only sub-networks with multicast group members along with those sub-networks and routers which lie in shortest path to subnetworks with multicast group members. It can be seen that those router which do not host any multicast group member receives only the first multicast message and in response sends a prune mes- 11 . Figure 4: RPM based multicast distribution tree [25] Figure 4 shows a multicast distribution tree constructed using RPM [25]. The upstream router will transmit a prune message to its upstream router if it receives prune message from all its downstream routers for the particular (source. Since group membership and network topology can change dynamically. This link for the particular (source. This information is required to be stored in the upstream router.

There could be more than one Core node for one particular group in order to increase the robustness. group) pairs and the corresponding behavior of all the outgoing links with respect to these pairs. Core-based trees are similar to the trees with Rendezvous Point in which a single multicast tree is constructed for each group which is shared by all the senders of the multicast group. Figure 5 shows a multicast distribution tree built using core-based tree [25]. The sender does not deliver any further multicast message to the pruned links.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks sage to the sender of multicast message. From the standpoint of each source node. First. Core will be transmitting all the 12 . A multicast tree is constructed which is rooted to the Core Node. the periodic removal of pruning information leads to unnecessary overhead if there is no change in the network topology and group membership. each router in the network is required to maintain less information as compared to approaches which construct multiple multicast trees for the same multicast group. multicast trees generated by Core-based approaches are generally less efficient than separate multicast trees.3.4 Core-Based Trees (CBT)/Trees with Rendezvous Point Core-based tree approaches are most suitable in the scenario where there are multiple sources in the multicast group. a large memory space is required at each router to store the information of all possible (source.1. Because of single tree for each multicast group. All the sources of multicast group are required to transmit their data packets to the Core (using unicast routing) and it is the responsibility of the Core to delivery the data packets to all the members of multicast group. 2. In this approach there is one (or more) central node (normally called the Code Node or Core) and all the multicast routing is conducted by this Core. All the routers which are hosting one or more multicast group members are required to register them with the Core router. RPM also has some disadvantages. Secondly.

tree based multicast routing and mesh based multicast routing. then a new core needs to be selected by using some selection mechanism.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks multicast traffic to the registered routers so that they can deliver them to the group members connected with them. The newly selected Core would then be require to gather all the information regarding the multicast group and its membership in order to construct a new multicast tree which is rooted at the new Core. Multicast routing protocols for MANET differ from each other in many respects. these protocols can be divided into two categories [4] [16]. Other disadvantage of core-based tree is that the traffic is concentrated to the shared tree. Similarly. Depending upon their underlying routing framework. hence some of the nodes will be very heavily involved in data transmission. Secondly. hence situations may arise when the Core may become off center which will make the multicast tree non-optimal. Some multicast routing protocols in MANETs assume the presence of underlying unicast routing protocol and use unicast protocol to perform some of the operations of multicast routing. which will result in lower throughput efficiency and congestion at the Core and at other nodes involved in the data delivery tree. Figure 5: Core-Based multicast distribution tree [25] The problem with core-based tree approach is that if Core fails.2 Multicast Routing Protocols for MANETs Several multicast routing protocols have been proposed for mobile ad hoc networks. since group membership can change rapidly. some protocols require the participation of all mobile nodes in the net- 13 . 2.

1 Review of Tree-Based Multicast Routing Protocols This section describes some of the most popular tree-based multicast routing protocols used in mobile ad hoc networks.e.2.1 Ad hoc Multicast Routing Protocol (AMRoute) Ad hoc Multicast Routing Protocol (AMRoute) [7] is a core-based tree multicast routing protocol.1. This section gives a brief overview of existing tree based and mesh based multicast routing protocols.2. A multicast tree [14] [15] is formed by the mobile nodes which may include member as well as non-member mobile nodes.2. spanning trees. There are three types of tree-based approaches which are used extensively in MANETs i. however others require the participation of only multicast group members. 2. which are received by the next downstream nodes which further forward these packets to their downstream links in the tree. 2. source-based trees and core-based trees. A lot of bandwidth is saved as compared to pure broadcast or mesh-based approach since only tree members are involved in the packet transmission.e.1. Data packets are initiated by the sender node.1 Tree-Based Multicast Routing Protocols in Mobile Ad Hoc Networks The tree-based multicast routing originates from multicast routing in wired networks.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks work to establish and maintain multicast groups. This process continues until data packets are received by leaf nodes in the data delivery tree. unicast tunnels are used to connect immediate 14 . The details of these three approaches are similar to that of in infrastructure network and have been described in the previous section. Since non-members are not included in the multicast tree. A user multicast tree is constructed which includes only group members hence only member nodes are required to implement the algorithm. Considerable work has been done on tree-based multicast routing in mobile ad hoc networks. each link in the tree is a virtual link i. 2.1.

Each node in AMRoute starts as a logical core. A bidirectional tunnel is created between the two nodes in order to carry all the multicast traffic between them. it broadcasts JOIN_REQ periodically to all the nodes of the network. receives the JOIN_REQ message.1.1 Mesh Creation Since each node in the group starts as a logical core for its own one node mesh.1.1. which is responsible for creating the multicast tree and maintaining the group members. AMRoute has two main components mesh creation and tree creation. AMRoute does not take care of node mobility as it assumes that the underlying unicast protocol is dealing with the changing networks dynamics. but as soon as two logical cores interact with each other a core resolution algorithms is executed in distributed fashion and as a result one logical core wins the race. The incoming link is marked as tree link. a core resolution algorithm is executed allowing only one logical core to be selected for the new mesh. When another group member.2. AMRoute requires the presence of only one logical core in the multicast tree. In this manner a mesh is created which include all the group members. it replies with a JOIN_ACK message. A group member after receiving TREE_CREATE message forwards the message to all the mesh links except the incoming link.2. Each member accepts the first incoming TREE_CREATE message and discards all duplicates of it. After this exchange is completed. 2.1. 15 .1. ascertaining that the two cores have found each other. If a link is not used as tree link then TREE_CREATE message is discarded and TREE_CREATE_NAK is sent back. which is also a logical core node at this stage.1.2 Tree Creation TREE_CREATE messages are periodically broadcasted by the core of the mesh throughout the mesh using the unicast tunnels. 2. although it has no impulsion on using any particular unicast routing protocol. The receiver of TREE_CREATE_NAK marks the link as mesh link.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks neighbors of the multicast tree.

Figure 6: Mesh and Tree Creation [7] Figure 7: Mesh and Tree Creation [7] Figure 6 and Figure 7 shows two scenarios of mesh and tree creation in AMRoute [7]. a node in the partitioned network will emerge as core node and will start sending periodic JOIN_REQ and JOIN_TREE messages. Each node starts as a logical core but later when they receive JOIN_REQ message from other core. A simple core resolution algorithm could be to choose the node with highest IP as core node. When JOIN_REQ message will reach the nodes of other partition. 2.2.1. In such situation TREE_CREATE messages which should be received periodically will not be transmitted to the portioned network.1.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks In the case of node failure. a core resolution algorithm will resolve the contention and single core will be selected for the new mesh. After the pre-defined timeout. a core resolution process is executed which results in the selection of single core.1.3 Joining and Leaving the Group 16 . network may split up into subgroups.

each intermediate node remembers the destination and its next hop information to which it forwards the data packet.2. In DDM source node is running an admission control policy to include members in the multicast group.1.1. with the intention of joining the multicast group. thus reducing the network load to a considerable extent. each upstream node informs its downstream nodes about the differences only. There is no control overhead at the intermediate nodes in DDM as the entire path is already embedded in the data packet.1. Source node has the knowledge of all the members of the group.1 Joining the Group A new node. sends a JOIN message to the source node through normal unicast. DDM assumes the presence of any underlying unicast routing protocol to forward the multicast packets towards the multicast receivers. 2. the DDM can also operate in soft state mode. It is now no longer required by the source node to embed the entire destination list in each data packet. DDM also falls under the category of stateless multicast routing since no intermediate node is required to maintain the multicast routing information. 2. The JOIN message 17 . However. First data packet contains the entire destination list while all subsequent packets contain the changes which may occur in the group membership (this is why it is called Differential Destination). it sends JOIN_NAK message to all its immediate neighbors of the group.2.2 Differential Destination Multicast (DDM) The Differential Destination Multicast (DDM) [8] protocol is a source-based tree approach which is suitable for small multicast groups.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks If a new node joins the group. which is embedded in the data packets destined for a particular group. In the case of any effective changes in underlying unicast routing.1. If a member node wants to leave the node. if stateless approach is not favorable. Since the data packets also contain information about the member nodes.2. While operating in soft state mode. these data packets contain a variable length header. it emerges as a core and broadcasts JOIN_REQ packet as already explained.

2. knows to which member nodes it is required to deliver the message and it uses underlying unicast routing protocol to deliver the packet. There are three types of DDM blocks. the packet is dropped.2 Membership Maintenance Membership maintenance in DDM is source initiated. Empty (E). Source node constructs a DDM block for next hop member node in the message header. 2. All the next hops of the subsets of FS form a DS. 18 . If no DDM block is found. FS is the union of all the subsets received from upstream neighbors.1. R-block means that entire destination list is transmitted with the data packet and D-block means that this is the difference block and some nodes might be added (incremental block) or removed from the group (decremental block). Each subset contains the nodes having same next hop node. E-block means that it is the data packet.1. Each intermediate node constructs the DDM block for its next hop nodes.2. source adds the node in its member list (ML) and replies the JOIN message with an ACK through normal unicast. a graceful way of leaving the group is to unicast a special LEAVE message to the source node. In the intermediate nodes.1. FS at source node is the same as ML. Source sets a POLL bit in the next data packet after every MEMBER_REFRESH_PERIOD. FS is partitioned into small subsets based on next hop information. A node is considered dead if it does not reply to the POLL message.3 Processing and Forwarding Each node in DDM contains a Forwarding Set (FS) and a Direction Set (DS). Each intermediate node after extracting the DDM block intended for it.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks contains the group ID in it. If the requesting node passed the admission policy. Each intermediate node after receiving the packet finds the DDM block intended for it. embeds it into the date packet and forwards it to the next downstream nodes. However.2. 2.1. FS is used to listing the group members to which a particular node forwards the data packets.2. Refresh (R) and Difference (D).

The constructed multicast tree is progressively adjusted according to the local topology information.1. Each node including the source node has a threshold for the number of neighbors. Through the sequence of link state exchange. then the one which is closer to the source node is given preference. Each group member receiving the Group_REQ replies with a Group_REP message after which both the members records each others as neighbors and note the corresponding hop distance. Similarly if there is a tie between two virtual mesh links. After creating the virtual mesh. Link-state information is considered more up-to-date if it is closer to the source node.1. Network topology in PAST-DM is maintained using link state tables. Neighbors maintain their connectivity through periodic beacon packets.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 2. a logical mesh is created and each node has a local view of the entire network topology.3 Progressively Adapted Sub-Tree in Dynamic Mesh (PAST-DM) In overlay multicast protocol [9] a virtual mesh is created spanning all the member nodes of a multicast group.2.1. a sourcebased Steiner tree is constructed to create a multicast tree. each source node constructs its own data delivery tree.1.1 Logical Mesh Creation and Maintenance Each member in PAST-DM starts with neighbor discovery process with expanding ring search. the links which have direct connectivity with the source nodes are given preference. 2. While constructing the data delivery tree.3. 19 . Like many other multicast routing algorithms. otherwise each member will be directly connected with the source node in the virtual mesh.1. thus naming the algorithm Progressively Adapted Sub-Tree in Dynamic Mesh (PAST-DM). Neighbors exchange with each other their link state tables. Normal Group_REQ packet is broadcasted which is received by the group member.1. PAST-DM also uses the underlying unicast routing protocols to accomplish the multicast functionality.3.2. 2.2.2 Data Delivery Tree Based on the local link state table.

each source considers its immediate neighbors of the mesh as its children of the multicast tree and divides the remaining nodes of the multicast mesh into subgroups. 2. Each subgroup further forms a sub-tree which is rooted at one of source node’s next level children. This process continues until the subgroup becomes empty indicating that the data has been delivered to all the group members. 2.1.3.3 Joining and Leaving the Group Each member joins the group by adopting the neighbor discover process mentioned above. This results in the stoppage of any further link state packets to this mobile node. The main idea of AMRIS is to dynamically assign each member node in the multicast group with a session specific multicast session member identifier (msm-id).2. it transmits a special Group_LV message to all its neighbor of the virtual mesh. If a group member wants to leave the group. The shared multicast tree is constructed which is rooted towards Sid. Normal unicast routing is used to transmit the data packet by a node to its next level node. and msm-id of each node increases as its distance increases from the source. 20 . Source node is responsible for just dividing the group into subgroups and transmits it to the relevant children. Each next level child is then responsible to computes its own multicast tree (of the member nodes mentioned in the data packet by the source node) using its own link state information and deliver the data packet to all the nodes in its subgroup. The source of the multicast group has the smallest msm-id called Sid. hence source node is not required to compute the entire multicast tree.1.2.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks After applying the source-based Steiner tree algorithm. Each member node of the multicast group is running its own source-based Steiner tree algorithm using its own link state information.1.1. The computational complexity of computing the multicast tree at each node can be reduced considerably if the previously constructed tree is cached until there is any change in the link state table.4 Ad hoc Multicast Routing protocol utilizing Increasing id-numberS (AMRIS) AMRIS [10] is an on-demand protocol which constructs a shared delivery tree.

If a node receive NEW-SESSION message from different neighbors. Each node in AMRIS has a Neighbor-Status table which stores the list of existing neighbors with their msm-ids.1. it checks which neighbors have smaller msm-ids than the joining node. Each receiving node embeds its own msm-id along with the routing matrices in the NEW-SESSION message and further broadcasts it to its neighbor. which is not a difficult task as long as there is only one sender of the group.2. then it will simply discard the duplicates.1. Periodic beacon packets are transmitted between the immediate neighbors in order to maintain the connectivity and detect any link failure. The group member will then send a JOIN-ACK which will be propa21 . The node after receiving JOIN-REQ first checks whether it is member of the multicast group. AMRIS can be divided into two main components namely Tree Initialization and Tree Maintenance. Sid embeds its own msm-id into a NEW-SESSION message and broadcasts it to its neighbors. A JOIN-REQ message is send to one of the potential parents using normal unicast. otherwise it will try to locate a parent for itself and this process will continue until a group member is found. then it will keep the message with best routing matrices and drop the remaining.4. In case of multiple senders a mechanism needs to be adopted to elect Sid.1 Tree Initialization Every node which wants to become the member of multicast group responds to the initialization phase. Neighbor-Status table is updated throughout this process. and if it still has to broadcast the message. 2. which calculate their own msm-ids based on msm-ids of the received message. AMRIS does not depend upon any unicast routing protocol to provide the member nodes with the routing information rather it assumes that every non member node has also implemented AMRIS and will help in propagating the multicast routing packet. If a node wants to join the group. If it has already broadcasted NEW- SESSION message.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Each node with the help of its msm-id can realize its depth in the multicast tree. A node has to be selected as Sid in order to start the initialization phase.

Unlike many other multicast routing protocols.1. R hops are introduced in order to restrict BR to a certain locality. In the case of link failure.1. If no potential parent is found.1.4. The operations of MAODV are similar to that of AODV with slight modifications. 2. MAODV does not assume the presence of any underlying unicast routing protocol rather it assume that some network nodes may be working as relays to forward the packet to the group members. Branch Reconstruction (BR) is further divided into two procedures BR1 and BR2. 2.5 Multicast Ad hoc On-Demand Distance Vector Routing Protocol (MAODV) In MAODV [11] which is the extension of AODV [42] for multicast routing. it will not receive any RREP and after a certain time it will become Group Leader of the new group.1 Group Creation and Joining If a node wants to join a multicast group.2. No node will forward the data packet (even after sending JOIN-ACK) to the downstream node without receiving JOIN-CONF message. there is no designated sender and every member node can send a packet to the group. As a result of this broadcast multiple JOIN-ACK may be received and in this case one parent will be chosen and JOIN-CONF message will be sent to it.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks gated back to the joining node. the node with the greater msm-id (i.1.5.e. If it is the first node of the multicast group. Using BR1 the broken node tries to find another potential parent and unicasts a JOIN-REQ message to the potential parent just like a normal joining process.2 Tree Maintenance Tree is maintained using continues transmission of beacon packets to the neighbors. 2. then a local broadcast is conducted to join the group. Any subsequent node which will broadcast RREQ message may re- 22 . BR2 is executed if BR1 fails and in this case the broken node broadcasts a JOIN-REQ message to the maximum of R hops.1. it broadcasts RREQ with group network address. downstream node) is responsible for rejoining the tree.1.2.2.

1.2 Leaving the Group If a node wants to leave the group. The joining node upon receiving multiple RREP will explicitly chose one node (which has minimum distance from the multicast group leader or has the most updated group sequence number) and unicast a multicast activation MACT message to it. All the intermediate nodes (which are acting like routers) will remove themselves from the tree after receiving MACT message. 2. it has to be ensured that those group members which are the downstream nodes of the broken link do not respond to RREQ message.2. HELLO messages also help in the identification of broken links as they also contain hop count from the group leader. 2.2. it will send a special MACT message to prune itself from the tree.3 Tree Connectivity Maintenance The group leader periodically broadcasts a HELLO message with its current group sequence number. Hop distance from the group leader is used 23 . In order to reduce the flow of RREQ message. Every node along the path will add itself in the tree in order to complete the connectivity. Once a link has been detected broken.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks ceive multiple RREP from different group members.1.1.5.5. it sends a unicast RREQ to the group leader instead of broadcasting it in the network. During the process of route reconstruction. it is the responsibility of the downstream node to reconstruct the connection by broadcasting the RREQ message. This message keeps on propagating unless it reaches another group member which discards the message. which is incremented by each node before it forwards the HELLO message. if a joining nodes already has the address of group leader in its local Multicast Route Table.1. which helps all the member nodes to keep their group sequence number consistent with the group sequence number of the group leader. This sequence number is stored by each group member and is used when they have to respond to the RREP messages.

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks to ensure this. may be used without reconstructing the entire data delivery path whenever a link failure is occurred. 24 . An alternate path. it enhances the robustness and reliability in mobile ad hoc networks in the case of changing network dynamics and group membership [18]. Due to the existence of multiple paths in mesh-based approaches.2 Mesh-Based Multicast Routing Protocols in Mobile Ad Hoc Networks In the mobile ad hoc networks where network topology is highly dynamic. mesh-based multicast routing protocols outperforms tree-based approaches as they build multiple data delivery paths between source and receivers of a multicast group [13]. The pruning process will continue until a group member is reached which will be elected as group leader. one partition will be left without a group leader. The group leader replies with a special RREP which grafts a new branch to its tree to the initiator of RREQ and becomes the group leader of the new tree. 2. In the case of two partitions coming under each others transmission range. The next HELLO reaching the previous group leader of the other partition will cause it to resign hence leaving behind only one group leader. Entire data delivery tree is required to reconstruct even if a single link is failed. Broken node embeds its hop distance from the source node in the RREQ and no node with greater RREQ responds to route reconstruction. In the case of tree partitioning. In such situations. their group members will start receiving HELLO message from two group leader. The node which starts the route reconstruction will become the new group leader for the partition if it is already a member of the group. otherwise it will prune itself from the tree. if one exists. tree-based multicast routing protocols does not work efficiently. The node on the side of the partitions which has smaller network address will start the tree reconnecting process by sending RREQ to other group leader using normal unicast with a repair flag set in it.2.

each source node periodically floods the entire network with control packets to create a mesh e.2. 2.2.2. broadcasting technique and central (or core) node technique. 2. a central node is selected (or elected) which takes on the responsibility of creating and maintaining the mesh. In case the central node dies.3 Review of Mesh-Based Multicast Routing Protocols This section describes some of the most popular mesh-based multicast routing protocols used in mobile ad hoc networks. Generally there are two ways to create a mesh. which increases the complexity of mesh-based multicast routing algorithms. In broadcasting technique. In the central (or core) node technique.2.1 On-Demand Multicast Routing Protocol (ODMRP) 25 . as it is desired to establish multiple routes for each mobile node in mesh-based multicast routing protocol [2].2. is the presence of routing loops.2.g.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 2. On-Demand Multicast Routing Protocol.2.3. Another disadvantage in mesh-based approaches. due to having multiple routes to reach a particular mobile node. This high consumption of resources in the case of meshbased approaches is due to the presence of redundant routes for efficient handling of link failure and node mobility during multicast session. 2. which are important in ad hoc networks. more overall network processing power and more storage space at each network node as compared to tree-based approaches [2]. Mesh-based ap- proaches require more bandwidth. another node emerges as central node and it is now its responsibility to create and maintain the mesh.1 Classification of Mesh-Based Approach Mesh creation is the most important phase in mesh-based algorithms.2. processing power and storage. Special measure has to be taken to avoid looping and multiple delivery of same data packet to each mobile node.2 Advantages and Disadvantages of Mesh-Based Approaches In general there are three resources namely bandwidth.

A node upon receiving JR message checks in its local table whether any next node ID matches with its own ID. Whenever a multicast group member receives a JQ message. Mesh is created by periodically broadcasting a JOIN QUERY (JQ) message by the source node to the all the nodes of wireless network. then it realizes that it has forwarded the JQ message to the sender of JR message and it lies on the path from the source to the sender of JR message and thus becomes part of forwarding group (by switching on a bit field in JR message).1 Group Creation Multicast mesh is created by the source node whenever it has data to send to the members of multicast group. it broadcasts a JR message to all its neighbors to announce its group membership. ODMRP consumes network bandwidth very efficiently and reduces channel overhead.2.1. The address of upstream link will be used later to relay the JOIN REPLY (JR) messages. When JR message reaches the source node a mesh has been built and forwarding group has been constructed. Scoped flooding is used by forwarding group members to deliver the multicast packets to group members via shortest path. Figure 8 shows an example of mesh creation in ODMRP [18]. 2. Due to reactive nature of protocol. Whenever a node receives a non-duplicate JQ message. If it does. It then informs all its neighbor nodes by broadcasting its own JR message and this process continues until JR reaches the source node via forwarding group nodes.3.2. 26 . since route is created and maintained only when data packets are required to be sent. it records the address of its upstream link (the node from which it received JQ message) and rebroadcasts the message. Each forwarding group member may receive multiple JR message but relays only once to the source node.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks On-Demand Multicast Routing Protocol (ODMRP) [20] is a reactive meshbased multicast routing protocol which uses the concept of forwarding group (FG) to forward the control and data packets to group members.

2 Neighbor Supporting Ad hoc Multicast Routing Protocol (NSMP) 27 .2. it simply stops the generation of JR message in reply of JQ message by the source node. 2.2.3.2.3 Data Forwarding Data is piggybacked by the source node in the first JQ message.3.1. 2.2 Group Maintenance Group membership and multicast mesh is maintained in ODMRP though periodic transmission of JQ messages by the source node.3.1. All the subsequent data packets are sent after receiving JR messages from the group members via FG nodes. Because of having soft states between the nodes.2. Source sends the data to receivers using the selected routes and FG nodes. All the states in ODMRP are soft states which are refreshed periodically by control message mentioned above or via transmission of data packets. there is no need to send any special message to the member or to the neighbor nodes. If any member wants to leave a multicast group. Each intermediate node after receiving a non-duplicate data packet forwards it only if it is a member of FG.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Figure 8: Mesh creation in ODMRP [18] 2.2.2.

REP message are transmitted in mesh maintenance phase in the same way used as are used in mesh creation phase except that forwarding nodes and neighbor nodes are updated as REP is relayed back to the source node. A multicast mesh is constructed using “forwarding nodes”. this approach of scoped broadcasting does not always recover from all link failures. When a group member receives FLOOD_REQ message it send an REP message to its upstream node.2. However. When a source needs the route to the members of multicast group.2.2. relaying nodes and the multicast group receivers. which includes source node.2.3. Mesh creation process in NSMP is similar to that of ODMRP. 2. it floods the entire wireless network with FLOOD_REQ messages.2. NSMP also designate source node as group leader as it is responsible for periodic transmission of control messages to maintain the group connectivity.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Neighbor Supporting Ad hoc Multicast Routing Protocol (NSMP) [21] is another mesh based multicast routing protocol which uses soft states approach. source in NSMP does not periodically flood the network with mesh creation messages to ensure the connectivity of mesh nodes. Each intermediate node which broadcasts the FLOOD_REQ message caches its upstream node (from which it receives FLOOD_REQ message) in its routing table.3. Normally the node with smallest IP is elected as group leader. In NSMP scoped broadcasting is used and each source node periodically transmits a LOCAL_REQ message which is relayed only to the mesh nodes or neighbor nodes. Upstream nodes after receiving REP message.2. Those nodes which are adjacent to atleast one forwarding node are designated as “neighbor nodes”.1 Mesh Creation In NSMP. Unrecoverable link failures and group partitioning 28 .2 Mesh Maintenance NSMP differs with ODMRP in its mesh maintenance phase. mesh creation process is source initiated. adds an entry for the multicast group in its routing table and forwards REP to its upstream node (using the cache entry) and becomes a forwarding node. Unlike ODMRP. 2.

2. It assumes the existence of underlying unicast routing protocol which provides routing information to the mesh nodes. CAMP imposes a restriction on underlying unicast routing protocol such that it must provide correct distance from the known destination in finite amount of time. 2. it floods the network with MEM_REQ messages. Cores are used to limit the control traffic overhead required for receivers to become member of multicast group.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks will be recovered whenever a new source emerges and floods the network with FLOOD_REQ messages. it sends a REP message in reply of FLOOD_REQ message. The node who wants to leave the group just quit sending REP message in response to subsequent group connectivity messages. Mesh creation process in CAMP consists of request and reply messages just like ODMRP. these core nodes can leave the group if no node is connected to them. but if it is more than two hops away from the mesh nodes. 29 .3.3 Group Joining & Leaving If a node wants to join a multicast group.2. In the process of mesh creation CAMP ensures that the shortest distance to reach any particular node is included in the multicast mesh.3 Core Assisted Mesh Protocol (CAMP) Core Assisted Mesh Protocol (CAMP) [17] is a mesh-based multicast routing protocol which uses one or more core nodes to create and maintain multicast mesh. however nodes can still join the group even if all the cores becomes unavailable. CAMP uses predefined core nodes which are known to all the nodes in the wireless network. No special packet is required to be transmitted when a node wants to leave the group because of following soft state approach.2.2. 2. MEM_REQ messages are forwarded in the same way as FLOOD_REQ message and an REP message is generated whenever it reaches one of the multicast senders or forwarding nodes which is then relayed back to the initiator of MEM_REQ message (the new node who wants to join multicast group).2. However.3. Inspired from the basic architecture used in IP multicast.

thus ensuring that shortest path is always included in the multicast mesh.2. which maps the cores to the multicast group. Each node keeps a table (CAM). a push join or “heart beat” message is sent to all the sources for which this reverse path is being used.3.3. If it fails to find any neighbor which is an existing group member.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks To ensure that shortest path between each source and receiver is included in the multicast mesh. Figure 9: (a) Traffic flow from router h in multicast mesh [22] (b) Traffic flow in equivalent multicast shared tree [22] Figure 9 illustrates how multicast traffic flows in wireless network which implements CAMP to route multicast traffic to all the senders and receivers of multicast group [22].2. If no core is reachable 30 . 2. If number of packets coming from a reverse path falls below a certain threshold. every entry in the packet forwarding cache is verified periodically.1 Joining & Leaving Multicast Group A node when wants to join the multicast group checks if any of its neighbors is one of the member of same multicast group and announces its membership to the neighbors which are already group members. it transmits a join request to the core using underlying unicast routing protocol.

it chooses an existing member as a link to the mesh.2.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks from the joining node. it sends quit notifications to all its neighbors which then update their multicast routing tables.3. however.4 Forwarding Group Multicast Protocol (FGMP) Figure 10: Forwarding group concept [23] Forwarding group multicast protocol (FGMP) [19] is a mesh-based multicast routing protocol which uses limited broadcast to periodically send the control messages to all the members of a multicast group. FGMP uses the notion of forwarding group (FG) and all the members of FG are responsible for conducting broadcast to deliver the data and control packets to the group members as shown in Figure 10 [23]. Each member of FG also has a timer (in order to maintain soft-state) and the node keeps broadcasting the 31 . but only those neighbors who are members of FG will further broadcast the message if it is not a duplicate. Only a local flag is required to be set in order to convert an ordinary group member into a member of FG. All the immediate neighbor of the broadcasting node will receive the packet. FGMP does not have any specific algorithm to construct FG. When a node wants to leave the group. After receiving one or more responses from existing group members. FG is periodically refreshed through periodic message in order to undertake any change in network topology. it broadcasts its join request using expanding ring search which ultimately reaches some existing group member.2. 2.

FG is not associated with any source-destination pair. Each sender after receiving the receiver advertisement updates its member table. each sender floods the entire network with sender information. 2.4.3. The major issue in FGMP is to select and maintain the FG. 32 .An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks messages until the timer expires.1 Mesh-Construction & Maintenance There are two approaches to elect and maintain FG of forwarding nodes. Forwarding table (FW) is created after updating the member table and broadcasted to the neighbors. The size of FG should be optimal in order to avoid redundant broadcasting by two neighbor nodes and to have minimum path length from source nodes to the receivers of multicast group.2. In FGMP-SA. In FGMP-RA. FG is maintained by the receivers. all the receivers of multicast group announce their membership (with their respective IDs) through periodic flooding of control messages. In the second approach FGMP-SA (Sender Advertising). FG is maintained by the senders. rather it is same for all the sources and receivers in the same multicast group. FGMP uses the underlying unicast routing protocol to get the next hop information for each receiver node.2. In the first approach known as FGMP-RA (Receiver Advertising). Entries in the table are maintained using soft-states and those entries for which their corresponding timers have expired are deleted. Timers and FG are set by the node when it receives “Join Table”. Receivers of multicast group after getting senders’ information will periodically broadcast “Join Table” messages to create and maintain FG just like FGMP-RA but in this cast the receivers will be sending sender IDs. Each neighbor after receiving FW creates its own FW and further broadcast it and the process continues until all the receivers are reached.

and the situation becomes worst if the designated group leader dies out or leaves the multicast group and the entire election procedure has to be repeated. 3. this central node is responsible for periodic broadcast of beacon packets either for advertising group membership for non-member nodes or for maintaining the group membership of the existing group members. Overhead of election process and reconnecting the nodes will generate extra traffic if group leader dies out very frequently. and its proposed solution. which is addressed in this thesis. The election process is itself an overhead. there is a notion of existence of a central node/group leader which is responsible for performing some specific tasks (allowing other nodes to join. which will be fulfilling all the responsibilities of the desired designated group leader. A new algorithm is proposed which does not require the existence of any central node/group leader to periodically broadcast the control messages. In most of these protocols. The responsibility of sending periodic beacon messages is assigned either to the source of multicast group or to any designated multicast group member (sometimes also referred as group leader). if it is the responsibility of a designated group member then the ad hoc network would have to adopt some election process through which a node will be elected. In the 33 .g.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 3 Distributed Multicasting for Mobile Ad Hoc Networks This chapter describes in detail the problem statement.1 Problem Statement In all existing multicast routing protocols for mobile ad hoc networks. then this leads to tremendous overhead in the case of those groups where more than one multicast sources exist (e. group maintenance etc. those networks which are created on ad hoc basis to play games on wireless network). If it is responsibility of the source node to add new group members and maintain membership of existing members.) for the whole group. On the other hand.

Inactive links are important as they will be used to reconnect with the multicast group whenever an active link goes down. These reply mes- 34 .1 Group Setup/Joining Whenever a node wants to join a multicast group. 3.2. A data delivery tree is created between the source and receiver nodes whenever a source wants to send data to the group members.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks proposed algorithm.2.2. In order to avoid multiple receptions of same data packets from different neighbors. 3. The group is maintained locally at each member node by supporting its immediate neighbors. 3.1 Basic Strategy The proposed algorithm has no central or leader node to periodically maintain or advertise for group membership. 3. rather they generate search neighbor reply (SEARCH_NEIGHBOR_REPLY) messages.2 Detailed Description The detailed description of the proposed algorithm is given below. By using these inactive links the broken node will be able to reconnect with the group with less overhead. hence forming a multicast mesh between the group members. it broadcasts a group joining message (SEARCH_NEIGHBOR message) which will go up to k (default value 3) hops and starts a timer (SEARCH_NEIGHBOR_EXPIRE_INTERVAL). and stores an entry in their routing table for forward chaining.2 Proposed Algorithm This section describes the proposed algorithm in detail. joining and maintaining the group membership is done in a completely distributed fashion. each node is connected with its adjacent group members as (one or more) “active” and (one or more) “inactive” neighbors. Member nodes will not relay any search neighbor messages. All the non member nodes relay the search neighbor message if the hop count is greater than zero. First the basic strategy is described after which details of proposed algorithm is given.2.

F would issue a general broadcast to the entire ad hoc network to find any existing group member. it starts sending search neighbor messages up to the maximum of k hops. If it does not receive the required number of replies. F would still not receive any search neighbor reply message. since there is no existing group member in the entire wireless network. it would either find F who is already flooding the network with search neighbor messages (Case 1). Subsequently. So it increases the value of k (multiply k with the number of tries) and resend the search neighbor message. the maximum search neighbor tries is set to 9. it assumes that there is not enough group members present within the radius of k hops. F would start increasing its radius of search by increasing the value of k. 3. Duplicate search neighbor messages (i. At the expiry of search neighbor timer. In this case. the value of minimum number of connected group members is set to 1. are simply discarded. F would keep periodically transmitting search neighbor messages after a certain time interval (the timeout value also increases with the value of k). After a certain number of tries (MAX_SEARCH_NEIGHBOR_TRIES).2.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks sages. 3. which are received from multiple paths. Currently.2 Second Node Scenario When the second node “S” wants to join the network.2. use the already created forward chains to form backward chains.1.1. F will not receive any search neighbor reply message. Since there is no existing group member present in the network. search neighbor message from same group member with same sequence number). the initiator of search neighbor message must receive search neighbor reply messages from a certain number of group members (MIN_CONNECTED_GROUP_MEMBERS_REQUIRED).2.e. or F & S are transmitting search neighbor messages to their respective values of k but still they are not able to intercept each others’ messages because the 35 .2. However.1 First Node Scenario When the first mobile node “F” wants to join the multicast group. which propagate through unicast. Currently.

CASE 1 In this case.1. N simply replies back with search neighbor reply message. Both the cases are separately discussed below. Similarly. F is already in its expanding ring search phase and has started flooding the network. N starts sending search neighbor messages with its default value of k and after it fails to receive any search neighbor reply message. In the first case. Ulti- mately. although F is transmitting search neighbor messages but its value of k is not large enough to reach S.2.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks sum of their respective values of k is smaller than the minimum distance between them (Case 2). 36 . F has already expanded its search far enough so that S will receive search neighbor messages (via one or more paths) transmitted by F. N’s search neighbor message would eventually find a group member and the receiving group member would reply back with search neighbor reply message. S starts searching the network for group members within its default radius. it starts expanding the radius of its member search by incrementing the value of k.2. CASE 2 In this case. “N”. S now replies F with search neighbor reply message and also adds F in its group membership table. 3. F’s search message reaches S (or vice versa) and S replies back with search neighbor reply message and also adds F in its group membership table as already described.3 Subsequent Nodes Scenario Any subsequent node. F upon receiving the search neighbor reply message from S adds it in its group membership table. Both the members add each other in their membership table as already described. it receives a search neighbor message from an existing group member or it still falls outside the transmitting range of existing group members. which wants to join the group would face either of the two cases i. On the other hand.e. In the second case.

number of active neighbors connected with a leaf node would be 1. 37 .2.2. In this way.g. In this way. the sender of search neighbor message would have more than one group members as its active neighbors.2. The first data packet is important as it causes each member node to prune all its redundant active neighbors. 3. A member node may be connected with multiple active neighbors in many scenarios e. All group members should be connected with at least one active neighbor. As all the member nodes.1. B is connected with two active neighbors and this process may continue and B may get connected with many active neighbors. and they try to have minimum number of active neighbors.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 3. All the active neighbors after receiving data packets further send them to their respective active neighbors except to the source node and to the one from which they receive that particular data packet. reply back with search neighbor reply message. Similarly. it transmits them to all its active neighbors.2. the multicast data packets are transmitted to all the group members.2.4 Redundant Active Neighbors Each member node after receiving search neighbor message marks its sender as active neighbor (ACTIVE_NEIGHBOR) and replies back with search neighbor reply message.2.2. a node B selects C as its active neighbor and another node D later selects B as its active neighbor. The original sender of search neighbor message after receiving search neighbor reply message marks its sender as its active neighbor. 3.2 Data Transfer Whenever a sender wants to send data packets to the multicast group. by pruning the redundant active neighbors. which receive search neighbor message.1 Redundant Active Neighbors Pruning Redundant active neighbor pruning is done during data delivery phase. as each group member is connected with atleast one active neighbor.

Active neighbor pruning is done throughout data transfer phase.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Each member node is responsible for delivering the received data to all its active neighbors.3. Whenever a group member receives a duplicate data packet.2. if a member node has a redundant active node in the connected group.2. Some of these timeouts are also used to remove expired links between group members. Initially as each member node is connected with multiple (possibly redundant) active neighbors. Both the sender and the receiver of inactive neighbor message remove each other from their corresponding lists of active neighbors and also mark each other as inactive neighbors.2. hence all the group members will be transmitting the received data packets to their respective active neighbors. 3. All the intermediate nodes also mark this link as inactive link. The reception of duplicate data packets helps each member node to prune its redundant active neighbors. 38 . The knowledge of these inactive neighbors is important as they would be used later in the link breakage and recovery phase.1 Maintenance through timeout There are different timeouts which are used to maintain a multicast group. Whenever. a member node receives a duplicate copy of same data packet from one of its active neighbors. Now. Through this message.3 Group Maintenance Multicast group is maintained by all group member using different timeouts and through reception of data packets. 3. it would receive multiple copies of same data packet from different paths. and would not relay any data packets between these group members. it sends an inactive neighbor message to prune the redundant link. it prunes this neighbor by transmitting a convert active to inactive message (CONVERT_ACTIVE_TO_INACTIVE) to it.2. the member node (as well as all the intermediate non member nodes) comes to know that the initiator of the message can be reached via some other path which incurs lesser delay.

2.2. it goes back to neighbor discovery phase and initiates search neighbor message to find any group member near it. Whenever a data packet is received from a group member.3. If an active node has been expired and some group members exist in the membership table as inactive nodes.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 3.2 Maintenance through Data Packets Multicast groups are also maintained through reception of data packets.2.3.3. 3. Replying a search neighbor message also ensures that some other group member has broadcasted search neighbor message within the locality of this node. This means that there is an inactive group member present near this node.1 Member Table Timeout Each member checks its connected group member table after a certain time period. Group connectivity is refreshed by periodic initiation of search neighbor messages.2. 1) It has recently (within active neighbor timeout interval) transmitted such message or has recently replied any search neighbor message. so there is no need to transmit search neighbor message. so there is no need to send any such message. 2) It has recently received message from an inactive node.1. if all active and inactive members have been deleted and the member node is not connected with any group member.2. 3. its entry is deleted from group member table. After member table timeout.1.2. then a convert inactive to active message (CON- VERT_INACTIVE_TO_ACTIVE) is transmitted (using unicast) to most recently seen inactive member. This is done so that this node keeps receiving further data packets. If no message is received from a particular member (either active or inactive). its membership is checked in the group member table and its recent receive time is updated.2 Active Neighbor timeout Richness of group connectivity is checked by each member node periodically. If 39 . A group member does not initiate search neighbor message if any of the following conditions are met.

the membership of group member B is checked. if a duplicate data packet is received from some group member B. if the transmitting member is found as an inactive member (and this data packet is not a duplicate). it indicates that more than one path may exist between two member nodes. and this node moves in the range of existing data transmission path. If B is already inactive. this duplicate data packet is simply discarded. it is added as an inactive node in group membership table. In all the cases when data packets are not discarded. they are also relayed to those group members that are marked as active neighbors in group membership table. However. and have no effect on the group members. which has already been received from some other group member A. If B is active. hence just prunes the redundant path However. 40 . then a convert active to inactive message is send to it. If a duplicate data packet is received from exactly the same group member. If B does not exist in the group membership table and a duplicate data packet is received from B. only the recent received time for this node is updated and nothing else is done. and it is marked as inactive group member. then it is added (as an active member) in the group membership table and a convert inactive to active message is send to it. If a non-duplicate data packet is received from a group member. B upon receiving the message will mark this node as an inactive group member and will not transmit or relay any further data packet to this node.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks the transmitting member is found in the membership table as an active member. Group member upon receiving this message adds its sender in its membership table as an active member and transmits or relay all future data packets to it. In this case a convert active to inactive message is transmitted to this path with a special flag set in it. The later case may occur when transmitting member transmits data for some other member node. which does not exist in group membership table. then the transmitting member is updated as an active member and a convert inactive to active message is transmitted to it through unicast. This special flag is used only to prune this path at intermediate nodes.

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks

and an inactive to active message is sent to it so that B can also add this
node in its group membership table. B is added to enrich group connectivity.

41

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks

4

Simulation and Results

In this chapter, simulation methodology is described along with the performance metrics on which the efficiency of proposed algorithm is measured.
Simulation results are also compared with ODMRP. Comparison of ODMRP
with other multicast protocols is shown at the end.

4.1 Methodology/Simulation Setup
The proposed algorithm is implemented and simulated using GloMoSim network simulator [31] which is developed by the Parallel Computing Laboratory
within the Computer Science Department of University of California, Los Angeles (UCLA). GloMoSim is built using the Parallel Simulation Environment
for Complex Systems (PARSEC), for simulating wireless and wired networks.
The simulation environment models a mobile ad hoc network of 50 mobile
nodes. Total simulation time for each run is 20 minutes. Each mobile node is
uniformly placed in a 1000 meter by 1000 meter terrain. Radio propagation
range for each mobile node would be 250 meters with channel capacity of
2Mbits/sec. Mobile nodes in the simulation environment would move according to “random waypoint” [33] mobility model with pausing. In order to avoid
the initial unstable phenomenon in random waypoint model [34], nodes in the
network are allowed to move for 400 seconds before starting any network traffic. Mobile nodes would be capable of moving with the constant speed of up
to 10 m/s. Each node would choose a destination in the simulation grid and
would move towards it with a constant speed randomly selected at the beginning of the movement. On reaching the destination, the mobile node will
pause for a period of 30 seconds before choosing another destination and repeating the same process.
Ground reflection (or Two-Ray) [41] propagation model is adopted in each
run. In two-ray model, both the directed path and the ground reflected propagation path is considered between a source and the receiver. Standard radio
model is used to transmit and receive packets. For MAC layer, 802.11 is
used and for network layer, IP is used.
42

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks

There are two senders for multicast group, each generating data at a constant
bit rate of 5 packets per second. Size of each data packet is 100 bytes. Each
sender sends data packet for a period of 620 seconds. Total number of group
members in each simulation is 10. All the group members join the group after
390 seconds and leave the group at 1030 seconds into the simulation.
All other simulation parameters will be set to the same values as in the reference [35].

4.2 Performance Metrics
There are several metrics for determining the performance of a protocol in
mobile ad hoc networks [36] [37]. The performance of the proposed algorithm
is analyzed on the following metrics.
A. Data Packet Delivery Ratio: It is defined as the ratio of number of data
packets successfully delivered to the number of data packets supposed
to be received by the receivers of multicast group. It is also known as
delivery ratio. This metric helps in determining the effectiveness of protocol for delivering the data packets.

Large values are better than

small values.
B. Data Forwarding Efficiency: It is defined as the number of data packets transmitted per data packet delivered. It is also known as delivery
efficiency.

The transmitted packets include all transmitted packets

which are transmitted by the original sender of the packet and the retransmission of the same packet by the intermediate nodes. This is
used in determining the bandwidth consumption of a protocol. The larger value indicates that data packet has been retransmitted more times
by intermediate nodes. Small values are better than large values.
C. Protocol Efficiency:

It is defined as the number of control packets

transmitted per data packet delivered. It is also known as relative control packet overhead. This is helpful in measuring the efficiency of control packets for delivering data packets. In this case small values are
better than large values.

43

each experiment is repeated three times with different seeds. is taken from Network Research Group at University of Oregon [38]. The result is obtained by taking the arithmetic mean of the three simulations. Variation in the number of group members: This is tested by varying the number of group members from 2 to 50. B. C. Variation in the number of senders: This is tested by changing the number of senders in a group from 1 to 10. It has been verified through series of experiments that this version of ODMRP performs better than the one which is shipped with GloMoSim. This is done for proposed protocol and also for ODMRP. Variation in the speed of mobile nodes: This is tested by varying the speed of mobile nodes from 1 m/sec to 20 m/sec. To minimize the effect of nodes initial positions and other factors. Variation in data packet generation rate/Network Traffic Load: This is tested by varying the CBR rate at the application layer.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Performance of the proposed algorithm is compared with ODMRP. The experiments are conducted to determine the effect of the following factors on the proposed algorithm: A. The version of ODMRP. which is considered for comparison. 44 . 4. D.3 Simulation Results The proposed algorithm is simulated and tested to investigate its performance under different network conditions.

date packet generation rate Figure 11 shows the effect of data packet generation rate on data delivery ratio for MMRPROT and ODMRP.00 0.85 1. which is very high for these groups. 1.00 8.08 2.00 1.79 1.04 1.00 Data Delivery Ratio 0.14 6.67 1.72 1.32 1.85 3. However.40 0.57 3.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 4.63 2.20 Data Packet Delivery Ratio 1.28 1.00 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 Number of Members MMRPROT ODMRP Figure 12: Data packet delivery ratio vs.3.55 4.27 2.25 5.11 1.56 5.78 2.80 0. delivery ratio of MMRPROT matches with the delivery ratio of ODMRP. for groups of medium and large sizes.20 0.25 1.17 3.80 0.56 1.43 1.06 1.67 MMRPROT 12.50 2. 45 .00 25. The delivery ratio of both MMRPROT and ODMRP decreases significantly for highly loaded networks.16 1.00 16.1 Data Packet Delivery Ratio 1. It can be seen that the delivery ratio of MMRPROT is almost as good as delivery ratio of ODMRP. In this case MMRPROT slightly lag behind ODMRP when the group size is small.61 1.19 1.00 50.33 7.09 1.00 Number of Packets Per Second ODMRP Figure 11: Data packet delivery ratio vs.39 1.92 1.60 0.40 0.33 3.35 1.50 10.47 1.52 1.00 4.22 1.38 2.60 0.94 2.14 1.17 2.02 1.13 2.20 0. group size Effect of group size on data delivery ratio is shown in Figure 12.

It can be seen that delivery ratio of ODMRP is better than the delivery ratio of MMRPROT in this experiment.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 1.20 Data Delivery Ratio 1.00 0.95 0.00 0.75 0. maximum node speed Figure 13 shows the effect of nodes’ maximum speed on data delivery ratio.70 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Max Speed (m/sec) MMRPROT ODMRP Figure 13: Data packet delivery ratio vs.90 0.80 0. 1.10 1.80 0.20 0.05 Data Delivery Ratio 1. number of sources Figure 14 shows the effect of number of senders on data delivery rate.85 0.60 0.00 1 2 3 4 5 6 Number of Senders 7 8 9 MMRPROT 10 ODMRP Figure 14: Data packet delivery ratio vs.40 0. But the performance of ODMRP decreases drastically when number of senders is 46 . It can be seen that in this case data delivery ratio of MMRPROT is almost as good as delivery ratio of ODMRP when the number of senders are less than 8.

00 4.00 0.25 5.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks more than 8.04 1.13 2.47 1.00 0.33 7.92 1.2 Data Forwarding Efficiency 4.11 1.39 1. group size 47 MMRPROT ODMRP .72 1.00 6.09 1.38 2.08 2.00 50.67 1.00 2.00 Data Packet Transmitted per Data Packet Delivered 3.14 6.16 1.50 2.94 2. data forwarding efficiency stays almost the same for low and medium CBR. It can be seen that data forwarding efficiency of ODMRP improves when CBR rate increases.00 2. but it decreases significantly for very highly loaded networks.27 2. 4.33 3. and its delivery ratio does not drop significantly. On the other hand.50 10.85 1.43 1.79 1.50 3.14 1.56 1.25 1.00 16. data packet generation rate Figure 15 shows the effect of data packet generation rate on data forwarding efficiency.85 3. D a ta P a c k e t T ra n s m itte d P e r D a ta P a c k e t D e liv e re d 14.00 1.67 MMRPROT 12.17 3.00 8.3.56 5. number of senders has very little effect on MMRPROT.00 10.57 3.52 1.32 1.00 12.22 1.63 2.35 1.17 2.50 1.00 4. In the case of MMRPROT.78 2.00 25.00 8.02 1.00 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 Number of Receivers Figure 16: Data forwarding efficiency vs.55 4.50 0.50 2.00 Number of Packets Per Second ODMRP Figure 15: Data forwarding efficiency vs.00 1.06 1.28 1.61 1.19 1.

00 6.00 8.50 2.00 1 2 3 4 5 6 Number of Senders 48 7 8 9 MMRPROT 10 ODMRP .00 0.00 2. both MMRPROT and ODMRP shows similar characteris- Data Packet Transmitted per Data Packet Delivered tics.00 4.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Figure 16 shows the effect of group size on data forwarding efficiency. In this case. Both MMRPROT and ODMRP reveal similar behavior with increasing number of group members.00 1 2 3 4 5 6 7 8 9 10 11 12 13 Max Speed (m/sec) 14 15 16 17 18 MMRPROT 19 20 ODMRP Figure 17: Data forwarding efficiency vs.00 1.00 10. but the performance of ODMRP is better than MMRPROT.50 3. 12. but data forwarding efficiency of ODMRP is slightly better than MMRPROT.00 2.50 1. Data Packet Transmitted per Data Packet Delivered 3.50 0. maximum node speed Figure 17 shows the effect of nodes’ maximum speed on data forwarding efficiency.00 0.

33 3.47 1.25 1.35 1. However.39 1. data packet generation rate Figure 19 shows the effect of data packet generation rate on protocol efficiency.00 25.85 3.00 1.00 4.32 1.55 4.38 2.78 2.16 1.33 7.67 12.00 0.27 2.50 MMRPROT 10.09 1.00 16. MMRPROT shows better value for lightly loaded networks. number of sources Figure 18 shows the effect of number of sources on data forwarding efficiency.14 6.17 3.14 1.02 1. In this case. But MMRPROT exhibits better results as the number of sender increases.67 1.00 8.52 1.56 5.61 1.50 0. but when the network load increases.08 2.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Figure 18: Data forwarding efficiency vs. data forwarding efficiency of ODMRP is better than data forwarding efficiency of MMRPROT when there are few nodes which are sending data to the group members.3.22 1. 4.04 1.94 2.00 1.85 1.56 1.72 1.50 2.11 1.06 1.57 3.50 2.28 1.3 Protocol Efficiency Control Packet Transmitted per Data Packet Delivered 3.00 2.17 2.43 1.25 5.19 1. It can also be seen that data forwarding efficiency of ODMRP decreases radically when there are more than 8 nodes sending data to the multicast group. 49 .13 2.50 1. control packet overhead of both ODMRP and MMRPROT is almost the same.92 1.00 Number of Packets Per Second ODMRP Figure 19: Control packet overhead vs.79 1.63 2.00 50. data forwarding efficiency of MMRPROT almost remains the same through this experiment.

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Control Packets Transmitted per Data Packet Delivered 4.60 0.50 2. Protocol efficiency of ODMRP remains almost the same for medium and large sized group. ODMRP has lesser control packet overhead for medium and large groups.00 3. It can be seen that control packet overhead of MMRPROT is better than ODMRP for less mobile networks. but the numbers are slightly better for MMRPROT.00 1 2 3 4 5 6 7 8 9 10 11 12 Max Speed (m/sec) 13 14 15 16 17 18 MMRPROT 19 20 ODMRP Figure 21: Control packet overhead vs.00 1. maximum node speed Figure 21 shows the effect of nodes’ maximum speed on protocol efficiency. but it varies slightly for MMRPROT.30 0. group size Figure 20 shows the effect of group size on protocol efficiency.50 0.50 3. Control Packet Transmitted per Data Packet Delivered 0. 50 .00 2.50 1. However.40 0.70 0. MMRPROT shows lesser overhead.00 0.20 0.00 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 Number of Receivers MMRPROT ODMRP Figure 20: Control packet overhead vs. It can be seen from the figure that MMRPROT is much efficient than ODMRP when there are few group members.10 0.50 0. but for very large groups. Protocol efficiency of ODMRP and MMRPROT is almost the same for networks with medium and highly mobile networks.

4.4 Comparison of ODMRP with other protocols The graphs in the section are taken from [20]. In the case of ODMRP. number of sources Figure 22 shows the effect of number of sources on protocol efficiency. It can be clearly seen that MMRPROT is much more efficient than ODMRP with varying number of sources. 51 . The control packet overhead of MMRPROT decreases with the increase in number of senders.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Control Packet Transmitted per Data Packet Delivered 3. It can be seen from these results that the performance of ODMPR is better than other proposed protocols for multicast routing in mobile ad hoc networks.00 2. just to illustrate the performance of ODMRP as compared to other multicast routing protocol.50 1.00 1.50 0. control packet overhead increases with the number of senders and when the number of senders is more than 8.00 1 2 3 4 5 6 Number of Senders 7 8 9 MMRPROT 10 ODMRP Figure 22: Control packet overhead vs.50 3.00 0. its value increases drastically.50 2.

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Figure: Packet Delivery Ratio as a function of mobility speed Figure: Number of data packets transmitted per data packet delivered 52 .

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Figure: Packet delivery ratio as a function of number of senders Figure: Packet delivery ratio as a function of multicast group size 53 .

An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Figure: Packet delivery ratio with no mobility as a function of network traffic load 54 .

Simulation results have shown that in some scenarios. This makes it feasible to be used in many situations where using ODMRP does not help. its value is 1.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 5 Conclusion and Future Work In this study. indicating that group setup phase for the joining node would complete if it is connected with one group member. the proposed algorithm is better than ODMRP in the cases when there are multiple senders in the multicast group. Group connectivity can also be enriched by optimizing the value of minimum number of reply messages required to complete the group joining phase. However. a new multicast routing algorithm is proposed for mobile ad hoc networks and its performance is compared with ODMRP. where all the mobiles nodes are sending messages to each other. and playing games on mobile systems and handheld devices. This should also help in reducing the redundant data delivery at member nodes. military operations. The performance of proposed algorithm can be further improved by studying the following areas of optimization. Currently. A. Data forwarding efficiency can be improved at each intermediate node by having separate forwarding table for each member and source pair. the performance of proposed algorithm is better than ODMRP. as it will give rise to directional propagation of messages from each source. while in others ODMRP outperforms the proposed algorithm. 55 . The typical scenarios are disaster and rescue missions. B.

[7] Mingyan Liu. University of Maryland. vol. Hauppauge. 2004. [5] Prasant Mohapatra. “AMRoute: Adhoc Multicast Routing Protocol. No. pp. and Jian Li. Eds. 28--33. IEEE Computer Magazine. "Routing and multicast in multihop. Vol. Tsudik. S." in Design and Analysis of Wireless Networks. Chao Gui. LA. “Group Communications in Mobile Ad Hoc Networks. October 1997.-C. 546--551. Rajesh R. [8] L. Gerla. 1192–02. pp. "Efficient Overlay Multicast for Mobile Ad Hoc Networks. Y. 1997. INFOCOM.12." Communications of ACM. New Orleans. Yang and J.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks 6 References [1] Ching-Chuan Chiang and Mario Gerla and Lixia Zhang. 56 . [6] C. Chiang and M. IEEE Sixth International Conference on Computer Communications and Networks (IC3N'97).” Technical Report CSHCN TR 99-1. Xiao. pp. Wu. Mar. Corson. Ji. [4] S. IEEE Wireless Communications and Networking Conference (WCNC'03). and M. Obraczka and G." Proc.45. 2001." in 6th International Conference on Universal Personal Communications Record. New York.: Nova Science Publishers. Pan and Y. "Multicast Over Wireless Networks. 2003.” Special Issue on Ad Hoc Networks. 1999. 2. In Proc.A. “Multicast routing issues in ad hoc networks”. [3] K. [2] Upkar Varshney. Gui and P.. 1998. "Shared Tree Wireless Network Multicast". mobile wireless networks. U. "New technologies of multicasting in MANET. Talpade. February 2004. Oct. December 2002. “Differential Destination Multicast — A MANET Multicast Routing Protocol for Small Groups. of IEEE ICUPC.” Proc.S. [9] C. and Anthony McAuley. Mohapatra.

"Building Dynamic Multicast Trees in Mobile Networks. and L. Garcia-Luna-Aceves and E. Aug. Multicast Communication protocols and applications. Richard. pp. Chiang. Katia Obraczka & Gene Tsudik. [11] E. [12] Ralph Wittmann and Martina Zitterbart. August 1999.S. New Jersey. 2001.” IEEE JSAC." 1999 ICPP Workshop on Group Communication. Schwiebert. "Multicast over wireless mobile ad hoc networks: Present and future directions. M. [19] C. 1. 1. pp.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks [10] C. IEEE Military Communications Conference (MILCOM'99). Wu and Y. 187--196.. and L. vol. [15] F. Perkins. 17. Adelstein. M. [13] Carlos de Morais Cordeiro. Royer and C. "AMRIS: A multicast protocol for ad hoc wireless networks. "Exploring Meshand Tree Based Multicast Routing Protocols for MANETs".A. pages 17-22. no. 1380–94." IEEE Network. pp. pp. 52 – 59. WA. Gerla. “Multicast Operation of the Ad hoc OnDemand Distance Vector Routing Protocol. 1999. Nov. 193–207.” Mobile Networks and Applications 4. 1999.L. Morgan Kaufmann Publishers. no. 1999. U. Agrawal. 57 . “The Core-Assisted Mesh Protocol. Zhang. Seattle.” Michigan State University. [16] Hongbo Zhou. 2. Tay. “A Survey on Routing Protocols in MANETs." Cluster Computing." in Proc. [18] Kumar Viswanath. [14] Mario Gerla. multihop wireless networks. Jan 2003. "Forwarding group multicast protocol (FGMP) for multihop mobile wireless networks. Madruga. Hrishikesh Gossain and Dharma P. Ching-Chuan Chiang and Lixia Zhang. pp. Atlantic City. 1998. “Tree multicast strategies in mobile. March 2003. G. vol. September 1999. 207-218.” Proceedings of IEEE MOBICOM’99. Transaction of Mobile Computing (TMC 2004). E. [17] J. J.

D. Dalal and Robert Metcalfe. October 2002. Ph. pp. McGraw-Hill. 3. [29] B. [24] M. 1998.D. Jan/Feb 2000. no." IEEE Network. Lee. Introduction to Algorithms. pages 37-50. [22] Ewerton Longoni Madruga.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks [20] Sung Ju Lee.” Communications of the ACM. 2-25. vol.” MIPRO'98. William Su.7. E. Routing and multicasting strategies in wireless mobile ad hoc networks. S. No. Boston. [23] Sung-Ju Lee. Request For Comments 3376. Kim. pp.and Inter-domain Multicast Routing Protocols: A Survey and Taxonomy. [26] L. Status: PROPOSED STANDARD. Jan. [28] T. No. no. Cain. 1. "On-demand multicast routing protocol in multihop wireless mobile networks. Fenner. December 2002. 1. 1040-1048. Sahasrabuddhe and B. Internet Group Management Protocol. Version 3. 21. and C. University of California. "Intra. thesis. Deering. [25] Capan. 14. thesis. and Mario Gerla. Ph. Ramalho. and R. "Multicast Routing Algorithms and Protocols: A Tutorial." Mobile Networks and Applications. 58 . 2002. C. vol. I. M. “Reverse path forwarding of broadcast packets. [27] Yogen K. 1995. Kouvelas. L. A. [21] S. 2000. vol. “Neighbor Supporting Ad hoc Multicast Routing Protocol. Multicasting in Ad-hoc networks." IEEE Communications Surveys and Tutorials. The MIT Press. Sept.Mar. University of California. Rivest. 12.” Proceedings of First Annual Workshop on Mobile Ad Hoc Network & Computing. . B. Vol. H. MobiHOC 2000.. Thyagarajan.6. 90-102. Mukherjee. 1978. “Survey of Different Multicast Routing Protocols. August 2000. 2000. Los Angeles. Leiserson. pp. Cormen.

No. No. pp. Bagrodia. vol.” Communications of the ACM. 2003. R. pp.” Proceedings of ACM/IEEE MOBICON’98. Macker.” IEEE Journal on Selected Areas in Communications (JSAC). “MBone: The Multicast Backbone. [31] X.html 59 . [34] J. Crowcraft.nrg. Gerla. "Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations.” Wireless Communication & Mobile Computing (WCMC). 1998. 565-574. and M. M. and B. Camp. 2. Vol. 483-502. D. Diot. pp. San Francisco.. Mar. Jan. Davies. 1994. Oct.J. vol. Eriksson. Workshop Parallel and Distributed Simulation. J. “Random Waypoint Considered Harmful. W. April 1997. Gerla. “Multipoint communications: A survey of protocols. 5. Jetcheva. Hsu. pp. pp. J. Bagrodia. Mar. [35] J.-Apr. and R. “A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols.edu/adhoc-net/index. pp. 2002. Maltz. [32] H. Y. 8. 54-60. functions and mechanism.S.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks [30] C. 1999.” In Proceedings of IEEE INFOCOM 2000. Su. “A Performance Comparison Study of Ad Hoc Wireless Multicast Protocols. and V. 37. http://www. IEEE Infocom’03. [36] S.uoregon.” Proc. and J. D." in Proc. [38] University of Oregon. Routing in Mobile Ad Hoc Networks. no.cs. 277-290. “A Survey of Mobility Models for Ad Hoc Network Research. Zeng. Dabbous. Yoon. Johnson. [37] M. 3. M." Request For Comments 2501. [33] T. Corson and J. 85-97. 2000. Aug. "GloMoSim: A library for parallel simulation of large-scale wireless networks. 154--161. CA. Liu. Lee. 1998. Noble. and J. Broch. Boleng. Hu. Internet Engineering Task Force. 15. W.

and S. Das. Rappaport. Papadimitriou and A. Ad Hoc On-Demand Distance Vector (AODV) Routing. Wireless Networks. [41] T. I. 2002. Obaidat. 60 . S. Nicopolitidis. Belding-Royer.. E. 2003. S. July 2003. Perkins. IETF Request For Comments 3561. Computer Networks. Prentice Hall.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks [39] P. Tanenbaum. [42] C. Pomportsis. Wireless Communications: Principles and Practices. Prentice Hall. M. Fourth Edition. M. Ltd. 1996. S. E. G. [40] A. John Willey & Sons.

A group MMRPROT_MIN_CONNECTED_GROUP_MEM- member would go into search neighbor phase 1 and keeps expanding its search radius until BERS_REQUIRED this number is satisfied Timeout interval for active neighbors.Protocol Parameters and Values Parameter DEFAULT_RADIUS Value Description Default radius for each member node to send 3 search neighbor messages Minimum number of group members which must be connected with each node. Refer to "Active Neighbor Timeout" section in protocol description for more details Timeout after which membership table for a MMRPROT_GROUP_MEMB ER_TABLE_TIMEOUT_INTE 3 * SECOND RVAL Timeout after which group routing table will be 8 * SECOND RVAL MMRPROT_MAX_SEARCH_ NEIGHBOR_TRIES Refer to "Member Table Timeout" section in protocol description for more details MMRPROT_GROUP_ROUTI NG_TABLE_TIMEOUT_INTE group would be checked for expired links. This timeout occurs at intermediate (nonmember) nodes Maximum number of tries for search neighbor message before sending a broadcast mes- 9 sage to the network 61 . After this interval richness of group connectivity is MMRPROT_ACTIVE_NEIGH BOR_TIMEOUT_INTERVAL 3 * SECOND checked and if required a search neighbor message is sent.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Appendix A . checked to remove any expired entries in it.

Connected Group Member Table Field Description memberAddr Address of member node nextHop next hop address to send message to member node isActive Indicates the state of the link between the member nodes. This is required for checking the timeout and to delete the invalids entries 62 .An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Appendix B .Group Membership Table at Member Nodes Field Description grpAddr Multicast group address searchNeighborTries Keep track of sending search neighbor tries setupStartTime Time when first search neighbor message is sent Time when search neighbor reply message is re- setupEndTime ceived for at least minimum required node groupJointime Time when node joins the group groupLeaveTime Time when node leaves the group lastSearchNeighborSentTime lastSearchNeighborSeenTime connectedMemberTable Time when last search neighbor reply message was initiated for this group Last search neighbor seen time for this group Address of group members connected with this node. Indicates the time when last message was received from this lastReceivedTime member node.

It is used to remove the expired groups List of group members between them this node is nextHopsTable relaying message. It is used to remove the expired entries Active/Inactive Table Field Description srcAddr Member address destinationAddr Member Address srcToDestActive If this link is active from source to destination destToSrcActive If this link is active from destination to source lastUsedTime Time when this entry is used. and their corresponding next hops activeInactiveTable List of active/inactive connections for member pairs Next Hop Table Field Description destinationAddr Member address nextHop next hop address to send message to member node lastUsedTime Time when this entry is used.Group Routing Table at Intermediate Nodes Field Description grpAddr Multicast group address Time when last search neighbor message was proc- lastSearchNeighborSeenTime essed for this group.An Efficient Distributed Multicast Algorithm for Mobile Ad Hoc Networks Appendix C . It is used to remove the expired entries 63 .