<?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.39 (Ruby 3.4.4) -->


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

]>


<rfc ipr="trust200902" docName="draft-lampin-voici-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="VOICI">VOICI</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>

    <date year="2026" month="June" day="04"/>

    <area>Internet</area>
    <workgroup>SCHC Working Group</workgroup>
    

    <abstract>


<?line 50?>

<t>The Static Context Header Compression (SCHC) framework identified the need for
a minimal transport encapsulation that provides Session multiplexing when
extrinsic Discriminators are insufficient.  This document specifies a Link
Multiplexer (VOICI) that addresses those SCHC-driven requirements while
remaining general enough to accommodate other compression mechanisms and
uncompressed payloads.  The encapsulation is designed for minimal overhead,
reducing to 2 bytes in the common case, while supporting optional integrity
protection and original EtherType/port recovery.</t>



    </abstract>



  </front>

  <middle>


<?line 61?>

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

<t>The SCHC framework <xref target="SCHC"/> provides header compression and optional
fragmentation based on static contexts shared between Endpoints.  In the
common deployment -- a single Instance per Endpoint over a single link --
the mapping between the link and the Instance is trivial: all Datagrams on
the link belong to that one Instance, and no multiplexing mechanism is
needed.</t>

<t>However, two deployment scenarios require a mechanism to distinguish
multiple Sessions over a shared link:</t>

<t><list style="symbols">
  <t>An Endpoint hosts multiple Instances serving different Domains or tenants.</t>
  <t>Multiple Sessions share an Ethernet segment or IPv6 link.</t>
</list></t>

<t>These requirements were first identified by the SCHC architecture
<xref target="SCHC-ARCH"/> for the case of SCHC-compressed Datagrams.  But the need is
broader than SCHC alone.  Operator and industrial deployments often carry
a mix of traffic types on the same constrained link: SCHC-compressed
Datagrams from devices that use static Contexts; Datagrams from other
mechanisms; and uncompressed management or diagnostic traffic that bypasses
compression.  In all of these cases, transport-level multiplexing, and
optional integrity are desirable.</t>

<t>This document specifies a Link Multiplexer (VOICI) that satisfies the
requirements identified for SCHC while remaining general enough for other
compression mechanisms.  The VOICI header carries a Session ID for
multiplexing, a Content Identifier for dispatching the Datagram to the
correct handler, and optional integrity protection.  The encapsulation is
designed for minimal overhead, reducing to 2 bytes in the common case
(1-byte flag + 1-byte Session ID for values less than 128).</t>

<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;NOT RECOMMENDED&quot;,
&quot;MAY&quot;, and &quot;OPTIONAL&quot; in this document are to be interpreted as
described in BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?></t>

</section>
<section anchor="requirements"><name>Requirements</name>

<t>The requirements below are organized into two groups.  Requirements 1-3 were
first identified by the SCHC architecture <xref target="SCHC-ARCH"/> for the specific
case of SCHC-compressed Datagrams.  Requirements 4-5 were added when the
scope was broadened to encompass other compression mechanisms and
uncompressed payloads.</t>

<section anchor="requirements-driven-by-schc"><name>Requirements driven by SCHC</name>

<t><list style="numbers" type="1">
  <t><strong>Session identification</strong>: A mechanism to distinguish Sessions and
route Datagrams to the correct processing handler (for example, a SCHC
Instance).  The identifier (Session ID) is locally significant to the
link.</t>
  <t><strong>Original EtherType/port recovery (optional)</strong>: A mechanism to carry the
original EtherType or UDP port number when the carrier uses the SCHC
EtherType or SCHC UDP port. This is needed when the payload is
decompressed so that the receiver can restore the original framing layer 
after decompression.</t>
  <t><strong>Integrity protection (optional)</strong>: A mechanism to detect corruption
of the Datagram, including the Session ID and the compressed residue.</t>
</list></t>

</section>
<section anchor="requirements-driven-by-multi-mechanism-and-uncompressed-payloads"><name>Requirements driven by multi-mechanism and uncompressed payloads</name>

<t><list style="numbers" type="1">
  <t><strong>Content identification</strong>: A mechanism to identify how the Datagram
payload is encoded when the link carries Datagrams from multiple
mechanisms (for example, SCHC, uncompressed).  This allows the receiver
to dispatch the Datagram to the correct decompressor without inspecting
its contents.</t>
  <t><strong>Layer independence</strong>: The encapsulation MUST operate over any link
