<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8724 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8724.xml">
<!ENTITY RFC8824 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8824.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9363 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9363.xml">
<!ENTITY SELF "[RFCXXXX]">
]>


<rfc ipr="trust200902" docName="draft-lampin-schc-minimal-architecture-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>SCHC Minimal Architecture</title>

    <author initials="Q." surname="Lampin" fullname="Quentin Lampin">
      <organization>Orange</organization>
      <address>
        <postal>
          <street>Orange 3 Massifs - 22 Chemin du Vieux Chene</street>
          <city>Meylan</city>
          <code>38240</code>
          <country>France</country>
        </postal>
        <email>quentin.lampin@orange.com</email>
      </address>
    </author>
    <author initials="M." surname="Dumay" fullname="Marion Dumay">
      <organization>Orange</organization>
      <address>
        <postal>
          <street>Orange 3 Massifs - 22 Chemin du Vieux Chene</street>
          <city>Meylan</city>
          <code>38240</code>
          <country>France</country>
        </postal>
        <email>marion.dumay@orange.com</email>
      </address>
    </author>
    <author initials="P." surname="Surbayrole" fullname="Philippe Surbayrole">
      <organization>Orange</organization>
      <address>
        <postal>
          <street>Orange 3 Massifs - 22 Chemin du Vieux Chene</street>
          <city>Meylan</city>
          <code>38240</code>
          <country>France</country>
        </postal>
        <email>philippe.surbayrole@orange.com</email>
      </address>
    </author>

    <date year="2025" month="July" day="30"/>

    <area>Internet</area>
    <workgroup>SCHC Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 123?>

<t>This document investigates the requirements of a minimal architecture for the
  Static Context Header Compression (and fragmentation) protocol (SCHC).
  The intent is to identify the essential components their relationships and
  interfaces. To do so, the document considers scenarios of increasing 
  complexity involving the use of SCHC, from a simple point-to-point
  communication to a more complex deployment involving multiple SCHC Instances
  communicating with each other. In this process, the authors hope to identify
  the essential components of a SCHC architecture and their relationships.</t>



    </abstract>



  </front>

  <middle>


<?line 134?>

<section anchor="introduction"><name>Introduction</name>

<t>The SCHC Working Group has developed the <xref target="RFC8724"/> SCHC protocol for 
  Low-Power Wide-Area (LPWA) networks, providing efficient header compression
  and fragmentation mechanisms. As SCHC adoption expands beyond its original 
  scope, there is a need to define a minimal architecture that identifies only 
  the essential elements required for proper SCHC operation. This document does
  not aim to replace the SCHC architecture defined in <xref target="DRAFT-ARCH"/>, but rather
  to investigate the minimal set of components and their relationships that are
  necessary for SCHC to function effectively in various deployment scenarios.</t>

<t>This document provides:</t>

<t><list style="symbols">
  <t>A definition of the minimal components required for SCHC operation</t>
  <t>The essential interactions between these components</t>
  <t>Problems and challenges addressed by each component</t>
</list></t>

</section>
<section anchor="requirements-notation"><name>Requirements Notation</name>

<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
  &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in this
  document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
  when, and only when, they appear in all capitals, as shown here.</t>

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

<t>This section defines terminology and abbreviations used in this
  document. It borrows from the terminology of <xref target="RFC8724"/> and <xref target="DRAFT-ARCH"/>.</t>

<t>In the following, terms used in the terminology are assumed to be defined in the
  context of the SCHC protocol unless specified otherwise, <em>.e.g</em> Endpoint 
  refers to a SCHC Endpoint, Instance refers to a SCHC Instance, and so on.</t>

<t><strong>Endpoint</strong>: A network host capable of compressing and decompressing headers 
  and optionally fragmenting and reassembling packets.</t>

<t><strong>Instance</strong>: A logical component of an Endpoint that implements the SCHC 
  protocol, including header compression, fragmentation, and context management.</t>

<t><strong>Context</strong>: A set of rules and parameters that define how SCHC operations are 
  performed by <spanx style="verb">Instances</spanx> that implement this <spanx style="verb">Context</spanx>. It includes the Set of 
  Rules (SoR) and the parser ID.</t>

<t><strong>Endpoint Manager</strong>: A logical component that manages the lifecycle and 
  configuration of <spanx style="verb">Instances</spanx> within an <spanx style="verb">Endpoint</spanx>. It is responsible for 
  creating, updating, and deleting <spanx style="verb">Instances</spanx> as needed, synchronizing 
  <spanx style="verb">Contexts</spanx> and <spanx style="verb">Profiles</spanx>, and managing the <spanx style="verb">Dispatcher</spanx>.</t>

<t><strong>Session</strong>: A communication session between two <spanx style="verb">Instances</spanx> that 
  share a common context for compression and fragmentation operations. Whenever 
  the <spanx style="verb">Context</spanx> is updated, a new or updated <spanx style="verb">Session</spanx> is established.</t>

<t><strong>Domain</strong>: A logical grouping of <spanx style="verb">Instances</spanx> that share a common set of 
<spanx style="verb">Contexts</spanx> for compression and fragmentation operations.</t>

<t><strong>Dispatcher</strong>: A logical component that routes packets to the appropriate 
  <spanx style="verb">Instances</spanx> based on defined admission rules. It can be integrated into the 
  network stack or implemented as a separate component.</t>

<t><strong>Profile</strong>: A set of configurations that define how SCHC operations are 
  performed within a specific <spanx style="verb">Instance</spanx>. It includes parameters for the 
  different SCHC components.</t>

<t><strong>Domain Manager</strong>: A logical component that manages the <spanx style="verb">Domain</spanx>, including 
  context synchronization and profile distribution.</t>

<t><strong>Context Repository</strong>: A logical component that stores and manages the 
  <spanx style="verb">Contexts</spanx> used by its <spanx style="verb">Domain</spanx>.</t>

</section>
<section anchor="minimal-architecture-components-a-case-study-discussions"><name>Minimal Architecture Components, a case study &amp; discussions</name>

<t>In this section, we investigate the minimal components required for SCHC 
  operation in the context of typical deployment scenarios.</t>

<section anchor="the-simplest-deployment-scenario"><name>The simplest deployment scenario</name>

<t>This section considers a simple point-to-point deployment scenario
  where two <spanx style="verb">Endpoints</spanx> communicate with each other using SCHC. The devices are 
  assumed to have a very simple network stack, as shown in the figure below:</t>

<figure><artwork><![CDATA[
                Endpoint A                 Endpoint B    
            +------------------+       +------------------+
            |  Application A   |       |  Application B   |
            +------------------+       +------------------+
            |       CoAP       |       |       CoAP       |
            +------------------+       +------------------+
            |       UDP        |       |       UDP        |
            +------------------+       +------------------+
            |       IPv6       |       |       IPv6       |
            +------------------+       +------------------+
            |  SCHC Instance   |       |  SCHC Instance   |
            +------------------+       +------------------+
            | LPWAN Link Layer |       | LPWAN Link Layer |
            +------------------+       +------------------+
            |  Physical Layer  |       |  Physical Layer  |
            +------------------+       +------------------+
                    |                           |
                    +---------------------------+
]]></artwork></figure>

<t>In this scenario,</t>

<t><list style="symbols">
  <t>Both <spanx style="verb">Endpoint</spanx> A and <spanx style="verb">Endpoint</spanx> B implement the SCHC protocol for header 
compression and decompression.</t>
  <t>Both <spanx style="verb">Endpoints</spanx> feature a single application and all traffic is sent and 
received using the CoAP protocol over UDP over IPv6.</t>
  <t>The SCHC protocol is used to compress the CoAP, UDP, and IPv6
headers before sending the packets over the LPWAN link layer.</t>
  <t>The SCHC protocol is implemented as a single <spanx style="verb">Instance</spanx> on each 
<spanx style="verb">Endpoint</spanx>.</t>
  <t>The <spanx style="verb">Instance</spanx> is hardwired into the protocol stack of each <spanx style="verb">Endpoint</spanx>,
meaning that it is not dynamically loaded or unloaded.</t>
  <t>All of the traffic is compressed and decompressed using those <spanx style="verb">Instances</spanx>.</t>
</list></t>

<t>In this simplistic scenario, which is representative of some LPWAN deployments,
 the requirements for the minimal architecture are as follows:</t>

