Ad Hoc Networks : Technologies and Protocols - University of ...
Ad Hoc Networks : Technologies and Protocols - University of ...
Ad Hoc Networks : Technologies and Protocols - University of ...
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.