<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.24 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ls-idr-bgp-ls-service-metadata-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="Service Metadata in BGP-LS">Distribution of Service Metadata in BGP-LS</title>
    <seriesInfo name="Internet-Draft" value="draft-ls-idr-bgp-ls-service-metadata-01"/>
    <author initials="C." surname="Li" fullname="Cheng Li" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="H." surname="Shi" fullname="Hang Shi" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <author initials="T." surname="He" fullname="Tao He">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>het21@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="R." surname="Pang" fullname="Ran Pang">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>pangran@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="G." surname="Qian" fullname="Guofeng Qian">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qianguofeng@huawei.com</email>
      </address>
    </author>
    <date year="2023" month="February" day="24"/>
    <area>Routing</area>
    <workgroup>Inter-Domain Routing</workgroup>
    <keyword>Internet Draft</keyword>
    <abstract>
      <t>In edge computing, a service may be deployed on multiple instances within one or more sites, called edge service. The edge service is associated with an ANYCAST address in IP layer, and the route of it with potential service metatdata will be distributed to the network. The Edge Service Metadata can be used by ingress routers to make path selections not only based on the routing cost but also the running environment of the edge services.</t>
      <t>The service route with metadata can be collected by a PCE(Path Compute Element) or an analyzer for calculating the best path to the best site/instance.  This draft describes a mechanism to collect the information of the service routes and related service metadata in BGP-LS.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://VMatrix1900.github.io/draft-service-metadata-in-BGP-LS/draft-ls-idr-bgp-ls-service-metadata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ls-idr-bgp-ls-service-metadata/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Inter-Domain Routing Working Group mailing list (<eref target="mailto:idr@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/idr/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/idr/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/VMatrix1900/draft-service-metadata-in-BGP-LS"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>Many services deploy their service instances in multiple sites to get better response time and resource utilization. These sites are often geographically distributed to serve the user demand. For some services such as VR/AR and intelligent transportation, the QoE will depend on both the network metrics and the compute metrics. For example, if the nearest site is overloaded due to the demand fluctuation, then steer the user traffic to a another light-loaded sites may improve the QoE.</t>
      <t><xref target="I-D.ietf-idr-5g-edge-service-metadata"/> descirbes the BGP extension of distributing service route with network and computing-related metrics. The router connected to the site will received the service routes and service metadata sent from devices inside the egdge site, and then generates the corresponding routes and distributes them to ingress routers. However, the route with service metadata on the router connected to the site can be also collected by a central Controller for calculating the best path to the best site.</t>
      <t>This document defines an extension of BGP-LS to carry the service metadata along with the service route. Using the service metadata and the service route, the controller can calculate the best site for the traffic, giving each user the best QoE.</t>
      <section anchor="terminology">
        <name>Terminology</name>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="bgp-ls-extension-for-service-in-a-site">
      <name>BGP-LS Extension for Service in a Site</name>
      <t>The goal of the BGP-LS extension is to collect the information of the service prefix and metadata of the service, such as network metrics and compute metrics. A service is identified by an prefix, and this information is carried by existing prefix NLRI TLV. Other information including service metadata are carried by attributes TLVs.</t>
      <section anchor="Prefix">
        <name>Prefix NLRI</name>
        <t>A service is identified by a prefix, and the Prefix NLRI defined in the <xref target="RFC7752"/> is used to collect the prefix information of the service. The format of the Prefix NLRI is shown in <xref target="fig-Prefix-NLRI"/> for better understanding.</t>
        <figure anchor="fig-Prefix-NLRI">
          <name>The IPv4/IPv6 Topology Prefix NLRI Format</name>
          <artwork><![CDATA[
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+
     |  Protocol-ID  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Identifier                          |
     |                            (64 bits)                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //              Local Node Descriptors (variable)              //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //                Prefix Descriptors (variable)                //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Specifically, the service prefix is carried by the IP Reachability Information TLV(<xref target="fig-IP-Reachability-TLV"/>) inside the Prefix Descriptor field. The Prefix Length field contains the length of the prefix in bits. The IP Prefix field contains the most significant octets of the prefix.</t>
        <figure anchor="fig-IP-Reachability-TLV">
          <name>IP Reachability Information TLV Format</name>
          <artwork><![CDATA[
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              Type             |             Length            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Prefix Length | IP Prefix (variable)                         //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
      <section anchor="attributes">
        <name>Attributes</name>
        <t>The following three prefix attribute TLVs are used to carry the metadata of a service instance:</t>
        <ol spacing="normal" type="1"><li>Metadata Path Attribute TLV carries the compute metric of the service instance such as site preference, capacity index and load measurement defined in <xref target="I-D.ietf-idr-5g-edge-service-metadata"/>.</li>
          <li>Prefix SID TLV carries a Prefix SID associated to the edge site.</li>
          <li>Color Attribute TLV carries the service requirement level information of the service</li>
        </ol>
        <section anchor="metadata">
          <name>Metadata Path Attribute TLV</name>
          <t>The Metadata Path Attribute TLV is an optional attribute to carry the Edge Service Metadata defined in the <xref target="I-D.ietf-idr-5g-edge-service-metadata"/>. It contains multiple sub-TLVs, with each sub-TLV containing a specific metric of the Edge Service Metadata. This document define a new TLV in BGP-LS, which reuse the name and the format of Metadata Path Attribute TLV.</t>
          <figure anchor="fig-Metadata-Path-Attribute">
            <name>Metadata Path Attribute TLV format</name>
            <artwork><![CDATA[
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              Type             |            Length             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |              Value (multiple Metadata sub-TLVs)               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>Type: identify the Metadata Path Attribute, to be assigned by IANA.</li>
            <li>Length: the total number of the octets of the value field.</li>
            <li>Value: contains multiple sub-TLVs.</li>
          </ul>
          <t>There are three types of Edge Service Metadata sub-TLVs defined in <xref target="I-D.ietf-idr-5g-edge-service-metadata"/>:</t>
          <ol spacing="normal" type="1"><li>Site Preference Index indicates the preference to choose the site.</li>
            <li>Capacity Index indicates the capability of a site. One Edge Site can be in full capacity, reduced capacity, or completely out of service.</li>
            <li>Load Measurement indicates the load level of the site.</li>
          </ol>
          <t>To collect these information, this document defines TLVs reusing the name and format of the TLVs defined in <xref target="I-D.ietf-idr-5g-edge-service-metadata"/>.</t>
        </section>
      </section>
      <section anchor="prefix-SID">
        <name>Prefix SID Attribute TLV</name>
        <t>In some cases, there may be multiple sites connect to one Edge(egress) router through different interfaces. Generally, a overlay path, such a overlay tunnel will be used between the ingress router and the egress for steering the traffic to the best site correctly. In SR-MPLS networks or SRv6 networks, a prefix SID is needed. For example, some SRv6 Endpoint Behaviors such as End.DX6, End.X can be encoded for each site so that the egress router can steer the traffic to the corresponding site. The Prefix SID TLV defined <xref target="RFC9085"/> can be used to collect this information.</t>
        <t>The Prefix SID TLV is an optional TLV to carry the Prefix SID associated to the edge site. The TLV format is illustrated in <xref target="fig-Prefix-SID"/>.</t>
        <figure anchor="fig-Prefix-SID">
          <name>Prefix-SID TLV format</name>
          <artwork><![CDATA[
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              Type             |            Length             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                 Value (Prefix SID sub-TLV)                    |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>Type: 1158, identify the Prefix SID Attribute.</li>
          <li>Length: the total number of the octets of the value field.</li>
          <li>Value: contains Prefix SID sub-TLV.</li>
        </ul>
        <section anchor="color">
          <name>Color Attribute TLV</name>
          <t>Color is used to indicate the service level. For example, different site may have different level of service capability which is taken into account of by the controller when calculate the path to the egress router. More details can be added in the future revision.</t>
          <t>The TLV format(shown in <xref target="fig-Color"/>) is similar to the BGP Color Extended Community defined in <xref target="RFC9012"/>.</t>
          <figure anchor="fig-Color">
            <name>Color Attribute TLV format</name>
            <artwork><![CDATA[
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              Type             |            Length             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Flags             |          Color Value          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Color Value          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>Type: identify the Color Attribute, to be assigned by IANA.</li>
            <li>Length: 6, length of Flags + Color Value.</li>
            <li>Flags and Color is the same as defined in <xref target="RFC9012"/>. Color Value: 32 bit value of color.</li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requires IANA to assign the following code points from the registry called "BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs":</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">Metadata Path Attribute Type</td>
            <td align="left">
              <xref target="metadata"/></td>
          </tr>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">Site Preference Sub-Type</td>
            <td align="left">
              <xref target="metadata"/></td>
          </tr>
          <tr>
            <td align="left">TBD3</td>
            <td align="left">Capacity Sub-Type</td>
            <td align="left">
              <xref target="metadata"/></td>
          </tr>
          <tr>
            <td align="left">TBD4</td>
            <td align="left">Load Measurement Sub-Type1: Aggregated-Cost</td>
            <td align="left">
              <xref target="metadata"/></td>
          </tr>
          <tr>
            <td align="left">TBD5</td>
            <td align="left">Load Measurement Sub-Type2: Raw-Measurements</td>
            <td align="left">
              <xref target="metadata"/></td>
          </tr>
          <tr>
            <td align="left">TBD6</td>
            <td align="left">Color Attribute Type</td>
            <td align="left">
              <xref target="color"/></td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>Xiangfeng Ding</t>
      <t>email: dingxiangfeng@huawei.com</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC7752">
        <front>
          <title>North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP</title>
          <author fullname="H. Gredler" initials="H." role="editor" surname="Gredler">
            <organization/>
          </author>
          <author fullname="J. Medved" initials="J." surname="Medved">
            <organization/>
          </author>
          <author fullname="S. Previdi" initials="S." surname="Previdi">
            <organization/>
          </author>
          <author fullname="A. Farrel" initials="A." surname="Farrel">
            <organization/>
          </author>
          <author fullname="S. Ray" initials="S." surname="Ray">
            <organization/>
          </author>
          <date month="March" year="2016"/>
          <abstract>
            <t>In a number of environments, a component external to a network is called upon to perform computations based on the network topology and current state of the connections within the network, including Traffic Engineering (TE) information.  This is information typically distributed by IGP routing protocols within the network.</t>
            <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol.  This is achieved using a new BGP Network Layer Reachability Information (NLRI) encoding format.  The mechanism is applicable to physical and virtual IGP links.  The mechanism described is subject to policy control.</t>
            <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7752"/>
        <seriesInfo name="DOI" value="10.17487/RFC7752"/>
      </reference>
      <reference anchor="RFC9012">
        <front>
          <title>The BGP Tunnel Encapsulation Attribute</title>
          <author fullname="K. Patel" initials="K." surname="Patel">
            <organization/>
          </author>
          <author fullname="G. Van de Velde" initials="G." surname="Van de Velde">
            <organization/>
          </author>
          <author fullname="S. Sangli" initials="S." surname="Sangli">
            <organization/>
          </author>
          <author fullname="J. Scudder" initials="J." surname="Scudder">
            <organization/>
          </author>
          <date month="April" year="2021"/>
          <abstract>
            <t>This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
            <t>This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9012"/>
        <seriesInfo name="DOI" value="10.17487/RFC9012"/>
      </reference>
      <reference anchor="RFC9085">
        <front>
          <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing</title>
          <author fullname="S. Previdi" initials="S." surname="Previdi">
            <organization/>
          </author>
          <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar">
            <organization/>
          </author>
          <author fullname="C. Filsfils" initials="C." surname="Filsfils">
            <organization/>
          </author>
          <author fullname="H. Gredler" initials="H." surname="Gredler">
            <organization/>
          </author>
          <author fullname="M. Chen" initials="M." surname="Chen">
            <organization/>
          </author>
          <date month="August" year="2021"/>
          <abstract>
            <t>Segment Routing (SR) allows for a flexible definition of end-to-end paths by encoding paths as sequences of topological subpaths, called "segments". These segments are advertised by routing protocols, e.g., by the link-state routing protocols (IS-IS, OSPFv2, and OSPFv3) within IGP topologies.</t>
            <t>This document defines extensions to the Border Gateway Protocol - Link State (BGP-LS) address family in order to carry SR information via BGP.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9085"/>
        <seriesInfo name="DOI" value="10.17487/RFC9085"/>
      </reference>
      <reference anchor="RFC9252">
        <front>
          <title>BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)</title>
          <author fullname="G. Dawra" initials="G." role="editor" surname="Dawra">
            <organization/>
          </author>
          <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar">
            <organization/>
          </author>
          <author fullname="R. Raszuk" initials="R." surname="Raszuk">
            <organization/>
          </author>
          <author fullname="B. Decraene" initials="B." surname="Decraene">
            <organization/>
          </author>
          <author fullname="S. Zhuang" initials="S." surname="Zhuang">
            <organization/>
          </author>
          <author fullname="J. Rabadan" initials="J." surname="Rabadan">
            <organization/>
          </author>
          <date month="July" year="2022"/>
          <abstract>
            <t>This document defines procedures and messages for SRv6-based BGP services, including Layer 3 Virtual Private Network (L3VPN), Ethernet VPN (EVPN), and Internet services. It builds on "BGP/MPLS IP Virtual Private Networks (VPNs)" (RFC 4364) and "BGP MPLS-Based Ethernet VPN" (RFC 7432).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9252"/>
        <seriesInfo name="DOI" value="10.17487/RFC9252"/>
      </reference>
      <reference anchor="I-D.ietf-idr-5g-edge-service-metadata">
        <front>
          <title>BGP Extension for 5G Edge Service Metadata</title>
          <author fullname="Linda Dunbar" initials="L." surname="Dunbar">
            <organization>Futurewei</organization>
          </author>
          <author fullname="Kausik Majumdar" initials="K." surname="Majumdar">
         </author>
          <author fullname="Haibo Wang" initials="H." surname="Wang">
            <organization>Huawei</organization>
          </author>
          <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
            <organization>Verizon</organization>
          </author>
          <date day="2" month="December" year="2022"/>
          <abstract>
            <t>   This draft describes three new sub-TLVs for egress routers to
   advertise the Edge Service Metadata of the directly attached
   edge services (ES). The Edge Service Metadata can be used by
   the ingress routers in the 5G Local Data Network to make path
   selections not only based on the routing cost but also the
   running environment of the edge services. The goal is to
   improve latency and performance for 5G edge services.

   The extension enables an edge service at one specific location
   to be more preferred than the others with the same IP address
   (ANYCAST) to receive data flow from a specific source, like
   specific User Equipment (UE).

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-idr-5g-edge-service-metadata-00"/>
      </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">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <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>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Haibo Wang, LiLi Wang, Jianwei Mao for their help.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
+KrtCVf+RReZs4VIV1HwP6QocHBkMAAA

-->

</rfc>