<t><list style="symbols">
  <t>The Set Of Rules (SoR) of <spanx style="verb">Endpoint</spanx> A MUST be compatible with the SoR of
<spanx style="verb">Endpoint</spanx> B. Such compatitibility requires that rules IDs and Rule 
Descriptors are consistent between the two <spanx style="verb">Instances</spanx>. Parsers of both 
<spanx style="verb">Instances</spanx> MUST be compatible, meaning that they MUST delineate the same 
header fields in the same order and with the same semantics.</t>
  <t>Whenever <spanx style="verb">Endpoint</spanx> A compresses a packet, it MUST use the same <spanx style="verb">Context</spanx> as 
<spanx style="verb">Endpoint</spanx> B. This means that the <spanx style="verb">Context</spanx> MUST be synchronized between the 
two <spanx style="verb">Instances</spanx>. This communication session is referred to as a <spanx style="verb">Session</spanx>.</t>
</list></t>

<t><strong>Why <spanx style="verb">Instance</spanx>?</strong> Here we use the term <spanx style="verb">Instance</spanx> to refer to the SCHC 
 protocol routine that is running on each endpoint. This is different from the 
 SCHC Instance defined in <xref target="DRAFT-ARCH"/>, which refers to a pair of SCHC 
 endpoints that communicate through SCHC.</t>

<t>The rationale for this terminology is that the term <spanx style="verb">Instance</spanx> is often used to
  refer to a specific realization of a class in object-oriented programming, and
  in this case, the SCHC <spanx style="verb">Instance</spanx> is a specific realization of the SCHC 
  protocol that is running on each endpoint.</t>

<t><strong>Session vs Instance</strong>: In this document, we use the term <spanx style="verb">Session</spanx> to refer to
  a communication session between two (or more) <spanx style="verb">Instances</spanx> that are 
  communicating with each other using SCHC, using the same <spanx style="verb">Context</spanx>.</t>

<t>The rationale for this is that the term <spanx style="verb">Session</spanx> is often used to refer to a 
  specific communication session between two endpoints and this definition 
  extends this concept to all <spanx style="verb">Instances</spanx> that maintain a common context.</t>

<t><strong>Why not use the terminology of <xref target="DRAFT-ARCH"/>?</strong> We believe that 
  version -04 introduced changes in the terminology that are prone to confusion. 
  In particular, the term <spanx style="verb">Instance</spanx> is defined as:</t>

<t><spanx style="verb">
  SCHC Instance.  The **session** between SCHC end points in two or more
      peer nodes operating SCHC to communicate using a common SoR and a
      matching SoV.  There are 2 SCHC Instances or more involved per
      SCHC stratum, one for the SCHC Stratum Header and one or more for
      the SCHC payload, i.e., the SCHC-compressed data.
 </spanx></t>

<t>while the end point is defined as:</t>

<t><spanx style="verb">
  SCHC end point.  An entity (e.g., Device, Application and Network
      Gateway) involved in the SCHC process.  Each SCHC end point will
      have its Set of Rules (SoR), based on the profile, the protocols,
      the device, the behaviour and a Set of Variables (SoV).
 </spanx></t>

<t>Those definitions are confusing as they do not clearly identify the components
  which they are referring to. For example, the term <spanx style="verb">Instance</spanx> can be used to 
  refer to session between two applications that are using SCHC, or to refer to 
  two hardware devices that are using SCHC, etc.</t>

<t>The proposed terminology in this document aims to clarify the definitions of the
  architecture components by calling a session a <spanx style="verb">Session</spanx> and therefore reuses 
  the term <spanx style="verb">Instance</spanx> to refer to the SCHC protocol routine that is running on 
  an endpoint.</t>

<t>This terminology is consistent with prior versions of the architecture document,
  such as version -03, which had the following definitions:</t>

<t><list style="symbols">
  <t>SCHC Instance.  The different stages of SCHC in a host.  Each
instance will have its Set of Rules (SoR), based on the profile,
the protocols, the device, the behaviour and a Set of Variables
(SoV).  There are 2 SCHC Instances involved per SCHC stratum, one
for the SCHC header and one for the SCHC payload, i.e., the SCHC-
compressed data.</t>
  <t>SCHC Session.  The association of SCHC Instances in two or more
  peer nodes operating SCHC to communicate using a common SoR and a
  matching SoV.</t>
</list></t>

</section>
<section anchor="the-three-endpoints-deployment-scenario"><name>The three endpoints deployment scenario</name>

<t>In this section, we consider a more complex deployment scenario where two or 
  more endpoints communicate with the same SCHC Instance/Endpoint. This scenario
  is common in IoT deployments where multiple sensors or devices communicate 
  with a central gateway or server using SCHC.</t>

<figure><artwork><![CDATA[
     Endpoint A              Endpoint B              Endpoint C     
+------------------+    +------------------+    +------------------+
|  Application A   |    |  Application B   |    |  Application A   |
+------------------+    +------------------+    +------------------+
|       CoAP       |    |       CoAP       |    |       CoAP       |
+------------------+    +------------------+    +------------------+
|       UDP        |    |       UDP        |    |       UDP        |
+------------------+    +------------------+    +------------------+
|       IPv6       |    |       IPv6       |    |       IPv6       |
+------------------+    +------------------+    +------------------+
|  SCHC Instance   |    |  SCHC Instance   |    |  SCHC Instance   |
+------------------+    +------------------+    +------------------+
| LPWAN Link Layer |    | LPWAN Link Layer |    | LPWAN Link Layer |
+------------------+    +------------------+    +------------------+
|  Physical Layer  |    |  Physical Layer  |    |  Physical Layer  |
+------------------+    +------------------+    +------------------+
         |                    |       |                   |          
         +--------------------+       +-------------------+          
]]></artwork></figure>

<t>In this scenario, we have three <spanx style="verb">Endpoints</spanx>, <spanx style="verb">Endpoint</spanx> A, <spanx style="verb">Endpoint</spanx> B, 
  and <spanx style="verb">Endpoint</spanx> C, that communicate with each other using SCHC. Here, 
  <spanx style="verb">Endpoint</spanx> A and <spanx style="verb">Endpoint</spanx> C are typically sensors or devices that send data 
  to <spanx style="verb">Endpoint</spanx> B, which is a gateway or server that collects and processes the 
  data.</t>

<t>We further assume that <spanx style="verb">Endpoints</spanx> A and C have very similar traffic patterns,
  meaning that they send similar packets to Endpoint B. This allows the SCHC
  <spanx style="verb">Instances</spanx> on Host A, B and C to share the same <spanx style="verb">Context</spanx>, which reduces
  the complexity of administration and management of this deployment.
  In the following, we refer to <spanx style="verb">Instances</spanx> that share the same <spanx style="verb">Contexts</spanx> as a 
  <spanx style="verb">Domain</spanx>.</t>

<t>In this typical IoT deployment scenario, the requirements for the minimal 
  architecture are as follows:</t>

<t><list style="symbols">
  <t>The <spanx style="verb">Context</spanx> of all three <spanx style="verb">Endpoints</spanx> MUST be compatible. This means that
the SoR, parsers, and rule IDs are consistent between the three <spanx style="verb">Instances</spanx>.</t>
  <t>The <spanx style="verb">Context</spanx> <strong>MUST</strong> be synchronized between the three <spanx style="verb">Instances</spanx>. This
means that an updated <spanx style="verb">Session</spanx> between all three <spanx style="verb">Instances</spanx> is 
established whenever the <spanx style="verb">Context</spanx> is updated or modified.</t>
  <t>The <spanx style="verb">Domain</spanx> <strong>MUST</strong> be able to manage the <spanx style="verb">Contexts</spanx> of all <spanx style="verb">Instances</spanx> that
belong to it. This includes the <spanx style="verb">Endpoints</spanx> enrollment, provisioning of 
<spanx style="verb">Contexts</spanx> and synchronization. This role is assumed by a logical component of
the <spanx style="verb">Domain</spanx>, referred to as the <spanx style="verb">Domain Manager</spanx>.</t>
</list></t>

