<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>

<!DOCTYPE rfc   [
  <!ENTITY filename "draft-eastlake-dnsop-expressing-qos-requirements-08">
  <!ENTITY nbsp     "&#160;">
  <!ENTITY zwsp     "&#8203;">
  <!ENTITY nbhy     "&#8209;">
  <!ENTITY wj       "&#8288;">
]>

<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->

<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="std"
     docName="&filename;"
     ipr="trust200902"
     submissionType="IETF"
     xml:lang="en"
     obsoletes="" updates=""
     symRefs="true" sortRefs="true" version="3">

<!-- ***** FRONT MATTER ***** -->

<front>
  <title abbrev="QoS Requirements in DNS Queries">
       Expressing Quality of Service Requirements (QoS) in Domain Name
       System (DNS) Queries</title>
  
  <seriesInfo name="Internet-Draft"
	      value="&filename;"/>
      
  <author fullname="Donald Eastlake" initials="D." surname="Eastlake">
    <organization>Independent</organization>
    <address>
      <postal>
        <street>2386 Panoramic Circle</street>
        <city>Apopka</city>
        <region>FL</region>
        <code>32703</code>
        <country>United States of America</country>
      </postal>
      <phone>+1-508-333-2270</phone>
      <email>d3e3e3@gmail.com</email>
    </address>
  </author>

  <author fullname="Haoyu Song" initials="H." surname="Song">
    <organization>Futurewei Technologies, Inc.</organization>
    <address>
      <postal>
        <street>2220 Central Expressway</street>
        <city>Santa Clara</city>
        <region>CA</region>
        <code>95050</code>
        <country>United States of America</country>
      </postal>
      <email>haoyu.song@futurewei.com</email>
    </address>
  </author>

  <date day="1" month="March" year="2026"/>

  <area></area>
  <workgroup>DNSOP</workgroup>
  <!-- WG name at the upperleft corner of the doc, IETF is fine for
       individual submissions.  If this element is not present, the
       default is "Network Working Group", which is used by the RFC
       Editor as a nod to the history of the IETF. -->

  <keyword>QoS</keyword>
  <keyword>DNS</keyword>

  <abstract>
    <t>A method of encoding quality of communication service (QoS)
    requirements in a Domain Name System (DNS) query is specified
    through inclusion of the requirements in one or more labels of the
    name being queried. This enables DNS responses including
    addressing and packet labeling information that is dependent on
    such requirements without changes in the format of DNS protocol
    messages or DNS application program interfaces (APIs).</t>
  </abstract>
 
</front>

<middle>

  <section anchor="Intro">
    <name>Introduction</name>

    <t>The Domain Name System (DNS, <xref target="RFC1034"/> <xref
    target="RFC1035"/>) is a distributed database that stores data
    under hierarchical domain names and supports redundant servers,
    data caching, and security features. The data is formatted into
    resource records (RRs) whose content type and structure are
    indicated by the RR Type field. A typical use of DNS is that, by
    implementing the DNS protocol, a host can retrieve IP addresses
    stored at a domain name from DNS servers through that host's DNS
    resolver. Many other types of data besides IP addresses can be
    stored in and returned by the DNS.</t>

    <t>There are instances where different DNS answers are desired
    depending on the type of destination service to be connected to
    and/or the communication protocol to be used for that
    communication. This can be indicated in a query through the use of
    designated initial labels beginning with the underscore codepoint
    ("_", 0x5F). This was initially specified for the SRV RR Type
    <xref target="RFC2782"/>. For example, a query for type SRV to DNS
    name _ldap._tcp.example.com requests information on connecting to
    the example.com LDAP service with the TCP transport. This
    underscore label prefix method has been extended with additional
    types of leading-underscore labels for use with the TLSA, URI,
    TXT, and other RR Types <xref target="RFC8552"/>.</t>

    <t>Similarly, there is a need to encode different communication
    service quality requirements in DNS queries. Then different DNS
    answers can be returned depending, for example, on whether high
    bandwidth or low delay is the most important factor in the
    communication. Different answers could cause packets to be
    handled, constructed, or addressed differently which in turn could
    affect the path taken and/or the behavior of network switches
    along the communications path so as be to more likely to satisfy
    the desired communication service requirements.</t>

    <t>Such encoding into the name being queried ensures that
    requirements will be forwarded by any recursive DNS servers
    between the querying resolver and the responding authoritative
    server. It also avoids any change in DNS protocol messages or
    application program interfaces (APIs).</t>

    <t>This document specifies how quality of communication service
    requirements may be encoded in DNS queries through inclusion of
    the requirements in one or more labels of the name being queried
    enabling an authoritative server to take such requirements into
    account in determining its answers.</t>

    <section>
      <name>Terminology and Acronyms</name>

    <t>The following terminology and acronyms are used in this
    document. General familiarity with DNS terminology <xref
    target="RFC9499"/> is assumed.</t>
      
    <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
    "MAY", and "OPTIONAL" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119"></xref><xref
    target="RFC8174"></xref> when, and only when, they appear in all
    capitals, as shown here.</t>

      <t>ABNF - Augmented Backus-Naur Form <xref
      target="RFC5234"/>.</t>

      <t>API - Application Program Interface.</t>

      <t>DNS - Domain Name System.</t>

      <t>LDH - Letters, Digits, and Hyphen (DNS label)
      <xref target="RFC5890"/>.</t>

      <t>R-LDH - Restricted LDH (DNS label) <xref
      target="RFC5890"/>.</t>

      <t>RR - Resource Record <xref target="RFC9499"/>. Ths
      unit of data stored in the DNS.</t>

      <t>TLV - Type, Length, Value.</t>
    
    </section>

  </section>

  <section anchor="sec_2">
    <name>Including Service Requirements in DNS Queries</name>
   
