<?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-schc-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="July" day="28"/>

    <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 1 byte in the common case (7 inline Session IDs), 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 Data Units 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 Data Units.  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
Data Units from devices that use static Contexts; Data Units 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 Data Unit to the
correct handler, and optional integrity protection.  The encapsulation is
designed for minimal overhead, reducing to 1 byte in the common case
(inline Session IDs 0-6 with 2-bit Content Identifier).</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>

<section anchor="key-problem-solved-by-voici"><name>Key problem solved by VOICI</name>

<figure title="Key problem solved by VOICI" anchor="fig-voici-problem"><artwork><![CDATA[
                              Endpoint
                  +---------------------------------+
                  |                                 |
      Session A   |                                 |   Session B
                  | +------------+   +------------+ |
                  | | Instance A |   | Instance B | |
                  | +------------+   +------------+ |
                  |        ^               ^        |
                  |        |               |        |
                  |        +-------+-------+        |
                  |                |    how to      |
                  |                | discriminate?  |
                  |                |                |
                  +----------------|----------------+
                                   |
                                   |
                                   |
+----------------------------+----------------+ 
| Lower Layer headers        | SCHC Data Unit |
| no content discriminating  | e.g. Rule ID + |
|       Sessions A&B         |   residue      |
+----------------------------+----------------+
    
]]></artwork></figure>
<t><xref target="fig-voici-problem"/> illustrates the fundamental problem addressed by
VOICI.  When an Endpoint hosts multiple SCHC Instances -- each serving
a different Domain, tenant, or application -- their compressed Data Units
must share a single link.  The lower layer headers (Ethernet, IPv6, etc.)
carry no information to distinguish which Instance a Data Unit belongs to,
because the compression residue elides those distinguishing fields.
Without an explicit discriminator, the receiver cannot route the incoming
Data Unit to the correct handler.  VOICI solves this by prepending a
compact header that carries a Session ID, bridging the gap between the
compression layer and the link layer.</t>

<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 Data Units.  Requirements 4-5 were added when the
scope was broadened to encompass other compression mechanisms and
uncompressed payloads.</t>

</section>
<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 Data Units 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 Data Unit, 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 Data Unit
is encoded when the link carries Data Units from multiple mechanisms 
(for example, SCHC, uncompressed).  This allows the receiver
to dispatch the Data Unit 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 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>1 byte</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-data-unit"><name>Encoding Within SCHC Data Unit</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 Data Unit 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 Data Unit 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 Protocol Data Unit 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>

<t>The detailed processing procedures are specified in <xref target="_section-voici-operation"/>.</t>

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

<figure title="VOICI Header" anchor="fig-voici-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 | SSS |         Session ID (long)     |
+-+-+-+---+-----+ - - - - - - - - - - - - - - - +
+- - - - - - - - - - - - - - - -+
|              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 (2 bits), and the SSS field (3 bits) are
always present.  The <spanx style="verb">SSS</spanx> field uses a uniform encoding rule: values 0-6
represent an inlined value in the first byte, while 7 triggers a LEB128
variable-length integer in the following byte(s) with offset +7.  For
Unprocessed/Raw and SCHC, SSS encodes the Session ID (<spanx style="verb">SID = SSS</spanx> or
<spanx style="verb">SID = LEB128_val + 7</spanx>).  For the Extended CI mechanism, SSS encodes the
Extended CI value.  For Reserved CI values, the interpretation is defined by
the future profile.  The CRC (2 bytes) is present when I=1.  The Original
EtherType/Port (1-2 bytes) is present when O=1.</t>

<t>The Data Unit 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, SSS.</t>
  <t>If CI indicates Reserved:
a. The Data Unit MUST be discarded.</t>
  <t>If CI indicates Unprocessed/Raw or SCHC (CI in {0, 1}):
a. Decode SSS as the Session ID:
  <list style="symbols">
      <t>If SSS &lt; 7: <spanx style="verb">SID = SSS</spanx> (1-byte header).</t>
      <t>If SSS == 7: read a LEB128 integer from following byte(s);
