<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version  -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc toc="yes"?>

<rfc ipr="trust200902" docName="draft-petrov-lpwan-ipv6-schc-over-lorawan-02" category="info">

  <front>
    <title abbrev="SCHC-over-LoRaWAN">Static Context Header Compression (SCHC) over LoRaWAN</title>

    <author initials="N." surname="Sornin" fullname="Nicolas Sornin" role="editor">
      <organization>Semtech</organization>
      <address>
        <postal>
          <street>14 Chemin des Clos</street>
          <city>Meylan</city>
          <country>France</country>
        </postal>
        <email>nsornin@semtech.com</email>
      </address>
    </author>
    <author initials="M." surname="Coracin" fullname="Michael Coracin">
      <organization>Semtech</organization>
      <address>
        <postal>
          <street>14 Chemin des Clos</street>
          <city>Meylan</city>
          <country>France</country>
        </postal>
        <email>mcoracin@semtech.com</email>
      </address>
    </author>
    <author initials="I." surname="Petrov" fullname="Ivaylo Petrov">
      <organization>Acklio</organization>
      <address>
        <postal>
          <street>2bis rue de la Chataigneraie</street>
          <city>35510 Cesson-Sevigne Cedex</city>
          <country>France</country>
        </postal>
        <email>ivaylo@ackl.io</email>
      </address>
    </author>
    <author initials="A." surname="Yegin" fullname="Alper Yegin">
      <organization>Actility</organization>
      <address>
        <postal>
          <street>.</street>
          <city>Paris, Paris</city>
          <country>France</country>
        </postal>
        <email>alper.yegin@actility.com</email>
      </address>
    </author>
    <author initials="J." surname="Catalano" fullname="Julien Catalano">
      <organization>Kerlink</organization>
      <address>
        <postal>
          <street>1 rue Jacqueline Auriol</street>
          <city>35235 Thorigné-Fouillard</city>
          <country>France</country>
        </postal>
        <email>j.catalano@kerlink.fr</email>
      </address>
    </author>
    <author initials="V." surname="Audebert" fullname="Vincent AUDEBERT">
      <organization>EDF R&amp;D</organization>
      <address>
        <postal>
          <street>7 bd Gaspard Monge</street>
          <city>91120 PALAISEAU</city>
          <country>FRANCE</country>
        </postal>
        <email>vincent.audebert@edf.fr</email>
      </address>
    </author>

    <date year="2018" month="July" day="02"/>

    
    <workgroup>lpwan Working Group</workgroup>
    

    <abstract>


<t>The Static Context Header Compression (SCHC) specification describes generic
header compression and fragmentation techniques for LPWAN (Low Power Wide Area
Networks) technologies. SCHC is a generic mechanism designed for great
flexibility, so that it can be adapted for any of the LPWAN technologies.</t>

<t>This document provides the adaptation of SCHC for use in LoRaWAN networks, and
provides elements such as efficient parameterization and modes of operation.</t>



    </abstract>


  </front>

  <middle>


<section anchor="Introduction" title="Introduction">

<t>The Static Context Header Compression (SCHC) specification
<xref target="I-D.ietf-lpwan-ipv6-static-context-hc"/> describes
generic header compression and fragmentation techniques that can be used on all
LPWAN (Low Power Wide Area Networks) technologies defined in
<xref target="I-D.ietf-lpwan-overview"/>. Even though those technologies share a great
number of common features like start-oriented topologies, network architecture,
devices with mostly quite predictable communications, etc; they do have some
slight differences in respect of payload sizes, reactiveness, etc.</t>

<t>SCHC gives a generic framework that enables those devices to communicate with
other Internet networks. However, for efficient performance, some parameters
and modes of operation need to be set appropriately for each of the LPWAN
technologies.</t>

<t>This document describes the efficient parameters and modes of operation when
SCHC is used over LoRaWAN networks.</t>

</section>
<section anchor="terminology" title="Terminology">

<t>This section defines the terminology and acronyms used in this document. For
all other definitions, please look up the SCHC specification
<xref target="I-D.ietf-lpwan-ipv6-static-context-hc"/>.</t>

