| < draft-ietf-lpwan-schc-over-sigfox-03.txt | draft-ietf-lpwan-schc-over-sigfox-04.txt > | |||
|---|---|---|---|---|
| lpwan Working Group JC. Zuniga | lpwan Working Group JC. Zuniga | |||
| Internet-Draft SIGFOX | Internet-Draft SIGFOX | |||
| Intended status: Informational C. Gomez | Intended status: Informational C. Gomez | |||
| Expires: January 14, 2021 Universitat Politecnica de Catalunya | Expires: May 4, 2021 Universitat Politecnica de Catalunya | |||
| L. Toutain | L. Toutain | |||
| IMT-Atlantique | IMT-Atlantique | |||
| July 13, 2020 | October 31, 2020 | |||
| SCHC over Sigfox LPWAN | SCHC over Sigfox LPWAN | |||
| draft-ietf-lpwan-schc-over-sigfox-03 | draft-ietf-lpwan-schc-over-sigfox-04 | |||
| Abstract | Abstract | |||
| The Generic Framework for Static Context Header Compression and | The Generic Framework for Static Context Header Compression and | |||
| Fragmentation (SCHC) specification describes both, an application | Fragmentation (SCHC) specification describes two mechanisms: i) an | |||
| header compression scheme, and a frame fragmentation and loss | application header compression scheme, and ii) a frame fragmentation | |||
| recovery functionality for Low Power Wide Area Network (LPWAN) | and loss recovery functionality. SCHC offers a great level of | |||
| technologies. SCHC offers a great level of flexibility that can be | flexibility that can be tailored for different Low Power Wide Area | |||
| tailored for different LPWAN technologies. | Network (LPWAN) technologies. | |||
| The present document provides the optimal parameters and modes of | The present document provides the optimal parameters and modes of | |||
| operation when SCHC is implemented over a Sigfox LPWAN. This set of | operation when SCHC is implemented over a Sigfox LPWAN. This set of | |||
| parameters are also known as a "SCHC over Sigfox profile." | parameters are also known as a "SCHC over Sigfox profile." | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 January 14, 2021. | This Internet-Draft will expire on May 4, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://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 25 ¶ | skipping to change at page 2, line 25 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. SCHC: Generic Framework for Static Context Header Compression | 3. SCHC: Generic Framework for Static Context Header Compression | |||
| and Fragmentation . . . . . . . . . . . . . . . . . . . . . . 3 | and Fragmentation . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4. SCHC over Sigfox . . . . . . . . . . . . . . . . . . . . . . 3 | 4. SCHC over Sigfox . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4.1. Network Architecture . . . . . . . . . . . . . . . . . . 3 | 4.1. Network Architecture . . . . . . . . . . . . . . . . . . 3 | |||
| 4.2. Uplink . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4.2. Uplink . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.3. Downlink . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.3. Downlink . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4.4. SCHC Rules . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.4. ACK on Downlink . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.5. Fragmentation . . . . . . . . . . . . . . . . . . . . . . 7 | 4.5. SCHC Rules . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.5.1. Uplink Fragmentation . . . . . . . . . . . . . . . . 7 | 4.6. Fragmentation . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4.5.2. Downlink Fragmentation . . . . . . . . . . . . . . . 10 | 4.6.1. Uplink Fragmentation . . . . . . . . . . . . . . . . 8 | |||
| 4.6. Padding . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 4.6.2. Downlink Fragmentation . . . . . . . . . . . . . . . 11 | |||
| 5. Security considerations . . . . . . . . . . . . . . . . . . . 11 | 4.7. Padding . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | 5. Security considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 12 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | 7.2. Informative References . . . . . . . . . . . . . . . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | ||||
| 1. Introduction | 1. Introduction | |||
| The Generic Framework for Static Context Header Compression and | The Generic Framework for Static Context Header Compression and | |||
| Fragmentation (SCHC) specification [RFC8724] defines both, a higher | Fragmentation (SCHC) specification [RFC8724] describes two | |||
| layer header compression scheme and a fragmentation and loss recovery | mechanisms: i) an application header compression scheme, and ii) a | |||
| functionality. Both can be used on top of all the LWPAN systems | frame fragmentation and loss recovery functionality. Both can be | |||
| defined in [RFC8376] . These LPWAN systems have similar | used on top of all the four LWPAN technologies defined in [RFC8376] . | |||
| characteristics such as star-oriented topologies, network | These LPWANs have similar characteristics such as star-oriented | |||
| architecture, connected devices with built-in applications, etc. | topologies, network architecture, connected devices with built-in | |||
| applications, etc. | ||||
| SCHC offers a great level of flexibility to accommodate all these | SCHC offers a great level of flexibility to accommodate all these | |||
| LPWAN systems. Even though there are a great number of similarities | LPWAN technologies. Even though there are a great number of | |||
| between LPWAN technologies, some differences exist with respect to | similarities between them, some differences exist with respect to the | |||
| the transmission characteristics, payload sizes, etc. Hence, there | transmission characteristics, payload sizes, etc. Hence, there are | |||
| are optimal parameters and modes of operation that can be used when | optimal parameters and modes of operation that can be used when SCHC | |||
| SCHC is used on top of a specific LPWAN. | is used on top of a specific LPWAN technology. | |||
| This document describes the recommended parameters, settings and | This document describes the recommended parameters, settings and | |||
| modes of operation to be used when SCHC is implemented over a Sigfox | modes of operation to be used when SCHC is implemented over a Sigfox | |||
| LPWAN. This set of parameters are also known as a "SCHC over Sigfox | LPWAN. This set of parameters are also known as a "SCHC over Sigfox | |||
| profile." | profile." | |||
| 2. Terminology | 2. Terminology | |||
| It is assumed that the reader is familiar with the terms and | It is assumed that the reader is familiar with the terms and | |||
| mechanisms defined in [RFC8376] and in [RFC8724]. | mechanisms defined in [RFC8376] and in [RFC8724]. | |||
| 3. SCHC: Generic Framework for Static Context Header Compression and | 3. SCHC: Generic Framework for Static Context Header Compression and | |||
| Fragmentation | Fragmentation | |||
| The Generic Framework for Static Context Header Compression and | The Generic Framework for Static Context Header Compression and | |||
| Fragmentation (SCHC) described in [RFC8724] takes advantage of the | Fragmentation (SCHC) described in [RFC8724] takes advantage of the | |||
| predictability of data flows existing in LPWAN networks to avoid | predictability of data flows existing in LPWAN applications to avoid | |||
| context synchronization. | context synchronization. | |||
| Contexts must be stored and pre-configured on both ends. This can be | Contexts must be stored and pre-configured on both ends. This can be | |||
| done either by using a provisioning protocol, by out of band means, | done either by using a provisioning protocol, by out of band means, | |||
| or by pre-provisioning them (e.g. at manufacturing time). The way | or by pre-provisioning them (e.g. at manufacturing time). The way | |||
| contexts are configured and stored on both ends is out of the scope | contexts are configured and stored on both ends is out of the scope | |||
| of this document. | of this document. | |||
| 4. SCHC over Sigfox | 4. SCHC over Sigfox | |||
| skipping to change at page 4, line 17 ¶ | skipping to change at page 4, line 17 ¶ | |||
| | APP1 APP2 APP3 | |APP1 APP2 APP3| | | APP1 APP2 APP3 | |APP1 APP2 APP3| | |||
| +----------------+ +--------------+ | +----------------+ +--------------+ | |||
| | UDP | | | | UDP | | | UDP | | | | UDP | | |||
| | IPv6 | | | | IPv6 | | | IPv6 | | | | IPv6 | | |||
| +--------+ | | +--------+ | +--------+ | | +--------+ | |||
| | SCHC C/D & F/R | | | | | SCHC C/D & F/R | | | | |||
| | | | | | | | | | | |||
| +-------+--------+ +--------+-----+ | +-------+--------+ +--------+-----+ | |||
| $ . | $ . | |||
| $ +---------+ +--------------+ +---------+ . | $ +---------+ +--------------+ +---------+ . | |||
| +~~ |Sigfox BS| |Sigfox Network| | SCHC | . | $ | | | | | Network | . | |||
| +~~ |Sigfox BS| |Sigfox Network| | SCHC | . | ||||
| | (RG) | === | (NGW) | === |F/R & C/D|..... | | (RG) | === | (NGW) | === |F/R & C/D|..... | |||
| +---------+ +--------------+ +---------+ | +---------+ +--------------+ +---------+ | |||
| Figure 1: Network Architecture | Figure 1: Network Architecture | |||
| In the case of the global Sigfox Network, RGs (or Base Stations) are | In the case of the global Sigfox Network, RGs (or Base Stations) are | |||
| distributed over multiple countries wherever the Sigfox LPWAN service | distributed over multiple countries wherever the Sigfox LPWAN service | |||
| is provided. The NGW (or cloud-based Sigfox Core Network) is a | is provided. The NGW (or cloud-based Sigfox Core Network) is a | |||
| single entity that connects to all Sigfox base stations in the world, | single entity that connects to all Sigfox base stations in the world, | |||
| providing hence a global single star network topology. | providing hence a global single star network topology. | |||
| The Device is sending applications flows that are compressed and/or | The Device sends application flows that are compressed and/or | |||
| fragmented by a SCHC Compressor/Decompressor (SCHC C/D + F/R) to | fragmented by a SCHC Compressor/Decompressor (SCHC C/D + F/R) to | |||
| reduce headers size and/or fragment the packet. The resulting SCHC | reduce headers size and/or fragment the packet. The resulting SCHC | |||
| Message is sent over a layer two (L2) Sigfox frame to the Sigfox Base | Message is sent over a layer two (L2) Sigfox frame to the Sigfox Base | |||
| Stations, which then forward the SCHC Message to the Network Gateway | Stations, which then forward the SCHC Message to the Network Gateway | |||
| (NGW). The NGW then delivers the SCHC Message and associated | (NGW). The NGW then delivers the SCHC Message and associated | |||
| gathered metadata to the Network SCHC C/D + F/R. | gathered metadata to the Network SCHC C/D + F/R. | |||
| The Sigfox Network (NGW) communicates with the Network SCHC C/D + F/R | The Sigfox Network (NGW) communicates with the Network SCHC C/D + F/R | |||
| for compression/decompression and/or for fragmentation/reassembly. | for compression/decompression and/or for fragmentation/reassembly. | |||
| The Network SCHC C/D + F/R share the same set of rules as the Dev | The Network SCHC C/D + F/R share the same set of rules as the Dev | |||
| SCHC C/D + F/R. The Network SCHC C/D + F/R can be collocated with | SCHC C/D + F/R. The Network SCHC C/D + F/R can be collocated with | |||
| the NGW or it could be located in a different place, as long as a | the NGW or it could be located in a different place, as long as a | |||
| tunnel or secured communication is established between the NGW and | tunnel or secured communication is established between the NGW and | |||
| the SCHC C/D + F/R functions. After decompression and/or reassembly, | the SCHC C/D + F/R functions. After decompression and/or reassembly, | |||
| the packet can be forwarded over the Internet to one (or several) | the packet can be forwarded over the Internet to one (or several) | |||
| LPWAN Application Server(s) (App). | LPWAN Application Server(s) (App). | |||
| The SCHC C/D + F/R processes are bidirectional, so the same | The SCHC C/D + F/R processes are bidirectional, so the same | |||
| principles are applicable on both uplink and downlink. | principles are applicable on both uplink (UL) and downlink (DL). | |||
| 4.2. Uplink | 4.2. Uplink | |||
| Uplink Sigfox transmissions occur in repetitions over different times | Uplink Sigfox transmissions occur in repetitions over different times | |||
| and frequencies. Besides these time and frequency diversities, the | and frequencies. Besides these time and frequency diversities, the | |||
| Sigfox network also provides space diversity, as potentially an | Sigfox network also provides space diversity, as potentially an | |||
| uplink message will be received by several base stations. | uplink message will be received by several base stations. | |||
| Since all messages are self-contained and base stations forward them | Since all messages are self-contained and base stations forward all | |||
| all back to the same Core Network, multiple input copies can be | these messages back to the same Core Network, multiple input copies | |||
| combined at the NGW and hence provide for extra reliability based on | can be combined at the NGW and hence provide for extra reliability | |||
| the triple diversity (i.e. time, space and frequency). | based on the triple diversity (i.e. time, space and frequency). | |||
| A detailed description of the Sigfox Radio Protocol can be found in | A detailed description of the Sigfox Radio Protocol can be found in | |||
| [sigfox-spec]. | [sigfox-spec]. | |||
| Messages sent from the Device to the Network are delivered by the | Messages sent from the Device to the Network are delivered by the | |||
| Sigfox network (NGW) to the Network SCHC C/D + F/R through a | Sigfox network (NGW) to the Network SCHC C/D + F/R through a | |||
| callback/API with the following information: | callback/API with the following information: | |||
| o Device ID | o Device ID | |||
| skipping to change at page 5, line 43 ¶ | skipping to change at page 5, line 43 ¶ | |||
| o RSSI (optional) | o RSSI (optional) | |||
| o Device Temperature (optional) | o Device Temperature (optional) | |||
| o Device Battery Voltage (optional) | o Device Battery Voltage (optional) | |||
| The Device ID is a globally unique identifier assigned to the Device, | The Device ID is a globally unique identifier assigned to the Device, | |||
| which is included in the Sigfox header of every message. The Message | which is included in the Sigfox header of every message. The Message | |||
| Sequence Number is a monotonically increasing number identifying the | Sequence Number is a monotonically increasing number identifying the | |||
| specific transmission of this uplink message, and it is part of the | specific transmission of this uplink message, and it is also part of | |||
| Sigfox header. The Message Payload corresponds to the payload that | the Sigfox header. The Message Payload corresponds to the payload | |||
| the Device has sent in the uplink transmission. | that the Device has sent in the uplink transmission. | |||
| The Message Timestamp, Device Geolocation, RSSI, Device Temperature | The Message Timestamp, Device Geolocation, RSSI, Device Temperature | |||
| and Device Battery Voltage are metadata parameters provided by the | and Device Battery Voltage are metadata parameters provided by the | |||
| Network. | Network. | |||
| A detailed description of the Sigfox callbacks/APIs can be found in | A detailed description of the Sigfox callbacks/APIs can be found in | |||
| [sigfox-callbacks]. | [sigfox-callbacks]. | |||
| Only messages that have passed the L2 Cyclic Redundancy Check (CRC) | Only messages that have passed the L2 Cyclic Redundancy Check (CRC) | |||
| at network reception are delivered by the Sigfox Network to the | at network reception are delivered by the Sigfox Network to the | |||
| skipping to change at page 6, line 24 ¶ | skipping to change at page 6, line 24 ¶ | |||
| Figure 2: SCHC Message in Sigfox | Figure 2: SCHC Message in Sigfox | |||
| Figure 2 shows a SCHC Message sent over Sigfox, where the SCHC | Figure 2 shows a SCHC Message sent over Sigfox, where the SCHC | |||
| Message could be a full SCHC Packet (e.g. compressed) or a SCHC | Message could be a full SCHC Packet (e.g. compressed) or a SCHC | |||
| Fragment (e.g. a piece of a bigger SCHC Packet). | Fragment (e.g. a piece of a bigger SCHC Packet). | |||
| 4.3. Downlink | 4.3. Downlink | |||
| Downlink transmissions are Device-driven and can only take place | Downlink transmissions are Device-driven and can only take place | |||
| following an uplink communication. Hence, a Device willing to | following an uplink communication that so indicates. Hence, a Device | |||
| receive downlink messages indicates so to the network in the | willing to receive a downlink message indicates explicitly its | |||
| preceding uplink message with a downlink request flag, and then it | intention to the network in the preceding uplink message with a | |||
| opens a fixed window for downlink reception after the uplink | downlink request flag, and then it opens a fixed window for downlink | |||
| transmission. The delay and duration of the reception window have | reception after completing the uplink transmission. The delay and | |||
| fixed values. If there is a downlink message to be sent for this | duration of the reception opportunity window have fixed values. If | |||
| given Device (e.g. either a response to the uplink message or queued | there is a downlink message to be sent for this given Device (e.g. | |||
| information waiting to be transmitted), the network transmits it to | either a response to the uplink message or queued information waiting | |||
| the Device during the reception window. | to be transmitted), the network transmits it to the Device during the | |||
| reception window. If no message is received by the Device after the | ||||
| reception opportunity window has elapsed, the Device closes the | ||||
| receiving opportunity and gets back to the normal mode (e.g. continue | ||||
| UL transmissions, sleep, stand-by, etc.) | ||||
| When a downlink message is sent to a Device, an acknowledgement is | When a downlink message is sent to a Device, a reception | |||
| generated by the Device through the Sigfox protocol and reported by | acknowledgement is generated by the Device back to the Network | |||
| the Sigfox Network. This acknowledgement can be retrieved through | through the Sigfox protocol and reported by the Sigfox Network. This | |||
| callbacks by the customer. | acknowledgement can be retrieved through callbacks by the customer. | |||
| A detailed description of the Sigfox Radio Protocol can be found in | A detailed description of the Sigfox Radio Protocol can be found in | |||
| [sigfox-spec] and a detailed description of the Sigfox callbacks/APIs | [sigfox-spec] and a detailed description of the Sigfox callbacks/APIs | |||
| can be found in [sigfox-callbacks]. | can be found in [sigfox-callbacks]. | |||
| 4.4. SCHC Rules | 4.4. ACK on Downlink | |||
| As explained previously, downlink transmissions are Device-driven and | ||||
| can only take place following a specific uplink transmission that | ||||
| indicates and allows a following downlink opportunity. For this | ||||
| reason, when SCHC bi-directional services are used (e.g. Ack-on- | ||||
| Error fragmentation mode) the SCHC protocol implementation needs to | ||||
| consider the times when a downlink message (e.g. ACK) can be sent | ||||
| and/or received. | ||||
| For the UL ACK-on-Error fragmentation mode, a DL opportunity MUST be | ||||
| indicated by the last fragment of every window (i.e. FCN = All-0, or | ||||
| FCN = All-1). The Device sends the fragments in sequence and, after | ||||
| transmitting the FCN = All-0 or FCN = All-1, it opens up a reception | ||||
| opportunity. The Network SCHC can then decide to respond at that | ||||
| opportunity (or wait for a further one) with a SCHC-ACK indicating in | ||||
| case there are missing fragments from the current or previous | ||||
| windows. If there is no SCHC-ACK to be sent, or if the network | ||||
| decides to wait for a further DL transmission opportunity, then no DL | ||||
| transmission takes place at that opportunity and after a timeout the | ||||
| UL transmissions continue. Intermediate SCHC fragments with FCN | ||||
| different from All-0 or All-1 MUST NOT use the DL request flag to | ||||
| request a SCHC-ACK. | ||||
| 4.5. SCHC Rules | ||||
| The RuleID MUST be included in the SCHC header. The total number of | The RuleID MUST be included in the SCHC header. The total number of | |||
| rules to be used affects directly the Rule ID field size, and | rules to be used affects directly the Rule ID field size, and | |||
| therefore the total size of the fragmentation header. For this | therefore the total size of the fragmentation header. For this | |||
| reason, it is recommended to keep the number of rules that are | reason, it is recommended to keep the number of rules that are | |||
| defined for a specific device to the minimum possible. | defined for a specific device to the minimum possible. | |||
| RuleIDs can be used to differenciate data traffic classes (e.g. QoS, | RuleIDs can be used to differentiate data traffic classes (e.g. QoS, | |||
| control vs. data, etc.), and data sessions. They can also be used to | control vs. data, etc.), and data sessions. They can also be used to | |||
| interleave simultaneous fragmentation sessions between a Device and | interleave simultaneous fragmentation sessions between a Device and | |||
| the Network. | the Network. | |||
| 4.5. Fragmentation | 4.6. Fragmentation | |||
| The SCHC specification [RFC8724] defines a generic fragmentation | The SCHC specification [RFC8724] defines a generic fragmentation | |||
| functionality that allows sending data packets or files larger than | functionality that allows sending data packets or files larger than | |||
| the maximum size of a Sigfox data frame. The functionality also | the maximum size of a Sigfox data frame. The functionality also | |||
| defines a mechanism to send reliably multiple messages, by allowing | defines a mechanism to send reliably multiple messages, by allowing | |||
| to resend selectively any lost fragments. | to resend selectively any lost fragments. | |||
| The SCHC fragmentation supports several modes of operation. These | The SCHC fragmentation supports several modes of operation. These | |||
| modes have different advantages and disadvantages depending on the | modes have different advantages and disadvantages depending on the | |||
| specifics of the underlying LPWAN technology and application Use | specifics of the underlying LPWAN technology and application Use | |||
| Case. This section describes how the SCHC fragmentation | Case. This section describes how the SCHC fragmentation | |||
| functionality should optimally be implemented when used over a Sigfox | functionality should optimally be implemented when used over a Sigfox | |||
| LPWAN for the most typical Use Case applications. | LPWAN for the most typical Use Case applications. | |||
| As described in section 8.2.3 of [RFC8724], the integrity of the | ||||
| fragmentation-reassembly process of a SCHC Packet MUST be checked at | ||||
| the receive end. Since only UL messages/fragments that have passed | ||||
| the CRC-check are delivered to the Network SCHC C/D + F/R, and each | ||||
| one has an associated Sigfox Message Sequence Number (see | ||||
| Section 4.2), integrity can be guaranteed when no consecutive | ||||
| messages are missing from the sequence and all FCN bitmaps are | ||||
| complete. In order to support multiple flows/RuleIDs (potentially | ||||
| interleaved), the implementation of a central message sequence | ||||
| counter at the Network SCHC C/D + F/R is required. With this | ||||
| functionality and in order to save protocol overhead, the use of a | ||||
| dedicated Reassembly Check Sequence (RCS) is NOT RECOMMENDED. | ||||
| The L2 Word Size used by Sigfox is 1 byte (8 bits). | The L2 Word Size used by Sigfox is 1 byte (8 bits). | |||
| 4.5.1. Uplink Fragmentation | 4.6.1. Uplink Fragmentation | |||
| Sigfox uplink transmissions are completely asynchronous and can take | Sigfox uplink transmissions are completely asynchronous and can take | |||
| place in any random frequency of the allowed uplink bandwidth | place in any random frequency of the allowed uplink bandwidth | |||
| allocation. Hence, devices can go to deep sleep mode, and then wake | allocation. Hence, devices can go to deep sleep mode, and then wake | |||
| up and transmit whenever there is a need to send any information to | up and transmit whenever there is a need to send any information to | |||
| the network. In that way, there is no need to perform any network | the network. In that way, there is no need to perform any network | |||
| attachment, synchronization, or other procedure before transmitting a | attachment, synchronization, or other procedure before transmitting a | |||
| data packet. All data packets are self-contained with all the | data packet. All data packets are self-contained (aka "message in a | |||
| required information for the network to process them accordingly. | bottle") with all the required information for the network to process | |||
| them accordingly. | ||||
| Since uplink transmissions occur asynchronously, an SCHC fragment can | Since uplink transmissions occur asynchronously, an SCHC fragment can | |||
| be transmitted at any given time by the Device. Sigfox uplink | be transmitted at any given time by the Device. Sigfox uplink | |||
| messages are fixed in size, and as described in [RFC8376] they can | messages are fixed in size, and as described in [RFC8376] they can | |||
| carry 0-12 bytes payload. Hence, a single SCHC Tile size per mode | carry 0-12 bytes payload. Hence, a single SCHC Tile size per | |||
| can be defined so that every Sigfox message always carries one SCHC | fragmentation mode can be defined so that every Sigfox message always | |||
| Tile. | carries one SCHC Tile. | |||
| 4.5.1.1. Uplink No-ACK Mode | 4.6.1.1. Uplink No-ACK Mode | |||
| No-ACK is RECOMMENDED to be used for transmitting short, non-critical | No-ACK is RECOMMENDED to be used for transmitting short, non-critical | |||
| packets that require fragmentation and do not require full | packets that require fragmentation and do not require full | |||
| reliability. This mode can be used by uplink-only devices that do | reliability. This mode can be used by uplink-only devices that do | |||
| not support downlink communications, or by bidirectional devices when | not support downlink communications, or by bidirectional devices when | |||
| they send non-critical data. | they send non-critical data. | |||
| Since there are no multiple windows in the No-ACK mode, the W bit is | Since there are no multiple windows in the No-ACK mode, the W bit is | |||
| not present. However it is RECOMMENDED to use FCN to indicate the | not present. However it is RECOMMENDED to use the FCN field to | |||
| size of the data packet. In this sense, the data packet would need | indicate the size of the data packet. In this sense, the data packet | |||
| to be splitted into X fragments and, similarly to the other | would need to be splitted into X fragments and, similarly to the | |||
| fragmentation modes, the first transmitted fragment would need to be | other fragmentation modes, the first transmitted fragment would need | |||
| marked with FCN = X-1. Consecutive fragments MUST be marked with | to be marked with FCN = X-1. Consecutive fragments MUST be marked | |||
| decreasing FCN values, having the last fragment marked with FCN = | with decreasing FCN values, having the last fragment marked with FCN | |||
| (All-1). Hence, even though the No-ACK mode does not allow | = (All-1). Hence, even though the No-ACK mode does not allow | |||
| recovering missing fragments, it allows indicating implicitly to the | recovering missing fragments, it allows indicating implicitly the | |||
| Network the size of the expected packet and whether all fragments | size of the expected packet to the Network and hence detect at the | |||
| have been received or not. | receiver side whether all fragments have been received or not. | |||
| The RECOMMENDED Fragmentation Header size is 8 bits, and it is | The RECOMMENDED Fragmentation Header size is 8 bits, and it is | |||
| composed as follows: | composed as follows: | |||
| o RuleID size: 4 bits | o RuleID size: 4 bits | |||
| o DTag size (T): 0 bits | o DTag size (T): 0 bits | |||
| o Fragment Compressed Number (FCN) size (N): 4 bits | o Fragment Compressed Number (FCN) size (N): 4 bits | |||
| o As per [RFC8724], in the No-ACK mode the W (window) field is not | o As per [RFC8724], in the No-ACK mode the W (window) field is not | |||
| present. | present. | |||
| o RCS: Not used | o RCS size: 0 bits (Not used) | |||
| 4.5.1.2. Uplink ACK-on-Error Mode: Single-byte SCHC Header | 4.6.1.2. Uplink ACK-on-Error Mode: Single-byte SCHC Header | |||
| ACK-on-Error with single-byte header is RECOMMENDED for medium-large | ACK-on-Error with single-byte header is RECOMMENDED for medium-large | |||
| size packets that need to be sent reliably. ACK-on-Error is optimal | size packets that need to be sent reliably. ACK-on-Error is optimal | |||
| for Sigfox transmissions, since it leads to a reduced number of ACKs | for Sigfox transmissions, since it leads to a reduced number of ACKs | |||
| in the lower capacity downlink channel. Also, downlink messages can | in the lower capacity downlink channel. Also, downlink messages can | |||
| be sent asynchronously and opportunistically. | be sent asynchronously and opportunistically. | |||
| Allowing transmission of packets/files up to 300 bytes long, the SCHC | Allowing transmission of packets/files up to 300 bytes long, the SCHC | |||
| uplink Fragmentation Header size is RECOMMENDED to be 8 bits in size | uplink Fragmentation Header size is RECOMMENDED to be 8 bits in size | |||
| and is composed as follows: | and is composed as follows: | |||
| o Rule ID size: 3 bits | o Rule ID size: 3 bits | |||
| o DTag size (T): 0 bits | o DTag size (T): 0 bits | |||
| o Window index (W) size (M): 2 bits | o Window index (W) size (M): 2 bits | |||
| o Fragment Compressed Number (FCN) size (N): 3 bits | o Fragment Compressed Number (FCN) size (N): 3 bits | |||
| o MAX_ACK_REQUESTS: 5 | o MAX_ACK_REQUESTS: 5 | |||
| o WINDOW_SIZE: 7 (with a maximum value of FCN=0b110) | ||||
| o WINDOW_SIZE: 7 (with a maximum value of FCN=0b110) | ||||
| o Tile size: 11 bytes | o Tile size: 11 bytes | |||
| o Retransmission Timer: Application-dependent | o Retransmission Timer: Application-dependent | |||
| o Inactivity Timer: Application-dependent | o Inactivity Timer: Application-dependent | |||
| o RCS: Not used | o RCS size: 0 bits (Not used) | |||
| The correspondent SCHC ACK in the downlink is 13 bits long, so | The correspondent SCHC ACK in the downlink is 13 bits long, so | |||
| padding is needed to complete the required 64 bits of Sigfox payload. | padding is needed to complete the required 64 bits of Sigfox payload. | |||
| 4.5.1.3. Uplink ACK-on-Error Mode: Two-byte SCHC Header | 4.6.1.3. Uplink ACK-on-Error Mode: Two-byte SCHC Header | |||
| ACK-on-Error with two-byte header is RECOMMENDED for very large size | ACK-on-Error with two-byte header is RECOMMENDED for very large size | |||
| packets that need to be sent reliably. ACK-on-Error is optimal for | packets that need to be sent reliably. ACK-on-Error is optimal for | |||
| Sigfox transmissions, since it leads to a reduced number of ACKs in | Sigfox transmissions, since it leads to a reduced number of ACKs in | |||
| the lower capacity downlink channel. Also, downlink messages can be | the lower capacity downlink channel. Also, downlink messages can be | |||
| sent asynchronously and opportunistically. | sent asynchronously and opportunistically. | |||
| In order to allow transmission of very large packets/files up to 2250 | In order to allow transmission of very large packets/files up to 2250 | |||
| bytes long, the SCHC uplink Fragmentation Header size is RECOMMENDED | bytes long, the SCHC uplink Fragmentation Header size is RECOMMENDED | |||
| to be 16 bits in size and composed as follows: | to be 16 bits in size and composed as follows: | |||
| skipping to change at page 9, line 47 ¶ | skipping to change at page 10, line 45 ¶ | |||
| o MAX_ACK_REQUESTS: 5 | o MAX_ACK_REQUESTS: 5 | |||
| o WINDOW_SIZE: 31 (with a maximum value of FCN=0b11110) | o WINDOW_SIZE: 31 (with a maximum value of FCN=0b11110) | |||
| o Tile size: 10 bytes | o Tile size: 10 bytes | |||
| o Retransmission Timer: Application-dependent | o Retransmission Timer: Application-dependent | |||
| o Inactivity Timer: Application-dependent | o Inactivity Timer: Application-dependent | |||
| o RCS: Not used | o RCS size: 0 bits (Not used) | |||
| The correspondent SCHC ACK in the downlink is 43 bits long, so | The correspondent SCHC ACK in the downlink is 43 bits long, so | |||
| padding is needed to complete the required 64 bits of Sigfox payload. | padding is needed to complete the required 64 bits of Sigfox payload. | |||
| 4.5.1.4. All-1 behaviour + Sigfox Sequence Number | 4.6.1.4. All-1 behaviour + Sigfox Sequence Number | |||
| For ACK-on-Error, as defined in [RFC8724] it is expected that the | For ACK-on-Error, as defined in [RFC8724] it is expected that the | |||
| last SCHC fragment of the last window will always be delivered with | last SCHC fragment of the last window will always be delivered with | |||
| an All-1 FCN. Since this last window may not be full (i.e. it may be | an All-1 FCN. Since this last window may not be full (i.e. it may be | |||
| comprised of less than WINDOW_SIZE fragments), an All-1 fragment may | comprised of less than WINDOW_SIZE fragments), an All-1 fragment may | |||
| follow a value of FCN higher than 1 (0b01). In this case, the | follow a value of FCN higher than 1 (0b01). In this case, the | |||
| receiver could not derive from the FCN values alone whether there are | receiver could not derive from the FCN values alone whether there are | |||
| any missing fragments right before the All-1 fragment or not. | any missing fragments right before the All-1 fragment or not. | |||
| However, since a Message Sequence Number is provided by the Sigfox | However, since a Message Sequence Number is provided by the Sigfox | |||
| protocol together with the Sigfox Payload, the receiver can detect if | protocol together with the Sigfox Payload, the receiver can detect if | |||
| there are missing fragments before the All-1 and hence construct the | there are missing fragments before the All-1 and hence construct the | |||
| corresponding SCHC ACK Bitmap accordingly. | corresponding SCHC ACK Bitmap accordingly. | |||
| 4.5.2. Downlink Fragmentation | 4.6.2. Downlink Fragmentation | |||
| In some LPWAN technologies, as part of energy-saving techniques, | In some LPWAN technologies, as part of energy-saving techniques, | |||
| downlink transmission is only possible immediately after an uplink | downlink transmission is only possible immediately after an uplink | |||
| transmission. This allows the device to go in a very deep sleep mode | transmission. This allows the device to go in a very deep sleep mode | |||
| and preserve battery, without the need to listen to any information | and preserve battery, without the need to listen to any information | |||
| from the network. This is the case for Sigfox-enabled devices, which | from the network. This is the case for Sigfox-enabled devices, which | |||
| can only listen to downlink communications after performing an uplink | can only listen to downlink communications after performing an uplink | |||
| transmission and requesting a downlink. | transmission and requesting a downlink. | |||
| When there are fragments to be transmitted in the downlink, an uplink | When there are fragments to be transmitted in the downlink, an uplink | |||
| skipping to change at page 11, line 18 ¶ | skipping to change at page 12, line 18 ¶ | |||
| o MAX_ACK_REQUESTS: 5 | o MAX_ACK_REQUESTS: 5 | |||
| o WINDOW_SIZE: 31 (with a maximum value of FCN=0b11110) | o WINDOW_SIZE: 31 (with a maximum value of FCN=0b11110) | |||
| o Tile size: 7 bytes | o Tile size: 7 bytes | |||
| o Retransmission Timer: Application-dependent | o Retransmission Timer: Application-dependent | |||
| o Inactivity Timer: Application-dependent | o Inactivity Timer: Application-dependent | |||
| o RCS: Not used | o RCS size: 0 bits (Not used) | |||
| 4.6. Padding | 4.7. Padding | |||
| The Sigfox payload fields have different characteristics in uplink | The Sigfox payload fields have different characteristics in uplink | |||
| and downlink. | and downlink. | |||
| Uplink frames can contain a payload size from 0 to 12 bytes. The | Uplink frames can contain a payload size from 0 to 12 bytes. The | |||
| radio protocol allows sending zero bits, one single bit of | radio protocol allows sending zero bits, one single bit of | |||
| information for binary applications (e.g. status), or an integer | information for binary applications (e.g. status), or an integer | |||
| number of bytes. Therefore, for 2 or more bits of payload it is | number of bytes. Therefore, for 2 or more bits of payload it is | |||
| required to add padding to the next integer number of bytes. The | required to add padding to the next integer number of bytes. The | |||
| reason for this flexibility is to optimize transmission time and | reason for this flexibility is to optimize transmission time and | |||
| skipping to change at page 12, line 14 ¶ | skipping to change at page 13, line 14 ¶ | |||
| The radio protocol has protections against reply attacks, and the | The radio protocol has protections against reply attacks, and the | |||
| cloud-based core network provides firewalling protection against | cloud-based core network provides firewalling protection against | |||
| undesired incoming communications. | undesired incoming communications. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| Carles Gomez has been funded in part by the ERDF and the Spanish | Carles Gomez has been funded in part by the ERDF and the Spanish | |||
| Government through project TEC2016-79988-P. | Government through project TEC2016-79988-P. | |||
| The authors would like to thank Diego Wistuba, Clement Mannequin and | The authors would like to thank Diego Wistuba, Sergio Aguilar, | |||
| Sandra Cespedes for their useful comments and design considerations. | Clement Mannequin, Sandra Cespedes and Rafel Vidal for their useful | |||
| comments and implementation design considerations. | ||||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [RFC8376] Farrell, S., Ed., "Low-Power Wide Area Network (LPWAN) | [RFC8376] Farrell, S., Ed., "Low-Power Wide Area Network (LPWAN) | |||
| Overview", RFC 8376, DOI 10.17487/RFC8376, May 2018, | Overview", RFC 8376, DOI 10.17487/RFC8376, May 2018, | |||
| <https://www.rfc-editor.org/info/rfc8376>. | <https://www.rfc-editor.org/info/rfc8376>. | |||
| [RFC8724] Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC. | [RFC8724] Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC. | |||
| skipping to change at page 12, line 46 ¶ | skipping to change at page 13, line 47 ¶ | |||
| [sigfox-spec] | [sigfox-spec] | |||
| Sigfox, "Sigfox Radio Specifications", | Sigfox, "Sigfox Radio Specifications", | |||
| <https://build.sigfox.com/sigfox-device-radio- | <https://build.sigfox.com/sigfox-device-radio- | |||
| specifications>. | specifications>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Juan Carlos Zuniga | Juan Carlos Zuniga | |||
| SIGFOX | SIGFOX | |||
| 425 rue Jean Rostand | Montreal QC | |||
| Labege 31670 | Canada | |||
| France | ||||
| Email: JuanCarlos.Zuniga@sigfox.com | Email: JuanCarlos.Zuniga@sigfox.com | |||
| URI: http://www.sigfox.com/ | URI: http://www.sigfox.com/ | |||
| Carles Gomez | Carles Gomez | |||
| Universitat Politecnica de Catalunya | Universitat Politecnica de Catalunya | |||
| C/Esteve Terradas, 7 | C/Esteve Terradas, 7 | |||
| 08860 Castelldefels | 08860 Castelldefels | |||
| Spain | Spain | |||
| Email: carlesgo@entel.upc.edu | Email: carlesgo@entel.upc.edu | |||
| End of changes. 38 change blocks. | ||||
| 90 lines changed or deleted | 135 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/ | ||||