1 / 19

Multicast Communication ZigBee Specification by Yi-Chen Lu and Yu-Chee Tseng NCTU

This document outlines the specification of multicast communication in ZigBee networks, covering member and non-member modes, addressing, message relay methods, research issues, and example scenarios.

ipuente
Download Presentation

Multicast Communication ZigBee Specification by Yi-Chen Lu and Yu-Chee Tseng NCTU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multicast CommunicationZigBee SpecificationbyYi-Chen Luand Yu-Chee TsengNCTU 2008/05/01

  2. Outline • Introduction • Upon Receipt of A Multicast Frame from The Next Higher Layer • Member Mode Multicast • Initiating A ‘Member Mode’ Multicast • Upon Receipt of A Member Mode Multicast Frame • Non-Member Mode Multicast • Initiating A ‘Non-Member Mode’ Multicast • Upon Receipt of A Non-member Mode Multicast Frame • Research Issues

  3. Introduction • Multicast addressing is accomplished by 16-bit multicast group IDs. • A multicast group is a collection of nodes • Registered under the same multicast group ID. • Physically separated by a hop distance of no more than MaxNonMemberRadius. • Each node has a group ID Table • Contains a set of 16-bit group identifiers to which the device belongs. • nwkGroupIDTable is an attribute of the NIB (Network Information Base).

  4. Introduction (Cont.) • ‘Member Mode’ • The original message was created by a member of the group. • Relayed by means of broadcasts. • ‘Non-Member Mode’ • The original message was created by a non-member of the group. • Relayed by means of unicasts towards a group member. • Once reaching any member, switch to ‘Member Mode’.

  5. Basic Idea of ZigBee Multicast M N N M N M N N M N N N M N N Non-member mode (unicast) Member mode (k-hop broadcast) Member mode (k-hop broadcast)

  6. Example N broadcast broadcast Member mode multicast N M N broadcast M N broadcast broadcast N M N

  7. Example Non-Member mode multicast M Switch to member mode and broadcast N unicast unicast M N N M N M N M

  8. Upon Receipt of A Multicast Frame from the Higher Layer • NLDE-DATA.request is received from its next higher level and the DstAddrMode is 0x01. • An entry exists in the nwkGroupIDTable? • Yes : Initiating a Member Mode Multicast • No : Initiating a Non-member Mode Multicast 0x01 implies this is Group ID, not address

  9. Member Mode Multicast

  10. Initiating A Member Mode Multicast • Set the multicast mode sub-field of the multicast control field to 0x01 (member mode). • If the BTT (Broadcast Transmission Table) is full and contains no expired entries. • The message shall not be sent. • Issue the NLDE-DATA.confirm primitive with a Status value of BT_TABLE_FULL. • If the BTT is not full or contains an expired BTR (Broadcast Transmission Record) • Create a new BTR. • Transmit the message. 0x01

  11. Upon Receipt of A Member Mode Multicast Frame • Compare the sequence number and the source address of the multicast frame with the records in its BTT. • If the device has a BTR of this multicast frame  discard the frame (duplicate message!) • If no record is found and the BTT is full and contains no expired entries  discard the frame (buffer full!) • If no record is found and the BTT is not full or contains an expired BTR  (OK!) create a new BTR, then continue processing (see the next page).

  12. Upon Receipt of A Member Mode Multicast Frame (Cont.) • An entry exists in the nwkGroupIDTable? • Yes : (I am a member!) • Pass the message to the next higher layer. • Set the multicast mode sub-field of the multicast control field to 0x01 (member mode). • Set the value of the NonmemberRadius sub-field to the value of the MaxNonmemberRadius sub-field in the multicast control field. • Re-broadcast the frame. • No : (I am not a member!) • Examine the frame's multicast NonmemberRadius field. • 0  discard the frame along with the newly added BTR. • Otherwise  decrease NonmemberRadius field by 1 and re-broadcast the frame.

  13. Upon Receipt of A Member Mode Multicast Frame (Cont.) • Each member mode multicast message shall be transmitted nwkMaxBroadcastRetriestimes and delay a period of nwkPassiveAckTimeoutseconds between retransmissions. • The NWK layer issues an MCPSDATA.request primitive to the MAC sub-layer. • DstAddrMode parameter set to 0x02 (16-bit network address). • DstAddr parameter set to 0xffff.

  14. Example • MaxNonmemberRadius = 3 • Current NonmemberRadius = 1 • NonmemberRadius = 1 • Entry isn’t found in nwkGroupIDTable • Decrease NonmemberRadius to 0 • NonmemberRadius = 0 • Entry is found in nwkGroupIDTable • Set NonmemberRadius to MaxNonmemberRadius (3) M N A member mode multicast frame with NonmemberRaduis = 1 • NonmemberRadius = 0 • Entry isn’t found in nwkGroupIDTable • Discard the frame N

  15. Non-Member Mode Multicast

  16. Initiate a Non-Member Mode Multicast • Set the multicast mode sub-field of the multicast control field to 0x00 (non-member mode). • An entry corresponding to the GroupID destination in the routing table? • Yes : examine the entry's status field (a route exists!) • If the status is ACTIVE, then transmit the frame. • If the status is VALIDATION_UNDERWAY, then change the status to ACTIVE and transmit the frame. • Issue the NLDEDATA.confirm primitive with the Status value received from the MCPSDATA.confirm primitive. • No : (no route exists!) • DiscoverRoute parameter is 0x00 : • Discard the frame • Issue the NLDE-DATA.confirm primitive with a Status value of ROUTE_DISCOVERY_FAILED. • DiscoverRoute parameter is 0x01 : • Initiate route discovery

  17. Upon Receipt of A Non-member Mode Multicast Frame • An entry exists in the nwkGroupIDTable? • Yes : (I am a member!) • Set multicast control field to 0x01 (member mode). • The message shall be processed as if it had been received as a member mode multicast. • No : (I am not a member!) check its routing table for an entry corresponding to the GroupID destination • No such entry  discard the frame. (There would be a record in routing table if we had initiated a non-member mode multicast frame and we had tried to find a route) • Otherwise  examine the entry's status field. • If the status is ACTIVE, then the device shall (re)transmit the frame. • If the status is VALIDATION_UNDERWAY, then the status shall be changed to ACTIVE and the device shall (re)transmit the frame. • Issues an MCPSDATA.request primitive to the MAC sublayer. • DstAddrMode set to 0x02 (16-bit network address) • DstAddr parameter set to the next hop as determined from the matching routing table entry.

  18. Example • Entry isn’t found in nwkGroupIDTable • Route to GroupID destination is available • Forward to the next hop according to the routing table • Entry is found in nwkGroupIDTable • Switch to member mode multicast broadcast unicast unicast N N M • Entry isn’t found in nwkGroupIDTable • Route to GroupID destination is available • Forward to the next hop according to the routing table A non-meber mode multicast frame

  19. Summary: Research Issues • Some unspecified parameters. • MaxNonmemberRadius • nwkMaxBroadcastRetries • nwkPassiveAckTimeout • Membership maintenance • Join/Leave a multicast group.

More Related