draft-ietf-lpwan-schc-over-sigfox-01.txt   draft-ietf-lpwan-schc-over-sigfox-02.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: May 7, 2020 Universitat Politecnica de Catalunya Expires: November 16, 2020 Universitat Politecnica de Catalunya
L. Toutain L. Toutain
IMT-Atlantique IMT-Atlantique
November 4, 2019 May 15, 2020
SCHC over Sigfox LPWAN SCHC over Sigfox LPWAN
draft-ietf-lpwan-schc-over-sigfox-01 draft-ietf-lpwan-schc-over-sigfox-02
Abstract Abstract
The Static Context Header Compression (SCHC) specification describes The Generic Framework for Static Context Header Compression and
a header compression scheme and a fragmentation functionality for Low Fragmentation (SCHC) specification describes both, an application
Power Wide Area Network (LPWAN) technologies. SCHC offers a great header compression scheme, and a frame fragmentation and loss
level of flexibility that can be tailored for different LPWAN recovery functionality for Low Power Wide Area Network (LPWAN)
technologies. technologies. SCHC offers a great level of flexibility that can be
tailored for different 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. operation when SCHC is implemented over a Sigfox LPWAN. This set of
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 May 7, 2020. This Internet-Draft will expire on November 16, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Static Context Header Compression . . . . . . . . . . . . . . 3 3. SCHC: Generic Framework for Static Context Header Compression
4. SCHC over Sigfox . . . . . . . . . . . . . . . . . . . . . . 4 and Fragmentation . . . . . . . . . . . . . . . . . . . . . . 3
4.1. SCHC Rules . . . . . . . . . . . . . . . . . . . . . . . 4 4. SCHC over Sigfox . . . . . . . . . . . . . . . . . . . . . . 3
4.2. Packet processing . . . . . . . . . . . . . . . . . . . . 5 4.1. Network Architecture . . . . . . . . . . . . . . . . . . 3
5. Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Uplink . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.1. Fragmentation headers . . . . . . . . . . . . . . . . . . 5 4.3. Downlink . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2. Uplink fragment transmissions . . . . . . . . . . . . . . 5 4.4. SCHC Rules . . . . . . . . . . . . . . . . . . . . . . . 6
5.2.1. Uplink No-ACK mode . . . . . . . . . . . . . . . . . 5 4.5. Fragmentation . . . . . . . . . . . . . . . . . . . . . . 7
5.2.2. Uplink ACK-Always mode . . . . . . . . . . . . . . . 6 4.5.1. Uplink Fragmentation . . . . . . . . . . . . . . . . 7
5.2.3. Uplink ACK-on-Error mode . . . . . . . . . . . . . . 6 4.5.2. Downlink Fragmentation . . . . . . . . . . . . . . . 10
5.3. Downlink fragment transmissions . . . . . . . . . . . . . 8 4.6. Padding . . . . . . . . . . . . . . . . . . . . . . . . . 11
6. Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Security considerations . . . . . . . . . . . . . . . . . . . 11
7. Security considerations . . . . . . . . . . . . . . . . . . . 9 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
9. Informative References . . . . . . . . . . . . . . . . . . . 10 7.1. Normative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 7.2. Informative References . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction 1. Introduction
The Static Context Header Compression (SCHC) specification The Generic Framework for Static Context Header Compression and
[I-D.ietf-lpwan-ipv6-static-context-hc] defines a header compression Fragmentation (SCHC) specification [RFC8724] defines both, a higher
scheme and a fragmentation functionality. Both can be used on top of layer header compression scheme and a fragmentation and loss recovery
all the LWPAN systems defined in [RFC8376] . These LPWAN systems have functionality. Both can be used on top of all the LWPAN systems
similar characteristics such as star-oriented topologies, network defined in [RFC8376] . These LPWAN systems have similar
characteristics such as star-oriented topologies, network
architecture, connected devices with built-in applications, etc. 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 systems. Even though there are a great number of similarities
between LPWAN technologies, some differences exist with respect to between LPWAN technologies, some differences exist with respect to
the transmission characteristics, payload sizes, etc. Hence, there the transmission characteristics, payload sizes, etc. Hence, there
are optimal parameters and modes of operation that can be used when are optimal parameters and modes of operation that can be used when
SCHC is used on top of a specific LPWAN. SCHC is used on top of a specific LPWAN.
This document describes the recommended parameters and modes of This document describes the recommended parameters, settings and
operation to be used when SCHC is implemented over a Sigfox LPWAN. 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
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 mechanisms defined in [RFC8376] and in [RFC8724].
[I-D.ietf-lpwan-ipv6-static-context-hc].
3. Static Context Header Compression 3. SCHC: Generic Framework for Static Context Header Compression and
Fragmentation
The Static Context Header Compression (SCHC) described in The Generic Framework for Static Context Header Compression and
[I-D.ietf-lpwan-ipv6-static-context-hc] 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 networks to avoid
context synchronization. Nonetheless, these contexts must be stored context synchronization.
and configured on both ends. This can be done either by using a
provisioning protocol, by out of band means, or by pre-provisioning
them (for instance at manufacturing time). The way the contexts are
configured and stored on both ends is out of the scope of this
document.
Dev App 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,
| APP1 APP2 APP3 | |APP1 APP2 APP3| 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
| UDP | | | UDP | of this document.
| IPv6 | | | IPv6 |
+--------+ | | |
|SCHC C/D and F/R| | |
| | | |
+--------+-------+ +-------+------+
$ +--+ +----+ +-----------+ .
+~~ |RG| === |NGW | === | SCHC |... Internet ..
+--+ +----+ |F/R and C/D|
+-----------+
Figure 1: Architecture 4. SCHC over Sigfox
4.1. Network Architecture
Figure 1 represents the architecture for compression/decompression Figure 1 represents the architecture for compression/decompression
and fragmentation/reassembly, which is based on [RFC8376] (C/D) and fragmentation/reassembly (F/R) based on the terminology
terminology, where the Radio Gateway is a Sigfox Base Station and the defined in [RFC8376], where the Radio Gateway (RG) is a Sigfox Base
Network Gateway is the Sigfox Cloud. Station and the Network Gateway (NGW) is the Sigfox cloud-based
Network.
Device Application
+----------------+ +--------------+
| APP1 APP2 APP3 | |APP1 APP2 APP3|
+----------------+ +--------------+
| UDP | | | | UDP |
| IPv6 | | | | IPv6 |
+--------+ | | +--------+
| SCHC C/D & F/R | | |
| | | |
+-------+--------+ +--------+-----+
$ .
$ +---------+ +--------------+ +---------+ .
+~~ |Sigfox BS| |Sigfox Network| | SCHC | .
| (RG) | === | (NGW) | === |F/R & C/D|.....
+---------+ +--------------+ +---------+
Figure 1: Network Architecture
In the case of the global Sigfox Network, RGs (or Base Stations) are
distributed over multiple countries wherever the Sigfox LPWAN service
is provided. The NGW (or cloud-based Sigfox Core Network) is a
single entity that connects to all Sigfox base stations in the world,
providing hence a global single star network topology.
The Device is sending applications flows that are compressed and/or The Device is sending applications flows that are compressed and/or
fragmented by a Static Context Header Compression Compressor/ fragmented by a SCHC Compressor/Decompressor (SCHC C/D + F/R) to
Decompressor (SCHC C/D) to reduce headers size and/or fragment the reduce headers size and/or fragment the packet. The resulting SCHC
packet. The resulting information is sent over a layer two (L2) Message is sent over a layer two (L2) Sigfox frame to the Sigfox Base
frame to a LPWAN Radio Gateway (RG) which forwards the frame to a Stations, which then forward the SCHC Message to the Network Gateway
Network Gateway (NGW). (NGW). The NGW then delivers the SCHC Message and associated
gathered metadata to the Network SCHC C/D + F/R.
4. SCHC over Sigfox The Sigfox Network (NGW) communicates with the Network SCHC C/D + F/R
for compression/decompression and/or for fragmentation/reassembly.
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
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
the SCHC C/D + F/R functions. After decompression and/or reassembly,
the packet can be forwarded over the Internet to one (or several)
LPWAN Application Server(s) (App).
In the case of the global Sigfox network, RGs (or base stations) are The SCHC C/D + F/R processes are bidirectional, so the same
distributed over the multiple countries where the Sigfox LPWAN principles are applicable on both uplink and downlink.
service is provided. On the other hand, the NGW (or Cloud-based Core
network) is a single entity that connects to all Sigfox base stations 4.2. Uplink
in the world.
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. Since all uplink message will be received by several base stations.
messages are self-contained and base stations forward them all back
to the same Core network (NGW), multiple input copies can be combined
at the NGW and hence provide for extra reliability based on the
triple diversity (i.e. time, space and frequency).
Downlink transmissions can only take place after an uplink Since all messages are self-contained and base stations forward them
communication. A device willing to receive downlink messages all back to the same Core Network, multiple input copies can be
indicates so to the network in the uplink message and opens a fixed combined at the NGW and hence provide for extra reliability based on
window for reception after the uplink transmission. The delay and the triple diversity (i.e. time, space and frequency).
duration of this reception window have fixed values. If there is a
downlink message to be sent for this given device (e.g. a response to
the uplink message or queued information), the network transmits it
during the reception window.
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].
The NGW communicates with the Network SCHC C/D + F/R for compression/ Messages sent from the Device to the Network are delivered by the
decompression and/or for fragmentation/reassembly. The Network SCHC Sigfox network (NGW) to the Network SCHC C/D + F/R through a
C/D + F/R share the same set of rules as the Dev SCHC C/D + F/R. The callback/API with the following information:
Network SCHC C/D + F/R can be collocated with the NGW or it could be
in another place, as long as a tunnel is established between the NGW
and the SCHC C/D + F/R functions. After decompression and/or
reassembly, the packet can be forwarded over the Internet to one (or
several) LPWAN Application Server(s) (App).
The SCHC C/D + F/R processes are bidirectional, so the same o Device ID
principles can be applied on both uplink and downlink.
4.1. SCHC Rules o Message Sequence Number
The RuleID MUST be sent at the beginning of the SCHC header. The o Message Payload
total number of rules to be used affects directly the Rule ID field
size, and therefore the total size of the fragmentation header. For
this reason, it is recommended to keep the number of rules that are
defined for a specific device to the minimum possible.
4.2. Packet processing o Message Timestamp
TBD o Device Geolocation (optional)
5. Fragmentation o RSSI (optional)
The SCHC specification [I-D.ietf-lpwan-ipv6-static-context-hc] o Device Temperature (optional)
defines a generic fragmentation functionality that allows sending
data packets or files larger than the maximum size of a Sigfox data
frame. The functionality also defines a mechanism to send reliably
multiple messages, by allowing to resend selectively any lost
fragments.
The SCHC fragmentation supports several modes of operation. These o Device Battery Voltage (optional)
modes have different advantages and disadvantages depending on the
specifics of the underlying LPWAN technology and Use Case. This
section describes how the SCHC fragmentation functionality should
optimally be implemented when used over a Sigfox LPWAN for the most
typical use case applications.
5.1. Fragmentation headers The Device ID is a globally unique identifier assigned to the Device,
which is included in the Sigfox header of every message. The Message
Sequence Number is a monotonically increasing number identifying the
specific transmission of this uplink message, and it is part of the
Sigfox header. The Message Payload corresponds to the payload that
the Device has sent in the uplink transmission.
A list of fragmentation header fields, their sizes as well as The Message Timestamp, Device Geolocation, RSSI, Device Temperature
suggested modes for SCHC fragmentation over Sigfox are provided in and Device Battery Voltage are metadata parameters provided by the
this section. Network.
5.2. Uplink fragment transmissions A detailed description of the Sigfox callbacks/APIs can be found in
[sigfox-callbacks].
Uplink transmissions are completely asynchronous and can take place Only messages that have passed the L2 Cyclic Redundancy Check (CRC)
in any random frequency of the allowed uplink bandwidth allocation. at network reception are delivered by the Sigfox Network to the
Hence, devices can go to deep sleep mode, and then wake up and Network SCHC C/D + F/R.
transmit whenever there is a need to send any information to the
network. In that way, there is no need to perform any network +---------------+-----------------+
| Sigfox Header | Sigfox payload |
+---------------+---------------- +
| SCHC message |
+-----------------+
Figure 2: SCHC Message in Sigfox
Figure 2 shows a SCHC Message sent over Sigfox, where the SCHC
Message could be a SCHC Packet (e.g. compressed) or a SCHC Fragment
(e.g. a piece of a bigger SCHC Packet).
4.3. Downlink
Downlink transmissions are Device-driven and can only take place
following an uplink communication. Hence, a Device willing to
receive downlink messages indicates so to the network in the
preceding uplink message with a downlink request flag, and then it
opens a fixed window for downlink reception after the uplink
transmission. The delay and duration of the reception window have
fixed values. If there is a downlink message to be sent for this
given Device (e.g. either a response to the uplink message or queued
information waiting to be transmitted), the network transmits it to
the Device during the reception window.
When a downlink message is sent to a Device, an acknowledgement is
generated by the Device through the Sigfox protocol and reported by
the Sigfox Network. This acknowledgement can be retrieved through
callbacks by the customer.
A detailed description of the Sigfox Radio Protocol can be found in
[sigfox-spec] and a detailed description of the Sigfox callbacks/APIs
can be found in [sigfox-callbacks].
4.4. SCHC Rules
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
therefore the total size of the fragmentation header. For this
reason, it is recommended to keep the number of rules that are
defined for a specific device to the minimum possible.
4.5. Fragmentation
The SCHC specification [RFC8724] defines a generic fragmentation
functionality that allows sending data packets or files larger than
the maximum size of a Sigfox data frame. The functionality also
defines a mechanism to send reliably multiple messages, by allowing
to resend selectively any lost fragments.
The SCHC fragmentation supports several modes of operation. These
modes have different advantages and disadvantages depending on the
specifics of the underlying LPWAN technology and application Use
Case. This section describes how the SCHC fragmentation
functionality should optimally be implemented when used over a Sigfox
LPWAN for the most typical Use Case applications.
4.5.1. Uplink Fragmentation
Sigfox uplink transmissions are completely asynchronous and can take
place in any random frequency of the allowed uplink bandwidth
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
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 with all the
required information for the network to process them accordingly. 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 Dev. be transmitted at any given time by the Device. Sigfox uplink
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
can be defined so that every Sigfox message always carries one SCHC
Tile.
5.2.1. Uplink No-ACK mode 4.5.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.
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:
The recommended Rule ID size is: 2 bits o RuleID size: 4 bits
The recommended DTag size (T) is: 2 bits
Fragment Compressed Number (FCN) size (N): 4 bits
As per [I-D.ietf-lpwan-ipv6-static-context-hc], in the No-ACK mode
the W (window) field is not present.
When fragmentation is used to transport IP frames, the Message
Integrity Check (MIC) size, M: TBD bits
When fragmentation is used to transport non-IP frames, the Message
Integrity Check (MIC) size, M: TBD bits
The algorithm for computing the MIC field MUST be TBD.
5.2.2. Uplink ACK-Always mode
TBD o DTag size (T): 0 bits
o Fragment Compressed Number (FCN) size (N): 4 bits
5.2.3. Uplink ACK-on-Error mode o As per [RFC8724], in the No-ACK mode the W (window) field is not
present.
ACK-on-Error is RECOMMENDED for larger packets that need to be sent o RCS: Not used
reliably. This mode is optimal for Sigfox transmissions, since it
leads to a reduced number of ACKs in the lower capacity downlink
channel and downlink messages can be sent asynchronously and
opportunistically.
o Single-byte SCHC UL header 4.5.1.2. Uplink ACK-on-Error Mode: Single-byte SCHC Header
In the most generic case, and allowing transmission of packets/files ACK-on-Error with single-byte header is RECOMMENDED for medium-large
up to 300 bytes long, the SCHC uplink Fragmentation Header size is size packets that need to be sent reliably. ACK-on-Error is optimal
RECOMMENDED to be 8 bits in size and composed as follows: for Sigfox transmissions, since it leads to a reduced number of ACKs
in the lower capacity downlink channel. Also, downlink messages can
be sent asynchronously and opportunistically.
Rule ID size is: 2 bits. Allowing transmission of packets/files up to 300 bytes long, the SCHC
uplink Fragmentation Header size is RECOMMENDED to be 8 bits in size
and is composed as follows:
DTag size (T) is: 1 bit. o Rule ID size: 3 bits
Window (W) size is: 2 bits. o DTag size (T): 0 bits
Fragment Compressed Number (FCN) size (N): 3 bits. o Window index (W) size (M): 2 bits
For the ACK-on-Error fragmentation mode(s), a single window size o Fragment Compressed Number (FCN) size (N): 3 bits
is RECOMMENDED.
MAX_ACK_REQUESTS: 3. o MAX_ACK_REQUESTS: 5
MAX_WIND_FCN: 6 (or 0b110, which allows a maximum window size of 7 o WINDOW_SIZE: 7 (with a maximum value of FCN=0b110)
fragments).
Retransmission Timer: 45 sec. o Tile size: 11 bytes
Inactivity Timer: [use case dependent]. o Retransmission Timer: Application-dependent
When fragmentation is used to transport IP frames, the Message o Inactivity Timer: Application-dependent
Integrity Check (MIC) size, M: TBD bits
The algorithm for computing the MIC field MUST be TBD. o RCS: 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.
o Two-byte SCHC UL header 4.5.1.3. Uplink ACK-on-Error Mode: Two-byte SCHC Header
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
Sigfox transmissions, since it leads to a reduced number of ACKs in
the lower capacity downlink channel. Also, downlink messages can be
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:
Rule ID size is: 4 bits. o Rule ID size is: 8 bits
DTag size (T) is: 4 bit. o DTag size (T) is: 0 bits
Window (W) size is: 3 bits. o Window index (W) size (M): 3 bits
Fragment Compressed Number (FCN) size (N): 5 bits. o Fragment Compressed Number (FCN) size (N): 5 bits.
For the ACK-on-Error fragmentation mode(s), a single window size o MAX_ACK_REQUESTS: 5
is RECOMMENDED.
MAX_ACK_REQUESTS: 3. o WINDOW_SIZE: 31 (with a maximum value of FCN=0b11110)
Retransmission Timer: 45 sec. o Tile size: 10 bytes
Inactivity Timer: [use case dependent]. o Retransmission Timer: Application-dependent
When fragmentation is used to transport IP frames, the Message o Inactivity Timer: Application-dependent
Integrity Check (MIC) size, M: TBD bits
The algorithm for computing the MIC field MUST be TBD. o RCS: 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.
5.3. Downlink fragment transmissions 4.5.1.4. All-1 behaviour + Sigfox Sequence Number
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
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
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
any missing fragments right before the All-1 fragment or not.
However, since a Message Sequence Number is provided by the Sigfox
protocol together with the Sigfox Payload, the receiver can detect if
there are missing fragments before the All-1 and hence construct the
corresponding SCHC ACK Bitmap accordingly.
4.5.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
message is required to trigger the downlink communication. In order message is required to trigger the downlink communication. In order
to avoid potentially high delay for fragmented datagram transmission to avoid potentially high delay for fragmented datagram transmission
in the downlink, the fragment receiver MAY perform an uplink in the downlink, the fragment receiver MAY perform an uplink
transmission as soon as possible after reception of a downlink transmission as soon as possible after reception of a downlink
fragment that is not the last one. Such uplink transmission MAY be fragment that is not the last one. Such uplink transmission MAY be
triggered by sending a SCHC message, such as a SCHC ACK. However, triggered by sending a SCHC message, such as a SCHC ACK. However,
other data messages can equally be used to trigger DL communications. other data messages can equally be used to trigger DL communications.
Sigfox downlink messages are fixed in size, and as described in
[RFC8376] they can carry up to 8 bytes payload. Hence, a single SCHC
Tile size per mode can be defined so that every Sigfox message always
carries one SCHC Tile.
For reliable downlink fragment transmission, the ACK-Always mode is For reliable downlink fragment transmission, the ACK-Always mode is
RECOMMENDED. RECOMMENDED.
The recommended Fragmentation Header size is: 8 bits The SCHC downlink Fragmentation Header size is RECOMMENDED to be 8
bits in size and is composed as follows:
The recommended Rule ID size is: 2 bits. o RuleID size: 3 bits
The recommended DTag size (T) is: 2 bits. o DTag size (T): 0 bits
Fragment Compressed Number (FCN) size (N): 3 bits. o Window index (W) size (M) is: 0 bits
As per [I-D.ietf-lpwan-ipv6-static-context-hc], in the ACK-Always o Fragment Compressed Number (FCN) size (N): 5 bits
mode a Window (W) 1-bit field must be present.
For the ACK-Always fragmentation mode(s), a single window size is o MAX_ACK_REQUESTS: 5
RECOMMENDED.
The value of MAX_ACK_REQUESTS SHOULD be 2, and the value of o WINDOW_SIZE: 31 (with a maximum value of FCN=0b11110)
MAX_WIND_FCN SHOULD be 6 (or 0b110, which allows a maximum window
size of 7 fragments).
When fragmentation is used to transport IP frames, the Message o Tile size: 7 bytes
Integrity Check (MIC) size, M: TBD bits
The algorithm for computing the MIC field MUST be TBD. o Retransmission Timer: Application-dependent
Sigfox downlink frames have a fixed length of 8 bytes, which means o Inactivity Timer: Application-dependent
that default SCHC algorithm for padding cannot be used. Therefore, o RCS: Not used
the 3 last bits of the fragmentation header are used to indicate in
bytes the size of the padding. A size of 000 means that the full
ramaining frame is used to carry payload, a value of 001 indicates
that the last byte contains padding, and so on.
6. Padding 4.6. 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 96 bits, that is 0 Uplink frames can contain a payload size from 0 to 12 bytes. The
to 12 bytes. The radio protocol allows sending zero bits or one radio protocol allows sending zero bits, one single bit of
single bit of information for binary applications (e.g. status), or information for binary applications (e.g. status), or an integer
an integer number of bytes. Therefore, for 2 or more bits of payload number of bytes. Therefore, for 2 or more bits of payload it is
it is required to add padding to the next integer number of bytes. required to add padding to the next integer number of bytes. The
The reason for this flexibility is to optimize transmission time and reason for this flexibility is to optimize transmission time and
hence save battery consumption at the device. hence save battery consumption at the device.
Downlink frames on the other hand have a fixed length. The payload Downlink frames on the other hand have a fixed length. The payload
length must be 64 bits (i.e. 8 bytes). Hence, if less information length must be 64 bits (i.e. 8 bytes). Hence, if less information
bits are to be transmitted, padding would be necessary and it should bits are to be transmitted, padding would be necessary.
be performed as described in the previous section.
7. Security considerations 5. Security considerations
The radio protocol authenticates and ensures the integrity of each The radio protocol authenticates and ensures the integrity of each
message. This is achieved by using a unique device ID and an AES-128 message. This is achieved by using a unique device ID and an AES-128
based message authentication code, ensuring that the message has been based message authentication code, ensuring that the message has been
generated and sent by the device with the ID claimed in the message. generated and sent by the device with the ID claimed in the message.
Application data can be encrypted at the application level or not, Application data can be encrypted at the application level or not,
depending on the criticality of the use case. This flexibility depending on the criticality of the use case. This flexibility
allows providing a balance between cost and effort vs. risk. AES-128 allows providing a balance between cost and effort vs. risk. AES-128
in counter mode is used for encryption. Cryptographic keys are in counter mode is used for encryption. Cryptographic keys are
independent for each device. These keys are associated with the independent for each device. These keys are associated with the
device ID and separate integrity and confidentiality keys are pre- device ID and separate integrity and confidentiality keys are pre-
provisioned. A confidentiality key is only provisioned if provisioned. A confidentiality key is only provisioned if
confidentiality is to be used. confidentiality is to be used.
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.
8. 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.
9. Informative References The authors would like to thank Diego Wistuba, Clement Mannequin and
Sandra Cespedes for their useful comments and design considerations.
[I-D.ietf-lpwan-ipv6-static-context-hc] 7. References
Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC.
Zuniga, "LPWAN Static Context Header Compression (SCHC) 7.1. Normative References
and fragmentation for IPv6 and UDP", draft-ietf-lpwan-
ipv6-static-context-hc-17 (work in progress), October
2018.
[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.
Zuniga, "SCHC: Generic Framework for Static Context Header
Compression and Fragmentation", RFC 8724,
DOI 10.17487/RFC8724, April 2020,
<https://www.rfc-editor.org/info/rfc8724>.
7.2. Informative References
[sigfox-callbacks]
Sigfox, "Sigfox Callbacks",
<https://support.sigfox.com/docs/callbacks-documentation>.
[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 425 rue Jean Rostand
 End of changes. 87 change blocks. 
227 lines changed or deleted 306 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/