layer that carries compressed traffic, whether identified by an
Ethertype, IP Protocol Number, or UDP port <xref target="SCHC-PROTO-NUMS"/>.</t>
</list></t>

</section>
</section>
<section anchor="gap-analysis"><name>Gap Analysis</name>

<t>Several existing mechanisms can provide multiplexing or labeling. This
section analyzes their suitability for SCHC and identifies the gap that
VOICI fills.</t>

<section anchor="mpls"><name>MPLS</name>

<t>MPLS labels provide efficient multiplexing and are
widely deployed in operator networks.  However:</t>

<t><list style="symbols">
  <t>MPLS adds 4 bytes per label, which may
be excessive for highly constrained deployments.</t>
  <t>MPLS is not available on all link types relevant to SCHC (LPWAN, PPP,
low-speed serial links).</t>
  <t>MPLS provides no integrity protection.</t>
</list></t>

</section>
<section anchor="udp-encapsulation"><name>UDP Encapsulation</name>

<t>UDP is commonly used for Internet traversal and NAT traversal. The UDP
source port can carry a Session ID:</t>

<t><list style="symbols">
  <t>The UDP header is 8 bytes.</t>
  <t>Using the UDP source port as Session ID is fragile in the presence of
NAT (port remapping) and port exhaustion (65535 limit shared with
other applications).</t>
  <t>UDP is only available above IP.</t>
</list></t>

</section>
<section anchor="ip-protocol-number-and-schc-ethertype"><name>IP Protocol Number and SCHC Ethertype</name>

<t>The SCHC IP Protocol Number and Ethertype <xref target="SCHC-PROTO-NUMS"/> identify
SCHC traffic at the respective layers but do not provide:</t>

<t><list style="symbols">
  <t>Session multiplexing (one protocol number or Ethertype per link, not
per Session).</t>
  <t>Integrity protection.</t>
</list></t>

<t>They are necessary to identify SCHC traffic but insufficient for
multiplexing.</t>

</section>
<section anchor="summary"><name>Summary</name>

<texttable title="Comparison of multiplexing mechanisms" anchor="tab-gap-summary">
      <ttcol align='left'>Mechanism</ttcol>
      <ttcol align='left'>Multiplexing</ttcol>
      <ttcol align='left'>Integrity</ttcol>
      <ttcol align='left'>Overhead</ttcol>
      <ttcol align='left'>Link Coverage</ttcol>
      <c>MPLS</c>
      <c>Yes</c>
      <c>No</c>
      <c>4+ bytes</c>
      <c>Limited</c>
      <c>UDP (src port)</c>
      <c>Yes</c>
      <c>No</c>
      <c>8 bytes</c>
      <c>IP only</c>
      <c>IP Protocol Num</c>
      <c>No</c>
      <c>No</c>
      <c>0 bytes</c>
      <c>IP only</c>
      <c>Ethertype</c>
      <c>No</c>
      <c>No</c>
      <c>0 bytes</c>
      <c>IEEE 802 only</c>
      <c><strong>VOICI</strong></c>
      <c><strong>Yes</strong></c>
      <c><strong>Opt.</strong></c>
      <c><strong>2 B</strong></c>
      <c><strong>Any</strong></c>
</texttable>

<t>VOICI fills the gap by providing multiplexing, integrity, content mechanism
identification, and original EtherType/port recovery with minimal
overhead.  The comparison is summarized in <xref target="tab-gap-summary"/>.</t>

</section>
<section anchor="encoding-within-schc-datagram"><name>Encoding Within SCHC Datagram</name>

<t>Encoding session or version information inside the SCHC rules or rule
results would couple transport-layer concerns (multiplexing, version
negotiation) to compression-layer concerns (what to compress, how to parse
the residue).  A separate encapsulation keeps the SCHC datagram focused on
compression results and allows the transport header to be added or removed
without modifying the compression strategy or the Context/Rules.</t>

<t>Furthermore, when multiple compression mechanisms share the same link, an
inner-field approach would require every mechanism to reserve space for the
same routing metadata, reducing compression efficiency. VOICI places this
metadata in a single, mechanism-agnostic header.</t>

</section>
</section>
<section anchor="integration-within-schc-framework"><name>Integration within SCHC framework</name>

