| < draft-ietf-lpwan-overview-02.txt | draft-ietf-lpwan-overview-03.txt > | |||
|---|---|---|---|---|
| lpwan S. Farrell, Ed. | lpwan S. Farrell, Ed. | |||
| Internet-Draft Trinity College Dublin | Internet-Draft Trinity College Dublin | |||
| Intended status: Informational May 14, 2017 | Intended status: Informational May 25, 2017 | |||
| Expires: November 15, 2017 | Expires: November 26, 2017 | |||
| LPWAN Overview | LPWAN Overview | |||
| draft-ietf-lpwan-overview-02 | draft-ietf-lpwan-overview-03 | |||
| Abstract | Abstract | |||
| Low Power Wide Area Networks (LPWAN) are wireless technologies with | Low Power Wide Area Networks (LPWAN) are wireless technologies with | |||
| characteristics such as large coverage areas, low bandwidth, possibly | characteristics such as large coverage areas, low bandwidth, possibly | |||
| very small packet and application layer data sizes and long battery | very small packet and application layer data sizes and long battery | |||
| life operation. This memo is an informational overview of the set of | life operation. This memo is an informational overview of the set of | |||
| LPWAN technologies being considered in the IETF and of the gaps that | LPWAN technologies being considered in the IETF and of the gaps that | |||
| exist between the needs of those technologies and the goal of running | exist between the needs of those technologies and the goal of running | |||
| IP in LPWANs. | IP in LPWANs. | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on November 15, 2017. | This Internet-Draft will expire on November 26, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 18 ¶ | skipping to change at page 2, line 18 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. LPWAN Technologies . . . . . . . . . . . . . . . . . . . . . 3 | 2. LPWAN Technologies . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. LoRaWAN . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. LoRaWAN . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.1.1. Provenance and Documents . . . . . . . . . . . . . . 4 | 2.1.1. Provenance and Documents . . . . . . . . . . . . . . 4 | |||
| 2.1.2. Characteristics . . . . . . . . . . . . . . . . . . . 4 | 2.1.2. Characteristics . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Narrowband IoT (NB-IoT) . . . . . . . . . . . . . . . . . 11 | 2.2. Narrowband IoT (NB-IoT) . . . . . . . . . . . . . . . . . 11 | |||
| 2.2.1. Provenance and Documents . . . . . . . . . . . . . . 11 | 2.2.1. Provenance and Documents . . . . . . . . . . . . . . 11 | |||
| 2.2.2. Characteristics . . . . . . . . . . . . . . . . . . . 11 | 2.2.2. Characteristics . . . . . . . . . . . . . . . . . . . 11 | |||
| 2.3. SIGFOX . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 2.3. SIGFOX . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 2.3.1. Provenance and Documents . . . . . . . . . . . . . . 15 | 2.3.1. Provenance and Documents . . . . . . . . . . . . . . 16 | |||
| 2.3.2. Characteristics . . . . . . . . . . . . . . . . . . . 15 | 2.3.2. Characteristics . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.4. Wi-SUN Alliance Field Area Network (FAN) . . . . . . . . 19 | 2.4. Wi-SUN Alliance Field Area Network (FAN) . . . . . . . . 20 | |||
| 2.4.1. Provenance and Documents . . . . . . . . . . . . . . 20 | 2.4.1. Provenance and Documents . . . . . . . . . . . . . . 20 | |||
| 2.4.2. Characteristics . . . . . . . . . . . . . . . . . . . 20 | 2.4.2. Characteristics . . . . . . . . . . . . . . . . . . . 21 | |||
| 3. Generic Terminology . . . . . . . . . . . . . . . . . . . . . 23 | 3. Generic Terminology . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 4. Gap Analysis . . . . . . . . . . . . . . . . . . . . . . . . 24 | 4. Gap Analysis . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 4.1. Naive application of IPv6 . . . . . . . . . . . . . . . . 24 | 4.1. Naive application of IPv6 . . . . . . . . . . . . . . . . 25 | |||
| 4.2. 6LoWPAN . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 4.2. 6LoWPAN . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 4.2.1. Header Compression . . . . . . . . . . . . . . . . . 25 | 4.2.1. Header Compression . . . . . . . . . . . . . . . . . 26 | |||
| 4.2.2. Address Autoconfiguration . . . . . . . . . . . . . . 26 | 4.2.2. Address Autoconfiguration . . . . . . . . . . . . . . 27 | |||
| 4.2.3. Fragmentation . . . . . . . . . . . . . . . . . . . . 26 | 4.2.3. Fragmentation . . . . . . . . . . . . . . . . . . . . 27 | |||
| 4.2.4. Neighbor Discovery . . . . . . . . . . . . . . . . . 27 | 4.2.4. Neighbor Discovery . . . . . . . . . . . . . . . . . 28 | |||
| 4.3. 6lo . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | 4.3. 6lo . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 4.4. 6tisch . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 4.4. 6tisch . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 4.5. RoHC . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 4.5. RoHC . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 4.6. ROLL . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 4.6. ROLL . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 4.7. CoAP . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 4.7. CoAP . . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 4.8. Mobility . . . . . . . . . . . . . . . . . . . . . . . . 29 | 4.8. Mobility . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 4.9. DNS and LPWAN . . . . . . . . . . . . . . . . . . . . . . 29 | 4.9. DNS and LPWAN . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 31 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 30 | 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 33 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 9. Informative References . . . . . . . . . . . . . . . . . . . 33 | 9. Informative References . . . . . . . . . . . . . . . . . . . 35 | |||
| Appendix A. Changes . . . . . . . . . . . . . . . . . . . . . . 38 | Appendix A. Changes . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| A.1. From -00 to -01 . . . . . . . . . . . . . . . . . . . . . 38 | A.1. From -00 to -01 . . . . . . . . . . . . . . . . . . . . . 40 | |||
| A.2. From -01 to -02 . . . . . . . . . . . . . . . . . . . . . 39 | A.2. From -01 to -02 . . . . . . . . . . . . . . . . . . . . . 40 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 39 | A.3. From -02 to -03 . . . . . . . . . . . . . . . . . . . . . 40 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 41 | ||||
| 1. Introduction | 1. Introduction | |||
| [[Ed: Editor comments/queries are in double square brackets like | ||||
| this.]] | ||||
| This document provides background material and an overview of the | This document provides background material and an overview of the | |||
| technologies being considered in the IETF's Low Power Wide-Area | technologies being considered in the IETF's Low Power Wide-Area | |||
| Networking (LPWAN) working group. We also provide a gap analysis | Networking (LPWAN) working group. We also provide a gap analysis | |||
| between the needs of these technologies and currently available IETF | between the needs of these technologies and currently available IETF | |||
| specifications. | specifications. | |||
| Most technologies in this space aim for similar goals of supporting | Most technologies in this space aim for similar goals of supporting | |||
| large numbers of low-cost, low-throughput devices at very low-cost | large numbers of very low-cost, low-throughput devices with very-low | |||
| and with very-low power consumption, so that even battery-powered | power consumption, so that even battery-powered devices can be | |||
| devices can be deployed for years. LPWAN devices also tend to be | deployed for years. LPWAN devices also tend to be constrained in | |||
| constrained in their use of bandwidth, for example with limited | their use of bandwidth, for example with limited frequencies being | |||
| frequencies being allowed to be used within limited duty-cycles | allowed to be used within limited duty-cycles (usually expressed as a | |||
| (usually expressed as a percentage of time per-hour that the device | percentage of time per-hour that the device is allowed to transmit.) | |||
| is allowed to transmit.) And as the name implies, coverage of large | And as the name implies, coverage of large areas is also a common | |||
| areas is also a common goal. So, by and large, the different | goal. So, by and large, the different technologies aim for | |||
| technologies aim for deployment in very similar circumstances. | deployment in very similar circumstances. | |||
| Existing pilot deployments have shown huge potential and created much | Existing pilot deployments have shown huge potential and created much | |||
| industrial interest in these technolgies. As of today, essentially | industrial interest in these technologies. As of today, essentially | |||
| no LPWAN devices have IP capabilities. Connecting LPWANs to the | no LPWAN devices have IP capabilities. Connecting LPWANs to the | |||
| Internet would provide significant benefits to these networks in | Internet would provide significant benefits to these networks in | |||
| terms of interoperability, application deployment, and management, | terms of interoperability, application deployment, and management, | |||
| among others. The goal of the LPWAN WG is to, where necessary, adapt | among others. The goal of the IETF LPWAN working group is to, where | |||
| IETF defined protocols, addressing schemes and naming to this | necessary, adapt IETF-defined protocols, addressing schemes and | |||
| particular constrained environment. | naming to this particular constrained environment. | |||
| This document is largely the work of the people listed in Section 7. | This document is largely the work of the people listed in Section 7. | |||
| Discussion of this document should take place on the lp-wan@ietf.org | ||||
| list. | ||||
| 2. LPWAN Technologies | 2. LPWAN Technologies | |||
| This section provides an overview of the set of LPWAN technologies | This section provides an overview of the set of LPWAN technologies | |||
| that are being considered in the LPWAN working group. The text for | that are being considered in the LPWAN working group. The text for | |||
| each was mainly contributed by proponents of each technology. | each was mainly contributed by proponents of each technology. | |||
| Note that this text is not intended to be normative in any sesne, but | Note that this text is not intended to be normative in any sense, but | |||
| simply to help the reader in finding the relevant layer 2 | simply to help the reader in finding the relevant layer 2 | |||
| specifications and in understanding how those integrate with IETF- | specifications and in understanding how those integrate with IETF- | |||
| defined technologies. Similarly, there is no attempt here to set out | defined technologies. Similarly, there is no attempt here to set out | |||
| the pros and cons of the relevant technologies. | the pros and cons of the relevant technologies. | |||
| Note that some of the technology-specific drafts referenced below may | ||||
| have been updated since publication of this document. | ||||
| 2.1. LoRaWAN | 2.1. LoRaWAN | |||
| Text here is largely from [I-D.farrell-lpwan-lora-overview] which may | Text here is largely from [I-D.farrell-lpwan-lora-overview] | |||
| have been updated since this was published. | ||||
| 2.1.1. Provenance and Documents | 2.1.1. Provenance and Documents | |||
| LoRaWAN is a wireless technology for long-range low-power low-data- | LoRaWAN is a wireless technology for long-range low-power low-data- | |||
| rate applications developed by the LoRa Alliance, a membership | rate applications developed by the LoRa Alliance, a membership | |||
| consortium. <https://www.lora-alliance.org/> This draft is based on | consortium. <https://www.lora-alliance.org/> This draft is based on | |||
| version 1.0.2 [LoRaSpec] of the LoRa specification. Version 1.0, | version 1.0.2 [LoRaSpec] of the LoRa specification. Version 1.0, | |||
| which has also seen some deployment, is available at [LoRaSpec1.0]. | which has also seen some deployment, is available at [LoRaSpec1.0]. | |||
| 2.1.2. Characteristics | 2.1.2. Characteristics | |||
| LoRaWAN networks are typically organized in a star-of-stars topology | LoRaWAN networks are typically organized in a star-of-stars topology | |||
| in which gateways relay messages between end-devices and a central | in which gateways relay messages between end-devices and a central | |||
| "network server" in the backend. Gateways are connected to the | "network server" in the backend. Gateways are connected to the | |||
| network server via IP links while end-devices use single-hop LoRaWAN | network server via IP links while end-devices use single-hop LoRaWAN | |||
| communication that can be received at one or more gateways. All | communication that can be received at one or more gateways. All | |||
| communication is generally bi-directional, although uplink | communication is generally bi-directional, although uplink | |||
| communication from end-devices to the network server are favoured in | communication from end-devices to the network server are favored in | |||
| terms of overall bandwidth availability. | terms of overall bandwidth availability. | |||
| Figure 1 shows the entities involved in a LoRaWAN network. | Figure 1 shows the entities involved in a LoRaWAN network. | |||
| +----------+ | +----------+ | |||
| |End-device| * * * | |End-device| * * * | |||
| +----------+ * +---------+ | +----------+ * +---------+ | |||
| * | Gateway +---+ | * | Gateway +---+ | |||
| +----------+ * +---------+ | +---------+ | +----------+ * +---------+ | +---------+ | |||
| |End-device| * * * +---+ Network +--- Application | |End-device| * * * +---+ Network +--- Application | |||
| skipping to change at page 5, line 10 ¶ | skipping to change at page 5, line 10 ¶ | |||
| o Gateway: a radio on the infrastructure-side, sometimes called a | o Gateway: a radio on the infrastructure-side, sometimes called a | |||
| concentrator or base-station. Communicates with end-devices and, | concentrator or base-station. Communicates with end-devices and, | |||
| via IP, with a network server. | via IP, with a network server. | |||
| o Network Server: The Network Server (NS) terminates the LoRaWAN MAC | o Network Server: The Network Server (NS) terminates the LoRaWAN MAC | |||
| layer for the end-devices connected to the network. It is the | layer for the end-devices connected to the network. It is the | |||
| center of the star topology. | center of the star topology. | |||
| o Uplink message: refers to communications from end-device to | o Uplink message: refers to communications from end-device to | |||
| network server or appliction via one or more gateways. | network server or application via one or more gateways. | |||
| o Downlink message: refers to communications from network server or | o Downlink message: refers to communications from network server or | |||
| application via one gateway to a single end-device or a group of | application via one gateway to a single end-device or a group of | |||
| end-devices (considering multicasting). | end-devices (considering multicasting). | |||
| o Application: refers to application layer code both on the end- | o Application: refers to application layer code both on the end- | |||
| device and running "behind" the network server. For LoRaWAN, | device and running "behind" the network server. For LoRaWAN, | |||
| there will generally only be one application running on most end- | there will generally only be one application running on most end- | |||
| devices. Interfaces between the network server and application | devices. Interfaces between the network server and application | |||
| are not further described here. | are not further described here. | |||
| skipping to change at page 7, line 30 ¶ | skipping to change at page 7, line 30 ¶ | |||
| | | : 19 | 250 | | | | : 19 | 250 | | |||
| | | octets | octets | | | | octets | octets | | |||
| +-----------------------------------------------+--------+----------+ | +-----------------------------------------------+--------+----------+ | |||
| Table 2: Minima and Maxima for various LoRaWAN Parameters | Table 2: Minima and Maxima for various LoRaWAN Parameters | |||
| Note that in the case of the smallest frame size (19 octets), 8 | Note that in the case of the smallest frame size (19 octets), 8 | |||
| octets are required for LoRa MAC layer headers leaving only 11 octets | octets are required for LoRa MAC layer headers leaving only 11 octets | |||
| for payload (including MAC layer options). However, those settings | for payload (including MAC layer options). However, those settings | |||
| do not apply for the join procedure - end-devices are required to use | do not apply for the join procedure - end-devices are required to use | |||
| a channel and data rate that can send the 23 byte Join-request | a channel and data rate that can send the 23-byte Join-request | |||
| message for the join procedure. | message for the join procedure. | |||
| Uplink and downlink higher layer data is carried in a MACPayload. | Uplink and downlink higher layer data is carried in a MACPayload. | |||
| There is a concept of "ports" (an optional 8 bit value) to handle | There is a concept of "ports" (an optional 8-bit value) to handle | |||
| different applications on an end-device. Port zero is reserved for | different applications on an end-device. Port zero is reserved for | |||
| LoRaWAN specific messaging, such as the configuration of device's | LoRaWAN specific messaging, such as the configuration of the end | |||
| network parameters (available channels, data rates, ADR parameters, | device's network parameters (available channels, data rates, ADR | |||
| RX1/2 delay, etc.). | parameters, RX1/2 delay, etc.). | |||
| In addition to carrying higher layer PDUs there are Join-Request and | In addition to carrying higher layer PDUs there are Join-Request and | |||
| Join-Response (aka Join-Accept) messages for handling network access. | Join-Response (aka Join-Accept) messages for handling network access. | |||
| And so-called "MAC commands" (see below) up to 15 bytes long can be | And so-called "MAC commands" (see below) up to 15 bytes long can be | |||
| piggybacked in an options field ("FOpts"). | piggybacked in an options field ("FOpts"). | |||
| There are a number of MAC commands for: link and device status | There are a number of MAC commands for link and device status | |||
| checking, ADR and duty-cycle negotiation, managing the RX windows and | checking, ADR and duty-cycle negotiation, managing the RX windows and | |||
| radio channel settings. For example, the link check response message | radio channel settings. For example, the link check response message | |||
| allows the network server (in response to a request from an end- | allows the network server (in response to a request from an end- | |||
| device) to inform an end-device about the signal attenuation seen | device) to inform an end-device about the signal attenuation seen | |||
| most recently at a gateway, and to also tell the end-device how many | most recently at a gateway, and to also tell the end-device how many | |||
| gateways received the corresponding link request MAC command. | gateways received the corresponding link request MAC command. | |||
| Some MAC commands are initiated by the network server. For example, | Some MAC commands are initiated by the network server. For example, | |||
| one command allows the network server to ask an end-device to reduce | one command allows the network server to ask an end-device to reduce | |||
| its duty-cycle to only use a proportion of the maximum allowed in a | its duty-cycle to only use a proportion of the maximum allowed in a | |||
| region. Another allows the network server to query the end-device's | region. Another allows the network server to query the end-device's | |||
| power status with the response from the end-device specifying whether | power status with the response from the end-device specifying whether | |||
| it has an external power source or is battery powered (in which case | it has an external power source or is battery powered (in which case | |||
| a relative battery level is also sent to the network server). | a relative battery level is also sent to the network server). | |||
| A LoRaWAN network has a short network identifier ("NwkID") which is a | A LoRaWAN network has a short network identifier ("NwkID") which is a | |||
| seven bit value. A private network (common for LoRaWAN) can use the | seven-bit value. A private network (common for LoRaWAN) can use the | |||
| value zero. If a network wishes to support "foreign" end-devices | value zero. If a network wishes to support "foreign" end-devices | |||
| then the NwkID needs to be registered with the LoRA Alliance, in | then the NwkID needs to be registered with the LoRA Alliance, in | |||
| which case the NwkID is the seven least significant bits of a | which case the NwkID is the seven least significant bits of a | |||
| registered 24-bit NetID. (Note however, that the methods for | registered 24-bit NetID. (Note however, that the methods for | |||
| "roaming" are defined in the upcoming LoRaWAN 1.1 specification.) | "roaming" are defined in the upcoming LoRaWAN 1.1 specification.) | |||
| In order to operate nominally on a LoRaWAN network, a device needs a | In order to operate nominally on a LoRaWAN network, a device needs a | |||
| 32-bit device address, which is the catentation of the NwkID and a | 32-bit device address, which is the catenation of the NwkID and a | |||
| 25-bit device-specific network address that is assigned when the | 25-bit device-specific network address that is assigned when the | |||
| device "joins" the network (see below for the join procedure) or that | device "joins" the network (see below for the join procedure) or that | |||
| is pre-provisioned into the device. | is pre-provisioned into the device. | |||
| End-devices are assumed to work with one or a quite limited number of | End-devices are assumed to work with one or a quite limited number of | |||
| applications, identified by a 64-bit AppEUI, which is assumed to be a | applications, identified by a 64-bit AppEUI, which is assumed to be a | |||
| registered IEEE EUI64 value. In addition, a device needs to have two | registered IEEE EUI64 value. In addition, a device needs to have two | |||
| symmetric session keys, one for protecting network artefacts | symmetric session keys, one for protecting network artifacts | |||
| (port=0), the NwkSKey, and another for protecting application layer | (port=0), the NwkSKey, and another for protecting application layer | |||
| traffic, the AppSKey. Both keys are used for 128 bit AES | traffic, the AppSKey. Both keys are used for 128-bit AES | |||
| cryptographic operations. So, one option is for an end-device to | cryptographic operations. So, one option is for an end-device to | |||
| have all of the above, plus channel information, somehow | have all of the above, plus channel information, somehow | |||
| (pre-)provisioned, in which case the end-device can simply start | (pre-)provisioned, in which case the end-device can simply start | |||
| transmitting. This is achievable in many cases via out-of-band means | transmitting. This is achievable in many cases via out-of-band means | |||
| given the nature of LoRaWAN networks. Table 3 summarises these | given the nature of LoRaWAN networks. Table 3 summarizes these | |||
| values. | values. | |||
| +---------+---------------------------------------------------------+ | +---------+---------------------------------------------------------+ | |||
| | Value | Description | | | Value | Description | | |||
| +---------+---------------------------------------------------------+ | +---------+---------------------------------------------------------+ | |||
| | DevAddr | DevAddr (32-bits) = NwkId (7-bits) + device-specific | | | DevAddr | DevAddr (32-bits) = NwkId (7-bits) + device-specific | | |||
| | | network address (25 bits) | | | | network address (25 bits) | | |||
| | | | | | | | | |||
| | AppEUI | IEEE EUI64 naming the application | | | AppEUI | IEEE EUI64 naming the application | | |||
| | | | | | | | | |||
| | NwkSKey | 128 bit network session key for use with AES | | | NwkSKey | 128-bit network session key for use with AES | | |||
| | | | | | | | | |||
| | AppSKey | 128 bit application session key for use with AES | | | AppSKey | 128-bit application session key for use with AES | | |||
| +---------+---------------------------------------------------------+ | +---------+---------------------------------------------------------+ | |||
| Table 3: Values required for nominal operation | Table 3: Values required for nominal operation | |||
| As an alternative, end-devices can use the LoRaWAN join procedure in | As an alternative, end-devices can use the LoRaWAN join procedure in | |||
| order to setup some of these values and dynamically gain access to | order to setup some of these values and dynamically gain access to | |||
| the network. To use the join procedure, an end-device must still | the network. To use the join procedure, an end-device must still | |||
| know the AppEUI, and in addition, a different (long-term) symmetric | know the AppEUI, and in addition, a different (long-term) symmetric | |||
| key that is bound to the AppEUI - this is the application key | key that is bound to the AppEUI - this is the application key | |||
| (AppKey), and is distinct from the application session key (AppSKey). | (AppKey), and is distinct from the application session key (AppSKey). | |||
| The AppKey is required to be specific to the device, that is, each | The AppKey is required to be specific to the device, that is, each | |||
| end-device should have a different AppKey value. And finally, the | end-device should have a different AppKey value. And finally, the | |||
| end-device also needs a long-term identifier for itself, | end-device also needs a long-term identifier for itself, | |||
| syntactically also an EUI-64, and known as the device EUI or DevEUI. | syntactically also an EUI-64, and known as the device EUI or DevEUI. | |||
| Table 4 summarises these values. | Table 4 summarizes these values. | |||
| +---------+----------------------------------------------------+ | +---------+----------------------------------------------------+ | |||
| | Value | Description | | | Value | Description | | |||
| +---------+----------------------------------------------------+ | +---------+----------------------------------------------------+ | |||
| | DevEUI | IEEE EUI64 naming the device | | | DevEUI | IEEE EUI64 naming the device | | |||
| | | | | | | | | |||
| | AppEUI | IEEE EUI64 naming the application | | | AppEUI | IEEE EUI64 naming the application | | |||
| | | | | | | | | |||
| | AppKey | 128 bit long term application key for use with AES | | | AppKey | 128-bit long term application key for use with AES | | |||
| +---------+----------------------------------------------------+ | +---------+----------------------------------------------------+ | |||
| Table 4: Values required for join procedure | Table 4: Values required for join procedure | |||
| The join procedure involves a special exchange where the end-device | The join procedure involves a special exchange where the end-device | |||
| asserts the AppEUI and DevEUI (integrity protected with the long-term | asserts the AppEUI and DevEUI (integrity protected with the long-term | |||
| AppKey, but not encrypted) in a Join-request uplink message. This is | AppKey, but not encrypted) in a Join-request uplink message. This is | |||
| then routed to the network server which interacts with an entity that | then routed to the network server which interacts with an entity that | |||
| knows that AppKey to verify the Join-request. All going well, a | knows that AppKey to verify the Join-request. All going well, a | |||
| Join-accept downlink message is returned from the network server to | Join-accept downlink message is returned from the network server to | |||
| the end-device that specifies the 24-bit NetID, 32-bit DevAddr and | the end-device that specifies the 24-bit NetID, 32-bit DevAddr and | |||
| channel information and from which the AppSKey and NwkSKey can be | channel information and from which the AppSKey and NwkSKey can be | |||
| derived based on knowledge of the AppKey. This provides the end- | derived based on knowledge of the AppKey. This provides the end- | |||
| device with all the values listed in Table 3. | device with all the values listed in Table 3. | |||
| All payloads are encrypted and have data integrity. MAC commands, | All payloads are encrypted and have data integrity. MAC commands, | |||
| when sent as a payload (port zero), are therefore protected. MAC | when sent as a payload (port zero), are therefore protected. MAC | |||
| commands piggy-backed as frame options ("FOpts") are however sent in | commands piggy-backed as frame options ("FOpts") are however sent in | |||
| clear. Any MAC commands sent as frame options and not only as | clear. Any MAC commands sent as frame options and not only as | |||
| payload, are visible to a passive attacker but are not malleable for | payload, are visible to a passive attacker but are not malleable for | |||
| an active attacker due to the use of the MIC. | an active attacker due to the use of the Message Integrity Check | |||
| (MIC) described below.. | ||||
| For LoRaWAN version 1.0.x, the NWkSkey session key is used to provide | For LoRaWAN version 1.0.x, the NWkSkey session key is used to provide | |||
| data integrity between the end-device and the network server. The | data integrity between the end-device and the network server. The | |||
| AppSKey is used to provide data confidentiality between the end- | AppSKey is used to provide data confidentiality between the end- | |||
| device and network server, or to the application "behind" the network | device and network server, or to the application "behind" the network | |||
| server, depending on the implementation of the network. | server, depending on the implementation of the network. | |||
| All MAC layer messages have an outer 32-bit Message Integrity Code | All MAC layer messages have an outer 32-bit MIC calculated using AES- | |||
| (MIC) calculated using AES-CMAC calculated over the ciphertext | CMAC calculated over the ciphertext payload and other headers and | |||
| payload and other headers and using the NwkSkey. Payloads are | using the NwkSkey. Payloads are encrypted using AES-128, with a | |||
| encrypted using AES-128, with a counter-mode derived from IEEE | counter-mode derived from IEEE 802.15.4 using the AppSKey. Gateways | |||
| 802.15.4 using the AppSKey. Gateways are not expected to be provided | are not expected to be provided with the AppSKey or NwkSKey, all of | |||
| with the AppSKey or NwkSKey, all of the infrastructure-side | the infrastructure-side cryptography happens in (or "behind") the | |||
| cryptography happens in (or "behind") the network server. When | network server. When session keys are derived from the AppKey as a | |||
| session keys are derived from the AppKey as a result of the join | result of the join procedure the Join-accept message payload is | |||
| procedure the Join-accept message payload is specially handled. | specially handled. | |||
| The long-term AppKey is directly used to protect the Join-accept | The long-term AppKey is directly used to protect the Join-accept | |||
| message content, but the function used is not an aes-encrypt | message content, but the function used is not an AES-encrypt | |||
| operation, but rather an aes-decrypt operation. The justification is | operation, but rather an AES-decrypt operation. The justification is | |||
| that this means that the end-device only needs to implement the aes- | that this means that the end-device only needs to implement the AES- | |||
| encrypt operation. (The counter mode variant used for payload | encrypt operation. (The counter mode variant used for payload | |||
| decryption means the end-device doesn't need an aes-decrypt | decryption means the end-device doesn't need an AES-decrypt | |||
| primitive.) | primitive.) | |||
| The Join-accept plaintext is always less than 16 bytes long, so | The Join-accept plaintext is always less than 16 bytes long, so | |||
| electronic code book (ECB) mode is used for protecting Join-accept | electronic code book (ECB) mode is used for protecting Join-accept | |||
| messages. The Join-accept contains an AppNonce (a 24 bit value) that | messages. The Join-accept contains an AppNonce (a 24 bit value) that | |||
| is recovered on the end-device along with the other Join-accept | is recovered on the end-device along with the other Join-accept | |||
| content (e.g. DevAddr) using the aes-encrypt operation. Once the | content (e.g. DevAddr) using the AEs-encrypt operation. Once the | |||
| Join-accept payload is available to the end-device the session keys | Join-accept payload is available to the end-device the session keys | |||
| are derived from the AppKey, AppNonce and other values, again using | are derived from the AppKey, AppNonce and other values, again using | |||
| an ECB mode aes-encrypt operation, with the plaintext input being a | an ECB mode AES-encrypt operation, with the plaintext input being a | |||
| maximum of 16 octets. | maximum of 16 octets. | |||
| 2.2. Narrowband IoT (NB-IoT) | 2.2. Narrowband IoT (NB-IoT) | |||
| Text here is largely from [I-D.ratilainen-lpwan-nb-iot] which may | Text here is largely from [I-D.ratilainen-lpwan-nb-iot] | |||
| have been updated since this was published. | ||||
| 2.2.1. Provenance and Documents | 2.2.1. Provenance and Documents | |||
| Narrowband Internet of Things (NB-IoT) is developed and standardized | Narrowband Internet of Things (NB-IoT) is developed and standardized | |||
| by 3GPP. The standardization of NB-IoT was finalized with 3GPP | by 3GPP. The standardization of NB-IoT was finalized with 3GPP | |||
| Release-13 in June 2016, but further enhancements for NB-IoT are | Release 13 in June 2016, and further enhancements for NB-IoT are | |||
| worked on in the following releases, for example in the form of | specified in 3GPP Release 14 in 2017, for example in the form of | |||
| multicast support. For more information of what has been specified | multicast support. Further features and improvements will be | |||
| for NB-IoT, 3GPP specification 36.300 [TGPP36300] provides an | developed in the following releases, but NB-IoT has been ready to be | |||
| overview and overall description of the E-UTRAN radio interface | deployed since 2016, and is rather simple to deploy especially in the | |||
| protocol architecture, while specifications 36.321 [TGPP36321], | existing LTE networks with a software upgrade in the operator's base | |||
| 36.322 [TGPP36322], 36.323 [TGPP36323] and 36.331 [TGPP36331] give | stations. For more information of what has been specified for NB- | |||
| more detailed description of MAC, RLC, PDCP and RRC protocol layers | IoT, 3GPP specification 36.300 [TGPP36300] provides an overview and | |||
| overall description of the E-UTRAN radio interface protocol | ||||
| architecture, while specifications 36.321 [TGPP36321], 36.322 | ||||
| [TGPP36322], 36.323 [TGPP36323] and 36.331 [TGPP36331] give more | ||||
| detailed description of MAC, RLC, PDCP and RRC protocol layers, | ||||
| respectively. Note that the description below assumes familiarity | respectively. Note that the description below assumes familiarity | |||
| with numerous 3GPP terms. | with numerous 3GPP terms. | |||
| 2.2.2. Characteristics | 2.2.2. Characteristics | |||
| [[Ed: Not clear what minimum/worst-case MTU might be.]] | ||||
| Specific targets for NB-IoT include: Less than US$5 module cost, | Specific targets for NB-IoT include: Less than US$5 module cost, | |||
| extended coverage of 164 dB maximum coupling loss, battery life of | extended coverage of 164 dB maximum coupling loss, battery life of | |||
| over 10 years, ~55000 devices per cell and uplink reporting latency | over 10 years, ~55000 devices per cell and uplink reporting latency | |||
| of less than 10 seconds. | of less than 10 seconds. | |||
| NB-IoT supports Half Duplex FDD operation mode with 60 kbps peak rate | NB-IoT supports Half Duplex FDD operation mode with 60 kbps peak rate | |||
| in uplink and 30 kbps peak rate in downlink, and a maximum size MTU | in uplink and 30 kbps peak rate in downlink, and a maximum | |||
| of 1600 bytes. As the name suggests, NB-IoT uses narrowbands with | transmission unit (MTU) size of 1600 bytes limited by PDCP layer (see | |||
| the bandwidth of 180 kHz in both, downlink and uplink. The multiple | Figure 4 for the protocol structure), which is the highest layer in | |||
| the user plane, as explained later. Any packet size up to the said | ||||
| MTU size can be passed to the NB-IoT stack from higher layers, | ||||
| segmentation of the packet is performed in the RLC layer, which can | ||||
| segment the data to transmission blocks with size as small as 16 | ||||
| bits. As the name suggests, NB-IoT uses narrowbands with the | ||||
| bandwidth of 180 kHz in both downlink and uplink. The multiple | ||||
| access scheme used in the downlink is OFDMA with 15 kHz sub-carrier | access scheme used in the downlink is OFDMA with 15 kHz sub-carrier | |||
| spacing. On uplink multi-tone SC-FDMA is used with 15 kHz tone | spacing. In uplink SC-FDMA single tone with either 15kHz or 3.75 kHz | |||
| spacing or as a special case of SC-FDMA single tone with either 15kHz | tone spacing is used, or optionally multi-tone SC- FDMA can be used | |||
| or 3.75 kHz tone spacing may be used. | with 15 kHz tone spacing. | |||
| NB-IoT can be deployed in three ways. In-band deployment means that | NB-IoT can be deployed in three ways. In-band deployment means that | |||
| the narrowband is multiplexed within normal LTE carrier. In Guard- | the narrowband is deployed inside the LTE band and radio resources | |||
| are flexibly shared between NB-IoT and normal LTE carrier. In Guard- | ||||
| band deployment the narrowband uses the unused resource blocks | band deployment the narrowband uses the unused resource blocks | |||
| between two adjacent LTE carriers. Also standalone deployment is | between two adjacent LTE carriers. Standalone deployment is also | |||
| supported, where the narrowband can be located alone in dedicated | supported, where the narrowband can be located alone in dedicated | |||
| spectrum, which makes it possible for example to refarm the GSM | spectrum, which makes it possible for example to reframe a GSM | |||
| carrier at 850/900 MHz for NB-IoT. All three deployment modes are | carrier at 850/900 MHz for NB-IoT. All three deployment modes are | |||
| meant to be used in licensed bands. The maximum transmission power | used in licensed frequency bands. The maximum transmission power is | |||
| is either 20 or 23 dBm for uplink transmissions, while for downlink | either 20 or 23 dBm for uplink transmissions, while for downlink | |||
| transmission the eNodeB may use higher transmission power, up to 46 | transmission the eNodeB may use higher transmission power, up to 46 | |||
| dBm depending on the deployment. | dBm depending on the deployment. | |||
| A maximum coupling loss (MCL) target for NB-IoT coverage enhancements | ||||
| defined by 3GPP is 164 dB. With this MCL, the performance of NB-IoT | ||||
| in downlink varies between 200 bps and 2-3 kbps, depending on the | ||||
| deployment mode. Stand-alone operation may achieve the highest data | ||||
| rates, up to few kbps, while in-band and guard-band operations may | ||||
| reach several hundreds of bps. NB-IoT may even operate with MCL | ||||
| higher than 170 dB with very low bit rates. | ||||
| For signaling optimization, two options are introduced in addition to | For signaling optimization, two options are introduced in addition to | |||
| legacy RRC connection setup, mandatory Data-over-NAS (Control Plane | legacy LTE RRC connection setup; mandatory Data-over-NAS (Control | |||
| optimization, solution 2 in [TGPP23720]) and optional RRC Suspend/ | Plane optimization, solution 2 in [TGPP23720]) and optional RRC | |||
| Resume (User Plane optimization, solution 18 in [TGPP23720]). In the | Suspend/Resume (User Plane optimization, solution 18 in [TGPP23720]). | |||
| control plane optimization the data is sent over Non Access Stratum, | In the control plane optimization the data is sent over Non-Access | |||
| directly from Mobility Management Entity (MME) in core network to the | Stratum, directly to/from Mobility Management Entity (MME) (see | |||
| UE without interaction from base station. This means there are no | Figure 3 for the network architecture) in the core network to the UE | |||
| Access Stratum security or header compression, as the Access Stratum | without interaction from the base station. This means there are no | |||
| is bypassed, and only limited RRC procedures. | Access Stratum security or header compression provided by the PDCP | |||
| layer in the eNodeB, as the Access Stratum is bypassed, and only | ||||
| limited RRC procedures. RoHC based header compression may still | ||||
| optionally be provided and terminated in MME. | ||||
| The RRC Suspend/Resume procedures reduce the signaling overhead | The RRC Suspend/Resume procedures reduce the signaling overhead | |||
| required for UE state transition from Idle to Connected mode in order | required for UE state transition from RRC Idle to RRC Connected mode | |||
| to have a user plane transaction with the network and back to Idle | compared to legacy LTE operation in order to have quicker user plane | |||
| state by reducing the signaling messages required compared to legacy | transaction with the network and return to RRC Idle mode faster. | |||
| operation | ||||
| With extended DRX the RRC Connected mode DRX cycle is up to 10.24 | In order to prolong device battery life, both power-saving mode (PSM) | |||
| seconds and in RRC Idle the DRX cycle can be up to 3 hours. | and extended DRX (eDRX) are available to NB-IoT. With eDRX the RRC | |||
| Connected mode DRX cycle is up to 10.24 seconds and in RRC Idle the | ||||
| eDRX cycle can be up to 3 hours. In PSM the device is in a deep | ||||
| sleep state and only wakes up for uplink reporting, after which there | ||||
| is a window, configured by the network, during which the device | ||||
| receiver is open for downlink connectivity, of for periodical "keep- | ||||
| alive" signaling (PSM uses periodic TAU signaling with additional | ||||
| reception window for downlink reachability). | ||||
| NB-IoT has no channel access restrictions allowing up to a 100% duty- | Since NB-IoT operates in licensed spectrum, it has no channel access | |||
| cycle. | restrictions allowing up to a 100% duty-cycle. | |||
| 3GPP access security is specified in [TGPP33203]. | 3GPP access security is specified in [TGPP33203]. | |||
| +--+ | +--+ | |||
| |UE| \ +------+ +------+ | |UE| \ +------+ +------+ | |||
| +--+ \ | MME |------| HSS | | +--+ \ | MME |------| HSS | | |||
| \ / +------+ +------+ | \ / +------+ +------+ | |||
| +--+ \+-----+ / | | +--+ \+-----+ / | | |||
| |UE| ----| eNB |- | | |UE| ----| eNB |- | | |||
| +--+ /+-----+ \ | | +--+ /+-----+ \ | | |||
| / \ +--------+ | / \ +--------+ | |||
| / \| | +------+ Service PDN | / \| | +------+ Service PDN | |||
| +--+ / | S-GW |----| P-GW |---- e.g. Internet | +--+ / | S-GW |----| P-GW |---- e.g. Internet | |||
| |UE| | | +------+ | |UE| | | +------+ | |||
| +--+ +--------+ | +--+ +--------+ | |||
| Figure 3: 3GPP network architecture | Figure 3: 3GPP network architecture | |||
| Mobility Management Entity (MME) is responsible for handling the | Figure 3 shows the 3GPP network architecture, which applies to NB- | |||
| mobility of the UE. MME tasks include tracking and paging UEs, | IoT. Mobility Management Entity (MME) is responsible for handling | |||
| the mobility of the UE. MME tasks include tracking and paging UEs, | ||||
| session management, choosing the Serving gateway for the UE during | session management, choosing the Serving gateway for the UE during | |||
| initial attachment and authenticating the user. At MME, the Non | initial attachment and authenticating the user. At MME, the Non- | |||
| Access Stratum (NAS) signaling from the UE is terminated. | Access Stratum (NAS) signaling from the UE is terminated. | |||
| Serving Gateway (S-GW) routes and forwards the user data packets | Serving Gateway (S-GW) routes and forwards the user data packets | |||
| through the access network and acts as a mobility anchor for UEs | through the access network and acts as a mobility anchor for UEs | |||
| during handover between base stations known as eNodeBs and also | during handover between base stations known as eNodeBs and also | |||
| during handovers between other 3GPP technologies. | during handovers between NB-IoT and other 3GPP technologies. | |||
| Packet Data Node Gateway (P-GW) works as an interface between 3GPP | Packet Data Node Gateway (P-GW) works as an interface between 3GPP | |||
| network and external networks. | network and external networks. | |||
| Home Subscriber Server (HSS) contains user-related and subscription- | The Home Subscriber Server (HSS) contains user-related and | |||
| related information. It is a database, which performs mobility | subscription- related information. It is a database, which performs | |||
| management, session establishment support, user authentication and | mobility management, session establishment support, user | |||
| access authorization. | authentication and access authorization. | |||
| E-UTRAN consists of components of a single type, eNodeB. eNodeB is a | E-UTRAN consists of components of a single type, eNodeB. eNodeB is a | |||
| base station, which controls the UEs in one or several cells. | base station, which controls the UEs in one or several cells. | |||
| The illustration of 3GPP radio protocol architecture can be seen from | The illustration of 3GPP radio protocol architecture can be seen from | |||
| Figure 4. | Figure 4. | |||
| +---------+ +---------+ | +---------+ +---------+ | |||
| | NAS |----|-----------------------------|----| NAS | | | NAS |----|-----------------------------|----| NAS | | |||
| +---------+ | +---------+---------+ | +---------+ | +---------+ | +---------+---------+ | +---------+ | |||
| skipping to change at page 13, line 40 ¶ | skipping to change at page 14, line 21 ¶ | |||
| +---------+ | +---------+---------+ | +---------+ | +---------+ | +---------+---------+ | +---------+ | |||
| | RLC |----|----| RLC | IP |----|----| IP | | | RLC |----|----| RLC | IP |----|----| IP | | |||
| +---------+ | +---------+---------+ | +---------+ | +---------+ | +---------+---------+ | +---------+ | |||
| | MAC |----|----| MAC | L2 |----|----| L2 | | | MAC |----|----| MAC | L2 |----|----| L2 | | |||
| +---------+ | +---------+---------+ | +---------+ | +---------+ | +---------+---------+ | +---------+ | |||
| | PHY |----|----| PHY | PHY |----|----| PHY | | | PHY |----|----| PHY | PHY |----|----| PHY | | |||
| +---------+ +---------+---------+ +---------+ | +---------+ +---------+---------+ +---------+ | |||
| LTE-Uu S1-MME | LTE-Uu S1-MME | |||
| UE eNodeB MME | UE eNodeB MME | |||
| Figure 4: 3GPP radio protocol architecture | Figure 4: 3GPP radio protocol architecture for control plane | |||
| Control plane protocol stack | ||||
| The radio protocol architecture of NB-IoT (and LTE) is separated into | The radio protocol architecture of NB-IoT (and LTE) is separated into | |||
| control plane and user plane. Control plane consists of protocols | control plane and user plane. The control plane consists of | |||
| which control the radio access bearers and the connection between the | protocols which control the radio access bearers and the connection | |||
| UE and the network. The highest layer of control plane is called | between the UE and the network. The highest layer of control plane | |||
| Non-Access Stratum (NAS), which conveys the radio signaling between | is called Non-Access Stratum (NAS), which conveys the radio signaling | |||
| the UE and the EPC, passing transparently through radio network. It | between the UE and the EPC, passing transparently through the radio | |||
| is responsible for authentication, security control, mobility | network. It is responsible for authentication, security control, | |||
| management and bearer management. | mobility management and bearer management. | |||
| Access Stratum (AS) is the functional layer below NAS, and in control | Access Stratum (AS) is the functional layer below NAS, and in control | |||
| plane it consists of Radio Resource Control protocol (RRC) | plane it consists of Radio Resource Control protocol (RRC) | |||
| [TGPP36331], which handles connection establishment and release | [TGPP36331], which handles connection establishment and release | |||
| functions, broadcast of system information, radio bearer | functions, broadcast of system information, radio bearer | |||
| establishment, reconfiguration and release. RRC configures the user | establishment, reconfiguration and release. RRC configures the user | |||
| and control planes according to the network status. There exists two | and control planes according to the network status. There exists two | |||
| RRC states, RRC_Idle or RRC_Connected, and RRC entity controls the | RRC states, RRC_Idle or RRC_Connected, and RRC entity controls the | |||
| switching between these states. In RRC_Idle, the network knows that | switching between these states. In RRC_Idle, the network knows that | |||
| the UE is present in the network and the UE can be reached in case of | the UE is present in the network and the UE can be reached in case of | |||
| incoming call. In this state the UE monitors paging, performs cell | incoming call/downlink data. In this state, the UE monitors paging, | |||
| measurements and cell selection and acquires system information. | performs cell measurements and cell selection and acquires system | |||
| Also the UE can receive broadcast and multicast data, but it is not | information. Also the UE can receive broadcast and multicast data, | |||
| expected to transmit or receive singlecast data. In RRC_Connected | but it is not expected to transmit or receive unicast data. In | |||
| the UE has a connection to the eNodeB, the network knows the UE | RRC_Connected the UE has a connection to the eNodeB, the network | |||
| location on cell level and the UE may receive and transmit singlecast | knows the UE location on the cell level and the UE may receive and | |||
| data. RRC_Connected mode is established, when the UE is expected to | transmit unicast data. An RRC connection is established when the UE | |||
| be active in the network, to transmit or receive data. Connection is | is expected to be active in the network, to transmit or receive data. | |||
| released, switching to RRC_Idle, when there is no traffic to save the | The RRC connection is released, switching back to RRC_Idle, when | |||
| UE battery and radio resources. However, a new feature was | there is no more traffic in order to preserve UE battery life and | |||
| introduced for NB-IoT, as mentioned earlier, which allows data to be | radio resources. However, a new feature was introduced for NB-IoT, | |||
| transmitted from the MME directly to the UE, while the UE is in | as mentioned earlier, which allows data to be transmitted from the | |||
| RRC_Idle transparently to the eNodeB. | MME directly to the UE transparently to the eNodeB, thus bypassing AS | |||
| functions. | ||||
| Packet Data Convergence Protocol's (PDCP) [TGPP36323] main services | Packet Data Convergence Protocol's (PDCP) [TGPP36323] main services | |||
| in control plane are transfer of control plane data, ciphering and | in control plane are transfer of control plane data, ciphering and | |||
| integrity protection. | integrity protection. | |||
| Radio Link Control protocol (RLC) [TGPP36322] performs transfer of | Radio Link Control protocol (RLC) [TGPP36322] performs transfer of | |||
| upper layer PDUs and optionally error correction with Automatic | upper layer PDUs and optionally error correction with Automatic | |||
| Repeat reQuest (ARQ), concatenation, segmentation and reassembly of | Repeat reQuest (ARQ), concatenation, segmentation, and reassembly of | |||
| RLC SDUs, in-sequence delivery of upper layer PDUs, duplicate | RLC SDUs, in-sequence delivery of upper layer PDUs, duplicate | |||
| detection, RLC SDU discard, RLC-re-establishment and protocol error | detection, RLC SDU discard, RLC-re-establishment and protocol error | |||
| detection and recovery. | detection and recovery. | |||
| Medium Access Control protocol (MAC) [TGPP36321] provides mapping | Medium Access Control protocol (MAC) [TGPP36321] provides mapping | |||
| between logical channels and transport channels, multiplexing of MAC | between logical channels and transport channels, multiplexing of MAC | |||
| SDUs, scheduling information reporting, error correction with HARQ, | SDUs, scheduling information reporting, error correction with HARQ, | |||
| priority handling and transport format selection. | priority handling and transport format selection. | |||
| Physical layer [TGPP36201] provides data transport services to higher | Physical layer [TGPP36201] provides data transport services to higher | |||
| layers. These include error detection and indication to higher | layers. These include error detection and indication to higher | |||
| layers, FEC encoding, HARQ soft-combining. Rate matching and mapping | layers, FEC encoding, HARQ soft-combining. Rate matching and mapping | |||
| of the transport channels onto physical channels, power weighting and | of the transport channels onto physical channels, power weighting and | |||
| modulation of physical channels, frequency and time synchronization | modulation of physical channels, frequency and time synchronization | |||
| and radio characteristics measurements. | and radio characteristics measurements. | |||
| User plane is responsible for transferring the user data through the | User plane protocol stack | |||
| Access Stratum. It interfaces with IP and consists of PDCP, which in | ||||
| user plane performs header compression using Robust Header | ||||
| Compression (RoHC), transfer of user plane data between eNodeB and | ||||
| UE, ciphering and integrity protection. Lower layers in user plane | ||||
| are similarly RLC, MAC and physical layer performing tasks mentioned | ||||
| above. | ||||
| Under worst-case conditions, NB-IoT may achieve data rate of roughly | User plane is responsible for transferring the user data through the | |||
| 200 bps. For downlink with 164 dB coupling loss, NB-IoT may achieve | Access Stratum. It interfaces with IP and the highest layer of user | |||
| higher data rates, depending on the deployment mode. Stand-alone | plane is PDCP, which in user plane performs header compression using | |||
| operation may achieve the highest data rates, up to few kbps, while | Robust Header Compression (RoHC), transfer of user plane data between | |||
| in-band and guard-band operations may reach several hundreds of bps. | eNodeB and UE, ciphering and integrity protection. Similar to | |||
| NB-IoT may even operate with higher maximum coupling loss than 170 dB | control plane, lower layers in user plane include RLC, MAC and | |||
| with very low bit rates. | physical layer performing the same tasks as in control plane. | |||
| 2.3. SIGFOX | 2.3. SIGFOX | |||
| Text here is largely from | Text here is largely from | |||
| [I-D.zuniga-lpwan-sigfox-system-description] which may have been | [I-D.zuniga-lpwan-sigfox-system-description] which may have been | |||
| updated since this was published. | updated since this was published. | |||
| 2.3.1. Provenance and Documents | 2.3.1. Provenance and Documents | |||
| The SIGFOX LPWAN is in line with the terminology and specifications | The SIGFOX LPWAN is in line with the terminology and specifications | |||
| skipping to change at page 19, line 44 ¶ | skipping to change at page 20, line 29 ¶ | |||
| ID and a message authentication code, which allow ensuring that the | ID and a message authentication code, which allow ensuring that the | |||
| message has been generated and sent by the device with the ID claimed | message has been generated and sent by the device with the ID claimed | |||
| in the message. | in the message. | |||
| Security keys are independent for each device. These keys are | Security keys are independent for each device. These keys are | |||
| associated with the device ID and they are pre-provisioned. | associated with the device ID and they are pre-provisioned. | |||
| Application data can be encrypted by the application provider. | Application data can be encrypted by the application provider. | |||
| 2.4. Wi-SUN Alliance Field Area Network (FAN) | 2.4. Wi-SUN Alliance Field Area Network (FAN) | |||
| [[Ed: Text here is via personal communication from Bob Heile | Text here is via personal communication from Bob Heile | |||
| (bheile@ieee.org) and was authored by Bob and Sum Chin Sean. The | (bheile@ieee.org) and was authored by Bob and Sum Chin Sean. Duffy | |||
| editor thanks Paul Duffy (paduffy@cisco.com) for forwarding updated | (paduffy@cisco.com) also provided additional comments/input on this | |||
| text from Bob and additional comments/input on this section. ]] | section. | |||
| 2.4.1. Provenance and Documents | 2.4.1. Provenance and Documents | |||
| The Wi-SUN Alliance <https://www.wi-sun.org/> is an industry alliance | The Wi-SUN Alliance <https://www.wi-sun.org/> is an industry alliance | |||
| for smart city, smart grid, smart utility, and a broad set of general | for smart city, smart grid, smart utility, and a broad set of general | |||
| IoT applications. The Wi-SUN Alliance Field Area Network (FAN) | IoT applications. The Wi-SUN Alliance Field Area Network (FAN) | |||
| profile is open standards based (primarily on IETF and IEEE802 | profile is open standards based (primarily on IETF and IEEE802 | |||
| standards) and was developed to address applications like smart | standards) and was developed to address applications like smart | |||
| municipality/city infrastructure monitoring and management, electric | municipality/city infrastructure monitoring and management, electric | |||
| vehicle (EV) infrastructure, advanced metering infrastructure (AMI), | vehicle (EV) infrastructure, advanced metering infrastructure (AMI), | |||
| distribution automation (DA), supervisory control and data | distribution automation (DA), supervisory control and data | |||
| acquisition (SCADA) protection/management, distributed generation | acquisition (SCADA) protection/management, distributed generation | |||
| monitoring and management, and many more IoT applications. | monitoring and management, and many more IoT applications. | |||
| Additionally, the Alliance has created a certification program to | Additionally, the Alliance has created a certification program to | |||
| promote global multi-vendor interoperability. | promote global multi-vendor interoperability. | |||
| The FAN profiile is currently being specified within ANSI/TIA as an | The FAN profile is currently being specified within ANSI/TIA as an | |||
| extension of work previously done on Smart Utility Networks. | extension of work previously done on Smart Utility Networks. | |||
| [ANSI-4957-000]. Updates to those specifications intended to be | [ANSI-4957-000]. Updates to those specifications intended to be | |||
| published in 2017 will contain details of the FAN profile. A current | published in 2017 will contain details of the FAN profile. A current | |||
| snapshot of the work to produce that profile is presented in | snapshot of the work to produce that profile is presented in | |||
| [wisun-pressie1] [wisun-pressie2] . | [wisun-pressie1] [wisun-pressie2] . | |||
| 2.4.2. Characteristics | 2.4.2. Characteristics | |||
| The FAN profile is an IPv6 frequency hopping wireless mesh network | The FAN profile is an IPv6 frequency hopping wireless mesh network | |||
| with support for enterprise level security. The frequency hopping | with support for enterprise level security. The frequency hopping | |||
| skipping to change at page 20, line 50 ¶ | skipping to change at page 21, line 30 ¶ | |||
| Router providing Wide Area Network (WAN) connectivity to the network. | Router providing Wide Area Network (WAN) connectivity to the network. | |||
| The Border Router maintains source routing tables for all nodes | The Border Router maintains source routing tables for all nodes | |||
| within its network, provides node authentication and key management | within its network, provides node authentication and key management | |||
| services, and disseminates network-wide information such as broadcast | services, and disseminates network-wide information such as broadcast | |||
| schedules. Secondly, Router nodes, which provide upward and downward | schedules. Secondly, Router nodes, which provide upward and downward | |||
| packet forwarding (within a network). A Router also provides | packet forwarding (within a network). A Router also provides | |||
| services for relaying security and address management protocols. | services for relaying security and address management protocols. | |||
| Lastly, Leaf nodes provide minimum capabilities: discovering and | Lastly, Leaf nodes provide minimum capabilities: discovering and | |||
| joining a network, send/receive IPv6 packets, etc. A low power | joining a network, send/receive IPv6 packets, etc. A low power | |||
| network may contain a mesh topology with Routers at the edges that | network may contain a mesh topology with Routers at the edges that | |||
| construct star topology with Leaf nodes. | construct a star topology with Leaf nodes. | |||
| The FAN profile is based on various open standards developed by the | The FAN profile is based on various open standards developed by the | |||
| IETF (including [RFC0768], [RFC2460], [RFC4443] and [RFC6282]), | IETF (including [RFC0768], [RFC2460], [RFC4443] and [RFC6282]), | |||
| IEEE802 (including [IEEE-802-15-4] and [IEEE-802-15-9]) and ANSI/TIA | IEEE802 (including [IEEE-802-15-4] and [IEEE-802-15-9]) and ANSI/TIA | |||
| [ANSI-4957-210] for low power and lossy networks. | [ANSI-4957-210] for low power and lossy networks. | |||
| The FAN profile specification provides an application-independent | The FAN profile specification provides an application-independent | |||
| IPv6-based transport service for both connectionless (i.e. UDP) and | IPv6-based transport service for both connectionless (i.e. UDP) and | |||
| connection-oriented (i.e. TCP) services. There are two possible | connection-oriented (i.e. TCP) services. There are two possible | |||
| methods for establishing the IPv6 packet routing: mandatory Routing | methods for establishing the IPv6 packet routing: mandatory Routing | |||
| Protocol for Low-Power and Lossy Networks (RPL) at the Network layer | Protocol for Low-Power and Lossy Networks (RPL) at the Network layer | |||
| or optional Multi-Hop Delivery Service (MHDS) at the Data Link layer. | or optional Multi-Hop Delivery Service (MHDS) at the Data Link layer. | |||
| Table 5 provides an overview of the FAN network stack. | Table 5 provides an overview of the FAN network stack. | |||
| The Transport service is based on User Datagram Protocol (UDP) | The Transport service is based on User Datagram Protocol (UDP) | |||
| defined in RFC768 or Transmission Control Protocol (TCP) defined in | defined in RFC768 or Transmission Control Protocol (TCP) defined in | |||
| RFC793. | RFC793. | |||
| The Network service is provided by IPv6 defined in RFC2460 with | The Network service is provided by IPv6 defined in RFC2460 with | |||
| 6LoWPAN adaptation as defined in RC4944 and RFC6282. Additionally, | 6LoWPAN adaptation as defined in RC4944 and RFC6282. Additionally, | |||
| ICMPv6 as defined in RFC4443 is used for control plane in information | ICMPv6, as defined in RFC4443, is used for control plane in | |||
| exchange. | information exchange. | |||
| The Data Link service provides both control/management of the | The Data Link service provides both control/management of the | |||
| Physical layer and data transfer/management services to the Network | Physical layer and data transfer/management services to the Network | |||
| layer. These services are divided into Media Access Control (MAC) | layer. These services are divided into Media Access Control (MAC) | |||
| and Logical Link Control (LLC) sub-layers. The LLC sub-layer | and Logical Link Control (LLC) sub-layers. The LLC sub-layer | |||
| provides a protocol dispatch service which supports 6LoWPAN and an | provides a protocol dispatch service which supports 6LoWPAN and an | |||
| optional MAC sub-layer mesh service. The MAC sub-layer is | optional MAC sub-layer mesh service. The MAC sub-layer is | |||
| constructed using data structures defined in IEEE802.15.4-2015. | constructed using data structures defined in IEEE802.15.4-2015. | |||
| Multiple modes of frequency hopping are defined. The entire MAC | Multiple modes of frequency hopping are defined. The entire MAC | |||
| payload is encapsulated in an IEEE802.15.9 Information Element to | payload is encapsulated in an IEEE802.15.9 Information Element to | |||
| skipping to change at page 23, line 28 ¶ | skipping to change at page 24, line 28 ¶ | |||
| (End Device, User Equipment or End Point). There can be a high | (End Device, User Equipment or End Point). There can be a high | |||
| density of end devices per radio gateway. | density of end devices per radio gateway. | |||
| o The Radio Gateway, which is the end point of the constrained link. | o The Radio Gateway, which is the end point of the constrained link. | |||
| It is known as: Gateway, Evolved Node B or Base station. | It is known as: Gateway, Evolved Node B or Base station. | |||
| o The Network Gateway or Router is the interconnection node between | o The Network Gateway or Router is the interconnection node between | |||
| the Radio Gateway and the Internet. It is known as: Network | the Radio Gateway and the Internet. It is known as: Network | |||
| Server, Serving GW or Service Center. | Server, Serving GW or Service Center. | |||
| o AAA Server, which controls the user authentication, the | o LPWAN-AAA Server, which controls the user authentication, the | |||
| applications. It is known as: Join-Server, Home Subscriber Server | applications. It is known as: Join-Server, Home Subscriber Server | |||
| or Registration Authority. [[Ed: I'm not clear that AAA server is | or Registration Authority. (We use the term LPWAN-AAA server | |||
| the right generic term here.]] | because we're not assuming that this entity speaks RADIUS or | |||
| Diameter as many/most AAA servers do, but equally we don't want to | ||||
| rule that out, as the functionality will be similar. | ||||
| o At last we have the Application Server, known also as Packet Data | o At last we have the Application Server, known also as Packet Data | |||
| Node Gateway or Network Application. | Node Gateway or Network Application. | |||
| +---------------------------------------------------------------------+ | +---------------------------------------------------------------------+ | |||
| | Function/ | | | | | | | Function/ | | | | | | |||
| | Technology | LORAWAN | NB-IOT | SIGFOX | IETF | | | Technology | LORAWAN | NB-IOT | SIGFOX | IETF | | |||
| +--------------+-----------+------------+-------------+---------------+ | +--------------+-----------+------------+-------------+---------------+ | |||
| | Sensor, | | | | | | | Sensor, | | | | | | |||
| | Actuator, | End | User | End | Thing | | | Actuator, | End | User | End | Device | | |||
| |device, object| Device | Equipment | Point | (HOST) | | |device, object| Device | Equipment | Point | (Dev) | | |||
| +--------------+-----------+------------+-------------+---------------+ | +--------------+-----------+------------+-------------+---------------+ | |||
| | Transceiver | | Evolved | Base | RADIO | | | Transceiver | | Evolved | Base | RADIO | | |||
| | Antenna | Gateway | Node B | Station | GATEWAY | | | Antenna | Gateway | Node B | Station | GATEWAY | | |||
| +--------------+-----------+------------+-------------+---------------+ | +--------------+-----------+------------+-------------+---------------+ | |||
| | Server | Network | Serving- | Service |Network Gateway| | | Server | Network | PDN GW/ | Service |Network Gateway| | |||
| | | Server | Gateway | Center | (ROUTER) | | | | Server | SCEF | Center | (NGW) | | |||
| +--------------+-----------+------------+-------------+---------------+ | +--------------+-----------+------------+-------------+---------------+ | |||
| | Security | Join | Home |Registration | | | | Security | Join | Home |Registration | LPWAN- | | |||
| | Server | Server | Subscriber | Authority | AAA | | | Server | Server | Subscriber | Authority | AAA | | |||
| | | | Server | | SERVER | | | | | Server | | SERVER | | |||
| +--------------+-----------+------------+-------------+---------------+ | +--------------+-----------+------------+-------------+---------------+ | |||
| | Application |Application| Packet Data| Network | APPLICATION | | | Application |Application| Application| Network | APPLICATION | | |||
| | | Server |Node Gateway| Application | SERVER | | | | Server | Server | Application | (App) | | |||
| +---------------------------------------------------------------------+ | +---------------------------------------------------------------------+ | |||
| Figure 8: LPWAN Architecture Terminology | Figure 8: LPWAN Architecture Terminology | |||
| () () () | +------+ | +------+ | |||
| () () () | |LPWAN-| | ||||
| () () () () / \ +---------+ | AAA | | () () () () / \ +---------+ | AAA | | |||
| () () () () () () / \========| /\ |====|Server| +-----------+ | () () () () () () / \========| /\ |====|Server| +-----------+ | |||
| () () () | | <--|--> | +------+ |Application| | () () () | | <--|--> | +------+ |APPLICATION| | |||
| () () () () / \============| v |==============| Server | | () () () () / \============| v |==============| (App) | | |||
| () () () / \ +---------+ +-----------+ | () () () / \ +---------+ +-----------+ | |||
| HOSTS Radio Gateways Network Gateway | Dev Radio Gateways NGW | |||
| Figure 9: LPWAN Architecture | Figure 9: LPWAN Architecture | |||
| In addition to the names of entities, LPWANs are also subject to | In addition to the names of entities, LPWANs are also subject to | |||
| possibly regional frequency band regulations. Those may include | possibly regional frequency band regulations. Those may include | |||
| restrictions on the duty-cycle, for example requiring that hosts only | restrictions on the duty-cycle, for example requiring that hosts only | |||
| transmit for a certain percentage of each hour. | transmit for a certain percentage of each hour. | |||
| 4. Gap Analysis | 4. Gap Analysis | |||
| 4.1. Naive application of IPv6 | 4.1. Naive application of IPv6 | |||
| IPv6 [RFC2460] has been designed to allocate addresses to all the | IPv6 [RFC2460] has been designed to allocate addresses to all the | |||
| nodes connected to the Internet. Nevertheless, the header overhead | nodes connected to the Internet. Nevertheless, the header overhead | |||
| of at least 40 bytes introduced by the protocol is incompatible with | of at least 40 bytes introduced by the protocol is incompatible with | |||
| LPWAN constraints. If IPv6 with no further optimization were used, | LPWAN constraints. If IPv6 with no further optimization were used, | |||
| several LPWAN frames would be needed just to carry the IP header. | several LPWAN frames could be needed just to carry the IP header. | |||
| Another problem arises from IPv6 MTU requirements, which require the | Another problem arises from IPv6 MTU requirements, which require the | |||
| layer below to support at least 1280 byte packets [RFC2460]. | layer below to support at least 1280 byte packets [RFC2460]. | |||
| IPv6 has a configuration protocol - neighbor discovery protocol, | IPv6 has a configuration protocol - neighbor discovery protocol, | |||
| (NDP) [RFC4861]). For a node to learn network parameters NDP | (NDP) [RFC4861]). For a node to learn network parameters NDP | |||
| generates regular traffic with a relatively large message size that | generates regular traffic with a relatively large message size that | |||
| does not fit LPWAN constraints. | does not fit LPWAN constraints. | |||
| In some LPWAN technologies, layer two multicast is not supported. In | In some LPWAN technologies, layer two multicast is not supported. In | |||
| that case, if the network topology is a star, the solution and | that case, if the network topology is a star, the solution and | |||
| skipping to change at page 25, line 34 ¶ | skipping to change at page 26, line 34 ¶ | |||
| are problematic when considering LPWAN lower layers. | are problematic when considering LPWAN lower layers. | |||
| 4.2. 6LoWPAN | 4.2. 6LoWPAN | |||
| Several technologies that exhibit significant constraints in various | Several technologies that exhibit significant constraints in various | |||
| dimensions have exploited the 6LoWPAN suite of specifications | dimensions have exploited the 6LoWPAN suite of specifications | |||
| [RFC4944], [RFC6282], [RFC6775] to support IPv6 [I-D.hong-6lo-use- | [RFC4944], [RFC6282], [RFC6775] to support IPv6 [I-D.hong-6lo-use- | |||
| cases]. However, the constraints of LPWANs, often more extreme than | cases]. However, the constraints of LPWANs, often more extreme than | |||
| those typical of technologies that have (re)used 6LoWPAN, constitute | those typical of technologies that have (re)used 6LoWPAN, constitute | |||
| a challenge for the 6LoWPAN suite in order to enable IPv6 over LPWAN. | a challenge for the 6LoWPAN suite in order to enable IPv6 over LPWAN. | |||
| LPWANs are characterised by device constraints (in terms of | LPWANs are characterized by device constraints (in terms of | |||
| processing capacity, memory, and energy availability), and specially, | processing capacity, memory, and energy availability), and specially, | |||
| link constraints, such as: | link constraints, such as: | |||
| o very low layer two payload size (from ~10 to ~100 bytes), | o very low layer two payload size (from ~10 to ~100 bytes), | |||
| o very low bit rate (from ~10 bit/s to ~100 kbit/s), and | o very low bit rate (from ~10 bit/s to ~100 kbit/s), and | |||
| o in some specific technologies, further message rate constraints | o in some specific technologies, further message rate constraints | |||
| (e.g. between ~0.1 message/minute and ~1 message/minute) due to | (e.g. between ~0.1 message/minute and ~1 message/minute) due to | |||
| regional regulations that limit the duty cycle. | regional regulations that limit the duty cycle. | |||
| skipping to change at page 26, line 19 ¶ | skipping to change at page 27, line 20 ¶ | |||
| compressed) or 19 bytes (both source and destination prefixes | compressed) or 19 bytes (both source and destination prefixes | |||
| compressed). These headers are large considering the link layer | compressed). These headers are large considering the link layer | |||
| payload size of LPWAN technologies, and in some cases are even bigger | payload size of LPWAN technologies, and in some cases are even bigger | |||
| than the LPWAN PDUs. 6LoWPAN has been initially designed for IEEE | than the LPWAN PDUs. 6LoWPAN has been initially designed for IEEE | |||
| 802.15.4 networks with a frame size up to 127 bytes and a throughput | 802.15.4 networks with a frame size up to 127 bytes and a throughput | |||
| of up to 250 kb/s, which may or may not be duty-cycled. | of up to 250 kb/s, which may or may not be duty-cycled. | |||
| 4.2.2. Address Autoconfiguration | 4.2.2. Address Autoconfiguration | |||
| Traditionally, Interface Identifiers (IIDs) have been derived from | Traditionally, Interface Identifiers (IIDs) have been derived from | |||
| link layer identifiers [RFC4944] . This allows optimisations such as | link layer identifiers [RFC4944] . This allows optimizations such as | |||
| header compression. Nevertheless, recent guidance has given advice | header compression. Nevertheless, recent guidance has given advice | |||
| on the fact that, due to privacy concerns, 6LoWPAN devices should not | on the fact that, due to privacy concerns, 6LoWPAN devices should not | |||
| be configured to embed their link layer addresses in the IID by | be configured to embed their link layer addresses in the IID by | |||
| default. | default. | |||
| 4.2.3. Fragmentation | 4.2.3. Fragmentation | |||
| As stated above, IPv6 requires the layer below to support an MTU of | As stated above, IPv6 requires the layer below to support an MTU of | |||
| 1280 bytes [RFC2460]. Therefore, given the low maximum payload size | 1280 bytes [RFC2460]. Therefore, given the low maximum payload size | |||
| of LPWAN technologies, fragmentation is needed. | of LPWAN technologies, fragmentation is needed. | |||
| skipping to change at page 28, line 28 ¶ | skipping to change at page 29, line 32 ¶ | |||
| 4.5. RoHC | 4.5. RoHC | |||
| Robust header compression (RoHC) is a header compression mechanism | Robust header compression (RoHC) is a header compression mechanism | |||
| [RFC3095] developed for multimedia flows in a point to point channel. | [RFC3095] developed for multimedia flows in a point to point channel. | |||
| RoHC uses 3 levels of compression, each level having its own header | RoHC uses 3 levels of compression, each level having its own header | |||
| format. In the first level, RoHC sends 52 bytes of header, in the | format. In the first level, RoHC sends 52 bytes of header, in the | |||
| second level the header could be from 34 to 15 bytes and in the third | second level the header could be from 34 to 15 bytes and in the third | |||
| level header size could be from 7 to 2 bytes. The level of | level header size could be from 7 to 2 bytes. The level of | |||
| compression is managed by a sequence number, which varies in size | compression is managed by a sequence number, which varies in size | |||
| from 2 bytes to 4 bits in the minimal compression. SN compression is | from 2 bytes to 4 bits in the minimal compression. SN compression is | |||
| done with an algorithm called W-LSB (Window- Least Signifiant Bits). | done with an algorithm called W-LSB (Window- Least Significant Bits). | |||
| This window has a 4 bit size representing 15 packets, so every 15 | This window has a 4-bit size representing 15 packets, so every 15 | |||
| packets RoHC needs to slide the window in order to receive the | packets RoHC needs to slide the window in order to receive the | |||
| correct sequence number, and sliding the window implies a reduction | correct sequence number, and sliding the window implies a reduction | |||
| of the level of compression. When packets are lost or errored, the | of the level of compression. When packets are lost or errored, the | |||
| decompressor loses context and drops packets until a bigger header is | decompressor loses context and drops packets until a bigger header is | |||
| sent with more complete information. To estimate the performance of | sent with more complete information. To estimate the performance of | |||
| RoHC, an average header size is used. This average depends on the | RoHC, an average header size is used. This average depends on the | |||
| transmission conditions, but most of the time is between 3 and 4 | transmission conditions, but most of the time is between 3 and 4 | |||
| bytes. | bytes. | |||
| RoHC has not been adapted specifically to the constrained hosts and | RoHC has not been adapted specifically to the constrained hosts and | |||
| skipping to change at page 29, line 13 ¶ | skipping to change at page 30, line 16 ¶ | |||
| ROLL WG and other routing protocols are out of scope of the LPWAN WG. | ROLL WG and other routing protocols are out of scope of the LPWAN WG. | |||
| 4.7. CoAP | 4.7. CoAP | |||
| CoAP [RFC7252] provides a RESTful framework for applications intended | CoAP [RFC7252] provides a RESTful framework for applications intended | |||
| to run on constrained IP networks. It may be necessary to adapt CoAP | to run on constrained IP networks. It may be necessary to adapt CoAP | |||
| or related protocols to take into account for the extreme duty cycles | or related protocols to take into account for the extreme duty cycles | |||
| and the potentially extremely limited throughput of LPWANs. | and the potentially extremely limited throughput of LPWANs. | |||
| For example, some of the timers in CoAP may need to be redefined. | For example, some of the timers in CoAP may need to be redefined. | |||
| Taking into account CoAP acknowledgements may allow the reduction of | Taking into account CoAP acknowledgments may allow the reduction of | |||
| L2 acknowledgements. On the other hand, the current work in progress | L2 acknowledgments. On the other hand, the current work in progress | |||
| in the CoRE WG where the COMI/CoOL network management interface | in the CoRE WG where the COMI/CoOL network management interface | |||
| which, uses Structured Identifiers (SID) to reduce payload size over | which, uses Structured Identifiers (SID) to reduce payload size over | |||
| CoAP proves to be a good solution for the LPWAN technologies. The | CoAP may prove to be a good solution for the LPWAN technologies. The | |||
| overhead is reduced by adding a dictionary which matches a URI to a | overhead is reduced by adding a dictionary which matches a URI to a | |||
| small identifier and a compact mapping of the YANG model into the | small identifier and a compact mapping of the YANG model into the | |||
| CBOR binary representation. | CBOR binary representation. | |||
| 4.8. Mobility | 4.8. Mobility | |||
| LPWANs nodes can be mobile. However, LPWAN mobility is different | LPWANs nodes can be mobile. However, LPWAN mobility is different | |||
| from the one specified for Mobile IP. LPWAN implies sporadic traffic | from the one specified for Mobile IP. LPWAN implies sporadic traffic | |||
| and will rarely be used for high-frequency, real-time communications. | and will rarely be used for high-frequency, real-time communications. | |||
| The applications do not generate a flow, they need to save energy and | The applications do not generate a flow, they need to save energy and | |||
| most of the time the node will be down. The mobility will imply most | most of the time the node will be down. | |||
| of the time a group of devices, which represent a network itself. | ||||
| The mobility concerns more the gateway than the devices. | ||||
| NEMO [RFC3963] Mobility solutions may be used in the case where some | In addition, LPWAN mobility may mostly apply to groups of devices, | |||
| hosts belonging to the same Network gateway will move from one point | that represent a network in which case mobility is more a concern for | |||
| to another and that they are not aware of this mobility. | the gateway than the devices. NEMO [RFC3963] Mobility solutions may | |||
| be used in the case where some end-devices belonging to the same | ||||
| network gateway move from one point to another such that they are not | ||||
| aware of being mobile. | ||||
| 4.9. DNS and LPWAN | 4.9. DNS and LPWAN | |||
| The Domain Name System (DNS) DNS [RFC1035], enables applications to | The Domain Name System (DNS) DNS [RFC1035], enables applications to | |||
| name things with a globallly resolvable name. Many protocols use the | name things with a globally resolvable name. Many protocols use the | |||
| DNS to identify hosts for example applications using CoAP. | DNS to identify hosts, for example applications using CoAP. | |||
| The DNS query/answer protocol as a pre-cursor to other communication | The DNS query/answer protocol as a pre-cursor to other communication | |||
| within the time-to-live (TTL) of a DNS answer is clearly problematic | within the time-to-live (TTL) of a DNS answer is clearly problematic | |||
| in an LPWAN, say where only one round-trip per hour can be used, and | in an LPWAN, say where only one round-trip per hour can be used, and | |||
| with a TTL that is less than 3600. It is currently unclear whether | with a TTL that is less than 3600. It is currently unclear whether | |||
| and how DNS-like functionality might be provided in LPWANs. | and how DNS-like functionality might be provided in LPWANs. | |||
| 5. Security Considerations | 5. Security Considerations | |||
| Most LPWAN technologies integrate some authentication or encryption | Most LPWAN technologies integrate some authentication or encryption | |||
| mechanisms that were defined outside the IETF. The working group may | mechanisms that were defined outside the IETF. The working group may | |||
| need to do work to integrate these mechanisms to unify management. A | need to do work to integrate these mechanisms to unify management. A | |||
| standardized Authentication, Accounting and Authorization (AAA) | standardized Authentication, Accounting, and Authorization (AAA) | |||
| infrastructure [RFC2904] may offer a scalable solution for some of | infrastructure [RFC2904] may offer a scalable solution for some of | |||
| the security and management issues for LPWANs. AAA offers | the security and management issues for LPWANs. AAA offers | |||
| centralized management that may be of use in LPWANs, for example | centralized management that may be of use in LPWANs, for example | |||
| [I-D.garcia-dime-diameter-lorawan] and | [I-D.garcia-dime-diameter-lorawan] and | |||
| [I-D.garcia-radext-radius-lorawan] suggest possible security | [I-D.garcia-radext-radius-lorawan] suggest possible security | |||
| processes for a LoRaWAN network. Similar mechanisms may be useful to | processes for a LoRaWAN network. Similar mechanisms may be useful to | |||
| explore for other LPWAN technologies. | explore for other LPWAN technologies. | |||
| Some applications using LPWANs may raise few or no privacy | Some applications using LPWANs may raise few or no privacy | |||
| considerations. For example, temperature sensors in a large office | considerations. For example, temperature sensors in a large office | |||
| building may not raise privacy issues. However, the same sensors, if | building may not raise privacy issues. However, the same sensors, if | |||
| deployed in a home environment and especially if triggered due to | deployed in a home environment and especially if triggered due to | |||
| human presence, can raise significant privacy issues - if an end- | human presence, can raise significant privacy issues - if an end- | |||
| device emits (an encrypted) packet every time someone enters a room | device emits (an encrypted) packet every time someone enters a room | |||
| in a home, then that traffic is privacy sensitive. And the more that | in a home, then that traffic is privacy sensitive. And the more that | |||
| the existence of that traffic is visible to network entities, the | the existence of that traffic is visible to network entities, the | |||
| more privacy sensitivities arise. At this point, it is not clear | more privacy sensitivities arise. At this point, it is not clear | |||
| whether there are workable mitigations for problems like this - in a | whether there are workable mitigations for problems like this - in a | |||
| more typical network, one would cosider defining padding mechanisms | more typical network, one would consider defining padding mechanisms | |||
| and allowing for cover traffic. In some LPWANs, those mechanisms may | and allowing for cover traffic. In some LPWANs, those mechanisms may | |||
| not be feasible. Nonetheless, the privacy challenges do exist and | not be feasible. Nonetheless, the privacy challenges do exist and | |||
| can be real and so some solutions will be needed. Note that many | can be real and so some solutions will be needed. Note that many | |||
| aspects of solutions in this space may not be visible in IETF | aspects of solutions in this space may not be visible in IETF | |||
| specifications, but can be e.g. implementation or deployment | specifications, but can be e.g. implementation or deployment | |||
| specific. | specific. | |||
| Another challenge for LPWANs will be how to handle key management and | Another challenge for LPWANs will be how to handle key management and | |||
| associated protocols. In a more traditional network (e.g. the web), | associated protocols. In a more traditional network (e.g. the web), | |||
| servers can stable OCSP responses in order to allow browsers to check | servers can "staple" OCSP responses in order to allow browsers to | |||
| revocation status for presented certificates. [RFC6961] While the | check revocation status for presented certificates. [RFC6961] While | |||
| "stapling" approach is likely something that would help in an LPWAN, | the stapling approach is likely something that would help in an | |||
| as it avoids an RTT, certificates and OCSP responses are bulky items | LPWAN, as it avoids an RTT, certificates and OCSP responses are bulky | |||
| and will prove challenging to handle in LPWANs with bounded | items and will prove challenging to handle in LPWANs with bounded | |||
| bandwidth. | bandwidth. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| There are no IANA considerations related to this memo. | There are no IANA considerations related to this memo. | |||
| 7. Contributors | 7. Contributors | |||
| As stated above this document is mainly a collection of content | As stated above this document is mainly a collection of content | |||
| developed by the full set of contributors listed below. The main | developed by the full set of contributors listed below. The main | |||
| input documents and their authors were: | input documents and their authors were: | |||
| o Text for Section 2.1 was provieded by Alper Yegin and Stephen | o Text for Section 2.1 was provided by Alper Yegin and Stephen | |||
| Farrell in [I-D.farrell-lpwan-lora-overview]. | Farrell in [I-D.farrell-lpwan-lora-overview]. | |||
| o Text for Section 2.2 was provided by Antti Ratilainen in | o Text for Section 2.2 was provided by Antti Ratilainen in | |||
| [I-D.ratilainen-lpwan-nb-iot]. | [I-D.ratilainen-lpwan-nb-iot]. | |||
| o Text for Section 2.3 was provided by Juan Carlos Zuniga and Benoit | o Text for Section 2.3 was provided by Juan Carlos Zuniga and Benoit | |||
| Ponsard in [I-D.zuniga-lpwan-sigfox-system-description]. | Ponsard in [I-D.zuniga-lpwan-sigfox-system-description]. | |||
| o Text for Section 2.4 was provided via personal communication from | o Text for Section 2.4 was provided via personal communication from | |||
| Bob Heile (bheile@ieee.org) and was authored by Bob and Sum Chin | Bob Heile (bheile@ieee.org) and was authored by Bob and Sum Chin | |||
| skipping to change at page 33, line 25 ¶ | skipping to change at page 34, line 32 ¶ | |||
| Juan Carlos Zuniga | Juan Carlos Zuniga | |||
| SIGFOX | SIGFOX | |||
| 425 rue Jean Rostand | 425 rue Jean Rostand | |||
| Labege 31670 | Labege 31670 | |||
| France | France | |||
| Email: JuanCarlos.Zuniga@sigfox.com | Email: JuanCarlos.Zuniga@sigfox.com | |||
| URI: http://www.sigfox.com/ | URI: http://www.sigfox.com/ | |||
| 8. Acknowledgements | 8. Acknowledgments | |||
| Thanks to all those listed in Section 7 for the excellent text. | Thanks to all those listed in Section 7 for the excellent text. | |||
| Errors in the handling of that are solely the editor's fault. | Errors in the handling of that are solely the editor's fault. | |||
| In addition to the contributors above, thanks are due to Jiazi Yi, | In addition to the contributors above, thanks are due to Arun | |||
| [your name here] for comments. | (arun@acklio.com), Dan Garcia Carrillo, Paul Duffy, Jiazi Yi, for | |||
| comments. | ||||
| [[Ed: If I omitted anyone, sorry and just let me know and I'll add | ||||
| you here.]] | ||||
| Alexander Pelov and Pascal Thubert were the LPWAN WG chairs while | ||||
| this document was developed. | ||||
| Stephen Farrell's work on this memo was supported by the Science | Stephen Farrell's work on this memo was supported by the Science | |||
| Foundation Ireland funded CONNECT centre <https://connectcentre.ie/>. | Foundation Ireland funded CONNECT centre <https://connectcentre.ie/>. | |||
| 9. Informative References | 9. Informative References | |||
| [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | |||
| DOI 10.17487/RFC0768, August 1980, | DOI 10.17487/RFC0768, August 1980, | |||
| <http://www.rfc-editor.org/info/rfc768>. | <http://www.rfc-editor.org/info/rfc768>. | |||
| skipping to change at page 39, line 24 ¶ | skipping to change at page 40, line 43 ¶ | |||
| https://www.ietf.org/proceedings/98/slides/slides-98-lpwan- | https://www.ietf.org/proceedings/98/slides/slides-98-lpwan- | |||
| aggregated-slides-07.pdf) | aggregated-slides-07.pdf) | |||
| o Got new text wrt Wi-SUN via email from Paul Duffy and merged that | o Got new text wrt Wi-SUN via email from Paul Duffy and merged that | |||
| in | in | |||
| o Reflected list discussion wrt terminology and "end-device" | o Reflected list discussion wrt terminology and "end-device" | |||
| o Merged PR's: #3... | o Merged PR's: #3... | |||
| A.3. From -02 to -03 | ||||
| o Editorial changes and typo fixes thanks to Fred Baker running | ||||
| something called Grammerly and sending me it's report. | ||||
| o Merged PR's: #4, #6, #7... | ||||
| o Editor did an editing pass on the lot. | ||||
| Author's Address | Author's Address | |||
| Stephen Farrell (editor) | Stephen Farrell (editor) | |||
| Trinity College Dublin | Trinity College Dublin | |||
| Dublin 2 | Dublin 2 | |||
| Ireland | Ireland | |||
| Phone: +353-1-896-2354 | Phone: +353-1-896-2354 | |||
| Email: stephen.farrell@cs.tcd.ie | Email: stephen.farrell@cs.tcd.ie | |||
| End of changes. 88 change blocks. | ||||
| 220 lines changed or deleted | 260 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||