<t><strong>Why synchronize the <spanx style="verb">Contexts</spanx> of A and C?</strong> Synchronizing the <spanx style="verb">Contexts</spanx> of 
  Endpoint A and Endpoint C is desirable. This reduces the complexity of 
  managing multiple <spanx style="verb">Contexts</spanx> at Endpoint B and eventually reduces the size the
  Rules IDs, impacting the SCHC packet size.</t>

<t><strong>Domain Manager, why introduce a new entity?</strong> In a first approach, the 
  <spanx style="verb">Domain Manager</spanx> could be implemented as a component of the <spanx style="verb">Instance</spanx> that is
  running on an <spanx style="verb">Endpoint</spanx>, here B. However, this would require distinguishing 
  between different types of <spanx style="verb">Instances</spanx>: those capable of managing other 
  instances from those that are not, those that are in charge of managing others
  from those that are not. By separating the <spanx style="verb">Domain Manager</spanx> from the 
  <spanx style="verb">Instance</spanx>, we allow for a more flexible and modular architecture that can be 
  adapted to different deployment scenarios.</t>

<t><strong>Context compatibility or equality?</strong> While not strictly required, it is 
  desirable that the <spanx style="verb">Contexts</spanx> of all <spanx style="verb">Instances</spanx> that belong to the same 
  <spanx style="verb">Domain</spanx> are equal, meaning that they share the same SoR, parsers, and rule 
  IDs. This simplifies the management of the <spanx style="verb">Contexts</spanx> and reduces the risk of 
  misconfiguration or incompatibility between <spanx style="verb">Instances</spanx>. However, this is not
  strictly required, as long as the <spanx style="verb">Contexts</spanx> are compatible, meaning that they
  can be used interchangeably without causing issues in compression or 
  fragmentation operations.</t>

</section>
<section anchor="the-dynamic-traffic-scenario"><name>The dynamic traffic scenario</name>

<t>In this section, we consider a deployment scenario where multiple <spanx style="verb">Endpoints</spanx> 
  communicate with each other using SCHC, but the traffic patterns of these 
  <spanx style="verb">Endpoints</spanx> are dynamic and change over time. This scenario typically occurs 
  in Smart Buildings applications, where different configurations are deployed 
  based on the current season, occupancy, etc. For example, thermostats 
  setpoints are set differently in winter and summer.</t>

<t>In this scenario, we have three <spanx style="verb">Endpoints</spanx> A, B and C. A, B feature a
  temperature and thermostat functionality, while C is a server that collects 
  and processes the data from A and B.</t>

<t>We further assume that the <spanx style="verb">Endpoints</spanx> A, B and C are first registered with the
  <spanx style="verb">Domain Manager</spanx> of the domain which they are part of, and that they are
  provisioned with an initial <spanx style="verb">Context</spanx>. This <spanx style="verb">Context</spanx> is used to compress the 
  temperature and thermostat data sent by A and B to C, and is tailored to the 
  specifics of the temperatures recorded during winter, and the thermostat 
  setpoints used during this season, as shown in the figure below:</t>

<figure><artwork><![CDATA[
      +----------------+
      | Domain Manager |
      +----------------+
              ^    |
1. Endpoints  |    |
  registered  |    |
              |    |   2. Context v1 deployed for winter
              |    +-----------------+-----------------+
              |    |                 |                 |
              |    |                 |                 |
              |    v                 v                 v 
            +--------------+  +--------------+  +--------------+ 
            |  Endpoint A  |  |  Endpoint B  |  |  Endpoint C  |
            +--------------+  +--------------+  +--------------+
]]></artwork></figure>

<t>Then comes the spring, and the temperature and thermostat setpoints change.
  The <spanx style="verb">Domain Manager</spanx> is responsible for updating the <spanx style="verb">Context</spanx> of all 
  <spanx style="verb">Instances</spanx> that belong to the domain, i.e. A, B and C. This update is done
  dynamically, meaning that the <spanx style="verb">Context</spanx> is updated without interrupting the
  communication between the <spanx style="verb">Endpoints</spanx>.</t>

<figure><artwork><![CDATA[
+--------------------+
| Application Server |
+--------------------+
  |
  | 1. Submission of a new Context (v2)
  |
  |       +----------------+  Context v2   +--------------------+
  +------>| Domain Manager | <---------->  | Context Repository |
          +----------------+    stored     +--------------------+
                   |
                   |
                   |
                   |        2. Context v2 deployed
                   +-----------------+-----------------+
                   |                 |                 |
                   |                 |                 |
                   v                 v                 v 
            +--------------+  +--------------+  +--------------+ 
            |  Endpoint A  |  |  Endpoint B  |  |  Endpoint C  |
            +--------------+  +--------------+  +--------------+
]]></artwork></figure>

<t>This scenario highlights the need for a dynamic context update mechanism that
  allows the <spanx style="verb">Domain Manager</spanx> to update the <spanx style="verb">Context</spanx> of all <spanx style="verb">Instances</spanx>
  belonging to the <spanx style="verb">Domain</spanx>.</t>

<t>This raises a number of questions, such as:</t>

<t><list style="symbols">
  <t>How to ensure that all <spanx style="verb">Instances</spanx> are updated with the new <spanx style="verb">Context</spanx>?</t>
  <t>How to process packets sent before the <spanx style="verb">Context</spanx> update but received after?</t>
</list></t>

<t>Answering those specific questions is critical for the proper operation of SCHC
  in this scenario as unsynchronized <spanx style="verb">Contexts</spanx> can lead to packet loss or 
  misinterpretation at the receiving end.</t>

<t>It is worth noting that the same questions arise in the context of
  configuration management and are possibly addressed by existing IETF
  protocols.</t>

<t>Nevertheless, we can already identify the need for the following:</t>

<t><list style="symbols">
  <t>A <spanx style="verb">Context Repository</spanx> that is responsible for storing the <spanx style="verb">Contexts</spanx> of
the domain. In case of disagreement between <spanx style="verb">Instances</spanx>, the <spanx style="verb">Context
Repository</spanx> is used to resolve the disagreement. Having one identified source
of truth for the <spanx style="verb">Contexts</spanx> helps to maintain consistency across the domain.
This is also useful when (new) nodes join the domain later, as the
<spanx style="verb">Context Repository</spanx> can provide the necessary <spanx style="verb">Context</spanx> information to new or
existing <spanx style="verb">Instances</spanx>.</t>
  <t>A mechanism for versioning <spanx style="verb">Contexts</spanx>, allowing the <spanx style="verb">Domain Manager</spanx> to
manage multiple versions of a <spanx style="verb">Context</spanx> and facilitate rollbacks if needed.</t>
  <t>A mechanism for notifying <spanx style="verb">Endpoints</spanx> of <spanx style="verb">Context</spanx> updates, ensuring that all
<spanx style="verb">Endpoints</spanx> are aware of the latest <spanx style="verb">Context</spanx> version and can adapt their
behavior accordingly.</t>
</list></t>

</section>
<section anchor="multiple-schc-instances-in-the-same-endpoint"><name>Multiple SCHC Instances in the same Endpoint</name>

<t>In this scenario, a single <spanx style="verb">Endpoint</spanx> that hosts multiple <spanx style="verb">Instances</spanx> is 
  considered. This scenario involves each <spanx style="verb">Instance</spanx> being configured with
  different <spanx style="verb">Contexts</spanx>. This can be useful for supporting multiple applications
  or services with distinct traffic patterns. One such use-case arises when
  a single <spanx style="verb">Endpoint</spanx> needs to handle different types of traffic, potentially
  sent and received on different network interfaces, each requiring
  its own <spanx style="verb">Instance</spanx> with tailored compression and fragmentation settings.</t>

<figure><artwork><![CDATA[
            Endpoint A                          Endpoint B         
+------------------------------+     +------------------------------+
|    App. 1     |   App. 2     |     |    App. 1     |   App. 2     |
+------------------------------+     +------------------------------+
|     CoAP      |    HTTP      |     |     CoAP      |    HTTP      |
+------------------------------+     +------------------------------+
|      UDP      |   UDP/QUIC   |     |      UDP      |   UDP/QUIC   |
+------------------------------+     +------------------------------+
|             IPv6             |     |             IPv6             |
+------------------------------+     +------------------------------+
|     SCHC      |     SCHC     |     |     SCHC      |     SCHC     |
|  Instance A1  | Instance A2  |     |  Instance B1  | Instance B2  |
+------------------------------+     +------------------------------+
|           Link Layer         |     |           Link Layer         |
+------------------------------+     +------------------------------+
|         Physical Layer       |     |         Physical Layer       |
+------------------------------+     +------------------------------+
                |                                     |
                +-------------------------------------+
]]></artwork></figure>