<t>o  DevEUI: an IEEE EUI-64 identifier used to identify the device during the
     procedure while joining the network (Join Procedure)</t>

<t>o  DevAddr: a 32-bit non-unique identifier assigned to a device statically or
     dynamically after a Join Procedure (depending on the activation mode)</t>

<t>o  TBD: all significant LoRaWAN-related terms.</t>

</section>
<section anchor="static-context-header-compression-overview" title="Static Context Header Compression Overview">

<t>This section contains a short overview of Static Context Header Compression
(SCHC). For a detailed description, refer to the full specification
<xref target="I-D.ietf-lpwan-ipv6-static-context-hc"/>.</t>

<t>Static Context Header Compression (SCHC) avoids context synchronization, which
is the most bandwidth-consuming operation in other header compression
mechanisms such as RoHC <xref target="RFC5795"/>. Based on the fact that the nature of data
flows is highly predictable in LPWAN networks, some static contexts may be
stored on the Device (Dev). The contexts must be stored in both ends, and it
can either be learned by a provisioning protocol or by out of band means or it
can be pre-provisioned, etc. The way the context is learned on both sides is
out of the scope of this document.</t>

<figure title="Architecture" anchor="Fig-archi"><artwork><![CDATA[
     Dev                                                 App
+--------------+                                  +--------------+
|APP1 APP2 APP3|                                  |APP1 APP2 APP3|
|              |                                  |              |
|      UDP     |                                  |     UDP      |
|     IPv6     |                                  |    IPv6      |
|              |                                  |              |
|   SCHC C/D   |                                  |              |
|   (context)  |                                  |              |
+-------+------+                                  +-------+------+
         |   +--+     +----+     +---------+              .
         +~~ |RG| === |NGW | === |SCHC C/D |... Internet ..
             +--+     +----+     |(context)|
                                 +---------+
]]></artwork></figure>

<t><xref target="Fig-archi"/> represents the architecture for compression/decompression, it is
based on <xref target="I-D.ietf-lpwan-overview"/> terminology. The Device is sending
applications flows using IPv6 or IPv6/UDP protocols. These flows are compressed
by an Static Context Header Compression Compressor/Decompressor (SCHC C/D) to
reduce headers size. Resulting information is sent on a layer two (L2) frame to
a LPWAN Radio Network (RG) which forwards the frame to a Network Gateway (NGW).
The NGW sends the data to a SCHC C/D for decompression which shares the same
rules with the Dev. The SCHC C/D can be located on the Network Gateway (NGW) or
in another place as long as a tunnel is established between the NGW and the
SCHC C/D. The SCHC C/D in both sides must share the same set of Rules. After
decompression, the packet can be sent on the Internet to one or several LPWAN
Application Servers (App).</t>

<t>The SCHC C/D process is bidirectional, so the same principles can be applied in
the other direction.</t>

<t>In a LoRaWAN network, the RG is called a Gateway, the NGW is Network Server,
and the SCHC C/D can be embedded in different places, for example in the
Network Server and/or the Application Server.</t>

<t>Next steps for this section: detailed overview of the LoRaWAN architecture and
its mapping to the SCHC architecture.</t>

</section>
<section anchor="lorawan-architecture" title="LoRaWAN Architecture">

<t>An overview of LoRaWAN <xref target="lora-alliance-spec"/> protocol and architecture is
described in <xref target="I-D.ietf-lpwan-overview"/>. Mapping between the LPWAN
architecture entities as described in <xref target="I-D.ietf-lpwan-ipv6-static-context-hc"/>
and the ones in <xref target="lora-alliance-spec"/> is as follows:</t>

<t>o Devices (Dev) are the end-devices or hosts (e.g. sensors,
   actuators, etc.).  There can be a very high density of devices per
   radio gateway. This entity maps to the LoRaWAN End-device.</t>

<t>o The Radio Gateway (RGW), which is the end point of the constrained
   link. This entity maps to the LoRaWAN Gateway.</t>

<t>o The Network Gateway (NGW) is the interconnection node between the
   Radio Gateway and the Internet. This entity maps to the LoRaWAN Network
   Server.</t>