<spanx style="verb">SID = LEB128_val + 7</spanx>.</t>
    </list></t>
  <t>If CI indicates Extended CI (CI == 3):
a. Decode SSS as the Extended CI value:
  <list style="symbols">
      <t>If SSS &lt; 7: <spanx style="verb">Ext_CI = SSS + 3</spanx> (1-byte header so far).</t>
      <t>If SSS == 7: read a LEB128 integer from following byte(s);
<spanx style="verb">Ext_CI = LEB128_val + 10</spanx>.
b. Read the Session ID as a LEB128 integer from the following byte(s).</t>
    </list></t>
  <t>If I=1, read the 2-byte CRC value.</t>
  <t>If O=1, read the Original EtherType/Port field (2 bytes for
Ethernet/UDP, 1 byte for IPv6 Next Header).</t>
  <t>If I=1, compute the expected CRC over all preceding bytes read so
far (flag byte, Extended CI bytes if CI=3, Session ID, Original
EtherType/Port if O=1), and the Data Unit payload.  The CRC field
appears before the Original EtherType/Port on the wire but covers it;
the receiver reads both before verifying.  Drop frame if CRC is
invalid.</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 Protocol Data Unit.  When clear, 
no integrity check is carried.</t>
  <t><strong>CI (2 bits):</strong>  Content Identifier.  Identifies the mechanism used for
the Protocol Data Unit.  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</c>
      <c>1</c>
      <c>SCHC</c>
      <c>2</c>
      <c>Reserved for future mechanisms</c>
      <c>3</c>
      <c>Extended CI</c>
</texttable>

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

<t><list style="symbols">
  <t><strong>SSS (3 bits):</strong>  Session ID prefix (for Unprocessed/Raw and SCHC) or
Extended CI value (for Extended CI).  The SSS field uses an inline/extended
encoding:  <list style="symbols">
      <t><strong>SSS in 0..6:</strong> The value is inlined in the first byte.
      <list style="symbols">
          <t>For Unprocessed/Raw or SCHC: <spanx style="verb">SID = SSS</spanx>.  Header is 1 byte
(unless O=1 or I=1).</t>
          <t>For Extended CI: <spanx style="verb">Ext_CI = SSS + 3</spanx>.  A Session ID follows as a
LEB128 integer.</t>
        </list></t>
      <t><strong>SSS = 7:</strong> A LEB128 variable-length integer follows.
      <list style="symbols">
          <t>For Unprocessed/Raw or SCHC: read LEB128 value;
<spanx style="verb">SID = LEB128_val + 7</spanx>.</t>
          <t>For Extended CI: read LEB128 value;
<spanx style="verb">Ext_CI = LEB128_val + 10</spanx>.  If SSS was inline (0-6), the Session ID
follows immediately after the first byte.  If SSS was 7, the Session
ID follows immediately after the LEB128 integer.</t>
        </list></t>
    </list>
This gives 7 inline values in the 1-byte form, with continuous
extension to 16-bit values via LEB128.</t>
  <t><strong>Session ID (variable length):</strong>  Identifies the logical session that
owns this Protocol Data Unit.  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 Protocol
Data Unit to the correct handler -- for SCHC, the handler is an SCHC
Instance; for Unprocessed/Raw, the handler is the raw dispatch path.
The Session ID space (0-65535) is local to the link over which VOICI
is carried and to the Content Mechanism.  <vspace blankLines='1'/>
For CI values 00, 01 (Unprocessed/Raw and SCHC), the Session ID is derived 
from the SSS field as described in the parsing order (SID = SSS for inline 
values, SID = LEB128_val + 7 for extended values).  For Extended CI, the
Session ID follows the Extended CI value as a LEB128 integer.  <vspace blankLines='1'/>
The LEB128 encoding follows <xref target="DWARF"/>:
  - If the value is less than 128, a single byte is used (MSB = 0).
  - If the value is 128 or greater, two bytes are used (first byte
    MSB = 1).
  - No values larger than 16 bits (65535) are supported.  <vspace blankLines='1'/>
