1 / 31

Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs)

Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Layer 2 Routing Final Proposal to Call for Contributions Date Submitted: 13 July, 2014 Source: Seong-Soon Joo, In-Hwan Lee, Hyo-Chan Bang Company: ETRI

Download Presentation

Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs)

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. Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Layer 2 Routing Final Proposal to Call for Contributions Date Submitted: 13 July, 2014 Source: Seong-Soon Joo, In-Hwan Lee, Hyo-Chan Bang Company: ETRI Address: 161 Gajeong-dong, Yuseong-gu, Daejeon, KOREA Voice: +82-42-860-6333, FAX: +82-42-860-4197, E-Mail: ssjoo@etri.re.kr Re: Abstract: As a final contribution proposal for the IEEE 802.15 TG10 standards, the layer 2 routing specification is proposed. Purpose: Response to the IEEE802.15 TG10 call for contribution Notice: This document has been prepared to assist the IEEE P802.15. It is offered as a basis for discussion and is not binding on the contributing individual(s) or organization(s). The material in this document is subject to change in form and content after further study. The contributor(s) reserve(s) the right to add, amend or withdraw material contained herein. Release: The contributor acknowledges and accepts that this contribution becomes the property of IEEE and may be made publicly available by P802.15.

  2. Layer 2 Routing Final Proposal to Call for Contributions Seong-Soon Joo*, In-Hwan Lee, Hyo-Chan Bang ETRI

  3. L2R Requirements (I) • Mesh Topology Discovery • external stimulus • changes in the presence of devices • changes in connectivity between devices • changes in the quality of the links • relearn the network topology • including the status and quality of links • Mesh Routing Protocol • protocol for dynamic auto-configuration of MAC-layer data delivery paths between devices • support proactive or reactive route discovery • support the use of sleeping end and sleeping routing devices • the route discovery or route maintenance process optimize the path of a route based on a metric or combination of metrics • routing metrics • radio ware: utilized include data rate, packet size, signal strength, link quality. • device aware: Energy constraints, Memory constraints • network aware • bridge aware • Extensible Mesh Routing Architecture • alternative path-selection metrics and/or routing algorithms • multiple path-selection metrics or routings algorithms • extensible to cope with the introduction of other metrics in the future • application or other higher layer to determine the path selection metrics or routing algorithms in network formation process

  4. L2R Requirements (II) • Data Delivery in Mesh • unicast/broadcast/multicast • change operating frequencies • QoS • network acknowledgment of a multi-hop transmission • security • Entry and Exit points • select the most appropriate entry/exit point for their communications with entities outside the network • If unable to communicate with an entity outside the network, it shall be possible to find an alternative entry/exit point • use different entry/exit points to communicate with different external entities • Requirements from Network Layer • provide transparent link to network layer • support multiple grades of link • low latency of converging from

  5. Link Network PAN coordinator • transparent link to network layer • routed link-path from a source to a destination device • constituted of links and virtual links • virtual links: established between two devices multi-hop apart • multi-hop link connection through the routers which perform frame relaying instead of routed forwarding • performed in two stages: link connection and link network routing router 1 router 4 router 6 L2R router 3 L2R router 2 router 5 device 2 device 7 device 8 device 4 device 1 device 5 device 6 device 3

  6. Link Network Reference Architecture • layered architecture • application/IP network • L2R network • MAC/PHY • Two sublayers for L2R network • MAC Link Control sublayer • reserve a resource for a link and virtual link • establish & maintain link and virtual link • MAC Link Network sublayer • maintain link-path routing information • manage link network • sublayer peer protocol • encapsulated in information element • L2R IE : header IE • L2R payload IE : payload IE Application Network MLN-SAP MAC Link Network (MLN) MLC-SAP MAC Link Control (MLC) MCPS-SAP MLME-SAP IEEE 802.15.4 MAC IEEE 802.15.4 PHY L2RN

  7. L2R Link Network Features • start a PAN • PAN coordinator scans, selects a PAN ID • start to transmit beacon • when receiving association request, assign a short address • setup a default link • device scans, selects coordinator based on distance to PAN coord, radio metric (RSSI) • connect on a default link, CAP, or access a media with CSMA-CA • join a PAN • send association request as a cluster root or not • get response from PAN coordinator with cluster matrix • initialize route table • maintain layer 2 routing • maintain cluster matrix as PAN coordinator, cluster root router, router • maintain route table • setup virtual links • setup a shared link or a dedicated link on two ends multi-hops apart • maintain link and link-path • maintain link table • maintain link-path table

  8. L2R Link and Virtual Link • establishing a link or virtual link • default link • scan parent/peer • associate request command on CAP slot • receive associate response command on CAP slot, then default link is established • in non-beacon network, default link is established • shared/dedicated link or virtual • receive link establish request from higher layer • find link or virtual link, associate to the destination device with reserving the link resource • receive associate response command from the destination device, then link or virtual link is established • maintain a link or virtual link • primitives for link • MLC-LINK-SETUP.request/indication/response/confirm • link type (shared/dedicated,uni/bi), destination address, number of slots • MLC-LINK-RELEASE.request/indication/response/confirm • source address, destination address, link ID • MLC-MANAGEMENT.request/confirm • management type (HELLO/RESET), link ID

  9. Setup Virtual Link over DSME MAC • as an example of dedicated virtual link • a virtual link over DSME MAC • a series of links that connects two devices by switching the time slots child 2 my beacon child 1 tier 1 coord inner inward shared link inner CAP link inner inward dedicated link my beacon inner outward shared link child 1 neighbor parent tier 2 router outer inward shared link outer CAP link inner inward dedicated link outer outward shared link outer outward dedicated link parent my beacon grand parent neighbor tier 3 router

  10. Gateway router MLNE Gateway router MLCE Gateway router MAC sublayer Router 1 MAC sublayer Router 1 MLCE Router 1 MLNE Router 1 Higher layer MLC-LINK-SETUP.request (dedicated link) MCPS-DATA.request data (L2R IE) (link setup request command) MCPS-DATA.confirm MCPS-DATA.indication MLME-DSME-GTS.request DSME-GTS request command MLME-DSME-GTS.indication MLME-DSME-GTS.response DSME-GTS reply command MLME-DSME-GTS.confirm additional sequence for bi-directional link setup MCPS-DATA.request data (L2R IE) (link setup request command) MCPS-DATA.confirm MCPS-DATA.indication MLME-DSME-GTS.request MLC-LINK-SETUP.response (dedicated link) DSME-GTS request command MLME-DSME-GTS.indication MCPS-DATA.request data (L2R IE) (link setup response command) MLME-DSME-GTS.response MCPS-DATA.indicaiton MCPS-DATA.confirm DSME-GTS reply command MLC-LINK-SETUP.confirm (dedicated link) MLME-DSME-GTS.confirm MCPS-DATA.request data (L2R IE) (link setup response command) MCPS-DATA.confirm MCPS-DATA.indication MLC-LINK-SETUP.indication (dedicated link)

  11. L2R Frames • L2R frames • define new MAC header IE and payload IE for L2R frames • use payload of MAC Data frame for L2R frames • define MAC header Information Element : L2R IE • L2R source/destination address • L2R link setup/release/hello command conveying as a link management subframe • define MAC payload Information Element : L2R Payload IE • L2R cluster formation/join/leave command • L2R route update command • L2R end-to-end flow control command

  12. Link Management Command Frames

  13. Tiered Clusters in Single PAN • PAN coordinator centered tiered cluster • devices are randomly deployed around PAN coordinator • the distance to the PAN coordinator and distance to the neighbors increase when the device moving out from the PAN coordinator • group of device can be clustered according to the depth of tiers from PAN coordinator tier 1 PD 1a tier 2 PD 0 tier 3 PD 1b PD 1c PD 1b2a

  14. Tiered Cluster-Tree Topology • addressing tiered cluster-tree • MAC short address = cluster identifier + device locator • cluster specified • maximum depth of the cluster (L) • maximum number of devices connected to a router (D) • maximum number of routers among devices connected to a router (R) • device locator (ZigBee Cskip address) • device identifier of a parent router + 1 + (sequential order of a router at cluster depth h - 1)*size of address block at cluster depth h • size of address block • If R = 1, B(h) = 1+ D*(L- h-1) • If R ≠ 1, B(h) = (1+D-R-D*RL-h-1)/(1-R). Gateway router (cluster ID = 0, locator ID = 0) Root Cluster Tree 0 (L0, R0, D0) Cluster1 root (cluster ID = 0, locator ID = i) (cluster ID = 1, locator ID = 0) Cluster3 root (cluster ID = 0, locator ID = k) (cluster ID = 3, locator ID = 0) Cluster2 root (cluster ID = 0, locator ID = j) (cluster ID = 2, locator ID = 0) Cluster Tree 1 (L1, R1, D1) Cluster Tree 2 (L2, R2, D2) Cluster Tree 3 (L3, R3, D3) Cluster4 root Cluster Tree 4 (L4, R4, D4)

  15. Links of Tiered Cluster Tree • tiered cluster • different size of cluster: (L,D,R) and B(h) = (1+D-R-D*RL-h-1)/(1-R) • if runs out of address block or route cost is over threshold, one of leaf device can create a child cluster as a cluster root • links • tree link based on the Cskip addressing • intra-cluster mesh link • inter-cluster mesh link Gateway router Root Cluster Tree 0 (L0, R0, D0) intra-cluster mesh link Cluster1 root Cluster3 root Cluster2 root Cluster Tree 1 (L1, R1, D1) Cluster Tree 2 (L2, R2, D2) Cluster Tree 3 (L3, R3, D3) Cluster4 root inter-cluster mesh link Cluster Tree 4 (L4, R4, D4)

  16. Tiered Cluster-Tree (TCT) Routing (I) • TCT routes • composed of link, virtual link in view of link control sublayer • composed of tree link, intra-cluster mesh, inter-cluster mesh in view of link network sublayer • routing information • link table • cluster connectivity matrix, Cskip addressing • inter-cluster mesh table Root Cluster Tree 0 Gateway router intra-cluster mesh link Cluster1 root Cluster3 root Cluster2 root Cluster Tree 1 Cluster Tree 2 Cluster Tree 3 Cluster4 root inter-cluster mesh link Cluster Tree 4

  17. Tiered Cluster-Tree (TCT) Routing (II) • TCT routing • with MAC address, find a cluster which a destination device is located at • check within same cluster • select inward or outward link based on address • not in same cluster • search possible paths to the destined cluster from cluster matrix, calculate route cost • select cluster tree link or inter cluster mesh link • check the default route, which obtains from cluster connectivity matrix, and route cost • check available virtual links for this route • search inter-cluster mesh link to reduce the route cost • search intra-cluster mesh link to reduce the route cost from the route table • select a link to transmit a frame to next hop Root Cluster Tree 0 Gateway router intra-cluster mesh link Cluster1 root Cluster3 root Cluster2 root Cluster Tree 1 Cluster Tree 2 Cluster Tree 3 Cluster4 root inter-cluster mesh link Cluster Tree 4

  18. TCT Routing Information Base (I) • PAN coordinator • PHY/MAC attribute • extended address, capability, PHY MIB, MAC MIB • PAN information • PAN ID, Beacon Interval, start time • PAN coordinator link table • PAN coordinator route table • cluster matrix, address allocation map • Temp routing information base • route update period, neighbor device table, neighbor link table • cluster root router • PHY/MAC attribute • PAN information • cluster root router link table • Root cluster route table • cluster matrix, cluster route table • Temp routing information base • router • PHY/MAC attribute • PAN information • router link table • router route table • cluster matrix, cluster route table • Temp routing information base • device • PHY/MAC attribute • PAN information • device link table • device route table • cluster route table

  19. TCT Routing Information Base (II) • neighbor device table • device address • 16 bit address (cluster ID + router ID) • 64 bit address • link list • link • link ID • link type (CAP/CFP, default/shared/dedicated) • slot ID • link quality (RSSI, interference level) • queue load (frame count, loss count)

  20. TCT Routing Information Base (III) • cluster matrix table • cluster root router address • 16 bit address (cluster ID + router ID) • 64 bit address • reflector address • address assigned in the parent cluster or • address of opposite end neighbor router on mesh link • distance to PAN coordinator • cluster configuration • depth/number of router/number of device • child cluster list • router address • 16 bit address • reflector address

  21. TCT Routing Information Base (IV) • route table • destination device address • 16 bit address (cluster ID + router ID) • route list • route • link ID • route cost (distance, link quality, router load)

  22. TCT Routing Metrics • routing metrics • link metrics • link type : weights among default, shared, dedicated link • link quality : signal strength, interference level • load balance : number of frame on a link, number of loss frame on a link • route metrics • distance : number of hops to destination • link cost • route cost calculation • link cost • l(link type) + n(link quality) + m(load balance) : apply normalized function • virtual link cost • sum of link cost on the virtual link (upward, downward) • route cost • number of hops to destination • sum of hop by hop link cost : link-path cost

  23. Start L2R Link Network • start router • if root router • association, cluster formation, then start • if router • association, then start • address assignment • root router  PAN coordinator • cluster formation • router  cluster root router • assign from reserved address block • primitives for starting L2R Link Network • MLN-START-NETWORK.request/confrim • PAN ID, scan channel, BO, SO, max depth, max router, max device • MLN-START-ROUTER.request/confirm • PAN ID, scan channel, max depth, max router, max device • MLN-START-DEVICE.request/confirm • PAN ID, scan channel

  24. Gateway router MLNE Gateway router MLCE Gateway router MAC sublayer Router 1 MAC sublayer Router 1 MLCE Router 1 MLNE Router 1 Higher layer MLN-START-ROUTER.request MLN-RESET MLME-RESET.request MLME-SCAN.request MLME-SCAN.confirm MLME-ASSOCIATION.request (Allocate Address) association request command (L2R IE) MLME-ASSOCIATION.indication MLME-ASSOCIATION.response association response command MLME-ASSOCIATION.confirm sequence of cluster formation MLC-DATA-CLINK.request (cluster formation request) MCPS-DATA.request data (L2R IE) (cluster formation request command) MCPS-DATA.confirm MCPS-DATA.indication MLC-DATA-CLINK.confirm MLC-DATA-CLINK.indication (cluster formation request) assign cluster ID MLC-DATA-CLINK.request (cluster formation response) MCPS-DATA.request data (L2R IE) (cluster formation response command) MCPS-DATA.confirm MCPS-DATA.indication MLC-DATA-CLINK.confirm MLC-DATA-CLINK.indication (cluster formation response) establish default shared link load full cluster table MLME-START.request MLME-START.confirm LN-START-ROUTER.confirm

  25. TCT Route Maintenance (I) • maintain virtual link and router • maintain virtual link • send hello periodically from source device to destination device • check link status • maintain cluster root router • PAN coordinator send hello periodically to cluster root router • check status of cluster root router • loss beacon for some amount of time • update routing information • update cluster matrix • cluster matrix for whole network, when joining link network • partial information above/behind a certain cluster root router • update route table of a cluster • whole route table, when joining link network • partial information above/behind a certain router • route information to specific destination

  26. TCT Route Maintenance (II) • periodical update • cluster table • gateway  root router, root router  router • route table • router  root router • event driven update • start a PAN, join as a cluster root router, leave as a cluster root router • update cluster matrix and broadcast the changed part to cluster root router • join or leave as a router • update route table and broadcast the changed part to routers in the cluster • setup or release a mesh link • detect by periodically searching or upon router’s update request • if mesh link is inter cluster mesh link, change cluster matrix and broadcast • if mesh link is intra cluster mesh link, change route table and broadcast • loose sync, notified orphan from PHY/MAC • find an inward router and join again • if needed, to become a cluster root router requests to assign a cluster ID to PAN coordinator

  27. TCT Route Maintenance (III) Root Cluster Tree 0 Gateway router intra-cluster mesh link Cluster1 root Cluster3 root Cluster2 root Cluster Tree 1 Cluster Tree 2 Cluster Tree 3 Cluster4 root inter-cluster mesh link Cluster Tree 4

  28. Gateway router MLNE Gateway router MLCE Gateway router MAC sublayer Router 1 MAC sublayer Router 1 MLCE Router 1 MLNE Router 1 Higher layer data MLN-DATA.request (no route) MCPS-DATA.indication MLC-DATA-CLINK.indication (no route) sequence of route update find route MLC-DATA-CLINK.request (route update request) MCPS-DATA.request data (L2R IE) MCPS-DATA.confirm MCPS-DATA.indicaiton (route update request command) MLC-DATA-CLINK.confirm MLC--DATA-CLINK.indication (route update request command) response or forward MLC--DATA-CLINK.request (route update response or request) MCPS-DATA.request data (route update response command) data (route update request command) MCPS-DATA.indication MCPS-DATA.confirm MLC--DATA-CLINK.indication (route update response) DLC-DATA-CLINK.confirm update route MLC-DATA-SLINK.request (data) MCPS-DATA.request data (MLN data) MCPS-DATA.confirm MLC-DATA-SLINK.confirm update route MLN-DATA.confirm MLC-DATA-SLINK.request (route update request) MCPS-DATA.request data (L2R IE) (route update request command) MCPS-DATA.indication MCPS-DATA.confirm MLC-DATA-SLINK.indication (route update request) MLC-DATA-SLINK.confirm update route MLC-DATA-SLINK.request (route update request) MCPS-DATA.request data (L2R IE) (route update request command) MCPS-DATA.confirm MLC-DATA-SLINK.confirm

  29. Link Network Management Command Frames

  30. Data Service of L2R Link Network • frame forwarding • link type selection • primitive CLK/SLK/DLK & frame operation type • in/out decision • cluster connectivity matrix from cluster table • link selection (only for CLK/SLK data) • shortest cluster-tree route vs. mesh route • cluster table vs. route table

  31. Summary • virtual link • link path • load balanced link path maintaining • unbalanced cluster-tree based address assignment • tiered cluster-tree routing • directional multiple grades mesh connection • beacon-enabled multi-hop link network formation • MAC primitives & command frames

More Related