05.01.2013 Views

Ad Hoc Networks : Technologies and Protocols - University of ...

Ad Hoc Networks : Technologies and Protocols - University of ...

Ad Hoc Networks : Technologies and Protocols - University of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Multicasting <strong>Protocols</strong> 105<br />

A member <strong>of</strong> the mgraph issues a leave message only when the following<br />

two conditions hold. (1) It does not have any local members in its domain, <strong>and</strong><br />

(2) its child list is empty, A leaving member needs to issue the message to all<br />

its parents. 1 A parent that receives the leave message from one <strong>of</strong> its children<br />

deletes the corresponding child’s ID from its child list.<br />

In some cases, an mgraph member can issue a reconstruction request to the<br />

other members. In order to prevent loop formations during this process, the<br />

JoinID field at each node is used in the following manner. A member issues a<br />

reconstruction request only when it looses connectivity with all its neighboring<br />

mgraph members who has smaller join times, i.e., JoinID values. A member<br />

responds to a reconstruction request only if its join time is less than the join<br />

time <strong>of</strong> the originator <strong>of</strong> the request.<br />

4.3.4 Stateless Multicasting<br />

In the stateless multicast protocols, the forwarding states are included in<br />

packet header, <strong>and</strong> no protocol state is maintained at any nodes except for<br />

the source node. From the information included in the packet headers, any<br />

intermediate node knows how to forward or duplicate the packet. Although<br />

packing routing information together with data traffic will enlarge data packet<br />

size, it reduces the total number <strong>of</strong> control packets generated by the protocol.<br />

Besides, when the group is idle, there is no control overhead.<br />

4.3.4.1 Differential Destination Multicast (DDM). DDM [9] is intended<br />

for small group multicast. It not only adopts the stateless approach, but<br />

may also operate in a s<strong>of</strong>t state mode. In this mode, intermediate nodes cache<br />

the forwarding states read from the packet header. The protocol no longer<br />

needs to list all destinations in every data packet header. When changes occur,<br />

an upstream node only needs to inform its downstream neighbors regarding the<br />

difference in destination forwarding since the last packet.<br />

In DDM, the multicast data packets contain a payload <strong>and</strong> a DDM header,<br />

which is composed <strong>of</strong> a list <strong>of</strong> DDM blocks. Each DDM block is constructed<br />

for a particular downstream neighbor. Each DDM block contains the intended<br />

receiver, the DDM block type, the block sequence number <strong>and</strong> some other fields<br />

depending on the type. There are three types <strong>of</strong> the DDM blocks: Empty (E)<br />

blocks, Refresh (R) blocks <strong>and</strong> Difference (D) blocks. Except for the E block,<br />

both R block <strong>and</strong> D block have a destination list L. When used in broadcast media<br />

networks, DDM blocks for different downstream neighbors may be aggregated<br />

together into the header <strong>of</strong> one data packet. When the intended neighbors<br />

1 Since a mgraph is a mesh structure, each member can have multiple parents. The hierarchy is derived from<br />

the JoinID field <strong>of</strong> each node.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!