The receiver reads the Session ID by inspecting the most significant
bit of each LEB128 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-SSS), the Extended CI value bytes (if
  CI=3), the Session ID, the Original EtherType/Port field (if O=1),
  and the entire Protocol Data Unit.</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) and the SSS field
encodes an inline value (0-6), the VOICI header reduces to a single byte:</t>

<figure title="Minimal VOICI Header (1 byte)" anchor="fig-voici-minimal"><artwork><![CDATA[
 0 1 2 3 4 5 6 7   bit
+-+-+-+---+-----+
|V|O|I|CI |S S S| (inline value, 1 byte)
+-+-+-+---+-----+
]]></artwork></figure>

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

<t>VOICI header sizes for various configurations (Unprocessed/Raw and SCHC):</t>

<texttable title="VOICI header size summary (Unprocessed/Raw, SCHC)" 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'>Session ID 0-6</ttcol>
      <ttcol align='left'>7-133</ttcol>
      <ttcol align='left'>134+</ttcol>
      <c>Session ID only</c>
      <c>0</c>
      <c>0</c>
      <c>0</c>
      <c>1 B</c>
      <c>2 B</c>
      <c>3 B</c>
      <c>+ CRC</c>
      <c>0</c>
      <c>0</c>
      <c>1</c>
      <c>3 B</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>3 B</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>2 B</c>
      <c>3 B</c>
      <c>4 B</c>
      <c>All fields</c>
      <c>0</c>
      <c>1</c>
      <c>1</c>
      <c>4-5 B</c>
      <c>5-6 B</c>
      <c>6-7 B</c>
</texttable>

<t>Extended CI (CI=3) adds the Extended CI value and a LEB128 Session ID;
the minimum is 2 bytes (flag byte + 1-byte Session ID, SSS inline),
growing to 6 bytes (SSS=7 with 2-byte LEB128 Ext_CI + 2-byte LEB128 SID).</t>

</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>2 bits</c>
      <c>Content Identifier</c>
      <c>SSS</c>
      <c>3 bits</c>
      <c>Inline value (SID or Extended CI, 0-6)</c>
      <c>Extended CI</c>
      <c>0-2 B</c>
      <c>Extended CI value (inline or LEB128 + 10)</c>
      <c>Session ID</c>
      <c>0-2 B</c>
      <c>Session identifier (inline, LEB128+7, or raw)</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="_section-voici-operation"><name>VOICI Operation</name>

<t>This section specifies the normative processing procedures for the VOICI
module on both the transmit (egress) and receive (ingress) paths.</t>

<section anchor="transmit-path-egress"><name>Transmit Path (Egress)</name>

<t>On the sender side, VOICI operates as an encapsulator.  A Data Unit is
passed to the VOICI module by an upper-layer handler together with
metadata that determines the header fields.  The inputs are:</t>

<t><list style="symbols">
  <t>the <strong>Data Unit</strong> (payload), which may be compressed (for example, an
SCHC residue), unprocessed, or encoded by another mechanism;</t>
  <t>a <strong>Session ID</strong>, identifying the logical session that owns the Data
Unit;</t>
  <t>a <strong>Content Identifier</strong>, indicating the mechanism that encoded the
Data Unit;</t>
  <t>an <strong>Original Framing</strong> value (EtherType, IP Next Header, or UDP port)
when the carrier framing has been replaced by the VOICI carrier and
the receiver must restore it;</t>
  <t>an <strong>Integrity</strong> flag indicating whether a CRC is required.</t>
</list></t>

<t>The VOICI module constructs the header as follows:</t>

<t><list style="numbers" type="1">
  <t><strong>V field</strong>: Set to 0 (current version).</t>
  <t><strong>O field</strong>: Set to 1 if an Original Framing value is provided and
must be carried to the receiver for restoration; otherwise set to 0.</t>
  <t><strong>I field</strong>: Set to 1 if integrity protection is required; otherwise
set to 0.</t>
  <t><strong>CI field</strong>: Set to the Content Identifier associated with the Data