<t>In the above example, two <spanx style="verb">Endpoints</spanx>, A and B, each host two <spanx style="verb">Instances</spanx>.
 <spanx style="verb">Endpoint</spanx> A hosts <spanx style="verb">Instance</spanx> A1 and <spanx style="verb">Instance</spanx> A2, while <spanx style="verb">Endpoint</spanx> B hosts
 <spanx style="verb">Instance</spanx> B1 and <spanx style="verb">Instance</spanx> B2. <spanx style="verb">Instance</spanx> A1 and <spanx style="verb">Instance</spanx> B1 are configured
  to handle CoAP traffic and share a common <spanx style="verb">Context</spanx> C1 while <spanx style="verb">Instance</spanx> A2 and
  <spanx style="verb">Instance</spanx> B2 are configured to handle HTTP traffic and share a common 
  <spanx style="verb">Context</spanx> C2.</t>

<t>This new scenario introduces the following challenges:</t>

<t><list style="symbols">
  <t><strong>Datagram Dispatch</strong>: The <spanx style="verb">Endpoint</spanx> must be able to dispatch packets to the
appropriate <spanx style="verb">Instance</spanx> based on the protocol or application in use. This
requires an additional functional entity, the <spanx style="verb">Dispatcher</spanx>, that can identify
and dispatch packets to the correct <spanx style="verb">Instance</spanx> for compression and
fragmentation. Conversely, the <spanx style="verb">Dispatcher</spanx> must also be able to route inbound
compressed and fragmented packets to the correct <spanx style="verb">Instance</spanx> for decompression
and reassembly.  <vspace blankLines='1'/>
In the above example, uncompressed CoAP/UDP packets must be dispatched to
<spanx style="verb">Instances</spanx> A1 and B1, while uncompressed HTTP/QUIC packets must be dispatched
to <spanx style="verb">Instances</spanx> A2 and B2. Additionally, compressed CoAP/UDP packets must be
dispatched to <spanx style="verb">Instances</spanx> A1 and B1, while compressed HTTP/QUIC packets must
be dispatched to <spanx style="verb">Instances</spanx> A2 and B2 for decompression. The criteria for
dispatching compressed packets to the correct <spanx style="verb">Instance</spanx> is called the 
<spanx style="verb">Discriminator</spanx> in <xref target="DRAFT-ARCH"/>.  <vspace blankLines='1'/>
Those challenges are discussed further in section <xref target="sec-dispatcher"/>.</t>
  <t><strong>Instance/Context Identification</strong>: In addition to the need for a <spanx style="verb">Dispatch</spanx>
mechanism, which addresses the routing of packets to the correct <spanx style="verb">Instance</spanx>,
each <spanx style="verb">Instance</spanx> or <spanx style="verb">Context</spanx> must be uniquely identifiable to allow the
<spanx style="verb">Domain Manager</spanx> to update the <spanx style="verb">Context</spanx> of a specific <spanx style="verb">Instance</spanx>.</t>
</list></t>

<t><strong>Dispatcher and Discriminator</strong> In <xref target="DRAFT-ARCH"/>, the authors introduce
  the concept of a <spanx style="verb">Discriminator</spanx> that is used to identify the <spanx style="verb">Instance</spanx> or
  <spanx style="verb">Context</spanx> that must be used to decompress a packet. As explained in the 
  document, the <spanx style="verb">Discriminator</spanx> is a criterion that is used to select the 
  appropriate <spanx style="verb">Instance</spanx> or <spanx style="verb">Context</spanx> for decompression.</t>

<t>The <spanx style="verb">Dispatcher</spanx> is different from the <spanx style="verb">Discriminator</spanx> in that it is the
  functional unit responsible for routing packets to the correct <spanx style="verb">Instance</spanx> 
  based on:</t>

<t><list style="symbols">
  <t>the <spanx style="verb">Discriminator</spanx> value for decompression and reassembly.</t>
  <t>the <spanx style="verb">Matching Operators</spanx> and <spanx style="verb">Target Values</spanx> of the <spanx style="verb">Contextes</spanx> for 
   compression and fragmentation.</t>
</list></t>

</section>
<section anchor="heterogeneous-endpoints"><name>Heterogeneous Endpoints</name>

<t>This additional scenario introduces heterogeneous <spanx style="verb">Endpoints</spanx> that feature
  different hardware and software configurations. These differences may include
  the Operating System (OS) or the hardware on which the <spanx style="verb">Instance</spanx> is run.
  Those differences are the source of a challenge in the deployment of
  <spanx style="verb">Instances</spanx> in configurations.</t>

<t>To illustrate this challenge, we consider the following example, illustrated in
  the figure below, where two <spanx style="verb">Endpoints</spanx> A and B are both running the same
  OS, here a Linux-based distribution using udev for device management, but on
  two different hardware platforms.</t>

<figure><artwork><![CDATA[
           Endpoint A                         Endpoint B         
+------------------------------+   +------------------------------+ 
|          Application         |   |          Application         |
+------------------------------+   +------------------------------+ 
|             CoAP             |   |             CoAP             | 
+------------------------------+   +------------------------------+ 
|             UDP              |   |             UDP              | 
+------------------------------+   +------------------------------+ 
|             IPv6             |   |             IPv6             | 
+------------------------------+   +------------------------------+ 
|             SCHC             |   |             SCHC             |
|           Instance           |   |           Instance           | 
+------------------------------+   +------------------------------+ 
|             eno0             |   |           enp2s0             | 
|   Ethernet, onboard device,  |   |   Ethernet, PCI device       | 
|           index 0            |   |         bus 2, slot 0        | 
+------------------------------+   +------------------------------+ 
|      Physical Interface      |   |      Physical Interface      |
+------------------------------+   +------------------------------+
                |                                  |
                +----------------------------------+
]]></artwork></figure>

<t><spanx style="verb">Endpoint</spanx> A features an Ethernet interface which is located on the mainboard
  and is referred to as <spanx style="verb">eno0</spanx>:  <em>en</em> standing for &quot;Ethernet&quot;,
<em>o</em> for &quot;onboard&quot;, and <em>0</em> for &quot;index 0&quot; in the udev naming convention.</t>

<t><spanx style="verb">Endpoint</spanx> B features an Ethernet interface which is located on a PCI bus and
  is referred to as <spanx style="verb">enp2s0</spanx>: <em>en</em> standing for &quot;Ethernet&quot;, <em>p</em> for &quot;PCI&quot;,
  <em>2</em> for &quot;bus 2&quot;, and <em>s0</em> for &quot;slot 0&quot; in the same naming convention.</t>

<t>In this scenario, the <spanx style="verb">Context</spanx> which contains the Set of Rules (SoR) and parser
  ID, i.e. the configuration which is shared by all <spanx style="verb">Instances</spanx> of a <spanx style="verb">Domain</spanx>,
  provides no information on how to instruct the <spanx style="verb">Dispatcher</spanx> to route packets
  from the appropriate Network Interface to the appropriate <spanx style="verb">Instance</spanx>.</t>

<t>Without further configuration and unless the <spanx style="verb">Dispatcher</spanx> intercepts all packets
  from all network interfaces, we cannot guarantee the correct dispatching of
  packets to the appropriate <spanx style="verb">Instances</spanx>. Obviously, intercepting traffic from
  all network interfaces is not a viable solution, as it would require the
  inspection of all packets, regardless of their destination, which requires
  significant processing power and may introduce unacceptable latency on
  high-speed links.</t>

<t>Additionally, different OSes may use different filtering/dispatch frameworks,
  e.g. Netfilter on Linux, BPF on FreeBSD, PF on OpenBSD and macOS etc. This
  means that the foundation on which the <spanx style="verb">Dispatcher</spanx> implementation relies may
  vary significantly between different platforms and could require different
  configurations to dispatch packets to <spanx style="verb">Instances</spanx> based on the same <spanx style="verb">Context</spanx>
  but running on different <spanx style="verb">Endpoints</spanx>.</t>