<t>VOICI integrates at the carrier layer using the SCHC Ethertype and IP/UDP
protocol numbers defined in <xref target="SCHC-PROTO-NUMS"/>. When multiplexing is required,
these values identify VOICI traffic on the wire. On deployments where explicit 
multiplexing is not needed, i.e., provided by the supporting lower layers, VOICI
is optional. The use of VOICI is part of the Endpoint configuration.</t>

<t>On the sender side, the VOICI module prepends its header to the Datagram and
replaces the original EtherType, IP Protocol Number, or UDP port number with
the corresponding SCHC Ethertype or IP/UDP protocol number.  If the original
framing information must be preserved for later restoration, the Original
EtherType/Port flag (O) is set and the field is populated.</t>

<t>On the receiver side, packets identified by the SCHC Ethertype or IP/UDP
protocol number are handed to the VOICI dispatcher. The VOICI module parses the
header, uses the Session ID and CI field to route the Datagram to the correct
processing handler, strips its own header, and optionally restores the original
EtherType, IP Protocol Number, or UDP port number before passing the 
reconstituted frame to upper layers.</t>

</section>
<section anchor="header-format"><name>Header Format</name>

<figure title="VOICI Header" anchor="fig-lmx-header"><artwork><![CDATA[
0                   1                   2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3   bits
+-+-+-+---------+---------------- - - - - - - - +
|V|O|I|    CI   |         Session ID            | (1B if <128 else 2)
+-+-+-+---------+---------------- - - - - - - - +
+- - - - - - - - - - - - - - - -+
|              CRC              | (optional, present if I=1)
+- - - - - - - - - - - - - - - -+
+- - - - - - - - - - - - - - - -+ (optional, present if O=1,
|    Original EtherType/Port    |  2B for Ethertype or UDP port,
+- - - - - - - - - - - - - - - -+  1B for IPv6 Next Header)
]]></artwork></figure>

<t>The V-O-I flags (3 bits), CI field (5 bits), and the Session ID (1-2 bytes) are
always present.  The CRC (2 bytes) is present when I=1.  The Original
EtherType/Port (1-2 bytes) is present when O=1.</t>

<t>The Datagram payload follows immediately after the last header field.</t>

<t><strong>Parsing order:</strong></t>

<t><list style="numbers" type="1">
  <t>Read byte 0; extract V, O, I, CI.</t>
  <t>Read Session ID (LEB128, 1-2 bytes).</t>
  <t>If I=1, read 2-byte CRC and compute expected CRC over the flag byte,
Session ID, Original EtherType/Port (if O=1), and the Datagram
payload; drop frame if CRC is invalid.</t>
  <t>If O=1, read Original EtherType/Port field (2 bytes for Ethernet/UDP,
1 byte for IPv6 Next Header).</t>
  <t>Pass remaining buffer to the identified handler and recover
original/content.</t>
  <t>If O=1, restore original Ethertype or Port number and return processed frame
 to original handler.</t>
</list></t>

<section anchor="fields"><name>Fields</name>

<t><list style="symbols">
  <t><strong>V (1 bit):</strong>  VOICI header format version.  V=0 for this draft.  V=1
for future VOICI revisions.</t>
  <t><strong>O (1 bit):</strong>  Original EtherType/Port present.  When set, the Original
EtherType/Port field is present, carrying the EtherType, IP Next Header,
or UDP port number that was replaced by the VOICI EtherType, VOICI IP
Protocol Number, or VOICI UDP port.  The field is interpreted as an
EtherType when VOICI is carried over a link-layer transport (for example,
IEEE 802 Ethertype), as a Next Header if carried over IP, and as a UDP
port when VOICI is carried in a UDP payload.  This restoration is an VOICI
responsibility; the Content Mechanism does not need to manage framing
recovery and dispatching to original handler.</t>
  <t><strong>I (1 bit):</strong>  Integrity flag.  When set, a CRC-16 field is present and
covers the Session ID through the end of the datagram.  When clear, no
integrity check is carried.</t>
  <t><strong>CI (5 bits):</strong>  Content Identifier.  Identifies the mechanism used for
the datagram payload.  The mechanism profile defines the interpretation
of each CI value.  VOICI profiles register new CI values as needed.  <vspace blankLines='1'/>
The initial CI assignments are:</t>
</list></t>