<t>o LPWAN-AAA Server, which controls the user authentication and the
   applications. This entity maps to the LoRaWAN Join Server.</t>

<t>o Application Server (App). The same terminology is used in LoRaWAN.</t>

<figure><artwork><![CDATA[
()   ()   ()       |                      +------+
 ()  () () ()     / \       +---------+   | Join |
() () () () ()   /   \======|    ^    |===|Server|  +-----------+
 () ()  ()      |           | <--|--> |   +------+  |Application|
() ()  ()  ()  / \==========|    v    |=============|  Server   |
 ()  ()  ()   /   \         +---------+             +-----------+
End-Devices  Gateways     Network Server


                   Figure 1: LPWAN/LoRaWAN Architecture
]]></artwork></figure>

<t>SCHC C/D (Compressor/Decompressor) and SCHC Fragmentation are performed on
   the LoRaWAN End-device and the Application Server. While the point-to-point
   link between the End-device and the Application Server constitutes single IP
   hop, the ultimate end-point of the IP communication may be an Internet node
   beyond the Application Server. In other words, the LoRaWAN Application
   Server acts as the first hop IP router for the End-device. Note that the
   Application Server and Network Server may be co-located, which effectively
   turns the Network/Application Server into the first hop IP router.</t>

<section anchor="device-classes-a-b-c-and-interactions" title="Device classes (A, B, C) and interactions">
<t>TBD</t>

</section>
<section anchor="device-addressing" title="Device addressing">
<t>TBD</t>

</section>
<section anchor="general-message-types" title="General Message Types">
<t>TBD</t>

</section>
<section anchor="lorawan-mac-frames" title="LoRaWAN MAC Frames">
<t>TBD</t>

</section>
</section>
<section anchor="schc-over-lorawan" title="SCHC over LoRaWAN">

<section anchor="rule-id-management" title="Rule ID management">

<t>Rule ID can be stored and transported in the FPort field of the LoRaWAN MAC
frame or as the first bytes of the payload.</t>

<t>TBD</t>

</section>
<section anchor="iid-computation" title="IID computation">
<t>TBD</t>

</section>
<section anchor="Frag" title="Fragmentation">
<t>TBD</t>

<section anchor="reliability-options" title="Reliability options">

<section anchor="uplinks-from-device-to-gateway" title="Uplinks: From device to gateway">

<t>In that case the device is the fragmentation transmitter, and the SCHC gateway
the fragmentation receiver.</t>

<t><list style="symbols">
  <t>SCHC fragmentation reliability mode : <spanx style="verb">ACK_ALWAYS</spanx></t>
  <t>Window size: 8, the FCN field is encoded on 3 bits</t>
  <t>DTag : 1bit. this field is used to clearly separate two consecutive
fragmentation sessions. A LoRaWAN device cannot interleave several fragmented
SCHC datagrams.</t>
  <t>MIC calculation algorithm: CRC32 using 0xEDB88320 (i.e. the reverse
representation of the polynomial used e.g. in the Ethernet standard
<xref target="RFC3385"></xref>)</t>
  <t>Retransmission Timer and inactivity Timer:
LoRaWAN devices do not implement a “retransmission timer”. At the end of a
window the ACK corresponding to this window is transmitted by the network
gateway in the RX1 or RX2 receive slot of the device. If this ACK is not
received the device sends an all-0 (or an all-1) fragment with no payload to
request an ACK retransmission. The periodicity between retransmission of the
all-0/all-1 fragments is device/application specific and may be different for
each device (not specified).  The gateway implements an “inactivity timer”.
The default recommended duration of this timer is 12h.  This value is mainly
driven by application requirements and may be changed.</t>
</list></t>

<figure title="All fragment except the last one. Header size is 8 bits." anchor="Fig-fragmentation-header-all0"><artwork><![CDATA[
| RuleID | DTag  | W     | FCN    | Payload |
+ ------ + ----- + ----- | ------ + ------- +
| 3 bits | 1 bit | 1 bit | 3 bits |         |


]]></artwork></figure>