<t>This assessment advocates for the introduction of a device-specific
  configuration that is independent of the <spanx style="verb">Context</spanx>, which we name <spanx style="verb">Profile</spanx>.</t>

<t>Such <spanx style="verb">Profiles</spanx> are <spanx style="verb">Endpoint</spanx> specific so their actual content is out of scope
  of this document. However, the <spanx style="verb">Profile</spanx> <strong>SHALL</strong> include the following:</t>

<t><list style="symbols">
  <t>The configuration of the <spanx style="verb">Dispatcher</spanx>, i.e. the admission rules for 
compression and decompression.</t>
  <t>The rule matching policy, i.e. the policy used to select the appropriate
compression or decompression rule based on the SCHC packet and the <spanx style="verb">Context</spanx>.</t>
</list></t>

<t>As the <spanx style="verb">Profile</spanx> is <spanx style="verb">Endpoint</spanx> specific, it is not shared between <spanx style="verb">Instances</spanx> of
  different <spanx style="verb">Endpoints</spanx>. However, the <spanx style="verb">Profile</spanx> required for a given <spanx style="verb">Instance</spanx>
  may need to change when the <spanx style="verb">Context</spanx> is updated, e.g. the filtering rules may
  need to be adjusted to account for the new traffic patterns and C/D rules.</t>

<t>This means that the <spanx style="verb">Profile</spanx> may need to be updated whenever the <spanx style="verb">Context</spanx> is
  updated, and that the <spanx style="verb">Domain Manager</spanx> <strong>SHALL</strong> therefore be responsible for
  managing the <spanx style="verb">Profile</spanx> delivery to <spanx style="verb">Instances</spanx> and their synchronization with
  the <spanx style="verb">Context</spanx>.</t>

</section>
<section anchor="the-cold-boot-scenario"><name>The cold boot scenario</name>

<t>In this scenario, we consider the case where an <spanx style="verb">Endpoint</spanx> A is powered on and
  needs to establish a SCHC <spanx style="verb">Session</spanx> with another <spanx style="verb">Endpoint</spanx> B. <spanx style="verb">Endpoint</spanx> A
  does not have any <spanx style="verb">Context</spanx> or <spanx style="verb">Profile</spanx> stored in memory, and it needs to
  retrieve or negotiate this information before establishing the session.</t>

<t>Two hypothetical scenarios are considered here:</t>

<t><list style="symbols">
  <t><em>S1</em>. <spanx style="verb">Endpoint</spanx> A is provisioned on the appropriate <spanx style="verb">Domain</spanx> and is
configured with the address/URI of the <spanx style="verb">Domain Manager</spanx> and
<spanx style="verb">Context Repository</spanx>.</t>
  <t><em>S2</em>. <spanx style="verb">Endpoint</spanx> A is provisioned on the appropriate <spanx style="verb">Domain</spanx> but is not
configured with the address/URI of the <spanx style="verb">Domain Manager</spanx> and 
<spanx style="verb">Context Repository</spanx>. In this scenario, the <spanx style="verb">Domain Manager</spanx> is in charge of
advertising its presence and push the context to <spanx style="verb">Endpoint</spanx> A.</t>
</list></t>

<t>In scenario <em>S1</em>, <spanx style="verb">Endpoint</spanx> A initiates the configuration phase, effectively
  pulling the <spanx style="verb">Context</spanx> and <spanx style="verb">Profile</spanx> from the <spanx style="verb">Domain Manager</spanx> and the
  <spanx style="verb">Context Repository</spanx>. This scenario implies that the <spanx style="verb">Domain Manager</spanx> exposes
  a management interface that allows <spanx style="verb">Endpoints</spanx> to retrieve the necessary
  configuration information. Additionally, a logical component referred to as
  <spanx style="verb">Endpoint Manager</spanx> is required to manage the <spanx style="verb">Instances</spanx> of the <spanx style="verb">Endpoint</spanx>.</t>

<t>In scenario <em>S2</em>, the <spanx style="verb">Domain Manager</spanx> is in charge of advertising its presence
  and <spanx style="verb">Endpoint</spanx> A is pulling the <spanx style="verb">Contexts</spanx> and <spanx style="verb">Profiles</spanx> from it.
  The advertisement can be done using a discovery mechanism, such as DNS-SD or a
  predefined multicast address. This scenario implies that <spanx style="verb">Endpoints</spanx> are
  capable of discovering the <spanx style="verb">Domain Manager</spanx> and retrieving the necessary
  configuration information. This further requires that <spanx style="verb">Endpoints</spanx> feature a
  service discovery mechanism and a <spanx style="verb">Management Protocol</spanx> that enables them to
  interact with the <spanx style="verb">Domain Manager</spanx> and request the required <spanx style="verb">Context</spanx> and
  <spanx style="verb">Profile</spanx>.</t>

<t>In both scenarios, a management protocol is required to enable the retrieval
  of the <spanx style="verb">Context</spanx> and <spanx style="verb">Profile</spanx> from the <spanx style="verb">Domain Manager</spanx>. <xref target="DRAFT-CORECONF"/>
  provides initial ideas on how to implement such a management protocol for SCHC
  in a Constrained Environment, e.g. IoT devices.</t>

</section>
<section anchor="core-components-illustrated"><name>Core Components Illustrated</name>

<t>This section provides an overview of the SCHC Core components their interactions
and key functionalities and interfaces.</t>

<section anchor="endpoint"><name>Endpoint</name>

<t>An <spanx style="verb">Endpoint</spanx> is a network host capable of compressing and decompressing headers
  and optionally fragmenting and reassembling packets. It implements the SCHC
  protocol as defined in <xref target="RFC8724"/>. An <spanx style="verb">Endpoint</spanx> can host multiple
  <spanx style="verb">Instances</spanx>, each with its own <spanx style="verb">Context</spanx> and <spanx style="verb">Profile</spanx>.</t>

<figure><artwork><![CDATA[
        retrieves,
      synchronizes +------------+
        contexts   |  Endpoint  |     retrieves, synchronizes
         +---------|  Manager   |-------------+---------------+
         |         +------------+             |               |
         |            | manages               v               v
         |            | lifecycle       +------------+  +------------+
         |            | of Instances    | Profile P1 |  | Context Pk |
         |            |                 +------------+  +------------+
         |            |                 configures |       |configures
         |            |                            |       |
         |            |   compresses, decompresses +-----+ |
         |            |     +------------------------+   | |
         v            v     | fragments, reassembles |   | |
+------------+  +-------------+                      |   | |
| Context C1 |--| Instance I1 |<--+                  v   v v
+------------+  +-------------+   |           +---------------+
    ...                 ...       +<----------|  Dispatcher   |----+
    ...                 ...       |     |     +---------------+    |
+------------+  +-------------+   |  dispatch   ^  |               |
| Context Ck |--| Instance Ik |<--+  packets  - | reinject  configures
+------------+  +-------------+                 |  |               |
                                                |  v               v
                                    +-------------------------------+
                                    |            OS/firmware        |
                                    |           network stack       |
                                    +-------------------------------+
]]></artwork></figure>

</section>
<section anchor="instance"><name>Instance</name>

<t>An <spanx style="verb">Instance</spanx> is the fundamental component that implements the SCHC protocol
  as defined in <xref target="RFC8724"/>. An <spanx style="verb">Endpoint</spanx> MAY execute several <spanx style="verb">Instances</spanx> in 
  its protocol stack. Each <spanx style="verb">Instance</spanx> operates independently, with its own 
  context and profile.</t>

<t>An <spanx style="verb">Instance</spanx> MUST implement the following components:</t>

<t><list style="symbols">
  <t>Header Compression and Decompression (C/D) engine</t>
  <t>Context Manager</t>
  <t>Profile Manager</t>
</list></t>

<t>Its configuration MUST include:</t>

<t><list style="symbols">
  <t>a SCHC Context, which defines the set of C/D and F/R rules - or Set of Rules -
 and the parser to be used to delineate the header field.</t>
  <t>a SCHC Profile, which defines the configuration of the Dispatch Engine, the 
 rule matching policy, and the device-specific configuration.</t>
</list></t>

<t>A SCHC Instance MAY implement:</t>