<t>This section specifies how to encode quality of communication
service requirements in one or more domain name labels and discusses
why some alternatives methods of including requirements in a DNS query
are less desirable.</t>

<section>
  <name>Including Information in DNS Queries</name>
  
  <t>There exist methods to include information in a DNS request that
  are conveyed only from a resolver to a server, that is, one DNS
  hop. These are primarily through the inclusion of "meta-RRs" in the
  Additional Information section of a DNS request <xref
  target="RFC1035"/> including the OPT meta-RR <xref
  target="RFC6891"/> which can carry an extensible set of
  options. These methods are generally not suitable to use for the
  inclusion of QoS requirements for two reasons:</t>
  
  <ul>
    <li>Typical APIs do not provide for meta-RRs to be
    specified on a query or retrieved from a response.</li>
    
    <li>Because meta-RRs designate transient data associated with a
    particular DNS message. Thus, if a query is forwarded by a
    recursive DNS server, such requirements will be lost.</li>
  </ul>

  <t>Other methods of including information in a DNS query that are
  preserved when a query is forwarded are the Name, Class, and RR
  Type.</t>

  <t>Class is an additional dimension of DNS data besides Name and RR
  Type.  However, only the "IN" or Internet Class has significant
  deployment or utilization and DNS messages specifying other Classes
  are frequently blocked by middle-boxes. Thus this dimension is not
  useful in practice.</t>

  <t>RR Type is only 16-bits and is already used to indicate the type
  of RRs being requested.</t>

  <t>This leaves only the name being queried for the encoding of
  service requirement as specified below.</t>
   
</section>