<figure title="All-1 fragment detailed format for the last fragment. Header size is 8 bits." anchor="Fig-fragmentation-header-all1"><artwork><![CDATA[
| RuleID | DTag  | W     | FCN    | MIC     | Payload |
+ ------ + ----- + ----- | ------ + ------- + ------- +
| 3 bits | 1 bit | 1 bit | 3 bits | 32 bits |         |


]]></artwork></figure>

<t>The format of an all-0 or all-1 acknowledge is:</t>

<figure title="ACK format for All-0 windows. Header size is 1 or 2 bytes." anchor="Fig-fragmentation-header-all0-ack"><artwork><![CDATA[
| RuleID | DTag  | W     | Encoded bitmap | Padding (0s) |
+ ------ + ----- + ----- | -------------- + ------------ +
| 3 bits | 1 bit | 1 bit | up to 8 bits   | 0 to 3 bits  |


]]></artwork></figure>

<figure title="ACK format for All-1 windows. Header size is 1 or 2 bytes." anchor="Fig-fragmentation-header-all1-ack"><artwork><![CDATA[
| RuleID | DTag  | W     | C     | Encoded bitmap (if C = 0) | Padding (0s) |
+ ------ + ----- + ----- + ----- + ------------------------- + ------------ +
| 3 bits | 1 bit | 1 bit | 1 bit | up to 8 bits              | 0 to 2 bits  |


]]></artwork></figure>

</section>
<section anchor="downlinks-from-gateway-to-device" title="Downlinks: From gateway to device">

<t>In that case the device is the fragmentation receiver, and the SCHC gateway the fragmentation
transmitter. The following fields are common to all devices.</t>

<t><list style="symbols">
  <t>SCHC fragmentation reliability mode : ACK_ALWAYS</t>
  <t>Window size : 1 , The FCN field is encoded on 1 bits</t>
  <t>DTag : 1bit. This field is used to clearly separate two consecutive fragmentation sessions. A
LoRaWAN device cannot interleave several fragmented SCHC datagrams.</t>
  <t>MIC calculation algorithm: CRC32 using 0xEDB88320 (i.e. the reverse representation of the
polynomial used e.g. in the Ethernet standard <xref target="RFC3385"></xref>)</t>
  <t>MAX_ACK_REQUESTS : 8</t>
</list></t>

<figure title="All fragments but the last one. Header size is 6 bits." anchor="Fig-fragmentation-downlink-header-all0"><artwork><![CDATA[
| RuleID | DTag  | W     | FCN    | Payload | Padding |
+ ------ + ----- + ----- | ------ + ------- + ------- +
| 3 bits | 1 bit | 1 bit | 1 bits | X bytes | 2 bits  |


]]></artwork></figure>

<figure title="All-1 Fragment Detailed Format for the Last Fragment. Header size is 6 bits." anchor="Fig-fragmentation-downlink-header-all1"><artwork><![CDATA[
| RuleID | DTag  | W     | FCN    | MIC     | Payload | Padding |
+ ------ + ----- + ----- | ------ + ------- + ------- + ------- +
| 3 bits | 1 bit | 1 bit | 1 bits | 32 bits | X bytes | 2 bits  |


]]></artwork></figure>

<t>The format of an all-0 or all-1 acknowledge is:</t>

<figure title="ACK format for All-0 windows. Header size is 8 bits." anchor="Fig-fragmentation-header-downlink-all0-ack"><artwork><![CDATA[
| RuleID | DTag  | W     | Encoded bitmap | Padding (0s) |
+ ------ + ----- + ----- | -------------- + ------------ +
| 3 bits | 1 bit | 1 bit | 1 bit          | 2 bits       |


]]></artwork></figure>

<figure title="ACK format for All-1 windows, MIC is correct. Header size is 8 bits." anchor="Fig-fragmentation-downlink-header-all1-ack"><artwork><![CDATA[
| RuleID | DTag  | W     | C = 1 | Padding (0s) |
+ ------ + ----- + ----- + ----- + ------------ +
| 3 bits | 1 bit | 1 bit | 1 bit | 2 bits       |


]]></artwork></figure>