<texttable title="Initial CI assignments" anchor="tab-ci-initial">
      <ttcol align='left'>CI</ttcol>
      <ttcol align='left'>Content Mechanism</ttcol>
      <c>0</c>
      <c>Unprocessed / raw -- Datagram requiring no reconstruction; used for minimalistic multiplexing only</c>
      <c>1</c>
      <c>SCHC -- standard SCHC compressed residue</c>
      <c>2-31</c>
      <c>Reserved for future mechanisms</c>
</texttable>

<t>Profiles that register a new CI value MUST specify the mechanism and
its parameters.</t>

<t><list style="symbols">
  <t><strong>Session ID (variable length, LEB128):</strong>  Identifies the logical
session that owns this Datagram.  When a mechanism is registered with
VOICI, the mechanism profile assigns Session IDs and registers them with
the VOICI instance.  The receiver VOICI uses the Session ID to dispatch
the Datagram to the correct handler -- for SCHC (CI=1), the handler is
an SCHC Instance; for other mechanisms, the handler is defined by the
mechanism profile.  The Session ID space (0-65535) is local to the link
over which VOICI is carried and to the Content Mechanism.  <vspace blankLines='1'/>
Values up to 127 fit in 1 byte; larger values use 2 bytes.  The Session
ID is encoded as a LEB128 variable-length integer <xref target="DWARF"/>:  <list style="symbols">
      <t>If the value is less than 128, a single byte is used (MSB = 0).</t>
      <t>If the value is 128 or greater, two bytes are used (first byte
MSB = 1).</t>
      <t>No values larger than 16 bits (65535) are supported.</t>
    </list>
The receiver reads the Session ID by inspecting the most significant
bit of each byte: if the MSB is 1, the next byte is part of the value;
if 0, the byte is the last.</t>
  <t><strong>Original EtherType/Port (1-2 bytes, optional):</strong>  Present when O=1.
Carries the EtherType or UDP port number that was replaced by the VOICI
carrier.  The field is interpreted as an EtherType when VOICI is carried
over a link-layer transport (for example, IEEE 802 Ethertype) and as a
UDP port when VOICI is carried in a UDP payload.</t>
  <t><strong>CRC (16 bits, optional):</strong>  Present when I=1.  CRC-16/CCITT-FALSE
 over the flag byte (V-O-I-CI), the Session ID, the Original
 EtherType/Port field (if O=1), and the entire Datagram payload.</t>
</list></t>

</section>
<section anchor="minimal-header"><name>Minimal Header</name>

<t>When no optional fields are needed (V=0, O=0, I=0), the VOICI header
reduces to 2-3 bytes (flag byte + 1-2 byte Session ID):</t>

<figure title="Minimal VOICI Header (2-3 bytes)" anchor="fig-lmx-minimal"><artwork><![CDATA[
0                   1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5   bits
+-+-+-+---------+---------------+
|V|O|I|    CI   |  Session ID   | (SID < 128: 2 bytes)
+-+-+-+---------+---------------+
]]></artwork></figure>

</section>
<section anchor="header-size-summary"><name>Header Size Summary</name>

<t>VOICI header sizes for various configurations (SID &lt; 128 vs SID &gt;= 128):</t>

<texttable title="VOICI header size summary" anchor="tab-header-size">
      <ttcol align='left'>Configuration</ttcol>
      <ttcol align='left'>V</ttcol>
      <ttcol align='left'>O</ttcol>
      <ttcol align='left'>I</ttcol>
      <ttcol align='left'>SID &lt; 128</ttcol>
      <ttcol align='left'>SID &gt;= 128</ttcol>
      <c>Session ID only</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>2 B</c>
      <c>3 B</c>
      <c>+ CRC</c>
      <c>0</c>
      <c>0</c>
      <c>1</c>
      <c>4 B</c>
      <c>5 B</c>
      <c>+ Orig. EtherType/Port</c>
      <c>0</c>
      <c>1</c>
      <c>0</c>
      <c>4 B</c>
      <c>5 B</c>
      <c>All fields</c>
      <c>0</c>
      <c>1</c>
      <c>1</c>
      <c>6 B</c>
      <c>7 B</c>
</texttable>

</section>
<section anchor="header-field-reference"><name>Header Field Reference</name>