<section>
  <name>Encoding Service Requirements in DNS Names</name>  

    <t>Domain names consist of a sequence of labels, with labels
    further to the right being a higher level in the name hierarchy
    and labels to the left of a particular label identifying nodes in
    the hierarchical tree below that particular label. Each label is
    limited to 63 octets in length and the zero length null label is
    reserved to identify the root node. In a complete, valid domain
    name, the sum of the length of each label in the name plus one
    octet of overhead per label (including the terminating null label)
    cannot exceed 255 octets.</t>

    <t>Communication service requirements are encoded into names being
    queried. This is done by including a QoS label, constructed as
    described below, in the name, usually as the left most label.  A
    QoS label consists of a special prefix followed by a sequence of
    one or more encoded TLVs indicating the QoS requirements. The use
    of such a special prefix, which affects the interpretation of the
    remainder of the label, is similar to the use of the "xn--" prefix
    to indicate internationalized domain names <xref
    target="RFC5890"/>.</t>
     
    <section>
      <name>Service Requirement TLV Encoding</name>
       
     <t>Each TLV expressing a service requirement can be thought of as
     being binarily encoded as shown in <xref target="TLV"/> although
     the specified encoding below in a DNS label is more readable.</t>

     <figure anchor="TLV">
       <name>Service Requirement TLV Structure</name>
       <artwork align="center"><![CDATA[
  0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
|     Type      |    Length     |
+---+---+---+---+---+---+---+---+
|  Value (Length Bytes Long)    .
.                               .
.                               .
.................................
         ]]></artwork>
    </figure>
      
    <dl>
      <dt>Type:</dt><dd>4-bit unsigned integer indicating the type of
      service requirement.</dd>
      
      <dt>Length:</dt><dd>4-bit unsigned integer indicating the
      length of the value associated with the service requirement in
      bytes. The presence of an explicit length makes it possible to
      skip unknown / unimplemented service requirements.</dd>
      
      <dt>Value:</dt><dd>The value, if any, associated with the service
      requirement.</dd>
    </dl>

    <t>Although the DNS does not constraint the octet values within a
    label, for ease of use and due to user interface restrictions,
    label octets are commonly limited to a subset of printing ASCII
    <xref target="RFC0020"/> character values. Furthermore, for name
    matching purposes, the DNS does not distinguish between octets
    having the upper case and lower case codes for an ASCII letter and
    in some cases the storage of a label in the DNS and/or its later
    retrieval may change the value of an octet in that label between
    the values for upper and lower case version of an ASCII letter
    <xref target="RFC4343"/>.</t>

    <t>To avoid possible problems with this DNS case insensitivity or
    possibly problematic byte values such as zero, the TLV or sequence
    of TLVs is included in the DNS name label in hexadecimal notation
    with one hex digit per byte using ASCII <xref
    target="RFC0020"/>. For "A" through "F", either upper or lower case may be
    used. Although there are more compact encoding that avoid most of
    these problems, for example as a customization of Bootstring
    similar to Punycode <xref target="RFC3492"/> or Base32 <xref
    target="RFC4648"/>, hexdecimal is used for simplicity, to make
    the encoding into names more easily readable for debugging and
    other purposes, and to provide ample reserved code points for
    future extensions.</t>

    <t>Such future extensions MUST use the same four prefix bytes and
    be structured as TLVs but may assign meaning to Type byte values
    reserved in this document and may extend the meaning of the Length
    to accomodate longer values by allowing letters "G" through "Z"
    (or "g" through "z") indicating Value length of 17 through 36
    bytes. Length byte MUST NOT be any value than "0" through "9",
    "A" through "Z", or "a" through "z" and if such a prohibited value
    ocurrs, that TLV and the reaminder of he label MUST be ignored.</t>
    
    </section><!--Requirements TLV Encoding-->

    <section>
      <name>Requirements Types and Value Encoding</name>

    <t>The following types of QoS requirements are initially
    defined. If more than one requirements TLV of the same type occurs
    in a DNS name, all but the first (leftmost) occurrance MUST be
    ignored.</t>
    
      <t indent="3">Coarse: A general indication of the most important
      service being sought encoded as a one byte integer patterned after
      the IPv4 ToS (Type of Service) value specified in <xref
      target="RFC1349"/>. (This is "coarse" in contrast with the more
      precise service requirements defined further below.) The following
      coarse values are defined:</t>
    
	<t indent="6">0x00 - Normal service.</t>
	<t indent="6">0x01 - Minimize cost.</t>
	<t indent="6">0x02 - Maximize reliability.</t>
	<t indent="6">0x04 - Maximize throughput.</t>
	<t indent="6">0x08 - Minimize delay.</t>
	<t indent="6">0x10 - Minimize jitter.</t>

      <t indent="3">Bandwidth: The bandwidth requirement is encoded
      as a float32 (32-bit IEEE floating point format <xref
      target="ieee754"/> number). The unit is bits per second.</t>

      <t indent="3">Delay: The delay requirement is encoded in 24-bit
      integer format. The unit is microseconds.</t>

      <t indent="3">Jitter: The jitter (i.e., delay variation) is
      encoded in 24-bit integer format. The unit is microseconds.</t>

      <t indent="3">Loss Rate: This lost rate (i.e., the
      percentage of packet loss) is encoded in 24-bit integer
      format. The basic unit is 0.000001% (i.e., one packet drop per
      100 million packets), where (2^24 - 2) = 16.777214% is the largest
      loss rate defined, 2^24-1 means no loss rate requirement, and 0
      means the drop rate should be smaller than 0.000001%.</t>
      
     <t> Using IEEE 32-bit floating point for the values when appropriate
     provides a compact notation that can encode up to approximately
     10^38 and down to approximately 10^-38 with 6 to 9 significant
     digits of precision <xref target="ieee754"/>.</t>
 
     </section>

     <section>
       <name>Complete QoS DNS Names</name>

       <t>The on-the-wire encoding of a domain name beginning with a
       service requirement label would be as shown in <xref
       target="wire1"/> below. (In the DNS wire encoding, each label is
       preceded by a byte that indicates its length.)</t>
       
<figure anchor="wire1" title="Name Wire Encoding Style 1">
<artwork align="center"><![CDATA[

+-------+-------+-----+   +-----+--------------------------------+
|length |prefix |TLV1 |...|TLVn |Encoded Remainder of Domain Name|
+-------+-------+-----+   +-----+--------------------------------+
]]></artwork>
</figure>
     
  <t>Alternatively, service requirements could split among a sequence
  of two or more labels in a DNS name to be queried, as shown in <xref
  target="wire2"/>.</t>

