SUPPORTING EFFICIENT AND SCALABLE MULTICASTING OVER MOBILE AD HOC NETWORKS X.Xiang X.Wang Y.Yang
Introduction Multicasting: an efficient way to realize group communications(one to many or many to many). Conventional multicast protocols are either tree based or mesh based. These conventional protocols incur huge overhead for route searching, group membership management, creation and maintenance of tree/mesh structure over dynamic MANETS
Geographic routing In the resent years, geographic routing has been proposed for unicasting in MANETS. Existing geographic routing protocols assume that the nodes are aware of their own positions. A source uses some type of location service to obtain the position of destination. Source intermediate nodes destination
Geographic routing Intermediate nodes implements a greedy forwarding so as to make the greatest geographic progress. Positions of one hop neighbors are learned from periodic beaconing signals. In order to provide a more reliable multicasting and reduce the topology maintenance overhead, position information is a good choice to guide multicasting. (but is it easy to implement?)
Challenges in implementing geographic routing for multicasting The header overhead. Efficient management of large groups. Obtaining positions in large networks. Building routing paths in a huge and distributed networks.
Efficient geographic multicast protocol(egmp) Includes a zone based approach to efficiently handle the group membership management. Zone structure is virtual and there exists a reference origin. A two-tier virtual zone based structure. In the lower level, nodes are self organized into zones w.r.t the reference origin. In the upper layer, a leader represents the zone for joining/leaving the multicast group. As a result networkwide multicast tree is built and location information is integrated with the design.
EGMP The tree generated is bidirectional i.e. both upstream and downstream. The issues to be addressed: zone management, packet forwarding. EGMP assumes that every node is aware of its own position through some localization schemes.
Terms in EGMP Zone and zone size(r=r t / 2). Zone id( x a r,y b ). Where (a,b) is reference origin. r Zone center Zone leader Tree zone Root zone Zone depth (With the introduction of zones there is no need to keep track of individual node movements but only the membership changes in the zones)
Zone structure and multicast example
Neighbor table generation(for node 18) nodeid position flag Zone ID 16 X 16,Y 16 1 (1,1) 1 X 1,Y 1 0 (1,1) 7 X 7,Y 7 1 (0,1) 13 X 13,Y 13 1 (1,2)
Leader election A leader is elected through cooperation of nodes and maintained consistently. A zone leader sends out a beacon signal for every I min interval and a non leader node for every I max. A new node entering the network checks its neighbor table to determine zone leader under different circumstances -no nodes in the same zone -flags of all nodes unset - flags of more than one node are set
Zone supported geographic forwarding Communication process includes intra zone and inter zone transmissions. Only one transmission is required for intra zone communication and inter zone communication needs a network tier forwarding. In EGMP, location service is integrated with zone based membership management and hence no need for an external location server. EGMP implements a zone forwarding mode to tackle the failure of the underlying geographic forwarding.
Multicast tree construction In EGMP, the tree is formed in the granularity of zone with the guidance of location information. This enables -a quick path finding -quick group joining/leaving (in the following slides, G represents multicast group, S represents a source and M represents a member)
Multicast session initiation and termination S announces the existence of G by flooding message NEW_SESSION( G, zone ID). If M is interested, it joins G. After joining G, M keeps a table with entries (G, root zone ID, isacked). When a zone leader receives NEW_SESSION, it maintains a multicast table. To end a session G, S floods a message END_SESSION(G).
Multicast table of a zone leader(node 16) Group ID G Root zone ID (2,2) Upstream zone ID (2,2) Downstream zone list (0,1),(0,0) Downstream node list 1
Multicast group joining When M wants to join G, if it is not a leader, it sends a JOIN_REQ( M, Pos M, G, {M old }) to its zone leader. To the zone leader, the request may be from -a member from the same zone(in this case the member is added to the downstream) -a member from another zone(in this case decision is based upon the depth of the other zone )
Multicast group joining The leader checks the root zone ID and the up stream ID. If the upstream ID is unset, the leader sends JOIN_REQ toward s the root zone; otherwise, it sends a JOIN_REPLY to the source of JOIN_REQ. A member receiving JOIN_REPLY -set flag unacked A leader receiving JOIN_REPLY -send JOIN_REPLY to downstream
Multicast group leaving A member moving out -sends LEAVE(M,G) to zone leader A zone leader moving out -hand over the leadership Besides explicit removing of a branch through explicit LEAVE, if there is no beacon for a time 2 I max, that node is removed.
Multicast packet delivery: packet sending from source After the multicast tree is constructed, all the sources could send packets to the tree. A source first checks its isacked flag. If the source is a member of the multicast group, it sends its packets to the zone leader. The zone leader receives multicast packets, it forwards the packets to its upstream zone and all its downstream nodes and zones except the incoming one. In case of S moves to a new zone and in order to reduce the impact of joining delay, it sends packets directly to root zone.
Multicast data forwarding When node N has multicast packet to reach destinations D1,D2,D3.. N decides the next hop node toward each destination. N inserts (N1:D1,D2;N2:D3 ) and broadcasts Upon receiving packet, if the the neighbor nodes are the one hop nodes towards destination, they would implement the same strategy to forward packet; otherwise ignore.
Multicast route maintenance and : moving between different zones There is a much lower overhead in maintaining the zone based tree. THE TREE CONSTRUCTION IS GUIDED BY THE LOCATION INFORMATION. A leader - must hand over the leadership -sends the packets to new leader during hand over process When a node joins a new zone, to reduce the packet loss during joining, it unicasts the old leader of its position. LEAVE message is sent only after the joining process is complete.
Dealing with empty zones The probability that a zone is empty is P=e pr2.where p is the node density. For r=150m, p=70 nodes/km 2,P=.207 For r=150m,p=30 nodes/km 2,P=.509 These results infer that it is critical to address the empty zone problem.
When a leader is moving out and the zone is becoming empty -if the to be empty zone is a non root zone, the leader sends the multicast table to the upstream zone. The upstream zone sends REQ_REPLY to the downstream zones and removes the leaving empty zone from list. -if the to be emptied node is a root node, choose one of the closest neighbors as the new root zone.
Handling multiple clusters per zone Occurs due to severe shadowing/fading or hill/building preventing the radio communication between nodes in a zone. When multiple nodes send JOIN_REQ to upstream zone leader, the zone leader becomes aware of the situation and forwards packets accordingly. When a leader of a cluster receives a message addressed to its zone even though it has not sent a JOIN_REQ, it would simply send a LEAVE to upstream. Hence by receiving messages from multiple leaders, upstream leader becomes aware of zone partition.
Tree branch maintenance and route optimization To detect disconnections, if there are no multicast packets to deliver in a period I active, the leader of a tree zone sends ACTIVE message with an interval I active. If a node or a tree zone fails to receive ACTIVE message in an interval of 2 I active, the node or tree zone assumes it lost connections and starts rejoining process. In case where a leader receives duplicate packets from the various upstream zones, the one closer to the root node is kept as upstream zone.
Cost analysis Cost for zone building and geographic routing cost unicast 1 I min =O(1) Cost for tree construction =O(1) Cost tree = cost init_end +cost join +cost reply +cost leave Cost for tree maintenance = πr 4 Total cost of protocol= cost tree +cost maintain +cost unicast =O(1)
Performance evaluation Packet delivery ratio: the ratio of no. of packets received to the no. of expected packets Normalized control overhead: the total number of control message transmission divided by the total no. of received data packets. Normalized data packet transmission overhead: ratio of total no. of data packet transmissions and the no. of received data packets Joining delay: the avg. time interval between a member joining the group and its first receiving of the data packet from the group.
conclusion The scalability of EGMP is achieved through two-tier virtual zone based structure. A zone based bidirectional multicast tree is built which is guided by location information. The position information is used to guide zone structure building, multicast tree structure, and multicast packet forwarding. EGMP has a high packet delivery ratio, and low control overhead over other protocols.