<figure title="Receiver ABORT packet (following an all-1 packet with incorrect MIC). Header size is 16 bits." anchor="Fig-fragmentation-downlink-header-abort"><artwork><![CDATA[
| RuleID | DTag  | W     | b'111  | 0xFF (all 1's) |
+ ------ + ----- + ----- + ------ + -------------- +
| 3 bits | 1 bit | 1 bit | 3 bits | 8 bits         |


]]></artwork></figure>

<t>Class A and classB&amp;C device do not manage retransmissions and timers in the same way.</t>

<section anchor="class-a-devices" title="Class A devices">

<t>Class A devices can only receive in an RX slot following the transmission of an
uplink.  Therefore there cannot be a concept of “retransmission timer” for a
gateway talking to classA devices for downlink fragmentation.</t>

<t>The device replies with an ACK fragment to every single fragment received from
the gateway (because the window size is 1).  Following the reception of a FCN=0
fragment (fragment that is not the last fragment of the packet or ACK-request),
the device MUST transmit the ACK fragment until it receives the fragment of the
next window. The device shall transmit up to MAX_ACK_REQUESTS ACK fragments
before aborting. The device should transmit those ACK as soon as possible while
taking into consideration eventual local radio regulation on duty-cycle, to
progress the fragmentation session as quickly as possible. The ACK bitmap is 1
bit long and is always 1.</t>

<t>Following the reception of a FCN=1 fragment (the last fragment of a datagram)
and if the MIC is correct, the device shall transmit the ACK with the  “MIC
is correct” indicator bit set. This message might be lost therefore the
gateway may request a retransmission of this ACK in the next downlink. The
device SHALL keep this ACK message in memory until it receives a downlink
from the gateway different from an ACK-request indicating that the gateway
has received the ACK message.</t>

<t>Following the reception of a FCN=1 fragment (the last fragment of a datagram)
and if the MIC is NOT correct, the device shall transmit a receiver-ABORT
fragment. The device SHALL keep this ABORT message in memory until it
receives a downlink from the gateway different from an ACK-request indicating
that the gateway has received the ABORT message.  The fragmentation receiver
(device) does not implement retransmission timer and inactivity timer.</t>

<t>The fragmentation sender (the gateway) implements an
inactivity timer with default duration 12 hours. Once a fragmentation session
is started, if the gateway has not received any ACK or receiver-ABORT message
12 hours fater the last message from the device was received, the gateway may
flush the fragmentation context.  For devices with very low transmission rates
(example 1 packet a day in normal operation) , that duration may be extended,
but this is application specific.</t>

</section>
</section>
<section anchor="class-b-or-c-devices" title="Class B or C devices">

<t>Class B&amp;C devices can receive in scheduled RX slots or in RX slots following
the transmission of an uplink.  The device replies with an ACK fragment to
every single fragment received from the gateway (because the window size is 1).
Following the reception of a FCN=0 fragment (fragment that is not the last
fragment of the packet or ACK-request), the device MUST always transmit the
corresponding ACK fragment even if that fragment has already been received. The
ACK bitmap is 1 bit long and is always 1.  If the gateway receives this ACK, it
proceeds to send the next window fragment If the retransmission timer elapses
and the gateway has not received the ACK of the current window it retransmits
the last fragment. The gateway tries retransmitting up to MAX_ACK_REQUESTS
times before aborting.</t>

<t>Following the reception of a FCN=1 fragment (the last fragment of a datagram)
and if the MIC is correct, the device shall transmit the ACK with the “MIC is
correct” indicator bit set.  If the gateway receives this ACK, the current
fragmentation session has succeeded and its context can be cleared.</t>

<t>If the retransmission timer elapses and the gateway has not received the all-1
ACK it retransmits the last fragment with the payload (not an ACK-request
without payload). The gateway tries retransmitting up to MAX_ACK_REQUESTS times
before aborting.</t>

<t>The device SHALL keep the all-1 ACK message in memory until it receives a
downlink from the gateway different from the last (FCN=1) fragment indicating
that the gateway has received the ACK message.  Following the reception of a
FCN=1 fragment (the last fragment of a datagram) and if the MIC is NOT correct,
  the device shall transmit a receiver-ABORT fragment.  The retransmission