Unit.  For Unprocessed/Raw traffic, CI=0.  For SCHC-compressed
traffic, CI=1.  For mechanisms registered under Extended CI, CI=3
(see below).</t>
  <t><strong>SSS field and Session ID</strong>:
  <list style="symbols">
      <t>For CI=0 (Unprocessed/Raw) or CI=1 (SCHC):
      <list style="symbols">
          <t>If Session ID is in the range 0-6: set SSS to the Session ID
value (inline encoding).  No additional Session ID bytes are
emitted.</t>
          <t>If Session ID is 7 or greater: set SSS to 7.  Encode
<spanx style="verb">Session ID - 7</spanx> as a LEB128 integer following the first byte.</t>
        </list></t>
      <t>For CI=3 (Extended CI):
      <list style="symbols">
          <t>The SSS field encodes the Extended CI value rather than the
Session ID.  If the Extended CI value is in the range 3-9: set
SSS to <spanx style="verb">Extended CI - 3</spanx> (inline).  Otherwise: set SSS to 7 and
encode <spanx style="verb">Extended CI - 10</spanx> as a LEB128 integer following the
first byte.</t>
          <t>After the Extended CI value (inline or LEB128), encode the
Session ID as a LEB128 integer.</t>
        </list></t>
    </list></t>
  <t><strong>CRC field</strong> (if I=1): Compute CRC-16/CCITT-FALSE over the
following bytes in wire order: the base header byte (V-O-I-CI-SSS),
any Extended CI LEB128 bytes, the Session ID bytes, the Original
EtherType/Port value (if O=1), and the entire Data Unit payload.
The CRC field itself is NOT included in the computation.  Append the
2-byte CRC field.</t>
  <t><strong>Original EtherType/Port field</strong> (if O=1): Append the Original
Framing value.  For Ethernet or UDP carriers, the field is 2 bytes
(EtherType or UDP port).  For IPv6, the field is 1 byte (Next
Header value).</t>
  <t><strong>Prepend</strong> the complete VOICI header to the Data Unit to form the
VOICI-encapsulated frame.</t>
  <t><strong>Carrier framing</strong>: Replace the outgoing frame&#39;s carrier identifier
(EtherType, IP Protocol Number, or UDP port) with the VOICI carrier
value defined in <xref target="SCHC-PROTO-NUMS"/>.</t>
  <t>Submit the encapsulated frame to lower layers for transmission.</t>
</list></t>

</section>
<section anchor="receive-path-ingress"><name>Receive Path (Ingress)</name>

<t>On the receiver side, VOICI operates as a dispatcher.  Frames arriving
with the VOICI Ethertype, IP Protocol Number, or UDP port
(<xref target="SCHC-PROTO-NUMS"/>) are handed to the VOICI module.  Processing is as
follows:</t>

<t><list style="numbers" type="1">
  <t><strong>Parse the base header</strong>: Read the first byte; extract V, O, I, CI,
and SSS.</t>
  <t><strong>Version check</strong>: If V indicates a version other than 0, the header
format is unsupported.  The frame MUST be discarded.</t>
  <t><strong>Reserved CI check</strong>: If CI=2 (Reserved), the Data Unit MUST be
discarded.</t>
  <t><strong>Decode SSS</strong>:
  <list style="symbols">
      <t>For CI=0 (Unprocessed/Raw) or CI=1 (SCHC):
      <list style="symbols">
          <t>If SSS is 0-6: Session ID equals SSS.</t>
          <t>If SSS is 7: read a LEB128 integer from the following byte(s);
Session ID equals <spanx style="verb">LEB128_val + 7</spanx>.</t>
        </list></t>
      <t>For CI=3 (Extended CI):
      <list style="symbols">
          <t>If SSS is 0-6: Extended CI equals <spanx style="verb">SSS + 3</spanx>.</t>
          <t>If SSS is 7: read a LEB128 integer; Extended CI equals
<spanx style="verb">LEB128_val + 10</spanx>.</t>
          <t>Read the Session ID as a LEB128 integer from the bytes