<t><list style="symbols">
  <t>Fragmentation and Reassembly (F/R) functionality.</t>
  <t>Dynamic context update mechanisms.</t>
  <t>Performance monitoring and reporting.</t>
</list></t>

<section anchor="header-compression-and-decompression-cd-engine"><name>Header Compression and Decompression (C/D) engine</name>

<t>This component is responsible for compressing and decompressing headers
 using the SCHC protocol, as described in <xref target="RFC8724"/>. It applies the rules 
 defined in the SCHC Context.</t>

<t>The C/D engine MUST expose the following interface:</t>

<t><list style="symbols">
  <t><spanx style="verb">compress(buffer, context, profile)</spanx>: Compresses the provided buffer using the
 SCHC Context and the profile.</t>
  <t><spanx style="verb">decompress(buffer, context, profile)</spanx>: Decompresses the provided buffer using
 the SCHC Context and the profile.</t>
</list></t>

<t>Internally, on compression, the C/D engine:</t>

<t><list style="symbols">
  <t>delineates the fields using the parser identified in the SCHC Context.</t>
  <t>chooses the appropriate compression rule based on the SCHC Context and the 
 matching policy defined in the profile.</t>
  <t>applies the compression rule to the fields of the header.</t>
  <t>generates the compressed SCHC packet.</t>
</list></t>

<t>On decompression, the C/D engine:</t>

<t><list style="symbols">
  <t>identifies the C/D rule based on the SCHC compressed packet.</t>
  <t>applies the decompression rules to reconstruct the original header.</t>
  <t>reconstructs the original packet from the decompressed header and payload.</t>
</list></t>

</section>
<section anchor="fragmentation-and-reassembly-fr"><name>Fragmentation and Reassembly (F/R)</name>

<t>This component is responsible for fragmenting larger packets into smaller
 fragments and reassembling them at the receiving end. It is optional in
 the minimal architecture but recommended for scenarios where packet sizes
 exceed the maximum transmission unit (MTU) of the underlying network.</t>

</section>
</section>
<section anchor="schc-session"><name>SCHC Session</name>

<t>As illustrated in the figure below, the <spanx style="verb">Session</spanx> is a communication session 
  between two or more <spanx style="verb">Instances</spanx> that share a common <spanx style="verb">Context</spanx>, i.e. they are 
  part of the same <spanx style="verb">Domain</spanx>. It is established whenever the <spanx style="verb">Context</spanx> is updated
  or modified.</t>

<figure><artwork><![CDATA[
                                                              
   Endpoint A                                  Endpoint B     
+------------------+                      +------------------+
|  SCHC Instance   | <---           ----> |  SCHC Instance   |
+------------------+     \         /      +------------------+
                          \       /                           
                           Session                            
                          /       \                           
+------------------+     /         \      +------------------+
|  SCHC Instance   | <---           --->  |  SCHC Instance   |
+------------------+                      +------------------+
   Endpoint C                                  Endpoint D     

]]></artwork></figure>

</section>
<section anchor="schc-domain-domain-manager"><name>SCHC Domain &amp; Domain Manager</name>

<t>The SCHC <spanx style="verb">Domain</spanx> is an administrative unit, whose role is to manage the SCHC 
  Contexts of all <spanx style="verb">Instances</spanx> that belong to it. The <spanx style="verb">Domain Manager</spanx> is the
  component responsible for this management. It handles Endpoints Enrollment, 
  and <spanx style="verb">Context</spanx> synchronization.</t>

<figure><artwork><![CDATA[
                                   
                           Domain Manager                         
                   +----------------------------+                 
                   |                            |                 
                   | +----------+  +----------+ |                 
                   | | Endpoint |  |  Context | |                 
           +-------+>|  Manager |  |  Manager | |                 
           |       | +----------+  +----------+ |                 
           |       +--------------------+-------+                 
  Register |                            |                         
  Endpoint |   +------------------------+                         
           |   |  synchronize Context(es)                         
           v   v                                                  
  +-----------------+   +------------------+   +----------------+ 
  |    Endpoint A   |   |    Endpoint B    |   |   Endpoint ... | 
  +-----------------+   +------------------+   +----------------+ 
                                                                  
                                                                  
]]></artwork></figure>

<t>SCHC Domain, different illutration.</t>

<figure><artwork><![CDATA[
                       
   +------------------------------------------------------------+   
   |                                                            |   
  +-+                       +-------------+                    +-+  
i | | p                     |  Context    |                  e | | i
n | | r                  +--|  Repository |-+                n | | n
t | | o  +-------------+ |  +-------------+ |  +----------+  d | | t
e | | v  |             |-+  +-------------+ +--| Endpoint |  p | | e
r | | i  | Provisioner |----|  Profile    |----|  Manager |  o | | r
f | | s  |             |-+  |  Repository |  +-|          |  i | | f
a | | i  +-------------+ |  +-------------+  | +----------+  n | | a
c | | o                  |  +-------------+  |               t | | c
e | | n                  +--| Endpoints   |--+                 | | e
  +-+                       |   Registry  |                    +-+  
   |                        +-------------+                     |   
   |                                                            |   
   +------------------------------------------------------------+   
]]></artwork></figure>

</section>
<section anchor="sec-dispatcher"><name>Dispatcher</name>

<t>The Dispatcher is responsible for delivering compressed packets to the
 correct SCHC <spanx style="verb">Instance</spanx>. It ensures that the compressed packets are sent
 to the appropriate destination and that the decompressed packets are
 delivered to the correct application or protocol routine.</t>

<t>The Dispatcher is a key component that enables the coexistence of multiple
 SCHC <spanx style="verb">Instances</spanx> on the same network host, allowing different protocols or
 applications to use SCHC compression and decompression mechanisms. It also
 allows regular traffic to coexist with SCHC-compressed traffic.</t>

<t>Dispatcher is illustrated in the figure below, where two SCHC <spanx style="verb">Instances</spanx>
  are running on the same <spanx style="verb">Endpoint</spanx>. The Dispatcher is responsible for routing
  packets to the appropriate <spanx style="verb">Instance</spanx> based on admission criteria defined in
  the <spanx style="verb">Profiles</spanx> and the <spanx style="verb">Contexts</spanx>.</t>

<figure><artwork><![CDATA[
                               reinject
+------------------------------------------------------------------+
|                                                                  |
|                                             Profile1   Context1  |
|                                                 |          |     |
|                                                 +-----+----+     |
|                                                       |          |
|  +- - - - - - -+                                  Instance 1     |
|  |  Packet p+1 |                                + - - - - - -+   |
|  +-------------+    + - - - - - - - - - -+      |- compress  |   |
+->|  Packet p   | + -|  chain_inst1_comp  |      + - - - - - -+   |
   +-------------+ |  + - - - - - - - - - -+      |- decompress|   |
   |  Packet p-1 | + -| chain_inst1_decomp |      + - - - - - -+   |
   +- - - - - - -+ |  +--------------------+                       |
        Packet     +->| chain_inst2_comp   |--+                    |
         Queue     |  +--------------------+  |   +------------+   |
                   + -| chain_inst2_decomp |  +-->|- compress  |---+
                      + - - - - - - - - - -+      +------------+    
                      |        . . .       |      |- decompress|    
                      + - - - - - - - - - -+      + - - - - - -+    
                            Dispatcher              Instance 2
                                                        |
                                                  +-----+----+
                                                  |          |
                                              Profile2   Context2

]]></artwork></figure>

<t>There are two types of admission criteria that are used by the Dispatcher:</t>

<t><list style="numbers" type="1">
  <t><spanx style="verb">Discriminator</spanx> values for decompression and reassembly. Those criteria
are used to identify packets that should be decompressed and reassembled by
SCHC. The <spanx style="verb">Discriminator</spanx> is a value that is either included in the packet, 
such as a field in the packet headers (MPLS label, UDP port) or is derived 
from the metadata associated with the packet, such as the Network Interface 
ID, as described in <xref target="DRAFT-ARCH"/>.</t>
  <t><spanx style="verb">Matching Operators</spanx> and <spanx style="verb">Target Values</spanx> of the <spanx style="verb">Contexts</spanx> for compression