timer is used by the gateway (the sender), the optimal value is very much
application specific but here are some recommended default values.  For classB
devices, this timer trigger is a function of the periodicity of the classB ping
slots. The recommended value is equal to 3 times the classB ping slot
periodicity. (modify 128sec) For classC devices which are nearly constantly
receiving, the recommended value is 30 seconds. This means that the device
shall try to transmit the ACK within 30 seconds  of the reception of each
fragment.  The inactivity timer is implemented by the device to flush the
context in-case it receives nothing from the gateway over an extended period of
time. The recommended value is  12 hours for both classB&amp;C devices.</t>

</section>
</section>
<section anchor="supporting-multiple-window-sizes" title="Supporting multiple window sizes">
<t>TBD</t>

</section>
<section anchor="downlink-fragment-transmission" title="Downlink fragment transmission">
<t>TBD</t>

</section>
<section anchor="schc-behavior-for-devices-in-class-a-b-and-c" title="SCHC behavior for devices in class A, B and C">
<t>TBD</t>

</section>
</section>
</section>
<section anchor="security-considerations" title="Security considerations">
<t>TBD</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">
<t>TBD</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor='RFC4944' target='https://www.rfc-editor.org/info/rfc4944'>
<front>
<title>Transmission of IPv6 Packets over IEEE 802.15.4 Networks</title>
<author initials='G.' surname='Montenegro' fullname='G. Montenegro'><organization /></author>
<author initials='N.' surname='Kushalnagar' fullname='N. Kushalnagar'><organization /></author>
<author initials='J.' surname='Hui' fullname='J. Hui'><organization /></author>
<author initials='D.' surname='Culler' fullname='D. Culler'><organization /></author>
<date year='2007' month='September' />
<abstract><t>This document describes the frame format for transmission of IPv6 packets and the method of forming IPv6 link-local addresses and statelessly autoconfigured addresses on IEEE 802.15.4 networks. Additional specifications include a simple header compression scheme using shared context and provisions for packet delivery in IEEE 802.15.4 meshes.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4944'/>
<seriesInfo name='DOI' value='10.17487/RFC4944'/>
</reference>



<reference  anchor='RFC5795' target='https://www.rfc-editor.org/info/rfc5795'>
<front>
<title>The RObust Header Compression (ROHC) Framework</title>
<author initials='K.' surname='Sandlund' fullname='K. Sandlund'><organization /></author>
<author initials='G.' surname='Pelletier' fullname='G. Pelletier'><organization /></author>
<author initials='L-E.' surname='Jonsson' fullname='L-E. Jonsson'><organization /></author>
<date year='2010' month='March' />
<abstract><t>The Robust Header Compression (ROHC) protocol provides an efficient, flexible, and future-proof header compression concept.  It is designed to operate efficiently and robustly over various link technologies with different characteristics.</t><t>The ROHC framework, along with a set of compression profiles, was initially defined in RFC 3095.  To improve and simplify the ROHC specifications, this document explicitly defines the ROHC framework and the profile for uncompressed separately.  More specifically, the definition of the framework does not modify or update the definition of the framework specified by RFC 3095.</t><t>This specification obsoletes RFC 4995.  It fixes one interoperability issue that was erroneously introduced in RFC 4995, and adds some minor clarifications.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5795'/>
<seriesInfo name='DOI' value='10.17487/RFC5795'/>
</reference>