<texttable title="VOICI header field summary" anchor="tab-header-fields">
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Size</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>V</c>
      <c>1 bit</c>
      <c>VOICI header version</c>
      <c>O</c>
      <c>1 bit</c>
      <c>Original EtherType/Port presence</c>
      <c>I</c>
      <c>1 bit</c>
      <c>CRC presence</c>
      <c>CI</c>
      <c>5 bits</c>
      <c>Content Identifier</c>
      <c>Session ID</c>
      <c>1-2 B</c>
      <c>Session identifier (LEB128)</c>
      <c>Original ET/Port</c>
      <c>1-2 B</c>
      <c>EtherType, Next Header, or UDP port (if O=1)</c>
      <c>CRC</c>
      <c>2 B</c>
      <c>Integrity check (if I=1)</c>
</texttable>

</section>
</section>
<section anchor="session-id-allocation"><name>Session ID Allocation</name>

<t>The Session ID is locally significant to the link.  Allocation strategies
depend on the deployment topology:</t>

<section anchor="p2p-deployments"><name>P2P Deployments</name>

<t>Session IDs MAY be negotiated between peers during Session establishment,
or assigned by the Domain Manager during provisioning.  Session ID 0 is
a valid Session ID (no reserved values).</t>

</section>
<section anchor="star-topologies"><name>Star Topologies</name>

<t>The Network Gateway assigns Session IDs and communicates them to Devices
during provisioning.  The Gateway maintains the Session ID to handler
mapping.</t>

</section>
<section anchor="mesh-and-other-topologies"><name>Mesh and Other Topologies</name>

<t>Session IDs MAY be assigned by a Network or Domain Manager, or negotiated
between peers.</t>

</section>
<section anchor="relay-remapping"><name>Relay Remapping</name>

<t>A relay or gateway translating between links MAY remap Session IDs. The
Session ID space is local to each link segment; there is no requirement
for global uniqueness.</t>

</section>
</section>
<section anchor="content-mechanism-identification"><name>Content Mechanism Identification</name>

<t>The CI field provides content mechanism identification. VOICI at the receiver
uses the CI and Session ID values to dispatch the Datagram to the correct 
handler without inspecting the Datagram contents.</t>

<t>This is needed when a link carries Datagrams from multiple mechanisms
simultaneously. Common scenarios include:</t>

<t><list style="symbols">
  <t>A gateway that receives both  SCHC-compressed Datagrams and Management and 
diagnostic traffic that bypasses compression entirely.</t>
  <t>Future registrations of additional mechanisms via new CI values.</t>
</list></t>

<section anchor="registration-of-new-mechanisms"><name>Registration of New Mechanisms</name>

<t>Profiles that register a new CI value MUST specify the mechanism and its
parameters.  Implementations that encounter a CI value they do not
recognize MUST drop the Datagram.</t>

</section>
</section>
<section anchor="integrity-protection"><name>Integrity Protection</name>

<t>The I flag and CRC field provide optional integrity protection for the
Datagram.</t>

<section anchor="crc-scope"><name>CRC Scope</name>

<t>The CRC covers the VOICI header and the Datagram payload, excluding the
CRC field itself.  Specifically, the CRC is computed over the flag byte
(V-O-I-CI), the Session ID, the Original EtherType/Port field (if O=1),
and the entire Datagram payload.</t>

</section>
<section anchor="crc-algorithm"><name>CRC Algorithm</name>

<t>CRC-16/CCITT-FALSE (polynomial 0x1021, initial value 0xFFFF, no
reflection, no final XOR) is used.  This is the same algorithm used in
many constrained network protocols (for example, Bluetooth, CAN bus).</t>

</section>
<section anchor="relationship-to-ulp-checksums"><name>Relationship to ULP Checksums</name>

<t>Some compression strategies elide Upper Layer Protocol (ULP) checksums
(for example, UDP checksum) to reduce residue size. On links where the
underlying transport does not guarantee datagram integrity, this makes the
VOICI CRC the sole integrity mechanism.  Profiles MUST specify whether
ULP checksum elision is permitted and, if so, whether the VOICI CRC is
mandatory to compensate.</t>

</section>
<section anchor="limitations"><name>Limitations</name>

<t>The CRC provides integrity (corruption detection) but NOT authentication.
An attacker can compute a valid CRC for a forged Datagram.  Authentication
must be provided by the underlying transport or a higher-layer security
mechanism.</t>

</section>
</section>
<section anchor="interaction-with-protocol-numbers"><name>Interaction with Protocol Numbers</name>

<t>The protocol numbers defined in <xref target="SCHC-PROTO-NUMS"/> identify VOICI traffic
on the wire.  The VOICI header follows the carrier header and provides
Session multiplexing, Content Mechanism dispatch, and optional integrity
protection.</t>

