<?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-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="November" day="02"/>

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

</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL
NOT&quot;, &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;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:
H4sIAAAAAAAAA619/XYTSbLn//kUuXDOXgkk4Q8aus1l7xoM0z4L2IOB3jl7
dqfLUlmui1SlW1Wy8bR7nmWfZZ9s4xcR+VUqGffccTdglaoiMyMj4+OXkVHj
8dhcHdh9Y9qiXeQH9svJ8etjk52f1/mV+zSrpmW2pC9ndXbRjhfZclWU42Z6
OR1fVcW0oCtt3rSmWZ8vi6YpqvLTzYpuP37z6a0xpmmzcvbXbFGVdK2t17kx
xarmX5t2b2fnp509k9V5Rg+UbV6XeWuu5wf27PXPr+0vVf21KOf2T3W1Xpmv
+c11Vc8O7P/632ZKbc6r+ubAFuVFRc1MqxndeWDXzThrpkVhTLZuL6v6wFg7
pj+WbmwO7J8n9h0PgC/JuP68zsu2KOMvqppIndRZOc/5c9PWed66S3bfvs9o
pBeNHdu9Pfv6Ml/S87O1/VLk62/4XMpz06KlLr7PbxaZEKZuUov7P+493dHP
67LFMN4S5ak8lC+zYnFg/0O6NRGG//eKm55Mq6UxZVUvs7a4yjG6j29f/7i7
9wy/gmkHfOH53lPiM7EmuhHfjg8/vv6ZWD0+mhR5eyHTmNXTy6LNp+26zt19
px9PPp2MP3x+f9a9e1VXbTWtFuNyvTzP60a68NPOzs6Bod+Pfjn8+PaAB6JC
9YAv2aP8fD2fYzqPXb+q0r7l3x7w/WHG8DOWWTi6zuoLewYpyupZY19Xy2XR
trnwakZycGAvskUjn9usnmOiLtt21Rw8eTLD0007mxCtJyTJ6yUxlVt+IhOb
10XegFGu2V/y8/s9bsx4PLbZOclGNm2N+XSZo5ttMaU+kih/a+3PeTbLa3R5
Vee8NOwA3B3ai5pEj6T5qy1mmOaLIp/ZliiUOf1C7DGZJZkqltmCVkpWNquq
bm1eTrNVs14I69rLrLU0G1dEorFn2sByvWiL1SL/Bk5fkyQa6klNwk/9Oiqa
aV0Q3ayt6sbSssOqWF9c0DKmXkys/XRZNNYN1DarfIqu0a32XVF+Ne8dcRrV
gNXDULqRzWYYId1JU9jkIkOzmiSvtHX+H+uizkGxoR4Vi9zUkPESPZzTUqlp
kHlZreeXtq1sNiUZX1aYWVsRS2paJIF/y3x6mZVFs6Q+lTOzLt2XxLZVdrOo
slnD48g73MK4aKbnpfDXc7e6yutLmqcRdWq2nqJP1Ilde37Tgjs8Kdyh0k4z
GtngOV1dFGXuOX581AxHMjDbrFeYKaJiqhXapRYKEoZ5TZoAk4Vlhoeo8yTf
Ba0HuuMNhgmt+YSnuc6n6NXNRERsWcxmxDPzEBqyrqiToKACBzUZhOm333Dh
99+DWFyKCMYs5Ka1c4aenXuhtucZ+Ei/NCLIUxHkxjaXJCwze5631zlN6Zty
tqpoXGD1MfPIKI9m+WpR3bD0YHVYWltz4stxCTswze2KOuOeZt6He4ipX+kh
A44vs9UKU+EaxDX+Hp3HB0+Q5pXE+6rISGVmi4U9ytrMfi4L6jQxyT93npMF
4qlleSVr5EmMmGhZpUvHCxq1YLAq8xnNx8/VdU6dHtn2uorH2kzzMquLqnHS
TsMKFKjVWdFAKtZFc2lcO06CGs8I4TI6TLr0kT0MnLa0rGhI/lHX+QYq7Aod
nhUXF3mNzhxVWF1EtbYtdQvTRMTeb7TKzdHgRf7I8hItFgY8eXx69Yx7MmFJ
I8lP1zE1ZS+KumljDXZ+w5PDUplYFRFMtj4knVh/vK6woKoL0RbRQg5zSPL1
at0GzUhzcV5XLNI0j6W2BOeC7jwh4YJm4/ksyhk5GDXJRTRPxJMLYgk1XNc3
rGK/oX3SsNCBtqUlCLHh9hpaVFgA0O9F6aal21cTydtFXS2psatiynqQxGxN
42sSm9C8sN0nWMmZoNhecP8TzbbMymyeu6mZFdm8JHFAj13P0dr5zSqDDjbR
apcFioWBcfI8guvNKJiV8YJEepFIPy+JPg0GgYEarbPzRc6ScZe9sFvtRUM8
afhO6I5EsiJxgpzwDIty3Wo1cJ9wsd9UqEHgDniNSCIgPQ16nA1vhw8ycTS4
Y9evmtujBb3KWhJxaBUi7mdVdAwUYk2KnBYusXIBlRHr3V6jsMVumbvtlr2X
3TKDTatld8bP7HXRXtq98Tl1fHOkwwnMzsd4et6RG7omYRT7Qz65hVPe2Afv
P599ejCSf+2HE/7945s/fz7++OYIv5/9fPjunf/F6B1nP598fncUfgtPvj55
//7NhyN5mK7a5JJ58P7wLw+EqQ9OTj8dn3w4fPdABh6LJASW+HKeM8drEo6W
GJkxU8kXOodOKe2r16f/7//uPiX7+V/Il93b3f2JtJR8+HH3+VP6AE9Kp7Bc
3OhH4jFpkdUqz2pQwSqjqStackfpXijY6rokgatpqfzrvzH7x8/+7b+ZLlPp
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
9JYMoJVuz8nMmP8PLGngQbeIAAA=

-->

</rfc>