and fragmentation. Those criteria are used to identify packets that should be
compressed and fragmented by SCHC. The <spanx style="verb">Matching Operators</spanx> and <spanx style="verb">Target
Values</spanx> are defined in the SCHC <spanx style="verb">Contexts</spanx> and are used to match specific
header fields or values in the packet headers. The <spanx style="verb">Dispatcher</spanx> uses these
criteria to determine whether a packet should be compressed or fragmented by
a given <spanx style="verb">Instance</spanx>.</t>
</list></t>

<t><strong>TODO: LINK between discriminator, MO/TV and filter chains.</strong>
<strong>What follows is WIP, needs to be completed.</strong></t>

</section>
<section anchor="sec-context-management"><name>Context Management</name>

<t>Context management is responsible for maintaining the shared state between
  SCHC entities. This includes:</t>

<t><list style="symbols">
  <t>Context synchronization between entities</t>
  <t>Rule lifecycle management</t>
  <t>Profile distribution and updates</t>
</list></t>

</section>
<section anchor="sec-context-repository"><name>Context Repository</name>

<t>A Context Repository provides centralized storage and management of SCHC
  contexts and profiles. While not mandatory for minimal deployments, it
  becomes essential for larger deployments requiring centralized management.</t>

</section>
<section anchor="sec-management-interface"><name>Management Interface</name>

<t>A Management Interface provides operational control and monitoring
  capabilities for SCHC deployments. This may include:</t>

<t><list style="symbols">
  <t>Configuration management</t>
  <t>Performance monitoring</t>
  <t>Troubleshooting tools</t>
</list></t>

</section>
</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Security considerations for SCHC minimal architecture include:</t>

<t><list style="symbols">
  <t>Context integrity and authenticity</t>
  <t>Profile distribution security</t>
  <t>Protection against context manipulation attacks</t>
</list></t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors would like to thank the SCHC Working Group for their
  contributions and feedback on this document.</t>

</section>
<section anchor="bits-and-pieces"><name>Bits and pieces</name>

<t><strong>THIS SECTION IS NOT PART OF THE DOCUMENT, IT IS A COLLECTION OF IDEAS, CONCEPTS 
  AND ILLUSTRATIONS THAT ARE NOT YET FULLY DEVELOPED OR INTEGRATED INTO THE
  DOCUMENT. IT IS PROVIDED FOR REFERENCE AND DISCUSSION PURPOSES ONLY.</strong></t>

<figure><artwork><![CDATA[
                    Endpoint 
+------------------------------------------------+
| +-------------+     +---------------+          | 
| | Instance I1 |-----+- Context C1   |         +-+ 
| +-------------+     +- Context C2   |         | | i
| +-------------+   / |     ...       |       d | | n
| | Instance I2 |__/  +---------------+       o | | t
| +-------------+         Domain D1           m | | e
|       ...                 ...               a | | r
| +-------------+     +---------------+       i | | f
| | Instance Ik |-----+- Context Ck   |       n | | a
| +-------------+ ... +- Context Ck+1 |         | | c
| +-------------+   __|     ...       |         | | e
| | Instance .. |__/  +---------------+         +-+ 
| +-------------+         Domain Dn              | 
+------------------------------------------------+
]]></artwork></figure>

<figure><artwork><![CDATA[
                      Endpoint 
+-------------------------------------------------------------------+
|                                                                   |
|                                              Domain D1            |
|                   +--------------+     +--------------------+     | 
|               +---| Instance I1  |-----|- Context/Profile 1 |    +-+ 
|               |   +--------------+    +|- Context/Profile 2 |    | | i
|               |   +--------------+   / |         ...        |   d| | n
|            +--|---| Instance I2  |__/  +------------+-------+   o| | t
|            |  |   +--------------+              ... |           m| | e
|            |  |         ...                  Domain Dn          a| | r
|            |  |   +--------------+     +---------------------+  i| | f
|            |  |   | Instance Ij  |-----|- Context/Profile j  |  n| | a
|            |  |   +--------------+ ... |         ...         |   | | c
|            |  |   +--------------+   --|- Context/Profile k  |   | | e
|         +--|--|---| Instance Ik  |__/  +------+--------------+   +-+ 
|         |  |  |   +--------------+            | | | |             | 
|         |  |  |           Dispatcher          | |   |             |
|         |  |  |   +-----------------------+   | | | |             |
|         |  |  |   |                       |   | |   |             |
|         |  |  |   |  +----------------+  +-+  | | | |             |
|         |  |  +---|--|-- Inst. 1 Cb   |  | |--+ |   |             |
|         |  +------|--|-- Inst. 2 Cb   |  | |----+ | |             |
|         |         |  |      ...       |  | |- - - + |             |
|         +---------|--|-- Inst. k Cb   |  | |--------+             |
|                   |  +----------------+  | |                      |
|                   |                      +-+                      |
|                   +-----------------------+                       |
+---------------------+-----------------------+---------------------+
|    Net. Stack 1     |         ...           |    Net. Stack l     |
+---------------------+-----------------------+---------------------+

]]></artwork></figure>

<figure><artwork><![CDATA[
                      Endpoint 
+------------------------------------------------------------------+
|                                                                  |
|   Dispatcher                                                     |
| +--------------+  +-------------+     +--------------------+     | 
| | Disp. Filter1|  | Instance I1 |-----+- Context/Profile 1 |    +-+ 
| +--------------+  +-------------+     +- Context/Profile 2 |    | | i
| +--------------+  +-------------+   / |         ...        |   d| | n
| | Disp. Filter2|  | Instance I2 |__/  +--------------------+   o| | t
| +--------------+  +-------------+           Domain D1          m| | e
|                         ...                     ...            a| | r
| +--------------+  +-------------+     +---------------------+  i| | f
| | Disp. Filterk|  | Instance Ik |-----+- Context/Profile k  |  n| | a
| +--------------+  +-------------+ ... +- Context/Profile k+1|   | | c
| +--------------+  +-------------+   __|         ...         |   | | e
| |Disp. Filter..|  | Instance .. |__/  +---------------------+   +-+ 
| +--------------+  +-------------+           Domain Dn            | 
|                                                                  |
|                                                                  |
|                                                                  |
|                                                                  |
|                                                                  |
+---------------------+----------------------+---------------------+
|  Net. Interface 1   |         ...          |   Net. Interface l  |
+---------------------+----------------------+---------------------+

]]></artwork></figure>

<figure><artwork><![CDATA[
                      Domain D1 
   +------------------------------------------------------------+    
   |                                                            |    
  +-+                       +-------------+                    +-+   
i | | p                     |  Context    |                  e | | i 
n | | r                  +--|  Repository |-+                n | | n 
t | | o  +-------------+ |  +-------------+ |  +----------+  d | | t 
e | | v  |             |-+  +-------------+ +--| Endpoint |  p | | e 
r | | i  | Provisioner |----|  Profile    |----|  Manager |  o | | r 
f | | s  |             |-+  |  Repository |  +-|          |  i | | f 
a | | i  +-------------+ |  +-------------+  | +----------+  n | | a 
c | | o                  |  +-------------+  |               t | | c 
e | | n                  +--| Endpoints   |--+                 | | e 
  +-+                       |   Registry  |                    +-+   
   |                        +-------------+                     |    
   |                                                            |    
   +------------------------------------------------------------+    
]]></artwork></figure>

<t><strong>Dispatch scenarios</strong>:</t>

<t>Case 1: The Dispatch Engine is integrated into the network stack and a single SCHC Instance is used.</t>

