<?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-01" 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="09"/>

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

    <abstract>


<?line 51?>

<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 62?>

<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>Features a 16 bits Checksum.</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="quic"><name>QUIC</name>

<t>QUIC <xref target="RFC9000"/> is a multiplexed, UDP-based transport that provides stream
multiplexing, reliability, flow control, and mandatory encryption via TLS
1.3.  While QUIC satisfies multiplexing and integrity requirements, it is
generally infeasible for SCHC target deployments:</t>

<t><list style="symbols">
  <t>QUIC operates exclusively over UDP, requiring a full IP stack.</t>
  <t>The mandatory TLS 1.3 handshake and AEAD encryption require cryptographic
hardware or sufficient memory that constrained endpoints may not
possess.</t>
  <t>The minimum AEAD ciphertext size (16 bytes for AES-128-GCM) combined
with the TLS record and QUIC headers results in a per-packet overhead
over 32 bytes.</t>
</list></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>Ethertype</c>
      <c>No</c>
      <c>No</c>
      <c>0 bytes</c>
      <c>IEEE 802 only</c>
      <c>MPLS</c>
      <c>Yes</c>
      <c>No</c>
      <c>4+ bytes</c>
      <c>Ethernet, IP</c>
      <c>IP Protocol Num</c>
      <c>No</c>
      <c>No</c>
      <c>0 bytes</c>
      <c>IP only</c>
      <c>UDP Protocol Num</c>
      <c>No</c>
      <c>Yes</c>
      <c>8 bytes</c>
      <c>over UDP only</c>
      <c>UDP Port</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>8 bytes</c>
      <c>over UDP only</c>
      <c>QUIC</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>32+ bytes</c>
      <c>over QUIC only</c>
      <c><strong>VOICI</strong></c>
      <c><strong>Yes</strong></c>
      <c><strong>Opt.</strong></c>
      <c><strong>2 bytes</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>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>
  <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>
</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/UDP Port</c>
      <c>0</c>
      <c>1</c>
      <c>0</c>
      <c>4 B</c>
      <c>5 B</c>
      <c>+ Orig. IP Next Header</c>
      <c>0</c>
      <c>1</c>
      <c>0</c>
      <c>3 B</c>
      <c>4 B</c>
      <c>All fields</c>
      <c>0</c>
      <c>1</c>
      <c>1</c>
      <c>5-6 B</c>
      <c>6-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="RFC9000">
  <front>
    <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
    <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
    <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9000"/>
  <seriesInfo name="DOI" value="10.17487/RFC9000"/>
</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:
H4sIAAAAAAAAA61c63YbN5L+j6fAOj+WlElaki/JyJPZlSU54TnWZSzb2Tl7
9uxpNkGqx81uTl8kc6LMs+yz7JNtfVUAGuBFUuasMsmQTXShUKh7FTAcDtXt
kX6pVJM1uTnSXy7HJ2OVTCaVuXXfpmVaJAv6cVols2aYJ4tlVgxvyyzNhvsH
qm4ni6yus7L4tFrSqPHZp/dKqbpJiul/J3lZ0LOmao1S2bLij3VzuL//h/1D
lVQmoReKxlSFadTd/Ehfn/x8on8pq69ZMdc/VWW7VF/N6q6spkf6P/9LpUlj
5mW1OtJZMStpmrSc0sgj3dbDpE6zTKmkbW7K6khpPaR/NQ2sj/SfR/oD482P
ZDl/bk3RZEX4Q1kRqMsqKeaGv9dNZUzjHumX+jyhlc5qPdSHh/rkxizo/Wmr
v2Sm/YbvhbyXZg2heG5WeSKACU2a8eUPh6/27fe2aLCM9wQ5lZfMIsnyI/03
QWskdP73kqcepeVCqaKsFkmT3Rqs7uP7kx8ODt/gI4h2xA++P3xFdCbSBAPx
6/D448nPROrh6SgzzWxYpzfpMKnSm6wxadNWxo27+nj56XJ48fn8en30siqb
Mi3zYdEuJqaqBYU/7O/vHyn6fPrL8cf3R7wQy0vP+JE+NZN2Psd2jh1eZaHf
86dnPL7bMfwNZRdO75Jqpq/BRUk1rfVJuVhkTWOEVlPigyM9S/JavjdJNcdG
3TTNsj568WKKt+tmOiJYL4iB2wURlWd+IRtrqszUIJSb9hczedrrSg2HQ51M
iDeStFHq040Bmk2WEo7Eyt8a/bNJpqYCysvKsGjoHqjb17OKWI+4+avOptjm
WWamuiEIhaEPRB6VaOKpbJHkJClJUS/LqtGmSJNl3eZCuuYmaTTtxi2BqPW1
nWDR5k22zM03UPqOOFERJhUxP+F1mtVplRHcpCmrWpPYQSra2YxEmLAYaf3p
Jqu1W6iulyYFajRUf8iKr+rcAadV9Vgr9AWNZDrFCmkkbWFthIemFXFeoSvz
tzarDCDWhFGWG1WBxwtgOCdRqWiRpijb+Y1uSp2kxOOLEjurSyJJRULS0W9h
0pukyOoF4VRMVVu4H4lsy2SVl8m05nWYNWphXbTT80Lo66lb3prqhvZpQEhN
2xQ4ERKHerJqaDVZwbvCGBU6TWozkCXoul1iTzC+XGIGgpXRts8rknkFISGB
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
cutqLbdO8qknZAfU/wEcTIgHaV4AAA==

-->

</rfc>

