idnits 2.17.1 draft-bormann-lwig-7228bis-02.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 30, 2017) is 2370 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-24) exists of draft-ietf-lpwan-ipv6-static-context-hc-07 == Outdated reference: A later version (-16) exists of draft-irtf-t2trg-iot-seccons-08 -- Obsolete informational reference (is this intentional?): RFC 793 (Obsoleted by RFC 9293) Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 LWIG Working Group C. Bormann 3 Internet-Draft Universitaet Bremen TZI 4 Intended status: Informational M. Ersue 5 Expires: May 3, 2018 Nokia Solutions and Networks 6 A. Keranen 7 Ericsson 8 C. Gomez 9 UPC/i2CAT 10 October 30, 2017 12 Terminology for Constrained-Node Networks 13 draft-bormann-lwig-7228bis-02 15 Abstract 17 The Internet Protocol Suite is increasingly used on small devices 18 with severe constraints on power, memory, and processing resources, 19 creating constrained-node networks. This document provides a number 20 of basic terms that have been useful in the standardization work for 21 constrained-node networks. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at https://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on May 3, 2018. 40 Copyright Notice 42 Copyright (c) 2017 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (https://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 2. Core Terminology . . . . . . . . . . . . . . . . . . . . . . 3 59 2.1. Constrained Nodes . . . . . . . . . . . . . . . . . . . . 4 60 2.2. Constrained Networks . . . . . . . . . . . . . . . . . . 5 61 2.2.1. Challenged Networks . . . . . . . . . . . . . . . . . 6 62 2.3. Constrained-Node Networks . . . . . . . . . . . . . . . . 6 63 2.3.1. LLN . . . . . . . . . . . . . . . . . . . . . . . . . 7 64 2.3.2. LoWPAN, 6LoWPAN . . . . . . . . . . . . . . . . . . . 7 65 3. Classes of Constrained Devices . . . . . . . . . . . . . . . 8 66 4. Power Terminology . . . . . . . . . . . . . . . . . . . . . . 11 67 4.1. Scaling Properties . . . . . . . . . . . . . . . . . . . 11 68 4.2. Classes of Energy Limitation . . . . . . . . . . . . . . 12 69 4.3. Strategies for Using Power for Communication . . . . . . 12 70 5. Classes of Networks . . . . . . . . . . . . . . . . . . . . . 14 71 5.1. Classes of link layer MTU size . . . . . . . . . . . . . 14 72 5.2. Class of Internet Integration . . . . . . . . . . . . . . 15 73 5.3. Classes of physical layer bit rate . . . . . . . . . . . 16 74 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 75 7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 76 8. Informative References . . . . . . . . . . . . . . . . . . . 17 77 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 21 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 80 1. Introduction 82 Small devices with limited CPU, memory, and power resources, so- 83 called "constrained devices" (often used as sensors/actuators, smart 84 objects, or smart devices) can form a network, becoming "constrained 85 nodes" in that network. Such a network may itself exhibit 86 constraints, e.g., with unreliable or lossy channels, limited and 87 unpredictable bandwidth, and a highly dynamic topology. 89 Constrained devices might be in charge of gathering information in 90 diverse settings, including natural ecosystems, buildings, and 91 factories, and sending the information to one or more server 92 stations. They might also act on information, by performing some 93 physical action, including displaying it. Constrained devices may 94 work under severe resource constraints such as limited battery and 95 computing power, little memory, and insufficient wireless bandwidth 96 and ability to communicate; these constraints often exacerbate each 97 other. Other entities on the network, e.g., a base station or 98 controlling server, might have more computational and communication 99 resources and could support the interaction between the constrained 100 devices and applications in more traditional networks. 102 Today, diverse sizes of constrained devices with different resources 103 and capabilities are becoming connected. Mobile personal gadgets, 104 building-automation devices, cellular phones, machine-to-machine 105 (M2M) devices, and other devices benefit from interacting with other 106 "things" nearby or somewhere in the Internet. With this, the 107 Internet of Things (IoT) becomes a reality, built up out of uniquely 108 identifiable and addressable objects (things). Over the next decade, 109 this could grow to large numbers [FIFTY-BILLION] of Internet- 110 connected constrained devices, greatly increasing the Internet's size 111 and scope. 113 The present document provides a number of basic terms that have been 114 useful in the standardization work for constrained environments. The 115 intention is not to exhaustively cover the field but to make sure a 116 few core terms are used consistently between different groups 117 cooperating in this space. 119 The present document is an update of [RFC7228]. 121 In this document, the term "byte" is used in its now customary sense 122 as a synonym for "octet". Where sizes of semiconductor memory are 123 given, the prefix "kibi" (1024) is combined with "byte" to 124 "kibibyte", abbreviated "KiB", for 1024 bytes [ISQ-13]. 126 In computing, the term "power" is often used for the concept of 127 "computing power" or "processing power", as in CPU performance. In 128 this document, the term stands for electrical power unless explicitly 129 stated otherwise. "Mains-powered" is used as a shorthand for being 130 permanently connected to a stable electrical power grid. 132 2. Core Terminology 134 There are two important aspects to _scaling_ within the Internet of 135 Things: 137 o scaling up Internet technologies to a large number [FIFTY-BILLION] 138 of inexpensive nodes, while 140 o scaling down the characteristics of each of these nodes and of the 141 networks being built out of them, to make this scaling up 142 economically and physically viable. 144 The need for scaling down the characteristics of nodes leads to 145 "constrained nodes". 147 2.1. Constrained Nodes 149 The term "constrained node" is best defined by contrasting the 150 characteristics of a constrained node with certain widely held 151 expectations on more familiar Internet nodes: 153 Constrained Node: A node where some of the characteristics that are 154 otherwise pretty much taken for granted for Internet nodes at the 155 time of writing are not attainable, often due to cost constraints 156 and/or physical constraints on characteristics such as size, 157 weight, and available power and energy. The tight limits on 158 power, memory, and processing resources lead to hard upper bounds 159 on state, code space, and processing cycles, making optimization 160 of energy and network bandwidth usage a dominating consideration 161 in all design requirements. Also, some layer-2 services such as 162 full connectivity and broadcast/multicast may be lacking. 164 While this is not a rigorous definition, it is grounded in the state 165 of the art and clearly sets apart constrained nodes from server 166 systems, desktop or laptop computers, powerful mobile devices such as 167 smartphones, etc. There may be many design considerations that lead 168 to these constraints, including cost, size, weight, and other scaling 169 factors. 171 (An alternative term, when the properties as a network node are not 172 in focus, is "constrained device".) 174 There are multiple facets to the constraints on nodes, often applying 175 in combination, for example: 177 o constraints on the maximum code complexity (ROM/Flash), 179 o constraints on the size of state and buffers (RAM), 181 o constraints on the amount of computation feasible in a period of 182 time ("processing power"), 184 o constraints on the available power, and 186 o constraints on user interface and accessibility in deployment 187 (ability to set keys, update software, etc.). 189 Section 3 defines a small number of interesting classes ("class-N" 190 for N = 0, 1, 2) of constrained nodes focusing on relevant 191 combinations of the first two constraints. With respect to available 192 power, [RFC6606] distinguishes "power-affluent" nodes (mains-powered 193 or regularly recharged) from "power-constrained nodes" that draw 194 their power from primary batteries or by using energy harvesting; 195 more detailed power terminology is given in Section 4. 197 The use of constrained nodes in networks often also leads to 198 constraints on the networks themselves. However, there may also be 199 constraints on networks that are largely independent from those of 200 the nodes. We therefore distinguish "constrained networks" from 201 "constrained-node networks". 203 2.2. Constrained Networks 205 We define "constrained network" in a similar way: 207 Constrained Network: A network where some of the characteristics 208 pretty much taken for granted with link layers in common use in 209 the Internet at the time of writing are not attainable. 211 Constraints may include: 213 o low achievable bitrate/throughput (including limits on duty 214 cycle), 216 o high packet loss and high variability of packet loss (delivery 217 rate), 219 o highly asymmetric link characteristics, 221 o severe penalties for using larger packets (e.g., high packet loss 222 due to link-layer fragmentation), 224 o limits on reachability over time (a substantial number of devices 225 may power off at any point in time but periodically "wake up" and 226 can communicate for brief periods of time), and 228 o lack of (or severe constraints on) advanced services such as IP 229 multicast. 231 More generally, we speak of constrained networks whenever at least 232 some of the nodes involved in the network exhibit these 233 characteristics. 235 Again, there may be several reasons for this: 237 o cost constraints on the network, 239 o constraints posed by the nodes (for constrained-node networks), 240 o physical constraints (e.g., power constraints, environmental 241 constraints, media constraints such as underwater operation, 242 limited spectrum for very high density, electromagnetic 243 compatibility), 245 o regulatory constraints, such as very limited spectrum availability 246 (including limits on effective radiated power and duty cycle) or 247 explosion safety, and 249 o technology constraints, such as older and lower-speed technologies 250 that are still operational and may need to stay in use for some 251 more time. 253 2.2.1. Challenged Networks 255 A constrained network is not necessarily a "challenged network" 256 [FALL]: 258 Challenged Network: A network that has serious trouble maintaining 259 what an application would today expect of the end-to-end IP model, 260 e.g., by: 262 * not being able to offer end-to-end IP connectivity at all, 264 * exhibiting serious interruptions in end-to-end IP connectivity, 265 or 267 * exhibiting delay well beyond the Maximum Segment Lifetime (MSL) 268 defined by TCP [RFC0793]. 270 All challenged networks are constrained networks in some sense, but 271 not all constrained networks are challenged networks. There is no 272 well-defined boundary between the two, though. Delay-Tolerant 273 Networking (DTN) has been designed to cope with challenged networks 274 [RFC4838]. 276 2.3. Constrained-Node Networks 278 Constrained-Node Network: A network whose characteristics are 279 influenced by being composed of a significant portion of 280 constrained nodes. 282 A constrained-node network always is a constrained network because of 283 the network constraints stemming from the node constraints, but it 284 may also have other constraints that already make it a constrained 285 network. 287 The rest of this subsection introduces two additional terms that are 288 in active use in the area of constrained-node networks, without an 289 intent to define them: LLN and (6)LoWPAN. 291 2.3.1. LLN 293 A related term that has been used to describe the focus of the IETF 294 ROLL working group is "Low-Power and Lossy Network (LLN)". The ROLL 295 (Routing Over Low-Power and Lossy) terminology document [RFC7102] 296 defines LLNs as follows: 298 LLN: Low-Power and Lossy Network. Typically composed of many 299 embedded devices with limited power, memory, and processing 300 resources interconnected by a variety of links, such as IEEE 301 802.15.4 or low-power Wi-Fi. There is a wide scope of application 302 areas for LLNs, including industrial monitoring, building 303 automation (heating, ventilation, and air conditioning (HVAC), 304 lighting, access control, fire), connected home, health care, 305 environmental monitoring, urban sensor networks, energy 306 management, assets tracking, and refrigeration. 308 Beyond that, LLNs often exhibit considerable loss at the physical 309 layer, with significant variability of the delivery rate, and some 310 short-term unreliability, coupled with some medium-term stability 311 that makes it worthwhile to both construct directed acyclic graphs 312 that are medium-term stable for routing and do measurements on the 313 edges such as Expected Transmission Count (ETX) [RFC6551]. Not all 314 LLNs comprise low-power nodes [I-D.hui-vasseur-roll-rpl-deployment]. 316 LLNs typically are composed of constrained nodes; this leads to the 317 design of operation modes such as the "non-storing mode" defined by 318 RPL (the IPv6 Routing Protocol for Low-Power and Lossy Networks 319 [RFC6550]). So, in the terminology of the present document, an LLN 320 is a constrained-node network with certain network characteristics, 321 which include constraints on the network as well. 323 2.3.2. LoWPAN, 6LoWPAN 325 One interesting class of a constrained network often used as a 326 constrained-node network is "LoWPAN" [RFC4919], a term inspired from 327 the name of an IEEE 802.15.4 working group (low-rate wireless 328 personal area networks (LR-WPANs)). The expansion of the LoWPAN 329 acronym, "Low-Power Wireless Personal Area Network", contains a hard- 330 to-justify "Personal" that is due to the history of task group naming 331 in IEEE 802 more than due to an orientation of LoWPANs around a 332 single person. Actually, LoWPANs have been suggested for urban 333 monitoring, control of large buildings, and industrial control 334 applications, so the "Personal" can only be considered a vestige. 336 Occasionally, the term is read as "Low-Power Wireless Area Networks" 337 [WEI]. Originally focused on IEEE 802.15.4, "LoWPAN" (or when used 338 for IPv6, "6LoWPAN") also refers to networks built from similarly 339 constrained link-layer technologies [RFC7668] [RFC8105] [RFC7428]. 341 3. Classes of Constrained Devices 343 Despite the overwhelming variety of Internet-connected devices that 344 can be envisioned, it may be worthwhile to have some succinct 345 terminology for different classes of constrained devices. 347 Before we get to that, let's first distinguish two big rough groups 348 of devices based on their CPU capabilities: 350 o Microcontroller-class devices (ARM term: "M-class" [need ref]). 351 These often (but not always) include RAM and code storage on chip 352 and limit their support for general-purpose operating systems, 353 e.g., they do not have an MMU (memory management unit). They use 354 most of their pins for interfaces to application hardware such as 355 digital in/out (the latter often PWM-controllable), ADC/DACs, etc. 356 Where this hardware is specialized for an application, we may talk 357 about "Systems on a Chip" (SOC). These devices often implement 358 elaborate sleep modes to achieve microwatt- or at least milliwatt- 359 level sustained power usage (Ps, see below). 361 o General-purpose-class devices (ARM term: "A-class"). These 362 usually have RAM and Flash storage on separate chips (not always 363 separate packages), and offer support for general-purpose 364 operating systems such as Linux, e.g. an MMU. Many of the pins on 365 the CPU chip are dedidated to interfacing with RAM and other 366 memory. Some general-purpose-class devices integrate some 367 application hardware such as video controllers, these are often 368 called "Systems on a Chip" (SOC). While these chips also include 369 sleep modes, they are usually more on the watt side of sustained 370 power usage (Ps). 372 If the distinction between these groups needs to be made in this 373 document, we distinguish group "M" (microcontroller) from group "J" 374 (general purpose). 376 In this document, the class designations in Table 1 may be used as 377 rough indications of device capabilities. Note that the classes from 378 10 upwards are not really constrained devices in the sense of the 379 previous section; they may still be useful to discuss constraints in 380 larger devices: 382 +-------+-----------+---------------+-----------------+-------------+ 383 | Group | Name | data size | code size | Examples | 384 | | | (e.g., RAM) | (e.g., Flash) | | 385 +-------+-----------+---------------+-----------------+-------------+ 386 | M | Class 0, | << 10 KiB | << 100 KiB | | 387 | | C0 | | | | 388 | | | | | | 389 | M | Class 1, | ~ 10 KiB | ~ 100 KiB | | 390 | | C1 | | | | 391 | | | | | | 392 | M | Class 2, | ~ 50 KiB | ~ 250 KiB | | 393 | | C2 | | | | 394 | | | | | | 395 | J | Class 10, | 4-8 MiB | (?) | OpenWRT | 396 | | C10 | | | routers | 397 | | | | | | 398 | J | | fill in | J-group classes | | 399 | | | useful | | | 400 | | | | | | 401 | J | Class 13, | 0.5..1 GiB | (lots) | Raspberry | 402 | | C13 | | | PI | 403 | | | | | | 404 | J | Class 15, | 1..2 GiB | (lots) | Smartphones | 405 | | C15 | | | | 406 | | | | | | 407 | J | Class 16, | 4..32 GiB | (lots) | Laptops | 408 | | C16 | | | | 409 | | | | | | 410 | J | Class 19, | (lots) | (lots) | Servers | 411 | | C19 | | | | 412 +-------+-----------+---------------+-----------------+-------------+ 414 Table 1: Classes of Constrained Devices (KiB = 1024 bytes) 416 As of the writing of this document, these characteristics correspond 417 to distinguishable clusters of commercially available chips and 418 design cores for constrained devices. While it is expected that the 419 boundaries of these classes will move over time, Moore's law tends to 420 be less effective in the embedded space than in personal computing 421 devices: gains made available by increases in transistor count and 422 density are more likely to be invested in reductions of cost and 423 power requirements than into continual increases in computing power. 425 Class 0 devices are very constrained sensor-like motes. They are so 426 severely constrained in memory and processing capabilities that most 427 likely they will not have the resources required to communicate 428 directly with the Internet in a secure manner (rare heroic, narrowly 429 targeted implementation efforts notwithstanding). Class 0 devices 430 will participate in Internet communications with the help of larger 431 devices acting as proxies, gateways, or servers. Class 0 devices 432 generally cannot be secured or managed comprehensively in the 433 traditional sense. They will most likely be preconfigured (and will 434 be reconfigured rarely, if at all) with a very small data set. For 435 management purposes, they could answer keepalive signals and send on/ 436 off or basic health indications. 438 Class 1 devices are quite constrained in code space and processing 439 capabilities, such that they cannot easily talk to other Internet 440 nodes employing a full protocol stack such as using HTTP, Transport 441 Layer Security (TLS), and related security protocols and XML-based 442 data representations. However, they are capable enough to use a 443 protocol stack specifically designed for constrained nodes (such as 444 the Constrained Application Protocol (CoAP) over UDP [RFC7252]) and 445 participate in meaningful conversations without the help of a gateway 446 node. In particular, they can provide support for the security 447 functions required on a large network. Therefore, they can be 448 integrated as fully developed peers into an IP network, but they need 449 to be parsimonious with state memory, code space, and often power 450 expenditure for protocol and application usage. 452 Class 2 devices are less constrained and fundamentally capable of 453 supporting most of the same protocol stacks as used on notebooks or 454 servers. However, even these devices can benefit from lightweight 455 and energy-efficient protocols and from consuming less bandwidth. 456 Furthermore, using fewer resources for networking leaves more 457 resources available to applications. Thus, using the protocol stacks 458 defined for more constrained devices on Class 2 devices might reduce 459 development costs and increase the interoperability. 461 Constrained devices with capabilities significantly beyond Class 2 462 devices exist. They are less demanding from a standards development 463 point of view as they can largely use existing protocols unchanged. 464 The present document therefore does not make any attempt to define 465 constrained classes beyond Class 2. These devices, and to a certain 466 extent even J-group devices, can still be constrained by a limited 467 energy supply. 469 With respect to examining the capabilities of constrained nodes, 470 particularly for Class 1 devices, it is important to understand what 471 type of applications they are able to run and which protocol 472 mechanisms would be most suitable. Because of memory and other 473 limitations, each specific Class 1 device might be able to support 474 only a few selected functions needed for its intended operation. In 475 other words, the set of functions that can actually be supported is 476 not static per device type: devices with similar constraints might 477 choose to support different functions. Even though Class 2 devices 478 have some more functionality available and may be able to provide a 479 more complete set of functions, they still need to be assessed for 480 the type of applications they will be running and the protocol 481 functions they would need. To be able to derive any requirements, 482 the use cases and the involvement of the devices in the application 483 and the operational scenario need to be analyzed. Use cases may 484 combine constrained devices of multiple classes as well as more 485 traditional Internet nodes. 487 4. Power Terminology 489 Devices not only differ in their computing capabilities but also in 490 available power and/or energy. While it is harder to find 491 recognizable clusters in this space, it is still useful to introduce 492 some common terminology. 494 4.1. Scaling Properties 496 The power and/or energy available to a device may vastly differ, from 497 kilowatts to microwatts, from essentially unlimited to hundreds of 498 microjoules. 500 Instead of defining classes or clusters, we simply state, using the 501 International System of Units (SI units), an approximate value for 502 one or both of the quantities listed in Table 2: 504 +------+--------------------------------------------------+---------+ 505 | Name | Definition | SI Unit | 506 +------+--------------------------------------------------+---------+ 507 | Ps | Sustainable average power available for the | W | 508 | | device over the time it is functioning | (Watt) | 509 | | | | 510 | Et | Total electrical energy available before the | J | 511 | | energy source is exhausted | (Joule) | 512 +------+--------------------------------------------------+---------+ 514 Table 2: Quantities Relevant to Power and Energy 516 The value of Et may need to be interpreted in conjunction with an 517 indication over which period of time the value is given; see 518 Section 4.2. 520 Some devices enter a "low-power" mode before the energy available in 521 a period is exhausted or even have multiple such steps on the way to 522 exhaustion. For these devices, Ps would need to be given for each of 523 the modes/steps. 525 4.2. Classes of Energy Limitation 527 As discussed above, some devices are limited in available energy as 528 opposed to (or in addition to) being limited in available power. 529 Where no relevant limitations exist with respect to energy, the 530 device is classified as E9. The energy limitation may be in total 531 energy available in the usable lifetime of the device (e.g., a device 532 that is discarded when its non-replaceable primary battery is 533 exhausted), classified as E2. Where the relevant limitation is for a 534 specific period, the device is classified as E1, e.g., a solar- 535 powered device with a limited amount of energy available for the 536 night, a device that is manually connected to a charger and has a 537 period of time between recharges, or a device with a periodic 538 (primary) battery replacement interval. Finally, there may be a 539 limited amount of energy available for a specific event, e.g., for a 540 button press in an energy-harvesting light switch; such devices are 541 classified as E0. Note that, in a sense, many E1 devices are also 542 E2, as the rechargeable battery has a limited number of useful 543 recharging cycles. 545 Table 3 provides a summary of the classifications described above. 547 +------+------------------------------+-----------------------------+ 548 | Name | Type of energy limitation | Example Power Source | 549 +------+------------------------------+-----------------------------+ 550 | E0 | Event energy-limited | Event-based harvesting | 551 | | | | 552 | E1 | Period energy-limited | Battery that is | 553 | | | periodically recharged or | 554 | | | replaced | 555 | | | | 556 | E2 | Lifetime energy-limited | Non-replaceable primary | 557 | | | battery | 558 | | | | 559 | E9 | No direct quantitative | Mains-powered | 560 | | limitations to available | | 561 | | energy | | 562 +------+------------------------------+-----------------------------+ 564 Table 3: Classes of Energy Limitation 566 4.3. Strategies for Using Power for Communication 568 Especially when wireless transmission is used, the radio often 569 consumes a big portion of the total energy consumed by the device. 570 Design parameters, such as the available spectrum, the desired range, 571 and the bitrate aimed for, influence the power consumed during 572 transmission and reception; the duration of transmission and 573 reception (including potential reception) influence the total energy 574 consumption. 576 Different strategies for power usage and network attachment may be 577 used, based on the type of the energy source (e.g., battery or mains- 578 powered) and the frequency with which a device needs to communicate. 580 The general strategies for power usage can be described as follows: 582 Always-on: This strategy is most applicable if there is no reason 583 for extreme measures for power saving. The device can stay on in 584 the usual manner all the time. It may be useful to employ power- 585 friendly hardware or limit the number of wireless transmissions, 586 CPU speeds, and other aspects for general power-saving and cooling 587 needs, but the device can be connected to the network all the 588 time. 590 Normally-off: Under this strategy, the device sleeps such long 591 periods at a time that once it wakes up, it makes sense for it to 592 not pretend that it has been connected to the network during 593 sleep: the device reattaches to the network as it is woken up. 594 The main optimization goal is to minimize the effort during the 595 reattachment process and any resulting application communications. 596 If the device sleeps for long periods of time and needs to 597 communicate infrequently, the relative increase in energy 598 expenditure during reattachment may be acceptable. 600 Low-power: This strategy is most applicable to devices that need to 601 operate on a very small amount of power but still need to be able 602 to communicate on a relatively frequent basis. This implies that 603 extremely low-power solutions need to be used for the hardware, 604 chosen link-layer mechanisms, and so on. Typically, given the 605 small amount of time between transmissions, despite their sleep 606 state, these devices retain some form of attachment to the 607 network. Techniques used for minimizing power usage for the 608 network communications include minimizing any work from re- 609 establishing communications after waking up and tuning the 610 frequency of communications (including "duty cycling", where 611 components are switched on and off in a regular cycle) and other 612 parameters appropriately. 614 Table 4 provides a summary of the strategies described above. 616 +------+--------------+---------------------------------------------+ 617 | Name | Strategy | Ability to communicate | 618 +------+--------------+---------------------------------------------+ 619 | P0 | Normally-off | Reattach when required | 620 | | | | 621 | P1 | Low-power | Appears connected, perhaps with high | 622 | | | latency | 623 | | | | 624 | P9 | Always-on | Always connected | 625 +------+--------------+---------------------------------------------+ 627 Table 4: Strategies of Using Power for Communication 629 Note that the discussion above is at the device level; similar 630 considerations can apply at the communications-interface level. This 631 document does not define terminology for the latter. 633 A term often used to describe power-saving approaches is "duty- 634 cycling". This describes all forms of periodically switching off 635 some function, leaving it on only for a certain percentage of time 636 (the "duty cycle"). 638 [RFC7102] only distinguishes two levels, defining a Non-Sleepy Node 639 as a node that always remains in a fully powered-on state (always 640 awake) where it has the capability to perform communication (P9) and 641 a Sleepy Node as a node that may sometimes go into a sleep mode (a 642 low-power state to conserve power) and temporarily suspend protocol 643 communication (P0); there is no explicit mention of P1. 645 5. Classes of Networks 647 5.1. Classes of link layer MTU size 649 Link layer technologies used by constrained devices can be 650 categorized on the basis of link layer MTU size. Depending on this 651 parameter, the fragmentation techniques needed (if any) to support 652 the IPv6 MTU requirement may vary. 654 We define the following classes of link layer MTU size: 656 +------+---------------------+------------------------------------+ 657 | Name | L2 MTU size (bytes) | 6LoWPAN Fragmentation applicable*? | 658 +------+---------------------+------------------------------------+ 659 | S0 | 3 - 12 | need new kind of fragmentation | 660 | | | | 661 | S1 | 13 - 127 | yes | 662 | | | | 663 | S2 | 128 - 1279 | yes | 664 | | | | 665 | S2 | >= 1280 | no fragmentation needed | 666 +------+---------------------+------------------------------------+ 668 *if no link layer fragmentation is available 669 (note: 'Sx' stands for 'Size x') 671 S0 technologies require fragmentation to support the IPv6 MTU 672 requirement. If no link layer fragmentation is available, 673 fragmentation is needed at the adaptation layer below IPv6. However, 674 6LoWPAN fragmentation [RFC4944] cannot be used for these 675 technologies, given the extremely reduced link layer MTU. In this 676 case, lightweight fragmentation formats must be used (e.g. 677 [I-D.ietf-lpwan-ipv6-static-context-hc]). 679 S1 and S2 technologies require fragmentation at the subnetwork level 680 to support the IPv6 MTU requirement. If link layer fragmentation is 681 unavailable or insufficient, fragmentation is needed at the 682 adaptation layer below IPv6. 6LoWPAN fragmentation [RFC4944] can be 683 used to carry 1280-byte IPv6 packets over these technologies. 685 S3 technologies do not require fragmentation to support the IPv6 MTU 686 requirement. 688 5.2. Class of Internet Integration 690 The term "Internet of Things" is sometimes confusingly used for 691 connected devices that are not actually employing Internet 692 technology. Some devices do use Internet technology, but only use it 693 to exchange packets with a fixed communication partner ("device-to- 694 cloud" scenarios, [RFC7452]). More general devices are prepared to 695 communicate with other nodes in the Internet as well. 697 We define the following classes of Internet technology level: 699 +------+--------------------------------------+ 700 | Name | Internet technology | 701 +------+--------------------------------------+ 702 | I0 | none (local interconnect only) | 703 | | | 704 | I1 | device-to-cloud only | 705 | | | 706 | I9 | full Internet connectivity supported | 707 +------+--------------------------------------+ 709 5.3. Classes of physical layer bit rate 711 [This section is a trial balloon. We could also talk about burst 712 rate, sustained rate; bits/s, messages/s, ...] 714 Physical layer technologies used by constrained devices can be 715 categorized on the basis of physical layer (PHY) bit rate. The PHY 716 bit rate class of a technology has important implications with regard 717 to compatibility with existing protocols and mechanisms on the 718 Internet, responsiveness to frame transmissions and need for header 719 compression techniques. 721 We define the following classes of PHY bit rate: 723 +------+------------+-----------------------------------------------+ 724 | Name | PHY bit | Comment | 725 | | rate | | 726 | | (bit/s) | | 727 +------+------------+-----------------------------------------------+ 728 | B0 | < 10 | Tx time of 150-byte frame > MSL | 729 | | | | 730 | B1 | 10 - 10^3 | Unresponsiveness if human expects reaction to | 731 | | | sent frame (frame size > 62.5 byte) | 732 | | | | 733 | B2 | 10^3 - | Responsiveness if human expects reaction to | 734 | | 10^6 | sent frame, but header compression still | 735 | | | needed | 736 | | | | 737 | B3 | > 10^6 | Header compression yields relatively low | 738 | | | performance benefits | 739 +------+------------+-----------------------------------------------+ 741 (note: 'Bx' stands for 'Bit rate x') 743 B0 technologies lead to very high transmission times, which may be 744 close to or even greater than the Maximum Segment Lifetime (MSL) 745 assumed on the Internet [RFC0793]. Many Internet protocols and 746 mechanisms will fail when transmit times are greater than the MSL. 748 B0 technologies lead to a frame transmission time greater than the 749 MSL for a frame size greater than 150 bytes. 751 B1 technologies offer transmission times which are lower than the MSL 752 (for a frame size greater than 150 bytes). However, transmission 753 times for B1 technologies are still significant if a human expects a 754 reaction to the transmission of a frame. With B1 technologies, the 755 transmission time of a frame greater than 62.5 bytes exceeds 0.5 756 seconds, i.e. a threshold time beyond which any response or reaction 757 to a frame transmission will appear not to be immediate [RFC5826]. 759 B2 technologies do not incur responsiveness problems, but still 760 benefit from using header compression techniques (e.g. [RFC6282]) to 761 achieve performance improvements. 763 Over B3 technologies, the relative performance benefits of header 764 compression are low. For example, in a duty-cycled technology 765 offering B3 PHY bit rates, energy consumption decrease due to header 766 compression may be comparable with the energy consumed while in a 767 sleep interval. On the other hand, for B3 PHY bit rates, a human 768 user will not be able to perceive whether header compression has been 769 used or not in a frame transmission. 771 6. IANA Considerations 773 This document makes no requests of IANA. 775 7. Security Considerations 777 This document introduces common terminology that does not raise any 778 new security issues. Security considerations arising from the 779 constraints discussed in this document need to be discussed in the 780 context of specific protocols. For instance, Section 11.6 of 781 [RFC7252], "Constrained node considerations", discusses implications 782 of specific constraints on the security mechanisms employed. 783 [RFC7416] provides a security threat analysis for the RPL routing 784 protocol. Implementation considerations for security protocols on 785 constrained nodes are discussed in [RFC7815] and 786 [I-D.ietf-lwig-tls-minimal]. A wider view of security in 787 constrained-node networks is provided in 788 [I-D.irtf-t2trg-iot-seccons]. 790 8. Informative References 792 [FALL] Fall, K., "A Delay-Tolerant Network Architecture for 793 Challenged Internets", SIGCOMM 2003, 794 DOI 10.1145/863955.863960, 2003. 796 [FIFTY-BILLION] 797 Ericsson, "More Than 50 Billion Connected Devices", 798 Ericsson White Paper 284 23-3149 Uen, February 2011, 799 . 802 [I-D.hui-vasseur-roll-rpl-deployment] 803 Vasseur, J., Hui, J., Dasgupta, S., and G. Yoon, "RPL 804 deployment experience in large scale networks", draft-hui- 805 vasseur-roll-rpl-deployment-01 (work in progress), July 806 2012. 808 [I-D.ietf-lpwan-ipv6-static-context-hc] 809 Minaburo, A., Toutain, L., and C. Gomez, "LPWAN Static 810 Context Header Compression (SCHC) and fragmentation for 811 IPv6 and UDP", draft-ietf-lpwan-ipv6-static-context-hc-07 812 (work in progress), October 2017. 814 [I-D.ietf-lwig-tls-minimal] 815 Kumar, S., Keoh, S., and H. Tschofenig, "A Hitchhiker's 816 Guide to the (Datagram) Transport Layer Security Protocol 817 for Smart Objects and Constrained Node Networks", draft- 818 ietf-lwig-tls-minimal-01 (work in progress), March 2014. 820 [I-D.irtf-t2trg-iot-seccons] 821 Garcia-Morchon, O., Kumar, S., and M. Sethi, "State-of- 822 the-Art and Challenges for the Internet of Things 823 Security", draft-irtf-t2trg-iot-seccons-08 (work in 824 progress), October 2017. 826 [ISQ-13] International Electrotechnical Commission, "International 827 Standard -- Quantities and units -- Part 13: Information 828 science and technology", IEC 80000-13, March 2008. 830 [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, 831 RFC 793, DOI 10.17487/RFC0793, September 1981, 832 . 834 [RFC4838] Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst, 835 R., Scott, K., Fall, K., and H. Weiss, "Delay-Tolerant 836 Networking Architecture", RFC 4838, DOI 10.17487/RFC4838, 837 April 2007, . 839 [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 840 over Low-Power Wireless Personal Area Networks (6LoWPANs): 841 Overview, Assumptions, Problem Statement, and Goals", 842 RFC 4919, DOI 10.17487/RFC4919, August 2007, 843 . 845 [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, 846 "Transmission of IPv6 Packets over IEEE 802.15.4 847 Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007, 848 . 850 [RFC5826] Brandt, A., Buron, J., and G. Porcu, "Home Automation 851 Routing Requirements in Low-Power and Lossy Networks", 852 RFC 5826, DOI 10.17487/RFC5826, April 2010, 853 . 855 [RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 856 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, 857 DOI 10.17487/RFC6282, September 2011, 858 . 860 [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., 861 Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, 862 JP., and R. Alexander, "RPL: IPv6 Routing Protocol for 863 Low-Power and Lossy Networks", RFC 6550, 864 DOI 10.17487/RFC6550, March 2012, 865 . 867 [RFC6551] Vasseur, JP., Ed., Kim, M., Ed., Pister, K., Dejean, N., 868 and D. Barthel, "Routing Metrics Used for Path Calculation 869 in Low-Power and Lossy Networks", RFC 6551, 870 DOI 10.17487/RFC6551, March 2012, 871 . 873 [RFC6606] Kim, E., Kaspar, D., Gomez, C., and C. Bormann, "Problem 874 Statement and Requirements for IPv6 over Low-Power 875 Wireless Personal Area Network (6LoWPAN) Routing", 876 RFC 6606, DOI 10.17487/RFC6606, May 2012, 877 . 879 [RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and 880 Lossy Networks", RFC 7102, DOI 10.17487/RFC7102, January 881 2014, . 883 [RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for 884 Constrained-Node Networks", RFC 7228, 885 DOI 10.17487/RFC7228, May 2014, 886 . 888 [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained 889 Application Protocol (CoAP)", RFC 7252, 890 DOI 10.17487/RFC7252, June 2014, 891 . 893 [RFC7416] Tsao, T., Alexander, R., Dohler, M., Daza, V., Lozano, A., 894 and M. Richardson, Ed., "A Security Threat Analysis for 895 the Routing Protocol for Low-Power and Lossy Networks 896 (RPLs)", RFC 7416, DOI 10.17487/RFC7416, January 2015, 897 . 899 [RFC7428] Brandt, A. and J. Buron, "Transmission of IPv6 Packets 900 over ITU-T G.9959 Networks", RFC 7428, 901 DOI 10.17487/RFC7428, February 2015, 902 . 904 [RFC7452] Tschofenig, H., Arkko, J., Thaler, D., and D. McPherson, 905 "Architectural Considerations in Smart Object Networking", 906 RFC 7452, DOI 10.17487/RFC7452, March 2015, 907 . 909 [RFC7668] Nieminen, J., Savolainen, T., Isomaki, M., Patil, B., 910 Shelby, Z., and C. Gomez, "IPv6 over BLUETOOTH(R) Low 911 Energy", RFC 7668, DOI 10.17487/RFC7668, October 2015, 912 . 914 [RFC7815] Kivinen, T., "Minimal Internet Key Exchange Version 2 915 (IKEv2) Initiator Implementation", RFC 7815, 916 DOI 10.17487/RFC7815, March 2016, 917 . 919 [RFC8105] Mariager, P., Petersen, J., Ed., Shelby, Z., Van de Logt, 920 M., and D. Barthel, "Transmission of IPv6 Packets over 921 Digital Enhanced Cordless Telecommunications (DECT) Ultra 922 Low Energy (ULE)", RFC 8105, DOI 10.17487/RFC8105, May 923 2017, . 925 [WEI] Shelby, Z. and C. Bormann, "6LoWPAN: the Wireless Embedded 926 Internet", Wiley-Blackwell monograph, 927 DOI 10.1002/9780470686218, ISBN 9780470747995, 2009. 929 Acknowledgements 931 TBD 933 Authors' Addresses 935 Carsten Bormann 936 Universitaet Bremen TZI 937 Postfach 330440 938 Bremen D-28359 939 Germany 941 Phone: +49-421-218-63921 942 EMail: cabo@tzi.org 944 Mehmet Ersue 945 Nokia Solutions and Networks 946 St.-Martinstrasse 76 947 Munich 81541 948 Germany 950 Phone: +49 172 8432301 951 EMail: mehmet.ersue@nsn.com 953 Ari Keranen 954 Ericsson 955 Hirsalantie 11 956 Jorvas 02420 957 Finland 959 EMail: ari.keranen@ericsson.com 961 Carles Gomez 962 UPC/i2CAT 963 Escola d'Enginyeria de Telecomunicacio i Aeroespacial 964 de Castelldefels 965 C/Esteve Terradas, 7 966 Castelldefels 08860 967 Spain 969 Phone: +34-93-413-7206 970 EMail: carlesgo@entel.upc.edu