Multicast Communication Zig Bee Specification by YiChen Lu
Multicast Communication Zig. Bee Specification by Yi-Chen Lu and Yu-Chee Tseng NCTU 2008/05/01 1
Outline n n n Introduction Upon Receipt of A Multicast Frame from The Next Higher Layer Member Mode Multicast q q n Non-Member Mode Multicast q q n Initiating A ‘Member Mode’ Multicast Upon Receipt of A Member Mode Multicast Frame Initiating A ‘Non-Member Mode’ Multicast Upon Receipt of A Non-member Mode Multicast Frame Research Issues 2
Introduction n n Multicast addressing is accomplished by 16 -bit multicast group IDs. A multicast group is a collection of nodes q q n Registered under the same multicast group ID. Physically separated by a hop distance of no more than Max. Non. Member. Radius. Each node has a group ID Table q q Contains a set of 16 -bit group identifiers to which the device belongs. nwk. Group. IDTable is an attribute of the NIB (Network Information Base). Attribute ID Type Read Only Range nwk. Group. IDTabl e 0 x 99 Set No Description Variable The set of group identifiers, in the range 0 x 0000 -0 xffff, for groups of which this device is a member. Default Null Set 3
Introduction (Cont. ) n ‘Member Mode’ q q n The original message was created by a member of the group. Relayed by means of broadcasts. ‘Non-Member Mode’ q q q The original message was created by a nonmember of the group. Relayed by means of unicasts towards a group member. Once reaching any member, switch to ‘Member Mode’. 4
Basic Idea of Zig. Bee Multicast M N N N M N Non-member mode (unicast) Member mode (k-hop broadcast) 5
Example N Member mode multicast broadcast N M N broadcast N M N 6
Example Non-Member mode multicast unicast N N Switch to member mode and broadcast N M M M N M 7
Upon Receipt of A Multicast Frame from the Higher Layer NLDE-DATA. request is received from its next higher level and the Dst. Addr. Mode is 0 x 01. An entry exists in the nwk. Group. IDTable? n 0 x 01 implies this is Group ID, not address n q q Yes : Initiating a Member Mode Multicast No : Initiating a Nonmember Mode Multicast 8
Member Mode Multicast 9
Initiating A Member Mode Multicast n n q q Set the multicast mode sub-field of the multicast control field to 0 x 01 (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. 0 x 01 10
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. n q q q 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). 11
Upon Receipt of A Member Mode Multicast Frame (Cont. ) An entry exists in the nwk. Group. IDTable? n Yes : (I am a member!) q n n Pass the message to the next higher layer. Set the multicast mode sub-field of the multicast control field to 0 x 01 (member mode). Set the value of the Nonmember. Radius sub-field to the value of the Max. Nonmember. Radius sub-field in the multicast control field. Re-broadcast the frame. No : (I am not a member!) q n Examine the frame's multicast Nonmember. Radius field. q q 0 discard the frame along with the newly added BTR. Otherwise decrease Nonmember. Radius field by 1 and rebroadcast the frame. 12
Upon Receipt of A Member Mode Multicast Frame (Cont. ) n n Each member mode multicast message shall be transmitted nwk. Max. Broadcast. Retries times and delay a period of nwk. Passive. Ack. Timeout seconds between retransmissions. The NWK layer issues an MCPSDATA. request primitive to the MAC sub-layer. q q Dst. Addr. Mode parameter set to 0 x 02 (16 -bit network address). Dst. Addr parameter set to 0 xffff. 13
Example n n Max. Nonmember. Radius = 3 Current Nonmember. Radius = 1 • Entry isn’t found in nwk. Group. IDTable • Nonmember. Radius = 0 M • Decrease Nonmember. Radius to 0 N A member mode multicast frame with Nonmember. Raduis = 1 • Entry is found in nwk. Group. IDTable • Set Nonmember. Radius to Max. Nonmember. Radius (3) • Nonmember. Radius = 0 N • Entry isn’t found in nwk. Group. IDTable • Discard the frame 14
Non-Member Mode Multicast 15
Initiate a Non-Member Mode Multicast n n Set the multicast mode sub-field of the multicast control field to 0 x 00 (non-member mode). An entry corresponding to the Group. ID destination in the routing table? q Yes : examine the entry's status field (a route exists!) n n n q 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!) n Discover. Route parameter is 0 x 00 : q q n Discard the frame Issue the NLDE-DATA. confirm primitive with a Status value of ROUTE_DISCOVERY_FAILED. Discover. Route parameter is 0 x 01 : q Initiate route discovery 16
Upon Receipt of A Non-member Mode Multicast Frame n An entry exists in the nwk. Group. IDTable? q Yes : (I am a member!) n n q Set multicast control field to 0 x 01 (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 Group. ID destination n n 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. q q q 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. § Dst. Addr. Mode set to 0 x 02 (16 -bit network address) § Dst. Addr parameter set to the next hop as determined from the matching routing table entry. 17
Example • Entry isn’t found in nwk. Group. IDTable • Route to Group. ID destination is available • Entry is found in nwk. Group. IDTable • Forward to the next hop according to the routing table • Switch to member mode multicast unicast N N A non-meber mode multicast frame broadcast M • Entry isn’t found in nwk. Group. IDTable • Route to Group. ID destination is available • Forward to the next hop according to the routing table 18
Summary: Research Issues n Some unspecified parameters. q q q n Max. Nonmember. Radius nwk. Max. Broadcast. Retries nwk. Passive. Ack. Timeout Membership maintenance q Join/Leave a multicast group. 19
- Slides: 19