<figure title="VOICI Layer Stack" anchor="fig-voici-stack"><artwork><![CDATA[
    +------------------+
    |  Payload         |  (content mechanism determined by CI)
    +------------------+
    |  VOICI Header    |  (variable length, 2-7 bytes)
    +------------------+
    |  Carrier Header  |  (Ethertype / IP Protocol / UDP)
    +------------------+
    |  ...             |  (link layer or lower IP)
    +------------------+
]]></artwork></figure>

<t>The CI field identifies the mechanism (CI=0: unprocessed; CI=1: SCHC;
other values: future registrations).</t>

<section anchor="over-ethertype"><name>Over Ethertype</name>

<t>The SCHC Ethertype identifies VOICI-encapsulated traffic.  When O=1,
the Original EtherType/Port field carries the replaced EtherType value.</t>

</section>
<section anchor="over-ip-protocol-number"><name>Over IP Protocol Number</name>

<t>The SCHC IP Protocol Number identifies VOICI-encapsulated traffic.
The VOICI header follows the IPv6 header (or the IPv6 extension
containing the protocol number).  When O=1, the Original
EtherType/Port field carries the replaced IPv6 Next Header value.</t>

</section>
<section anchor="over-udp"><name>Over UDP</name>

<t>The SCHC UDP port identifies VOICI-encapsulated traffic carried in the
UDP payload.  The UDP header provides its own checksum, which may make
the VOICI CRC redundant.  When O=1, the Original EtherType/Port field
carries the replaced UDP destination port number.</t>

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

<section anchor="session-hijacking"><name>Session Hijacking</name>

<t>If Session IDs are predictable, an attacker could inject Datagrams with a
forged Session ID to redirect traffic to a different handler.  Session IDs
SHOULD be randomly generated or derived from a secure key exchange.  In
star topologies where the Domain Manager assigns Session IDs, the assigned
values SHOULD be cryptographically random rather than sequential or
otherwise predictable.</t>

</section>
<section anchor="integrity-limitations"><name>Integrity Limitations</name>

<t>The CRC provides corruption detection but not authentication.  An attacker
with link access can forge Datagrams with valid CRCs.  Authentication must
be provided by the underlying transport (for example, IPsec, TLS) or a
higher-layer mechanism (for example, OSCORE).</t>

</section>
<section anchor="flag-bit-manipulation"><name>Flag Bit Manipulation</name>

<t>When the I flag is set, the CRC covers the flag byte, making flag bit
flipping detectable at the cost of a CRC failure.  When I=0, flipping
the O flag (0 to 1) would cause the receiver to consume payload bytes as
an Original EtherType/Port field.  Higher-layer authentication is
recommended for adversarial environments.</t>

</section>
<section anchor="ci-manipulation"><name>CI Manipulation</name>

<t>When the I flag is set, the CRC covers the CI field, making manipulation
detectable.  When I=0, an attacker can flip the CI field to dispatch the
Datagram to a wrong handler, causing decompression errors or potential
information leakage if the wrong decompressor produces interpretable
output.</t>

</section>
<section anchor="denial-of-service"><name>Denial of Service</name>

<t>An attacker could inject Datagrams with invalid Session IDs, causing the
receiver to waste resources on lookup failures.  Implementations SHOULD
rate-limit Session ID lookup failures.</t>

</section>
<section anchor="replay-attacks"><name>Replay Attacks</name>

<t>VOICI carries no sequence number or timestamp.  An attacker with link access
could replay previously captured Datagrams.  For SCHC&#39;s primary use cases
(sensor telemetry, periodic reporting), replayed Datagrams carry stale
data that is not harmful.  Deployments requiring replay protection SHOULD
use a higher-layer mechanism (for example, OSCORE, DTLS) or the underlying
transport.</t>

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

<section anchor="content-identifier-registry"><name>Content Identifier Registry</name>

<t>This document requests the creation of a &quot;Content Identifier (CI)&quot;
registry.  The initial entries are:</t>

<texttable title="Initial CI registry entries" anchor="tab-iana-ci">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Content Mechanism</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>0</c>
      <c>Unprocessed / raw</c>
      <c>This document</c>
      <c>1</c>
      <c>SCHC <xref target="SCHC"/></c>
      <c><xref target="SCHC"/></c>
      <c>2-31</c>
      <c>Reserved</c>
      <c>--</c>
