idnits 2.17.1 draft-thubert-6tisch-architecture-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 10, 2013) is 3848 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'I-D.watteyne-6TiSCH-tsch-lln-context' is mentioned on line 185, but not defined == Missing Reference: 'HART' is mentioned on line 860, but not defined == Missing Reference: 'IEEE802.1TSNTG' is mentioned on line 864, but not defined == Unused Reference: 'RFC5974' is defined on line 779, but no explicit reference was found in the text == Unused Reference: 'I-D.ohba-6tsch-security' is defined on line 810, but no explicit reference was found in the text == Unused Reference: 'I-D.palattella-6tsch-terminology' is defined on line 816, but no explicit reference was found in the text == Unused Reference: 'I-D.svshah-tsvwg-lln-diffserv-recommendations' is defined on line 828, but no explicit reference was found in the text == Unused Reference: 'I-D.thubert-6lowpan-backbone-router' is defined on line 834, but no explicit reference was found in the text == Unused Reference: 'I-D.vilajosana-6tsch-basic' is defined on line 848, but no explicit reference was found in the text == Unused Reference: 'I-D.watteyne-6tsch-tsch-lln-context' is defined on line 853, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) ** Downref: Normative reference to an Informational RFC: RFC 4080 ** Downref: Normative reference to an Informational RFC: RFC 5889 ** Downref: Normative reference to an Experimental RFC: RFC 5974 == Outdated reference: A later version (-07) exists of draft-chakrabarti-nordmark-6man-efficient-nd-01 -- No information found for draft-wang-6TiSCH-6top - is the name correct? == Outdated reference: A later version (-01) exists of draft-palattella-6tsch-terminology-00 == Outdated reference: A later version (-04) exists of draft-svshah-tsvwg-lln-diffserv-recommendations-00 == Outdated reference: A later version (-02) exists of draft-thubert-roll-forwarding-frags-01 == Outdated reference: A later version (-02) exists of draft-watteyne-6tsch-tsch-lln-context-01 Summary: 4 errors (**), 0 flaws (~~), 16 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6TiSCH P. Thubert, Ed. 3 Internet-Draft cisco 4 Intended status: Standards Track RA. Assimiti 5 Expires: April 11, 2014 Centero 6 T. Watteyne 7 Linear Technology / Dust Networks 8 October 10, 2013 10 An Architecture for IPv6 over the TSCH mode of IEEE IEEE802.15.4e 11 draft-thubert-6tisch-architecture-00 13 Abstract 15 This document presents an architecture for an IPv6 multilink subnet 16 that is composed of a high speed powered backbone and a number of 17 IEEE802.15.4e TSCH wireless networks attached and synchronized by 18 Backbone Routers. Route Computation may be achieved in a centralized 19 fashion by a Path Computation Element, in a distributed fashion using 20 the Routing Protocol for Low Power and Lossy Networks, or in a mixed 21 mode. The Backbone Routers perform proxy Neighbor discovery 22 operations over the backbone on behalf of the wireless device, so 23 they can share a same subnet and appear to be connected to the same 24 backbone as classical devices. 26 Requirements Language 28 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 29 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 30 "OPTIONAL" in this document are to be interpreted as described in RFC 31 2119 [RFC2119]. 33 Status of this Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at http://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on April 11, 2014. 50 Copyright Notice 51 Copyright (c) 2013 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents (http://trustee.ietf.org/ 56 license-info) in effect on the date of publication of this document. 57 Please review these documents carefully, as they describe your rights 58 and restrictions with respect to this document. Code Components 59 extracted from this document must include Simplified BSD License text 60 as described in Section 4.e of the Trust Legal Provisions and are 61 provided without warranty as described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 66 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 67 3. Applications and Goals . . . . . . . . . . . . . . . . . . . . 3 68 4. Overview and Scope . . . . . . . . . . . . . . . . . . . . . . 4 69 5. Centralized vs. Distributed Routing . . . . . . . . . . . . . 7 70 6. Forwarding Models . . . . . . . . . . . . . . . . . . . . . . 7 71 6.1. Track Forwarding . . . . . . . . . . . . . . . . . . . . . 7 72 6.1.1. Transport Mode . . . . . . . . . . . . . . . . . . . . 8 73 6.1.2. Tunnel Mode . . . . . . . . . . . . . . . . . . . . . 8 74 6.1.3. Tunnel Metadata . . . . . . . . . . . . . . . . . . . 9 75 6.2. Fragment Forwarding . . . . . . . . . . . . . . . . . . . 10 76 6.3. IPv6 Forwarding . . . . . . . . . . . . . . . . . . . . . 11 77 7. Functional Flows . . . . . . . . . . . . . . . . . . . . . . . 12 78 8. Network Synchronization . . . . . . . . . . . . . . . . . . . 12 79 9. TSCH and 6top . . . . . . . . . . . . . . . . . . . . . . . . 13 80 9.1. 6top . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 81 9.2. Slotframes and Priorities . . . . . . . . . . . . . . . . 13 82 9.3. Centralized Flow Reservation . . . . . . . . . . . . . . . 13 83 9.4. Distributed Flow Reservation . . . . . . . . . . . . . . . 14 84 9.5. Packet Marking and Handling . . . . . . . . . . . . . . . 14 85 10. Monitoring and Management . . . . . . . . . . . . . . . . . . 14 86 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 87 12. Security Considerations . . . . . . . . . . . . . . . . . . . 15 88 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15 89 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 90 14.1. Normative References . . . . . . . . . . . . . . . . . . 16 91 14.2. Informative References . . . . . . . . . . . . . . . . . 16 92 14.3. External Informative References . . . . . . . . . . . . . 18 93 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18 95 1. Introduction 97 The emergence of radio technology enabled a large variety of new 98 types of devices to be interconnected, at a very low marginal cost 99 compared to wire, at any range from Near Field to interplanetary 100 distances, and in circumstances where wiring could be less than 101 practical, for instance rotating devices. 103 At the same time, a new breed of Time Sensitive Networks is being 104 developed to enable traffic that is highly sensitive to jitter and 105 quite sensitive to latency. Such traffic is not limited to voice and 106 video, but also includes command and control operations such as found 107 in industrial automation or in-vehicle sensors and actuators. 109 At IEEE802.1, the "Audio/Video Task Group", was renamed TSN for Time 110 Sensitive Networking to address Deterministic Ethernet. The 111 IEEE802.15.4 Medium access Control (MAC) has evolved with 112 IEEE802.15.4e that provides in particular the Timeslotted Channel 113 Hopping (TSCH) mode for industrial-type applications. 115 Though at a different time scale, both standards provide 116 Deterministic capabilities to the point that a packet that pertains 117 to a certain flow will cross the network from node to node following 118 a very precise schedule, as a train that leaves intermediate stations 119 at precise times along its path. With TSCH, time is formatted into 120 timeslots, and an individual timeslot is allocated to a unicast or a 121 broadcast communication at the MAC level. The time slotted operation 122 reduces collisions, saves energy, and enables to more closely 123 engineer the network for deterministic properties. The channel 124 hopping aspect is a simple and efficient technique to combat 125 multipath fading and external interference (for example by WiFi 126 emitters). 128 This document presents an architecture for an IPv6 multilink subnet 129 that is composed of a high speed powered backbone and a number of 130 IEEE802.15.4e TSCH wireless networks attached and synchronized by 131 backbone routers. Route Computation may be achieved in a centralized 132 fashion by a Path Computation Element (PCE), in a distributed fashion 133 using the Routing Protocol for Low Power and Lossy Networks (RPL), or 134 in a mixed mode. The Backbone Routers perform proxy IPv6 Neighbor 135 Discovery (ND) operations over the backbone on behalf of the wireless 136 devices, so they can share a same IPv6 subnet and appear to be 137 connected to the same backbone as classical devices. Timeslots and 138 other device resources are managed by an abstract Network Management 139 Entity (NME) that may cooperate with the PCE in order to minimize the 140 interaction with and the load on the constrained device. 142 2. Terminology 144 The draft uses terminology defined in [I-D.palattella-6TiSCH- 145 terminology], [I-D.chakrabarti-nordmark-6man-efficient-nd], [RFC5191] 146 and [RFC4080]. 148 It conforms to the terms and models described for IPv6 in [RFC5889] 149 and uses the vocabulary and the concepts defined in [RFC4291] for 150 IPv6. 152 3. Applications and Goals 153 The architecture derives from existing industrial standards for 154 Process Control by its focus on Deterministic Networking, in 155 particular with the use of the IEEE802.15.4e TSCH MAC and the 156 centralized path computation element. This approach leverages the 157 TSCH MAC benefits for high reliability against interference, low- 158 power consumption on deterministic traffic, and its Traffic 159 Engineering capabilities. Deterministic Networking applies in 160 particular to open and closed control loops, as well as supervisory 161 control flows, and management. 163 Additional industrial use cases are addressed with the addition of a 164 more autonomic and distributed routing based on RPL. These use cases 165 include plant setup and decommissioning, as well as monitoring of 166 lots of lesser importance measurements such as corrosion and events. 167 RPL also enables mobile use cases such as mobile workers and cranes. 169 A Backbone Router is included in order to scale the factory plant 170 subnet to address large deployments, with proxy ND and time 171 synchronization over a high speed backbone. 173 The architecture also applies to building automation that leverage 174 RPL's storing mode to address multipath over a large number of hops, 175 in-vehicle command and control that can be as demanding as industrial 176 applications, commercial automation and asset Tracking with mobile 177 scenarios, home automation and domotics which become more reliable 178 and thus provide a better user experience, and resource management 179 (energy, water, etc.). 181 4. Overview and Scope 183 The scope of the present work is a subnet that, in its basic 184 configuration, is made of a IEEE802.15.4e Timeslotted Channel Hopping 185 (TSCH) [I-D.watteyne-6TiSCH-tsch-lln-context] MAC Route-Over Low 186 Power Lossy Network (LLN). 188 ---+-------- ............ ------------ 189 | External Network | 190 | +-----+ 191 +-----+ | NME | 192 | | LLN Border | | 193 | | router +-----+ 194 +-----+ 195 o o o 196 o o o o 197 o o LLN o o o 198 o o o o 199 o 201 The LLN devices communicate over IPv6 [RFC2460] using the 6LoWPAN 202 Header Compression (6LoWPAN HC) [RFC6282]. From the Layer 3 203 perspective, a single LLN interface (typically an IEEE802.15.4 radio) 204 may be seen as a collection of Links with different capabilities for 205 unicast or multicast services. An IPv6 subnet will span over 206 multiple links, effectively forming a multilink subnet. Within that 207 subnet, Neighbor Devices are discovered with 6LoWPAN Neighbor 208 Discovery (6LoWPAN ND) [RFC6775]. The Routing Protocol for Low Power 209 and Lossy Networks (RPL) [RFC6550] enables routing within the LLN, 210 typically within the multilink subnet in the so called Route Over 211 fashion. RPL forms Destination Oriented Directed Acyclic Graphs 212 (DODAGs) within Instances of the protocol, each Instance being 213 associated with an Objective Function (OF) to form a routing 214 topology. A particular LLN device, the LLN Border Router (LBR), acts 215 as RPL root, 6LoWPAN HC terminator, and LLN Border Router (LBR) to 216 the outside. The LBR is usually powered. More on RPL Instances can 217 be found in [RFC6550] sections "3.1.2. RPL Identifiers" and "3.1.3. 218 Instances, DODAGs, and DODAG Versions". 220 An extended configuration of the subnet comprises multiple LLNs. The 221 LLNs are interconnected and synchronized over a backbone, that can be 222 wired or wireless. The backbone can be a classical IPv6 network, 223 with Neighbor Discovery operating as defined in [RFC4861] and 224 [RFC4862]. The backbone can also support Efficiency aware IPv6 225 Neighbor Discovery Optimizations [I-D.chakrabarti-nordmark-6man- 226 efficient-nd] in mixed mode as described in [I-D.thubert-6lowpan- 227 backbone-router]. 229 Security is often handled at layer 2 and Layer 4. Authentication 230 during the join process is handled with the Protocol for Carrying 231 Authentication for Network access (PANA) [RFC5191]. 233 The LLN devices are time-synchronized at MAC level. The LBR that 234 serves as time source is a RPL parent in a particular RPL instance 235 that serves for time synchronization; this way, the time 236 synchronization starts at the RPL root and follows the RPL DODAGs 237 with no timing loop. 239 In the extended configuration, the functionality of the LBR is 240 enhanced to that of Backbone Router (BBR). A BBR is an LBR, but also 241 an Energy Aware Default Router (NEAR) as defined in [I-D.chakrabarti- 242 nordmark-6man-efficient-nd]. The BBR performs ND proxy operations 243 between the registered devices and the classical ND devices that are 244 located over the backbone. 6TiSCH BBRs synchronize with one another 245 over the backbone, so as to ensure that the multiple LLNs that form 246 the IPv6 subnet stay tightly synchronized. If the Backbone is 247 Deterministic (such as defined by the Time Sensitive Networking WG at 248 IEEE), then the Backbone Router ensures that the end-to-end 249 deterministic behavior is maintained between the LLN and the 250 backbone. 252 A Network Management Entity may participate to tre 254 ---+-------- ............ ------------ 255 | External Network | 256 | +-----+ 257 | +-----+ | NME | 258 +-----+ | +-----+ | | 259 | | Router | | PCE | +-----+ 260 | | +--| | 261 +-----+ +-----+ 262 | | 263 | Subnet Backbone | 264 +--------------------+------------------+ 265 | | | 266 +-----+ +-----+ +-----+ 267 | | Backbone | | Backbone | | Backbone 268 o | | router | | router | | router 269 +-----+ +-----+ +-----+ 270 o o o o o 271 o o o o o o o o o o o 272 o o o LLN o o o o 273 o o o o o o o o o o o o 275 The main architectural blocks are arranged as follows: 277 +-----+-----+-----+-----+-------+-----+ 278 |PCEP | CoAP |PANA |6LoWPAN| RPL | 279 | PCE |DTLS | | | ND | | 280 +-----+-----+-----+-----+-------+-----+-----+ 281 | TCP | UDP | ICMP |RSVP | 282 +-----+-----+-----+-----+-------+-----+-----+ 283 | IPv6 | 284 +-------------------------------------------+ 285 | 6LoWPAN HC | 286 +-------------------------------------------+ 287 | 6top | 288 +-------------------------------------------+ 289 | IEEE802.15.4e TSCH | 290 +-------------------------------------------+ 292 RPL is the routing protocol of choice for LLNs. (TBD RPL) whether 293 there is a need to define a 6TiSCH OF. 295 (tbd NME) COMAN is working on network Management for LLN. They are 296 considering the Open Mobile Alliance (OMA) Lightweight M2M (LWM2M) 297 Objet system. This standard includes DTLS, CoAP (core plus the Block 298 and Observe patterns), SenML and CoAP Resource Directory. 300 (tbd PCE) need to work with PCE WG to define flows to PCE, and define 301 how to accomodate PCE routes and reservation. Will probably look a 302 lot like GMPLS 303 (tbd Backbone Router) need to work with 6MAN to define ND proxy. 304 Also need BBR sync sync between deterministic ethernet and 6TiSCH 305 LLNs. 307 IEEE802.1TSN: external, maintain consistency. 309 IEEE802.15.4: external, (tbd need updates?). 311 ISA100.20 Common Network Management: external, maintain consistency. 313 IoT6 European Project: external, maintain consistency. 315 5. Centralized vs. Distributed Routing 317 6TiSCH supports a mix model of centralized routes and distributed 318 routes. Centralized routes are typically computed by a entity such 319 as the PCE. Distributed routes are computed by the RPL routing 320 protocol. 322 Both RPL and the PCE may inject routes in the Routing Tables of the 323 6TiSCH routers. In either case, each route is associated with a 324 topology that is indexed by an RPLInstanceID, as defined in RPL 325 [RFC6550]. RPL and PCE rely on shared sources to define Global and 326 Local RPLInstanceIDs. 328 It is possible for RPL and PCE to share a same topology, in which 329 case the PCE routes have precedence over RPL routes in case of a 330 conflict. 332 Inside the 6TiSCH domain, the flow label is used to indicate the 333 topology that must be used for routing and the associated Routing 334 Tables as discussed in [I-D.thubert-roll-flow-label]. 336 6. Forwarding Models 338 6TiSCH supports three different forwarding model, G-MPLS Track 339 Forwarding (TF), 6LoWPAN Fragment Forwarding (FF) and IPv6 Forwarding 340 (6F). 342 6.1. Track Forwarding 344 Track Forwarding is the simplest and fastest. A set of input cells 345 are uniquely bound to a set of output cells, representing a 346 forwarding state that can be used regardless of the upper layer 347 protocol. This model can effectively be seen as a G-MPLS operation 348 in that the information used to switch is not an explicit label but 349 related to other properties of the way the packet was received, a 350 particular cell in the case of 6TiSCH. As a result, as long as the 351 TSCH MAC (and Layer 2 security) accepts a frame, that frame can be 352 switched regardless of the protocol, whether this is an IPv6 packet, 353 a 6LoWPAN fragment, or a frame from an alternate protocol such as 354 WirelessHART of ISA100.11a. 356 A Track is defined end-to-end as a succession of timeslots and a 357 timeslot belongs to at most one Track. For a given iteration of a 358 Slotframe, the timeslot is associated uniquely with a cell which 359 indicates the channel at which the timeslot operates for that 360 iteration. 362 A frame that is forwarded along a Track has a destination MAC address 363 set to broadcast or a multicast address depending on the MAC support. 364 This way, the MAC layer in the intermediate nodes will accept the 365 incoming frame and 6top will switch it without incurring a change in 366 the MAC header. In the case of IEEE802.15.4e, this means effectively 367 broadcast, so that along the Track the short address for the 368 destination is set to 0xFFFF. 370 Conversely, a frame that is received along a Track with a destination 371 MAC address set to this node is extracted from the Track stream and 372 delivered to the upper layer. A frame with an unrecognized MAC 373 address is just ignored at the MAC layer and thus is not received at 374 the 6top sublayer. 376 There are 2 modes for a Track, transport mode and tunnel mode. 378 6.1.1. Transport Mode 380 In transport mode, the PDU is associated with flow information that 381 refers uniquely to the Track, so the 6top sublayer can place the 382 frame in the appropriate timeslot without ambiguity. In the case of 383 IPv6 traffic, the identification of that flow information is 384 transported in the Flow Label in the IPv6 header. Associated with 385 the source IPv6 address, the flow label forms a globally unique 386 identifier for that particular Track that is validated at egress 387 before restoring the destination MAC address (dmac) and punting to 388 the upper layer. 390 | ^ 391 +--------------+ | | 392 | IPv6 | | | 393 +--------------+ | | 394 | 6LoWPAN HC | | | 395 +--------------+ ingress egress 396 | 6top | sets +----+ +----+ restores 397 +--------------+ dmac to | | | | dmac to 398 | TSCH MAC | brdcst | | | | self 399 +--------------+ | | | | | | 400 | LLN PHY | +-------+ +--...-----+ +-------+ 401 +--------------+ 403 6.1.2. Tunnel Mode 404 In tunnel mode, the frames originate from an arbitrary protocol over 405 a compatible MAC that may or may not be perfectly synchronized with 406 the 6TiSCH network. An example of this would be a router with a dual 407 radio that is capable of receiving and sending WirelessHART or 408 ISA100.11a frames with the second radio, by presenting itself as an 409 access Point or a Backbone Router, respectively. 411 In that mode, the PCE may coordinate with a WirelessHART Network 412 Manager or an ISA100.11a System Manager in order to specify the flows 413 that are to be transported transparently over the Track. 415 +--------------+ 416 | IPv6 | 417 +--------------+ 418 | 6LoWPAN HC | 419 +--------------+ set restore 420 | 6top | +dmac+ +dmac+ 421 +--------------+ | | | | 422 | TSCH MAC | | | | | 423 +--------------+ | | | | 424 | LLN PHY | +-------+ +--...-----+ +-------+ 425 +--------------+ | ingress egress | 426 | | 427 +--------------+ | | 428 | LLN PHY | | | 429 +--------------+ | | 430 | TSCH MAC | | | 431 +--------------+ | | 432 |ISA100/WiHART | | v 433 +--------------+ 435 In that case, the flow information that identifies the Track is 436 uniquely derived from the information at the receiving end, for 437 instance the incoming timeslots, or an ISA100.11a ContractId. At the 438 ingress 6TiSCH router, the packet destination is recognized as self 439 but the flow information indicates that the frame must be tunnelled 440 over a particular 6top Track so the packet is not punted to upper 441 layer. Instead, it is passed to the 6top sublayer for switching. 442 The 6top sublayer in the ingress router overrides the destination MAC 443 to broadcast and forwards. 445 At the egress 6top router, the reverse operation occurs. Based on 446 metadata associated to the Track, the frame is passed to the 447 appropriate link layer with the destination MAC restored. 449 6.1.3. Tunnel Metadata 451 Metadata coming with the Track configuration is expected to provide 452 the destination MAC address of the egress endpoint as well as the 453 tunnel mode and specific data depending on the mode, for instance a 454 service access point for frame delivery at egress. 456 If the tunnel egress point does not have a MAC address that matches 457 the configuration, the Track installation fails. 459 In transport mode, if the final layer 3 destination is the tunnel 460 termination, then it is possible that the IPv6 address of the 461 destination is compressed at the 6LoWPAN sublayer based on the MAC 462 address. It is thus mandatory at the ingress point to validate that 463 the MAC address that was used at the 6LoWPAN sublayer for compression 464 matches that of the tunnel egress point. For that reason, the node 465 that injects a packet on a Track checks that the destination is 466 effectively that of the tunnel egress point before it overwrites it 467 to broadcast. The 6top sublayer at the tunnel egress point reverts 468 that operation to the MAC address obtained from the tunnel metadata. 470 6.2. Fragment Forwarding 472 Considering that 6LoWPAN packets can be as large as 1280 bytes, which 473 is the IPv6 MTU, and that the non-storing mode of RPL implies Source 474 Routing that requires space for routing headers, and that a 475 IEEE802.15.4 frame with security may carry in the order of 80 bytes 476 of effective payload, an IPv6 packet might be fragmented into more 477 than 16 fragments at the 6LoWPAN sublayer. 479 This level of fragmentation is much higher than that traditionally 480 experienced over the Internet with IPv4 fragments, where 481 fragmentation is already known as harmful. 483 In the case to a multihop route within a 6TiSCH network, Hop-by-Hop 484 recomposition occurs at each hop in order to reform the packet and 485 route it. This creates additional latency and forces intermediate 486 nodes to store a portion of a packet for an undetermined time, thus 487 impacting critical resources such as memory and battery. 489 [I-D.thubert-roll-forwarding-frags] describes a mechanism whereby the 490 datagram tag in the 6LoWPAN Fragment is used as a label for switching 491 at the 6LoWPAN sublayer. The draft allows for a degree of flow 492 control base on an Explicit Congestion Notification, as well as end- 493 to-end individual fragment recovery. In that model, the first 494 fragment is routed based on the IPv6 header that is present in that 495 fragment. 497 | ^ 498 +--------------+ | | 499 | IPv6 | | +----+ +----+ | 500 +--------------+ | | | | | | 501 | 6LoWPAN HC | | learn learn | 502 +--------------+ | | | | | | 503 | 6top | | | | | | | 504 +--------------+ | | | | | | 505 | TSCH MAC | | | | | | | 506 +--------------+ | | | | | | 507 | LLN PHY | +-------+ +--...-----+ +-------+ 508 +--------------+ 510 The 6LoWPAN sublayer learns the next hop selection, generates a new 511 datagram tag for transmission to the next hop, and stores that 512 information indexed by the incoming MAC address and datagram tag. 513 The next fragments are then switched based on that stored state. 515 | ^ 516 +--------------+ | | 517 | IPv6 | | | 518 +--------------+ | | 519 | 6LoWPAN HC | | replay replay | 520 +--------------+ | | | | | | 521 | 6top | | | | | | | 522 +--------------+ | | | | | | 523 | TSCH MAC | | | | | | | 524 +--------------+ | | | | | | 525 | LLN PHY | +-------+ +--...-----+ +-------+ 526 +--------------+ 528 A bitmap and an ECN echo in the end-to-end acknowledgement enable the 529 source to resend the missing fragments selectively. The first 530 fragment may be resent to carve a new path in case of a path failure. 531 The ECN echo set indicates that the number of outstanding fragments 532 should be reduced. 534 6.3. IPv6 Forwarding 536 As the packets are routed at layer 3, traditional QoS and RED 537 operations are expected to prioritize flows with differentiated 538 services. A new class of service for Deterministic Forwarding is 539 being defined to that effect in [I-D.svshah-tsvwg-lln-diffserv- 540 recommendations]. 542 | ^ 543 +--------------+ | | 544 | IPv6 | | +-QoS+ +-QoS+ | 545 +--------------+ | | | | | | 546 | 6LoWPAN HC | | | | | | | 547 +--------------+ | | | | | | 548 | 6top | | | | | | | 549 +--------------+ | | | | | | 550 | TSCH MAC | | | | | | | 551 +--------------+ | | | | | | 552 | LLN PHY | +-------+ +--...-----+ +-------+ 553 +--------------+ 555 7. Functional Flows 557 8. Network Synchronization 559 Nodes in a TSCH are time synchronized. A node keeps synchronized to 560 its time source neighbor(s) through a combination of frame-based and 561 acknowledgement-based synchronization. In order to maximize battery 562 life and network throughput, it is advisable that RPL ICMP discovery 563 and maintenance traffic (governed by the trickle timer) be somehow 564 coordinated with the transmission of time synch packets (especially 565 with enhanced beacons). This could be achieved through an 566 interaction of the 6top sublayer and the RPL objective Function, or 567 could be controlled by the Device Management Entity. 569 Time distribution requires a loopless structure. Nodes taken in a 570 loop will rapidly desynchronize from the network and become isolated. 571 It is expected that a RPL DAG with a dedicated global Instance is 572 deployed for the purpose of time synchronization. That Instance is 573 referred to as the Time Synchronization Global Instance (TSGI). The 574 TSGI can be operated in either of the 3 mode that are detailed in RPL 575 [RFC6550] section "3.1.3. Instances, DODAGs, and DODAG Versions". 576 Multiple uncoordinated DODAGs with independent roots may be used if 577 all the roots share a common time source such as the Global 578 Positioning System (GPS). In the absence of a common time source, the 579 TSGI should form a single DODAG with a virtual root. A backbone 580 network is then used to synchronize and coordinate RPL operations 581 between the backbone routers that act as sinks for the LLN. 583 A node that has not joined the TSGI advertises a MAC level Join 584 Priority of 0xFF to notify its neighbors that is is not capable of 585 serving as time parent. A node that has joined the TSGI advertises a 586 MAC level Join Priority set to its DAGRank() in that Instance, where 587 DAGRank() is the operation specified in [RFC6550] section "3.5.1. 588 Rank Comparison". 590 A root is configured or obtains by some external mean the knowledge 591 of the RPLInstanceID for the TSGI. The root advertises its DagRank in 592 the TSGI, that MUST be less than 0xFF, as its Join Priority (JP) in 593 its IEEE802.15.4e Extended Beacons (EB). We'll note that the JP is 594 now specified between 0 and 0x3F leaving 2 bit sin the octet unused 595 in the IEEE802.15.4e specification. After concertation with IEEE 596 authors, it was asserted that 6TiSCH can make a full use of the octet 597 to carry an integer value up to 0xFF. 599 A node that reads a Join Priority of less than 0xFF should join the 600 neighbor with the lesser Join Priority and use is as time parent. If 601 the node is configured to serve as time parent, then the node should 602 join the TSGI, obtain a Rank in that Instance and start advertising 603 its own DagRank in the TSGI as its Join Priority in its EBs. 605 9. TSCH and 6top 607 9.1. 6top 609 6top is a sublayer which is the next higher layer to TSCH and which 610 offers a set of commands defining data and management interfaces. 611 6top is defined in [I-D.draft-wang-6TiSCH-6top] 613 The management interface of 6top enables an upper layer to schedule 614 cells and Slotframes in the TSCH schedule. 616 If the scheduling entity explicitly specifies the slotOffset/ 617 channelOffset of the cells to be added/deleted, those cells are 618 marked as "hard". 6top cannot move hard cells in the TSCH schedule. 619 Hard cells are typically used by a central PCE. 621 6top contains a monitoring process which monitors the performance of 622 cells, and can move a cell in the TSCH schedule when it performs bad. 623 This is only applicable to cells which are marked as "soft". To 624 reserve a soft cell, the higher layer does not indicate the 625 slotOffset/channelOffset of the cell to add, but rather the resulting 626 bandwidth and QoS requirements. When the monitoring process triggers 627 a cell reallocation, the two neighbor motes communicating over this 628 cell negotiate its new position in the TSCH schedule. 630 9.2. Slotframes and Priorities 632 6top uses priority queues to manage concurrent data flows of 633 different priorities. When a packet is received from an higher layer 634 for transmission, the I-MUX module of 6top inserts that packet in the 635 outgoing queue which matches the packet best (DSCP can therefore be 636 used). At each scheduled transmit slot, the MUX module looks for the 637 frame in all the outgoing queues that best matches the cells. If a 638 frame is found, it is given to TSCH for transmission. 640 9.3. Centralized Flow Reservation 641 In a centralized setting, an entity (typically a PCE) is responsible 642 for computing the TSCH schedule, and communicates with the different 643 nodes in the network to configure their TSCH schedule. Since it has 644 full knowledge of the network's topology, the PCE can compute a 645 collision-free schedule, which results in a high degree of 646 communication determinism. 648 The protocol for the PCE to communicate with the motes is not yet 649 defined. This protocol typically reserves hard cells on the 650 transmitter side of a dedicated cell, and the negotiation protocol of 651 6top takes care of reserving the same cell on the receiver node. 653 9.4. Distributed Flow Reservation 655 In a distributed setting, no central PCE is present in the network. 656 Nodes use 6top to reserve soft cells with their neighbors. Since no 657 node has full knowledge of the network's topology and the traffic 658 requirements, scheduling collisions are possible, for example because 659 of a hidden terminal problem. 661 A schedule collision can be detected if two motes have multiple 662 dedicated cells schedule to one another. The monitoring process of 663 6top can be configured to continuously compute the packet delivery 664 ratio of those cells, and it can declare a soft cell to perform bad 665 when the statistics for that cell are significantly worse than for 666 the other cells to the same neighbor. 668 When this happens, the monitoring process of 6top moves the cell to 669 another location in the 6TiSCH schedule, through a re-negotiation 670 procedure with the neighbor. 672 The entity that builds and maintains the schedule in a distributed 673 fashion is not yet defined. 675 9.5. Packet Marking and Handling 677 reservation Deterministic flow allocation (hard reservation of 678 timeslots) eg centralized RSVP? metrics? Hop-by-hop interaction with 679 6top. Lazy reservation (use shared slots to transport extra burst 680 and then dynamically (de)allocate) Classical QoS (dynamic based on 681 observation) 683 10. Monitoring and Management 685 For the purpose of operations and management, a given LLN node 686 interacts through the Backbone Router with an NME and optionally a 687 PCE if centralized routing operations are enabled. Both a PCE and an 688 NME may require information about the LLN node and its link 689 operations, and may control that operation for Instance by assigning 690 new bundles or new tracks. In order to avoid duplication, and 691 simplify the interaction with the node, the Backbone Router may 692 perform some proxy, publish/subscribe and/or translational operations 693 on behalf of the LLN node. 695 ---+-------- ............ ------------ 696 | External Network | 697 | +-----+ 698 | +-----+ | NME | 699 +-----+ | +-----+ | | 700 | | Router | | PCE | +-----+ 701 | | +--| | 702 +-----+ +-----+ 703 | | 704 | Subnet Backbone | 705 +--------------------+------------------+ 706 | | | 707 +-----+ +-----+ +-----+ 708 | | Backbone | | Backbone | | Backbone 709 o | | router | | router | | router 710 +-----+ +-----+ +-----+ 711 o o o o o 712 o o o o o o o o o o o 713 o o o LLN o o o o 714 o o o o o o o o o o o o 716 The architecture supports variations on the deployment model, and 717 focusses on the flows rather than the whether there is a proxy or a 718 translational operation on the way. 720 Discovery: PCE discovery; SCADA/DCS discovery; actuator discovery 722 Request To ask the PCE to change schedule, typically directed to a 723 PCE, from a LLN node or an NME. 725 Action For the PCE to change the schedule of an LLN node, typically 726 directed from the PCE, to a LLN node. 728 Report For an LLN node to report periodic information or stats, 729 eventually based on a profile, typically directed to a PCE or 730 an NME from an LLN node. 732 Event For an LLN node to report an exception, eventually based on a 733 profile, typically directed to a PCE or an NME from an LLN 734 node. 736 Query For the PCE or an NME to ask for schedule information from an 737 LLN node, typically directed from the PCE, to a LLN node. 739 11. IANA Considerations 741 This specification does not require IANA action. 743 12. Security Considerations 745 This specification is not found to introduce new security threat. 747 13. Acknowledgements 748 14. References 750 14.1. Normative References 752 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 753 Requirement Levels", BCP 14, RFC 2119, March 1997. 755 [RFC2460] Deering, S.E. and R.M. Hinden, "Internet Protocol, Version 756 6 (IPv6) Specification", RFC 2460, December 1998. 758 [RFC4080] Hancock, R., Karagiannis, G., Loughney, J. and S. Van den 759 Bosch, "Next Steps in Signaling (NSIS): Framework", RFC 760 4080, June 2005. 762 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 763 Architecture", RFC 4291, February 2006. 765 [RFC4861] Narten, T., Nordmark, E., Simpson, W. and H. Soliman, 766 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 767 September 2007. 769 [RFC4862] Thomson, S., Narten, T. and T. Jinmei, "IPv6 Stateless 770 Address Autoconfiguration", RFC 4862, September 2007. 772 [RFC5191] Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H. and A. 773 Yegin, "Protocol for Carrying Authentication for Network 774 Access (PANA)", RFC 5191, May 2008. 776 [RFC5889] Baccelli, E. and M. Townsley, "IP Addressing Model in Ad 777 Hoc Networks", RFC 5889, September 2010. 779 [RFC5974] Manner, J., Karagiannis, G. and A. McDonald, "NSIS 780 Signaling Layer Protocol (NSLP) for Quality-of-Service 781 Signaling", RFC 5974, October 2010. 783 [RFC6282] Hui, J. and P. Thubert, "Compression Format for IPv6 784 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, 785 September 2011. 787 [RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R., 788 Levis, P., Pister, K., Struik, R., Vasseur, JP. and R. 789 Alexander, "RPL: IPv6 Routing Protocol for Low-Power and 790 Lossy Networks", RFC 6550, March 2012. 792 [RFC6775] Shelby, Z., Chakrabarti, S., Nordmark, E. and C. Bormann, 793 "Neighbor Discovery Optimization for IPv6 over Low-Power 794 Wireless Personal Area Networks (6LoWPANs)", RFC 6775, 795 November 2012. 797 14.2. Informative References 799 [I-D.chakrabarti-nordmark-6man-efficient-nd] 800 Chakrabarti, S., Nordmark, E. and M. Wasserman, 801 "Efficiency aware IPv6 Neighbor Discovery Optimizations", 802 Internet-Draft draft-chakrabarti-nordmark-6man-efficient- 803 nd-01, November 2012. 805 [I-D.draft-wang-6TiSCH-6top] 806 Wang, Q., Ed., Vilajosana, X. and T. Watteyne, "6TiSCH 807 Operation Sublayer (6top). draft-wang-6TiSCH-6top-00 (work 808 in progress) ", July 2013. 810 [I-D.ohba-6tsch-security] 811 Chasko, S., Das, S., Lopez, R., Ohba, Y., Thubert, P. and 812 A. Yegin, "Security Framework and Key Management Protocol 813 Requirements for 6TSCH", Internet-Draft draft-ohba-6tsch- 814 security-01, July 2013. 816 [I-D.palattella-6tsch-terminology] 817 Palattella, M., Thubert, P., Watteyne, T. and Q. Wang, 818 "Terminology in IPv6 over Time Slotted Channel Hopping", 819 Internet-Draft draft-palattella-6tsch-terminology-00, 820 March 2013. 822 [I-D.svshah-tsvwg-lln-diffserv-recommendations] 823 Shah, S. and P. Thubert, "Differentiated Service Class 824 Recommendations for LLN Traffic", Internet-Draft draft- 825 svshah-tsvwg-lln-diffserv-recommendations-00, February 826 2013. 828 [I-D.svshah-tsvwg-lln-diffserv-recommendations] 829 Shah, S. and P. Thubert, "Differentiated Service Class 830 Recommendations for LLN Traffic", Internet-Draft draft- 831 svshah-tsvwg-lln-diffserv-recommendations-00, February 832 2013. 834 [I-D.thubert-6lowpan-backbone-router] 835 Thubert, P., "6LoWPAN Backbone Router", Internet-Draft 836 draft-thubert-6lowpan-backbone-router-03, February 2013. 838 [I-D.thubert-roll-flow-label] 839 Thubert, P., "Use of the IPv6 Flow Label within an LLN", 840 Internet-Draft draft-thubert-roll-flow-label-02, November 841 2012. 843 [I-D.thubert-roll-forwarding-frags] 844 Thubert, P. and J. Hui, "LLN Fragment Forwarding and 845 Recovery", Internet-Draft draft-thubert-roll-forwarding- 846 frags-01, February 2013. 848 [I-D.vilajosana-6tsch-basic] 849 Vilajosana, X. and K. Pister, "Minimal 6TSCH 850 Configuration", Internet-Draft draft-vilajosana-6tsch- 851 basic-01, July 2013. 853 [I-D.watteyne-6tsch-tsch-lln-context] 854 Watteyne, T., "Using IEEE802.15.4e TSCH in an LLN context: 855 Overview, Problem Statement and Goals", Internet-Draft 856 draft-watteyne-6tsch-tsch-lln-context-01, February 2013. 858 14.3. External Informative References 860 [HART] www.hartcomm.org, "Highway Addressable Remote Transducer, 861 a group of specifications for industrial process and 862 control devices administered by the HART Foundation", . 864 [IEEE802.1TSNTG] 865 IEEE Standards Association, "IEEE 802.1 Time-Sensitive 866 Networks Task Group", March 2013, . 869 [ISA100.11a] 870 ISA, "ISA100, Wireless Systems for Automation", May 2008, 871 . 874 Authors' Addresses 876 Pascal Thubert, editor 877 Cisco Systems, Inc 878 Building D 879 45 Allee des Ormes - BP1200 880 MOUGINS - Sophia Antipolis, 06254 881 FRANCE 883 Phone: +33 497 23 26 34 884 Email: pthubert@cisco.com 886 Robert Assimiti 887 Centero 888 961 Indian Hills Parkway 889 Marietta, GA 30068 890 USA 892 Phone: +1 404 461 9614 893 Email: robert.assimiti@centerotech.com 895 Thomas Watteyne 896 Linear Technology / Dust Networks 897 30695 Huntwood Avenue 898 Hayward, CA 94544 899 USA 901 Phone: +1 (510) 400-2978 902 Email: twatteyne@linear.com