<reference  anchor='RFC7136' target='https://www.rfc-editor.org/info/rfc7136'>
<front>
<title>Significance of IPv6 Interface Identifiers</title>
<author initials='B.' surname='Carpenter' fullname='B. Carpenter'><organization /></author>
<author initials='S.' surname='Jiang' fullname='S. Jiang'><organization /></author>
<date year='2014' month='February' />
<abstract><t>The IPv6 addressing architecture includes a unicast interface identifier that is used in the creation of many IPv6 addresses. Interface identifiers are formed by a variety of methods.  This document clarifies that the bits in an interface identifier have no meaning and that the entire identifier should be treated as an opaque value.  In particular, RFC 4291 defines a method by which the Universal and Group bits of an IEEE link-layer address are mapped into an IPv6 unicast interface identifier.  This document clarifies that those two bits are significant only in the process of deriving interface identifiers from an IEEE link-layer address, and it updates RFC 4291 accordingly.</t></abstract>
</front>
<seriesInfo name='RFC' value='7136'/>
<seriesInfo name='DOI' value='10.17487/RFC7136'/>
</reference>



<reference  anchor='RFC3385' target='https://www.rfc-editor.org/info/rfc3385'>
<front>
<title>Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations</title>
<author initials='D.' surname='Sheinwald' fullname='D. Sheinwald'><organization /></author>
<author initials='J.' surname='Satran' fullname='J. Satran'><organization /></author>
<author initials='P.' surname='Thaler' fullname='P. Thaler'><organization /></author>
<author initials='V.' surname='Cavanna' fullname='V. Cavanna'><organization /></author>
<date year='2002' month='September' />
</front>
<seriesInfo name='RFC' value='3385'/>
<seriesInfo name='DOI' value='10.17487/RFC3385'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor='I-D.ietf-lpwan-overview'>
<front>
<title>LPWAN Overview</title>

<author initials='S' surname='Farrell' fullname='Stephen Farrell'>
    <organization />
</author>

<date month='February' day='7' year='2018' />

<abstract><t>Low Power Wide Area Networks (LPWAN) are wireless technologies with characteristics such as large coverage areas, low bandwidth, possibly very small packet and application layer data sizes and long battery life operation.  This memo is an informational overview of the set of LPWAN technologies being considered in the IETF and of the gaps that exist between the needs of those technologies and the goal of running IP in LPWANs.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-lpwan-overview-10' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-lpwan-overview-10.txt' />
</reference>



<reference anchor='I-D.ietf-lpwan-ipv6-static-context-hc'>
<front>
<title>LPWAN Static Context Header Compression (SCHC) and fragmentation for IPv6 and UDP</title>

<author initials='A' surname='Minaburo' fullname='Ana Minaburo'>
    <organization />
</author>

<author initials='L' surname='Toutain' fullname='Laurent Toutain'>
    <organization />
</author>

<author initials='C' surname='Gomez' fullname='Carles Gomez'>
    <organization />
</author>

<author initials='D' surname='Barthel' fullname='Dominique Barthel'>
    <organization />
</author>

<date month='June' day='29' year='2018' />

<abstract><t>This document defines the Static Context Header Compression (SCHC) framework, which provides both header compression and fragmentation functionalities.  SCHC has been tailored for Low Power Wide Area Networks (LPWAN).  SCHC compression is based on a common static context stored in both the LPWAN devices and the network side.  This document defines a header compression mechanism and its application to compress IPv6/UDP headers.  This document also specifies a fragmentation and reassembly mechanism that is used to support the IPv6 MTU requirement over the LPWAN technologies.  Fragmentation is needed for IPv6 datagrams that, after SCHC compression or when such compression was not possible, still exceed the layer two maximum payload size.  The SCHC header compression and fragmentation mechanisms are independent of the specific LPWAN technology over which they are used.  Note that this document defines generic functionalities and advisedly offers flexibility with regard to parameter settings and mechanism choices.  Such settings and choices are expected to be made in other technology-specific documents.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-lpwan-ipv6-static-context-hc-16' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-lpwan-ipv6-static-context-hc-16.txt' />
</reference>


<reference anchor="lora-alliance-spec" target="http://portal.lora-alliance.org/DesktopModules/Inventures_Document/FileDownload.aspx?ContentID=1398">
  <front>
    <title>LoRaWAN Specification Version V1.0.2</title>
    <author initials="L." surname="Alliance" fullname="LoRa Alliance">
      <organization></organization>
    </author>
    <date />
  </front>
</reference>


    </references>


<section anchor="examples" title="Examples">

</section>
<section anchor="note" title="Note">

</section>


  </back>
</rfc>