<figure><artwork><![CDATA[
          Endpoint 1                          Endpoint 2    
+-------------+-------------+       +-------------+-------------+
|   App. A    |    App. B   |       |   App. A    |    App. B   |   
+-------------+-------------+       +-------------+-------------+   
|    HTTP     |     CoAP    |       |    HTTP     |     CoAP    |   
+-------------+-------------+       +-------------+-------------+   
|  QUIC/UDP   |     UDP     |       |  QUIC/UDP   |     UDP     |      
+-------------+-------------+       +-------------+-------------+
|            IPv6           |       |            IPv6           |   
+-----+-------+-------------+       +-------------+-------------+
|    ^           ^      |   |       |    ^           ^      |   |
|    |  Dispatch |  UDP Dest|       |    |  Dispatch |  UDP Src |
|    |   Engine  | Port 5678|       |    |   Engine  | Port 5678|
|    |           |      |   |       |    |           |      |   |   
+----+-----------+------+---+       +----+-----------+----------+
    IPv6         |     IPv6             IPv6         |     IPv6    
  datagram       |   datagram         datagram       |   datagram
     | +---------+------+-----+          | +---------+------+-----+
     | |     SCHC Instance    |          | |     SCHC Instance    |
     | +---------+------+-----+          | +---------+------+-----+
     | |         |      |     |          | |         |      |     |
     | |+------------+  |     |          | |+------------+  |     |
     | || SCHC Inst. |  |     |          | || SCHC Inst. |  |     |
     | || Decompress.|  |     |          | || Decompress.|  |     |
     | |+------------+  V     |          | |+------------+  V     |
     | |    ^  +------------+ |          | |    ^  +------------+ |
     | |    |  | SCHC Inst. | |          | |    |  | SCHC Inst. | |
     | |    |  | Compress.  | |          | |    |  | Compress.  | |
     | |    |  +------------+ |          | |    |  +------------+ |
     | |    |        |        |          | |    |        |        |
     | +----+--------+--------+          | +----+--------+--------+
     |     SCHC     SCHC                 |     SCHC     SCHC 
     |    Packet   packet                |    Packet   packet
     |      |        |                   |      |        |
     v      |        V                   V      |        V    
+---------------------------+       +---------------------------+   
|       Ethertype Ethertype |       |       Ethertype Ethertype |
|         == SCHC  := SCHC  |       |         == SCHC  := SCHC  |
|                           |       |                           |
| Link layer, e.g. Ethernet |       | Link layer, e.g. Ethernet |   
+---------------------------+       +---------------------------+   
|  Network Interface Card   |       |  Network Interface Card   |    
+---------------------------+       +---------------------------+   
|       Physical Layer      |       |       Physical Layer      |   
+---------------------------+       +---------------------------+   
            | |                                  | |
            | |                                  | |
            | +----------------------------------+ |
            +--------------------------------------+
              
]]></artwork></figure>

<t>In this simple scenario, the Dispatch Engine is integrated into
  the network stack and there is a unique predefined SCHC Instance for a 
  specific protocol stack, such as CoAP over UDP over IPv6. This is the classic 
  case for SCHC over LPWAN networks, as described in <xref target="RFC8724"/>, <xref target="RFC8824"/>, 
  <xref target="RFC9363"/>.</t>

<t>The dispatching is done based on a identified header field, such as the an 
  ethertype, the IPv6 Next Header field, a specific UDP port, etc.</t>

<t>This implementation scenario therefore assumes that the endpoint Operating 
  System (OS) implements the SCHC protocol as part of its network stack and that 
  SCHC is allocated the appropriate ethertype, IPv6 Next Header value or UDP 
  port from IANA.</t>

<t>In the example above,</t>

<t><list style="symbols">
  <t>On Endpoint 1, the Dispatch &quot;intercepts&quot; outbound packets whose UDP 
destination port is 5678, which is used by CoAP. It then routes these packets 
to the SCHC Instance for CoAP over UDP over IPv6. The SCHC instance 
then compresses the CoAP, UDP and IPv6 headers, and calls the Link Layer
interface to send the compressed packet over the network, setting the
appropriate SCHC ethertype in the link layer header.</t>
  <t>On Endpoint 2, incoming packets whose SCHC ethertype is set to the SCHC value
are routed to the SCHC Instance for CoAP over UDP over IPv6. The SCHC Instance
decompresses the SCHC packets and delivers them to the IPv6 layer.</t>
</list></t>

<t>Note that in this example, regular HTTP over QUIC traffic is also present on the
  same Endpoint. The Dispatch Engine is able to discriminate those packets from 
  packets that are compressed by SCHC, as the HTTP over QUIC packets do not
  not match the admission rules defined in the SCHC profile, here
  <spanx style="verb">UDP Destination Port == 5678</spanx>.</t>

<t>Case 2: The Dispatch engine lives outside of the network stack.</t>

<t>In this case, the Dispatch Engine is a separate component that
  interacts with multiple SCHC Instances. It is responsible for routing packets
  to the appropriate SCHC Instance based on the packet type and supplied
  admission rules.</t>

<t><list style="symbols">
  <t>On Linux, this can be implemented using netfilter hooks or similar mechanisms
  to intercept packets and route them to and from the appropriate SCHC Instance.</t>
  <t>On macOS, the Dispatch Engine can be implemented as a kernel extension or 
  user-space application that make use of PF, the native packet filter.</t>
</list></t>

<t>The exact implementation details of the Dispatch Engine will depend on the 
  Operating System, which therefore is not specified in this document. However,
  a description of packets criteria and admission rules is provided in the SCHC 
  profile, which is used by the Dispatch Engine to determine how to route 
  packets.</t>

<figure><artwork><![CDATA[
                   Endpoint
+------------------------------------------+
|   App. A     |    App. B   |    App. C   |
+--------------+-------------+-------------+
|     QUIC     |     CoAP    |     HTTP    |
+--------------|-------------+-------------|
|   Dispatch      Dispatch   |             |         Hooks
|    Hook 1    .   Hook 3    |             +           |
|  (dport 443)  (dport 5768) |             |           |
|              .             |             |  +------------------+
|             UDP            |     TCP     |  | Dispatch Engine  |
+----------------------------+-------------+  +------------------+
|             IPv6           |     IPv4    |   1 .  . 2
+----------------------------+-------------+     .  .
|  Dispatch    .   Dispatch  |             | +------------+ 
|   Hook 2          Hook 4   |             | |SCHC Inst.#1|
|   label      .    label    |             | +------------+
| 0xabcd0180      0xabce0180 |             | |   .     .  |
|                            |             | |   v     .  |
|             MPLS           |             | |compress .  |
+----------------------------+             | |         v  |
|          Ethertype                       | |  decompress|
|              ==                          | +------------+
|            0x8847                        |
|                  Ethernet                |
+------------------------------------------+

]]></artwork></figure>

<t>In the example above, the Dispatch Engine is implemented as a filter that 
  intercepts packets based on their UDP destination port. In this instance, it 
  routes packets with a destination port of 5768 to the SCHC Instance for CoAP 
  over UDP over IPv6. The Dispatch Engine then compresses the CoAP, UDP, and
  IPv6 headers, adds a MPLS header with appropriate tag and sends the compressed 
  packet over the network.</t>

<t>When receiving packets, the Dispatch Engine checks the SCHC ethertype and MPLS 
  label and routes matching packets (MPLS label == 0xabcd0180 &amp;&amp; UDP destination 
  port == 5768) them to the appropriate SCHC Instance based on the defined 
  admission rules in the profile.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC8724;
&RFC8824;
<reference anchor="DRAFT-ARCH" >
  <front>
    <title>SCHC Architecture</title>
    <author initials="A." surname="Pelov" fullname="Alexander Pelov">
      <organization></organization>
    </author>
    <author initials="P." surname="Thubert" fullname="Pascal Thubert">
      <organization></organization>
    </author>
    <author initials="A." surname="Minaburo" fullname="Ana Minaburo">
      <organization></organization>
    </author>
    <date year="2025" month="February"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-ietf-schc-architecture-04"/>
</reference>
&RFC2119;
&RFC8174;
<reference anchor="DRAFT-CORECONF" >
  <front>
    <title>CORECONF Rule management for SCHC</title>
    <author initials="A." surname="Minaburo" fullname="Ana Minaburo">
      <organization></organization>
    </author>
    <author initials="L." surname="Toutain" fullname="Laurent Toutain">
      <organization></organization>
    </author>
    <author initials="C." surname="Banier" fullname="Corentin Banier">
      <organization></organization>
    </author>
    <author initials="M." surname="Dumay" fullname="Marion Dumay">
      <organization></organization>
    </author>
    <date year="2025" month="May"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-toutain-schc-coreconf-management-00"/>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&RFC9363;


    </references>

</references>


<?line 1279?>

<section anchor="change-log"><name>Change Log</name>

<section anchor="changes-from-00-to-01"><name>Changes from -00 to -01</name>

<t><list style="symbols">
  <t>Initial version</t>
</list></t>

</section>
</section>


  </back>

<!-- ##markdown-source:
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
3h6Gthpm0P8ft6rbu77tAAA=

-->

</rfc>