following the Extended CI value (or following the first byte,
if SSS was 0-6).</t>
        </list></t>
    </list></t>
  <t><strong>Read CRC field</strong> (if I=1): Read the 2-byte CRC value.</t>
  <t><strong>Read Original EtherType/Port field</strong> (if O=1): Read the Original
EtherType/Port field.  The field is 2 bytes for Ethernet/UDP carriers,
1 byte for IPv6 Next Header.</t>
  <t><strong>CRC verification</strong> (if I=1): Compute the expected CRC over all
preceding bytes (base header byte, Extended CI bytes if CI=3, Session ID
bytes, Original EtherType/Port if O=1), and the Data Unit payload.
Note that the CRC field appears before the Original EtherType/Port
field on the wire but covers it; the receiver reads both fields before
verifying.  If the computed CRC does not match the received CRC, the
frame MUST be discarded.</t>
  <t><strong>Dispatch</strong>: Pass the Data Unit payload to the processing handler
identified by the CI value and Session ID.  For CI=1 (SCHC), the
handler is the SCHC Instance corresponding to that Session ID.
For CI=0 (Unprocessed/Raw), the handler is the raw dispatch path.</t>
  <t><strong>Handler processing</strong>: The handler processes the Data Unit
(decompression, pass-through, etc.) and returns the result to VOICI.</t>
  <t><strong>Restore original framing</strong> (if O=1): Write the Original
EtherType/Port value read in step 6 into the carrier framing of the
outgoing frame (EtherType, IP Next Header, or UDP port as
appropriate).</t>
  <t><strong>Egress to upper layers</strong>: Pass the reconstituted frame to the
appropriate upper-layer handler. If O=1, the upper-layer handler is the
one identified by the reconstructed carrier header.</t>
</list></t>

</section>
<section anchor="error-handling"><name>Error Handling</name>

<t>If the receiver cannot identify a handler for a given (CI, Session ID)
pair -- for example, the Session ID is not associated with any
configured handler, or the CI value is not supported -- the frame MUST
be discarded.</t>

</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 Data Unit to the correct 
handler without inspecting the Data Unit contents.</t>

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

<t><list style="symbols">
  <t>A gateway that receives both SCHC-compressed Data Units 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 Data Unit.</t>

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

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

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

<t>The CRC covers the VOICI header and the Data Unit payload, excluding the
CRC field itself.  Specifically, the CRC is computed over the base header
byte (V-O-I-CI-SSS), the Extended CI LEB128 bytes (if CI=3 and SSS=7),
the Session ID, the Original EtherType/Port field (if O=1), and the
entire Data Unit 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 Data Unit 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 Data Unit. 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[
    +--------------------+
    | Protocol Data Unit |  (content mechanism determined by CI)
    +--------------------+
    |  VOICI Header      |  (variable length, 1-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 Protocol Data Units 
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 Protocol Data Units 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
Protocol Data Unit 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 Protocol Data Units 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 Protocol Data Units.  For SCHC&#39;s primary use 
cases (sensor telemetry, periodic reporting), replayed Protocol Data Units 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</c>
      <c>Reserved</c>
      <c>--</c>
      <c>3</c>
      <c>Extended CI</c>
      <c>This document</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 Protocol Data Unit.</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>
      <author fullname="Quentin Lampin" initials="Q." surname="Lampin">
         <organization>Orange</organization>
      </author>
      <author fullname="Marion Dumay" initials="M." surname="Dumay">
         <organization>Orange</organization>
      </author>
      <date day="6" month="July" year="2026"/>
      <abstract>
  <t>   The Static Context Header Compression and fragmentation (SCHC)
   framework provides both a header compression mechanism and an
   optional fragmentation mechanism.  This document defines a minimal
   architecture for SCHC deployments, providing guidance for
   implementers and operators on the essential components and their
   interactions required for effective SCHC operation.

   The architecture defines the components of a SCHC deployment -
   Endpoints, Instances, Contexts, Sessions, and Domains - their
   management, the framing of SCHC Datagrams, and considerations for
   technology-specific profiles.

  </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-schc-architecture-06"/>
   
</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:
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
/hvPAQqinogAAA==

-->

</rfc>

