Chapter 5 (Supplementary) ZigBee Multicast - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Chapter 5 (Supplementary) ZigBee Multicast

Description:

A multicast group is a collection of nodes Registered under the ... with a Status value of BT_TABLE ... MAC Protocol for Wireless Sensor Networks ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 20
Provided by: XiaoMa
Category:

less

Transcript and Presenter's Notes

Title: Chapter 5 (Supplementary) ZigBee Multicast


1
Chapter 5 (Supplementary)ZigBee Multicast
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).

Attribute ID Type Read Only Range Description Default
nwkGroupIDTable 0x99 Set No Variable The set of group identifiers, in the range 0x0000-0xffff, for groups of which this device is a member. Null Set
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
M
N
N
broadcast
M
N
broadcast
broadcast
M
N
N
7
Example
Non-Member mode multicast
M
Switch to member mode and broadcast
N
unicast
unicast
M
M
N
N
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 nwkMaxBroadcastRetries times and
    delay a period of nwkPassiveAckTimeout seconds
    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 isnt found in nwkGroupIDTable
  • Decrease NonmemberRadius to 0
  • NonmemberRadius 0
  • Entry is found in nwkGroupIDTable
  • Set NonmemberRadius to MaxNonmemberRadius (3)

M
N
  • NonmemberRadius 0
  • Entry isnt found in nwkGroupIDTable
  • Discard the frame

A member mode multicast frame with
NonmemberRaduis 1
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 isnt 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
M
N
N
  • Entry isnt 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.
Write a Comment
User Comments (0)
About PowerShow.com