<figure anchor="wire2" title="Name Encoding Style 2">
<artwork align="center"><![CDATA[

+-------+------+----+   +-------+------+----+-----------------+
|length |prefix|TLV1|...|length |prefix|TLVn|Remainder of Name|
+-------+------+----+   +-------+------+----+-----------------+
]]></artwork>
</figure>

  <t>A display presentation of a DNS name requesting a coarse QoS
  requirement for minimum delay for communication with example.com
  would be as shown in <xref target="example"/>.</t>
     
<figure anchor="example" title="Example DNS Name">
<artwork align="center"><![CDATA[
                 qs--  Prefix
                    1  TLV Type 
                    1  TLV Length
                   08  TLV Value
          example.com  Remainder of domain name

qs--1108.example.com.  Complete domain name
]]></artwork>
</figure>

</section><!-- Complete QoS DNS Names-->

</section><!--Encoding Requirements in DNS Name-->

</section><!--Including Service Requirements in DNS Queries-->

<section anchor="Security" title="Security Considerations">
    <t indent="3">TBD</t>
</section>

<section anchor="IANA">
  <name>IANA Considerations</name>

  <t>This section conforms to <xref target="RFC8126"/>.</t> 
  <t>IANA is requested to create the following registries.</t>

  <section>
    <name>Restricted LDH Label Prefixes</name>
     
     <t>LDH labels are specified in <xref target="RFC5890"/> as
     consisting of letters, digits, and hyphen but not beginning or
     ending with a hyphen. That is, strings of length from 1 through
     63 that match the ABNF (Augmented Backus-Naur Form <xref
     target="RFC5234"/>) expression for LDH below.</t>
     
     <ul>
       <li>LD = ( a-z / 0-9 ) &nbsp; ;letter or digit (case
       insensitive)</li>
       <li>HYPH = %x2D &nbsp;      ;hyphen / minus</li>
       <li>LDH = LD / HYPH</li>
       <li>LDH-LABEL = LD / LD 0*61LDH LD</li>
     </ul>
   
     <t>R-LDH (Restricted LDH) labels are specified in <xref
     target="RFC5890"/> as the subset of LDH-LABELs that begin with
     two letters/digits followed by two hyphens. That is, they are
     LDH-LABELs that match the ABNF regular expression <xref
     target="RFC5234"/> below.</t>
     
     <ul>
      <li>R-LDH-LABEL = 2LD HYPH HYPH 0*58LDH LD</li>
     </ul>

     <section>
       <name>R-LDH Registry</name>

     <t>IANA is requested to create a registry on the Domain
     Name System (DNS) Parameters webpage as follows:</t>

     <t>Name: DNS Restricted LDH (R-LDH) Label Prefixes</t>
     <t>Registration Procedure: Expert Review</t>
     <t>Reference: [this document]</t>

     <table align="center">
       <thead>
<tr><th>Prefix</th><th>Description</th><th>Reference</th></tr>
       </thead>
       <tbody>
<tr><td>qs--</td><td>QoS Requirements</td><td>[this document]</td></tr>
<tr><td>xn--</td><td>Internationalization</td><td><xref
target="RFC5890"/></td></tr>
       </tbody>
     </table>
	
     </section><!-- R-LDH REgistry-->

     <section>
       <name>R-LDH Expert Guidance</name>
       
       <t>In reviewing applications for the assignment of an R-LDH
       prefix, the Expert should keep in mind the following
       guidance:</t>
       
	 <ol type="1">
	   <li>The use of labels with the requested prefix must be
	   documented in an Internet Draft or RFC,</li>
	   <li>not significantly duplicate the use of any other R-LDH
	   prefix,</li>
	   <li>not require any changes to DNS protocol messages or DNS
	   mechanisms such as the handling of CNAME or DNAME RRs or
	   wildcards, and</li>
	   <li>provide a substanial additional capability.</li>
	   <li>Prefixes where the first or second character is any of
	   the digits "0", "1", and "5" or the letters "O", "I", and
	   "L" should not be assigned, due to the possibilities of
	   confusion, unless there are strong reasons to use these
	   characters.</li>
	   <li>Assignment of more than one R-LDH for a purpose is
	   prohibited. The remainder of an R-LDH label MUST include an
	   appropriate extension mechanism such as a version number or
	   multiple unassigned code points such that later versions or
	   extensions can be accodated without the assignment of a new
	   R-LDH label. If it is necessary to distinguish sub-uses
	   under an R-LDH prefix, this should be done by encoding
	   within the R-LDH label after the prefix or by a further
	   label or labels before and/or after the R-LDH label, such
	   as a label beginning with underscore ("_").</li>
	 </ol>
       
       </section><!-- R-LDH Expert Guidance-->
  </section>
  
  <section>
    <name>Requirements Label Type Codes</name>
    
     <t>IANA is requested to create a registry on the Domain Name
     System (DNS) Parameters webpage as follows:</t>

     <t>Name: DNS QoS Requirements Label Type Codes</t>
     <t>Registration Procedure: Expert review</t>
     <t>Reference: [this document]</t>

     <table>
       <thead>
 <tr><th>Code</th><th>Hex</th><th>Description</th><th>Reference</th></tr>
       </thead>
       <tbody>
