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

<!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-martinez-lpwan-meshed-rules-00" category="std">

  <front>
    <title abbrev="LPWAN SCHC Meshed rules">Can Rules be adapted to a Meshed environment</title>

    <author initials="I." surname="Martinez" fullname="Ivan Marino Martinez Bolivar">
      <organization>Institut MINES TELECOM; IMT Atlantique</organization>
      <address>
        <postal>
          <street>2 rue de la Chataigneraie</street> <street>CS 17607</street>
          <city>35576 Cesson-Sevigne Cedex</city>
          <country>France</country>
        </postal>
        <email>ivan-marino.martinez-bolivar@imt-atlantique.fr</email>
      </address>
    </author>
    <author initials="L." surname="Toutain" fullname="Laurent Toutain">
      <organization>Institut MINES TELECOM; IMT Atlantique</organization>
      <address>
        <postal>
          <street>2 rue de la Chataigneraie</street> <street>CS 17607</street>
          <city>35576 Cesson-Sevigne Cedex</city>
          <country>France</country>
        </postal>
        <email>Laurent.Toutain@imt-atlantique.fr</email>
      </address>
    </author>

    <date year="2022" month="March" day="21"/>

    
    <workgroup>lpwan Working Group</workgroup>
    

    <abstract>


<t>This document specifies how openSCHC handles the rule selection and how this process can be extended to a meshed environment.</t>



    </abstract>


  </front>

  <middle>


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

<t>This document specifies how openSCHC handles the rule selection and how this process can be extended to a meshed environment.</t>

</section>
<section anchor="rule-manager" title="Rule Manager">

<t>OpenSCHC imports rule in JSON, such has:</t>

<figure title="Simple identified SoR." anchor="Fig-simple-rule"><artwork><![CDATA[
[{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
         {
            "RuleID": 6,
            "RuleIDLength": 3,
            "Compression": [
            ....

]]></artwork></figure>

<t>A specific device may have several rules, identified in the SoR (Set of Rules) key. 
The device is identified by a DeviceID. OpenSCHC allows to send SCHC packet over an udp tunnel. In that case, the device ID starts with the udp keyword, followed by the IP address and the port number.</t>

<t>In that architecture, the core SCHC may contains several devices’ rules, idenfified by different ID. 
The device side contains only the  SoR associated to the device.</t>

<t>When a packet arrive to the SCHC core, a machting rule is searched among all the rule.
The core SCHC uses the device ID to effectively send the SCHC packet to the device.</t>

<t>The device answers back to the core SCHC, ignoring the device ID since this value identifies the device itself.</t>

<t>So, we can name core a SCHC instance containing rules that does not contains its own ID and a device a SCHC instance containing rules that contains only its own ID. Communication from device to core is upstream and downstream in the reverse direction.</t>

</section>
<section anchor="extending-the-model" title="Extending the model">

<t>This example is defined for a star toplogy, and devices can send back their response in case of UDP tunnel or use the media in case of LPWAN. In a meshed network, several instances may coexist and use the same ruleID for a device but the rule itself can be different.</t>

<t>The previous rule can be updated to add a CoreID:</t>

<figure title="Double identified SoR." anchor="Fig-double-rule"><artwork><![CDATA[
[{
    "DeviceID" : "udp:90.27.174.128:8888",
    "CoreID": "udp:123.1.2.3:23628"
    "SoR" : [
         {
            "RuleID": 6,
            "RuleIDLength": 3,
            "Compression": [
            ....

]]></artwork></figure>

<t>The process for the core compression is the same. When the device receives the SCHC packet, it identifies  the coreID and select only rules coming from this instance. When the devices sends a packet, instead of replying on the same port.</t>

</section>
<section anchor="management-with-simple-identified-rules" title="Management with simple identified rules">

<t>A device receives a SCHC packet on a single idendified SoR, keeps track of the sender to reply. 
This could be either the technology or the address of the core. Only one core is allowed in that case.</t>

</section>
<section anchor="management-with-double-identified-rules" title="Management with double identified rules">

<t>A device receiving a SCHC packet on a double identifie SoR, does not have to keep track of the core address.
When a packet needs to be compressed, the selected rule indicates where to send the SCHC packet. The
device may have several SoR corresponding to each core.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC8724" target='https://www.rfc-editor.org/info/rfc8724'>
<front>
<title>SCHC: Generic Framework for Static Context Header Compression and Fragmentation</title>
<author initials='A.' surname='Minaburo' fullname='A. Minaburo'><organization /></author>
<author initials='L.' surname='Toutain' fullname='L. Toutain'><organization /></author>
<author initials='C.' surname='Gomez' fullname='C. Gomez'><organization /></author>
<author initials='D.' surname='Barthel' fullname='D. Barthel'><organization /></author>
<author initials='JC.' surname='Zuniga' fullname='JC. Zuniga'><organization /></author>
<date year='2020' month='April' />
<abstract><t>This document defines the Static Context Header Compression and fragmentation (SCHC) framework, which provides both a header compression mechanism and an optional fragmentation mechanism. SCHC has been designed with Low-Power Wide Area Networks (LPWANs) in mind.</t><t>SCHC compression is based on a common static context stored both in the LPWAN device and in the network infrastructure side. This document defines a generic header compression mechanism and its application to compress IPv6/UDP headers.</t><t>This document also specifies an optional fragmentation and reassembly mechanism. It can be 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 2 maximum payload size.</t><t>The SCHC header compression and fragmentation mechanisms are independent of the specific LPWAN technology over which they are used. This document defines generic functionalities and offers flexibility with regard to parameter settings and mechanism choices. This document standardizes the exchange over the LPWAN between two SCHC entities. Settings and choices specific to a technology or a product are expected to be grouped into profiles, which are specified in other documents. Data models for the context and profiles are out of scope.</t></abstract>
</front>
<seriesInfo name='RFC' value='8724'/>
<seriesInfo name='DOI' value='10.17487/RFC8724'/>
</reference>



<reference  anchor="RFC8824" target='https://www.rfc-editor.org/info/rfc8824'>
<front>
<title>Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP)</title>
<author initials='A.' surname='Minaburo' fullname='A. Minaburo'><organization /></author>
<author initials='L.' surname='Toutain' fullname='L. Toutain'><organization /></author>
<author initials='R.' surname='Andreasen' fullname='R. Andreasen'><organization /></author>
<date year='2021' month='June' />
<abstract><t>This document defines how to compress Constrained Application Protocol (CoAP) headers using the Static Context Header Compression and fragmentation (SCHC) framework. SCHC defines a header compression mechanism adapted for Constrained Devices. SCHC uses a static description of the header to reduce the header's redundancy and size. While RFC 8724 describes the SCHC compression and fragmentation framework, and its application for IPv6/UDP headers, this document applies SCHC to CoAP headers. The CoAP header structure differs from IPv6 and UDP, since CoAP uses a flexible header with a variable number of options, themselves of variable length. The CoAP message format is asymmetric: the request messages have a header format different from the format in the response messages. This specification gives guidance on applying SCHC to flexible headers and how to leverage the asymmetry for more efficient compression Rules.</t></abstract>
</front>
<seriesInfo name='RFC' value='8824'/>
<seriesInfo name='DOI' value='10.17487/RFC8824'/>
</reference>




    </references>





  </back>

<!-- ##markdown-source:
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
M+BEGYxCi7GIQRvJjTdl1suEn78BGK74dgwPAAA=

-->

</rfc>