</texttable>

<t>New CI values are assigned per <xref target="RFC8126"/> &quot;Specification Required&quot;
policy.</t>

</section>
<section anchor="session-id-space"><name>Session ID Space</name>

<t>The Session ID space is locally significant to the link and Content Mechanism.
No IANA assignment is required.</t>

</section>
<section anchor="future-extensions"><name>Future Extensions</name>

<t>The VOICI header allows for future extensions.  New flags or fields would
be introduced through a subsequent revision of this document, with IANA
registry updates.  Existing implementations that encounter unrecognized
flag combinations MUST treat the unrecognized flags as zero and process
the header according to their supported flags.  For the CI field,
implementations that encounter a CI value they do not recognize MUST drop
the Datagram.</t>

</section>
</section>


  </middle>

  <back>


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

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



<reference anchor="RFC8126">
  <front>
    <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
    <author fullname="M. Cotton" initials="M." surname="Cotton"/>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="T. Narten" initials="T." surname="Narten"/>
    <date month="June" year="2017"/>
    <abstract>
      <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
      <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
      <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="26"/>
  <seriesInfo name="RFC" value="8126"/>
  <seriesInfo name="DOI" value="10.17487/RFC8126"/>
</reference>
<reference anchor="SCHC">
  <front>
    <title>SCHC: Generic Framework for Static Context Header Compression and Fragmentation</title>
    <author fullname="A. Minaburo" initials="A." surname="Minaburo"/>
    <author fullname="L. Toutain" initials="L." surname="Toutain"/>
    <author fullname="C. Gomez" initials="C." surname="Gomez"/>
    <author fullname="D. Barthel" initials="D." surname="Barthel"/>
    <author fullname="JC. Zuniga" initials="JC." surname="Zuniga"/>
    <date month="April" year="2020"/>
    <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="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>

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




<reference anchor="SCHC-ARCH">
   <front>
      <title>Static Context Header Compression (SCHC) Architecture</title>
      <author fullname="Alexander Pelov" initials="A." surname="Pelov">
         <organization>IMT Atlantique</organization>
      </author>
      <author fullname="Pascal Thubert" initials="P." surname="Thubert">
         </author>
      <author fullname="Ana Minaburo" initials="A." surname="Minaburo">
         <organization>Consultant</organization>
      </author>
      <date day="17" month="October" year="2025"/>
      <abstract>
	 <t>   This document defines the SCHC architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-schc-architecture-05"/>
   
</reference>

<reference anchor="SCHC-PROTO-NUMS">
   <front>
      <title>Protocol Numbers for SCHC</title>
      <author fullname="Robert Moskowitz" initials="R." surname="Moskowitz">
         <organization>HTT Consulting</organization>
      </author>
      <author fullname="Pascal Thubert" initials="P." surname="Thubert">
         </author>
      <author fullname="Carles Gomez" initials="C." surname="Gomez">
         <organization>UPC</organization>
      </author>
      <author fullname="Ana Minaburo" initials="A." surname="Minaburo">
         <organization>Consultant</organization>
      </author>
      <author fullname="Marc Blanchet" initials="M." surname="Blanchet">
         <organization>Viagenie</organization>
      </author>
      <date day="23" month="December" year="2025"/>
      <abstract>
	 <t>   This document requests an Internet Protocol Number, an Ethertype
   assignment, a CCSDS (Consultative Committee for Space Data Systems)
   Encapsulation Number, and well known ports for SCHC.  The SCHC
   architecture, the SCHC instance establishment, and the SCHC
   compression/decompression processes are simplified when SCHC is
   easily recognised.  Well-known protocol and port numbers are needed.
   The Internet Protocol Number request is so that SCHC can be used for
   IP independent of other transports such as UDP and ESP.  The
   Ethertype and the CCSDS Encapsulation Number are to support generic
   use of native SCHC over any IEEE 802 technology and CCSDS link layer
   technology, respectively, for IP and non-IP protocols.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-schc-protocol-numbers-06"/>
   
</reference>

<reference anchor="DWARF" target="https://dwarfstd.org/documentation/">
  <front>
    <title>DWARF Debugging Information Format</title>
    <author >
      <organization>Dwarf Standards Committee</organization>
    </author>
    <date />
  </front>
  <seriesInfo name="Web" value="https://dwarfstd.org/documentation/"/>
</reference>


    </references>

</references>



  </back>

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

-->

</rfc>