<tr><td
align="right">-</td><td>0x00-0x2F</td><td>reserved</td><td></td></tr>

<tr><td align="right">0</td><td
align="right">0x30</td><td>reserved</td><td></td></tr>

<tr><td align="right">1</td><td align="right">0x31</td><td>Coarse
QoS</td><td>[this document]</td></tr>

<tr><td align="right">2</td><td
align="right">0x32</td><td>Bandwidth</td><td>[this document]</td></tr>

<tr><td align="right">3</td><td
align="right">0x33</td><td>Delay</td><td>[this document]</td></tr>

<tr><td align="right">4</td><td
align="right">0x34</td><td>Jitter</td><td>[this document]</td></tr>

<tr><td align="right">5</td><td align="right">0x35</td><td>Loss
Rate</td><td>[this document]</td></tr>

<tr><td align="right">6-9</td><td
align="right">0x33-0x39</td><td>unassigned</td><td></td></tr>

<tr><td align="right">-</td><td
align="right">0x3A-0x40</td><td>reserved</td><td></td></tr>

<tr><td align="right">10-15</td><td
align="right">0x41-0x46</td><td>unassigned</td><td></td></tr>

<tr><td align="right">-</td><td
align="right">0x47-0x60</td><td>reserved</td><td></td></tr>

<tr><td align="right">10-15</td><td
align="right">0x61-0x66</td><td>unassigned</td><td></td></tr>


<tr><td align="right">-</td><td
align="right">0x67-0xFF</td><td>reserved</td><td></td></tr>
      </tbody>
     </table>

     <section>
       <name>Coarse Requirements Label Values</name>

     <t>IANA is requested to create a sub-registry on the Domain Name
     System (DNS) Parameters webpage under the Requirements Label Type
     Codes registry as follows:</t>

     <t>Name: DNS QoS Coarse Requirements Label Values</t>
     <t>Registration Procedure: Expert review</t>
     <t>Reference: [this document]</t>

     <table>
       <thead>
 <tr><th align="center">Value</th><th
 align="center">Description</th><th align="center">Reference</th></tr>
       </thead>
       <tbody>
<tr><td align="right">0x00</td><td>Normal service</td><td>[this
document]</td></tr>
<tr><td align="right">0x01</td><td>Mimimize cost</td><td>[this
document]</td></tr>
<tr><td align="right">0x02</td><td>Maximize reliability</td><td>[this
document]</td></tr>
<tr><td align="right">0x04</td><td>Maximize throughput</td><td>[this
document]</td></tr>
<tr><td align="right">0x08</td><td>Minimize delay</td><td>[this
document]</td></tr>
<tr><td align="right">0x10</td><td>Minimize jitter</td><td>[this
document]</td></tr>
<tr><td align="right">Other Values</td><td>unassigned</td><td></td></tr>
       </tbody>
     </table>

     </section>

   </section>
          
 </section>

 <section anchor="Acknowledgments">
   <name>Acknowledgments</name>
   <t>The suggestions of the following are gratefully acknowledged:</t>
   <ul><li>TBD</li></ul>
 </section>

</middle>
  
<!--  *****BACK MATTER ***** -->

<back>

<references>
    <name>Normative References</name>
   
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.0020.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4343.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5890.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> 

<reference anchor="ieee754"
	   target="https://standards.ieee.org/standard/754-2019.html">
    <front>
      <title>IEEE 754-2019 - IEEE Standard for Floating-Point
      Arithmetic</title> <author fullname="Institute for Electrical
      and Electronic Engineering" initials="IEEE" surname="IEEE 754
      WG"/> <date year="2019"/>
    </front>
</reference>
      
</references>
      
<references>
  <name>Informative References</name>
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1349.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2782.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3492.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6891.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8552.xml"/> 
<xi:include
    href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9499.xml"/> 

</references>

</back>

</rfc>
