<?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.7.6 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dong-idr-bgp-ls-scalable-nrp-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="BGP-LS for Scalable NRP">BGP Link State Extensions for Scalable Network Resource Partition</title>
    <seriesInfo name="Internet-Draft" value="draft-dong-idr-bgp-ls-scalable-nrp-00"/>
    <author initials="J." surname="Dong" fullname="Jie Dong">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jie.dong@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Zhu" fullname="Yongqing Zhu">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <city>Guangzhou</city>
          <country>China</country>
        </postal>
        <email>zhuyq8@chinatelecom.cn</email>
      </address>
    </author>
    <author initials="Z." surname="Hu" fullname="Zehua Hu">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <city>Guangzhou</city>
          <country>China</country>
        </postal>
        <email>huzh2@chinatelecom.cn</email>
      </address>
    </author>
    <author initials="J." surname="Ge" fullname="Jun Ge">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jack.gejun@huawei.com</email>
      </address>
    </author>
    <author initials="K." surname="Zhang" fullname="Ka Zhang">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangka@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="March" day="04"/>
    <area>Routing</area>
    <workgroup>IDR</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 69?>

<t>Enhanced VPNs aim to deliver VPN services with enhanced characteristics, such as guaranteed resources, latency, jitter, etc., so as to support customers requirements on connectivity services with these enhanced characteristics. Enhanced VPN requires integration between the overlay VPN connectivity and the characteristics provided by the underlay network. A Network Resource Partition (NRP) is a subset of the network resources and associated policies on each of a connected set of links in the underlay network. An NRP could be used as the underlay to support one or a group of enhanced VPN services. The NRP-specific resource information and status needs to be collected from network nodes and reported to the network controller for NRP-specific management and path computation.</t>
      <t>This document specifies the BGP Link-State (BGP-LS) mechanisms with necessary extensions to advertise the information of NRPs to network controller in a scalable way. The NRP information is advertised using a separate type of BGP-LS NLRI, which allows flexible update of NRP information without impacting the based link state information.</t>
    </abstract>
  </front>
  <middle>
    <?line 76?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Enhanced VPNs aim to deliver VPN services with enhanced characteristics, such as guaranteed resources, latency, jitter, etc., so as to support customers requirements on connectivity services with these enhanced characteristics. Enhanced VPN requires integration between the overlay VPN connectivity and the characteristics provided by the underlay network. <xref target="I-D.ietf-teas-ietf-network-slices"/> discusses the general framework, the components, and interfaces for requesting and operating network slices using IETF technologies. Network slice is considered as one target use case of enhanced VPNs.</t>
      <t><xref target="I-D.ietf-teas-ietf-network-slices"/> also introduces the concept of the Network Resource Partition (NRP), which is a subset of the buffer/queuing/scheduling resources and associated policies on each of a connected set of links in the underlay network. An NRP can be associated with a logical network topology to select or specify the set of links and nodes involved. <xref target="I-D.ietf-teas-enhanced-vpn"/> specifies the framework of NRP-based enhanced VPN and describes the candidate component technologies in different network planes and network layers. An NRP could be used as the underlay to meet the requirement of one or a group of enhanced VPN services. To meet the requirement of enhanced VPN services, a number of NRPs can be created, each with a subset of network resources allocated on network nodes and links in a customized topology of the physical network.</t>
      <t>The NRP-specific resource information and status needs to be collected from network nodes and reported to the network controller for NRP-specific management and path computation. When an NRP spans multiple IGP areas or multiple Autonomous Systems (ASes), BGP-LS <xref target="RFC9552"/> is needed to advertise the NRP information in each IGP area or AS to the network controller, so that the network controller could use the collected information to build the view of inter-area or inter-AS NRPs.</t>
      <t>This document specifies the BGP-LS mechanisms with necessary extensions to advertise the information of NRPs to network controller in a scalable way. The NRP information is advertised using a separate type of BGP-LS NLRI, which allows flexible update of NRP information without impacting the based link state information.</t>
      <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>
        <?line -18?>

</section>
    </section>
    <section anchor="bgp-ls-extensions-for-nrp-information-advertisement">
      <name>BGP-LS Extensions for NRP Information Advertisement</name>
      <t>BGP-LS <xref target="RFC9552"/> defines the mechanisms for advertisement of Node, Link, and Prefix Link-State NLRI types and their associated attributes via BGP.</t>
      <t>According to <xref target="I-D.ietf-teas-ietf-network-slices"/>, each NRP consists of a set of dedicated or shared network resources on a connected set of links in the underlay network. Thus a NRP can be defined as the combination of a set of network attributes of network nodes and links, which include the topology attribute, resources attributes, etc.</t>
      <t>NRP is usually created based on the partitioning of network resources of network links, there are two possible ways for the advertisement of NRP-specific information.</t>
      <t>The first approach is to advertise the NRP information as link attributes of the layer-3 link using existing BGP-LS Link NLRI. However, this approach may have some scalability problem when the number of NRPs on a layer-3 link becomes large. First of all, the amount of NRP information associated with the link would increase in proportion to the number of NRPs the link participates in, and in some cases the NRP information may not be able to be accommodated in one BGP Update message. Secondly, for a specific link, when the information of only one NRP changes, the link NLRI and all the link attributes and all the associated NRP attributes need to be updated. This would result in unnecessary route advertisement.</t>
      <t>The second approach is to introduce dedicated BGP-LS NLRI type for the advertisement of NRP-specific information. This way, the information associated with each NRP can be advertised and updated separately. This can alleviate the burden of the problems with the first approach.</t>
      <t>Thus for better scalability, this document proposes the BGP-LS extensions and mechanisms of the second approach. The NRP information pertaining to a link is advertised via a new BGP-LS NLRI and the associated BGP-LS Attribute as follows:</t>
      <ul spacing="normal">
        <li>
          <t>The NRP Identification information and the identifiers of its associated link is carried using a new BGP-LS NRP Link NLRI.</t>
        </li>
        <li>
          <t>The attributes of the NRP on the associated link are carried as TLVs of the associated BGP-LS Attribute.</t>
        </li>
      </ul>
      <t>This document focuses on the advertisement of NRP-specific information on the associated network links. The advertisement of NRP-specific information on the associated network nodes are for further study.</t>
      <section anchor="bgp-ls-nrp-link-nlri">
        <name>BGP-LS NRP Link NLRI</name>
        <t>A new BGP-LS NLRI type called "NRP-link" is defined for advertisement NRP-specific link information. The NLRI-Type is to be assigned by IANA (TBD1). Its format is shown as below:</t>
        <figure anchor="ref-to-fig1">
          <name>Encoding of NRP-Link NLRI</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                          |
 +                           (8 octets)                          +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //            Local Node Descriptors TLV (variable)            //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //            Remote Node Descriptors TLV (variable)           //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //               Link Descriptors TLVs (variable)              //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //                NRP Descriptors TLV  (variable)              //
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        <t>The encoding and semantics of Protocol-ID, Identifier, Local Node Descriptors, Remote Node Descriptors and the Link Descriptors are the same as defined in <xref target="RFC9552"/>.</t>
        <t>The NRP Descriptors TLV contains descriptors of the NRP which the link is associated with. This is a mandatory TLV for NRP-Link NLRIs. The type is to be assigned by IANA (TBD2). The length of this TLV is variable.  The value contains one or more NRP Descriptor sub-TLVs defined in <xref target="nrp-descriptors-sub-tlvs"/>.</t>
        <section anchor="nrp-descriptors-sub-tlvs">
          <name>NRP Descriptors Sub-TLVs</name>
          <t>In this document, one NRP Descriptors sub-TLV is defined as below:</t>
          <table anchor="ref-to-tab1">
            <name>NRP Descriptor Sub-TLVs</name>
            <thead>
              <tr>
                <th align="left">Sub-TLV Code Point</th>
                <th align="left">Description</th>
                <th align="left">Length</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TBD3</td>
                <td align="left">NRP ID</td>
                <td align="left">4</td>
              </tr>
            </tbody>
          </table>
          <t>NRP ID: A 32-bit network-wide unique identifier, which is used to identify an NRP the link is associated with.</t>
          <t>The NRP ID sub-TLV is mandatory in the NRP Descriptors. There <bcp14>MUST</bcp14> be only one instance of NRP ID Sub-TLV present in the NRP Descriptors.</t>
        </section>
      </section>
      <section anchor="nrp-attribute-tlvs">
        <name>NRP Attribute TLVs</name>
        <t>The NRP Attribute TLVs are a set of TLVs that may be encoded in the BGP-LS Attribute associated with an NRP-Link NLRI.</t>
        <t>The following NRP Attribute TLVs can be carried as NRP attribute TLVs.</t>
        <table anchor="ref-to-tab2">
          <name>NRP Attribute TLVs</name>
          <thead>
            <tr>
              <th align="left">TLV Code Point</th>
              <th align="left">Description</th>
              <th align="left">Length</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1089</td>
              <td align="left">Maximum Link Bandwidth</td>
              <td align="left">4</td>
            </tr>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">NRP Hierarchy</td>
              <td align="left">1</td>
            </tr>
            <tr>
              <td align="left">TBD5</td>
              <td align="left">Parent NRP ID</td>
              <td align="left">1</td>
            </tr>
          </tbody>
        </table>
        <t>The Maximum Link Bandwidth TLV as defined in <xref target="RFC9552"/> is used as an NRP Link Attribute TLV to indicate the amount of link bandwidth allocated to an NRP. It is mandatory in BGP-LS Attribute which is associated with an NRP-Link NLRI.</t>
        <t>Other link attributes <bcp14>MAY</bcp14> also be used as NRP Link Attribute TLVs. The details are for further study.</t>
        <section anchor="nrp-hierarchy-tlv">
          <name>NRP-Hierarchy TLV</name>
          <t>A new NRP Attribute TLV is defined to carry the NRP Hierarchy information. The format of the NRP Hierarchy TLV is as below:</t>
          <figure anchor="ref-to-fig2">
            <name>Encoding of NRP Hierarchy TLV</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            | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Hierarchy   | 
+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>Type (16 bits): TBD4.</t>
          <t>Length (16 bits): Length of the value field in octets. The value is 1.</t>
          <t>Hierarchy: Indicates the level to which the NRP belongs. When the value is 1, the NRP is a first-level NRP on the associated link. When the value is 2, the NRP is a second-level NRP on the associated link. By default, two levels of NRPs can be supported.</t>
        </section>
        <section anchor="parent-nrp-id-tlv">
          <name>Parent NRP ID TLV</name>
          <t>When an NRP is derived from another NRP (called parent NRP), the Parent NRP ID TLV is used to carry the identifier of the parent NRP. The format of the Parent NRP ID TLV is as below:</t>
          <figure anchor="ref-to-fig3">
            <name>Encoding of Parent NRP ID TLV</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            | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Parent NRP ID                         | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>Type (16 bits): TBD5.</t>
          <t>Length (16 bits): Length of the value field in octets. The value is 4.</t>
          <t>Parent NRP ID: The NRP ID of the parent NRP.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document introduces no additional security vulnerabilities in addition to the ones as described in <xref target="RFC9552"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign a new code point for "NRP-Link NLRI" under the "BGP-LS NLRI Types" Registry.</t>
      <table anchor="ref-to-tab3">
        <name>NRP NLRI Type</name>
        <thead>
          <tr>
            <th align="left">Type</th>
            <th align="left">NLRI Type</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">NRP Link NLRI</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
      <t>IANA is requested to assign the following new code points for under the "BGP-LS NLRI and Attribute TLVs" Registry.</t>
      <table anchor="ref-to-tab4">
        <name>NRP related TLV/Sub-TLVs</name>
        <thead>
          <tr>
            <th align="left">TLV Code Point</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">NRP Descriptors</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD3</td>
            <td align="left">NRP ID</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD4</td>
            <td align="left">NRP Hierarchy</td>
            <td align="left">This document</td>
          </tr>
          <tr>
            <td align="left">TBD5</td>
            <td align="left">Parent NRP ID</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank Mengkai Zhao and Tianle Zhang for the review and discussion of this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="I-D.ietf-teas-ietf-network-slices" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-ietf-network-slices-25" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-teas-ietf-network-slices.xml">
        <front>
          <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
          <author fullname="Adrian Farrel" initials="A." surname="Farrel">
            <organization>Old Dog Consulting</organization>
          </author>
          <author fullname="John Drake" initials="J." surname="Drake">
            <organization>Juniper Networks</organization>
          </author>
          <author fullname="Reza Rokui" initials="R." surname="Rokui">
            <organization>Ciena</organization>
          </author>
          <author fullname="Shunsuke Homma" initials="S." surname="Homma">
            <organization>NTT</organization>
          </author>
          <author fullname="Kiran Makhijani" initials="K." surname="Makhijani">
            <organization>Futurewei</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
            <organization>Nvidia</organization>
          </author>
          <date day="14" month="September" year="2023"/>
          <abstract>
            <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice, and establishes the general principles of network slicing in the IETF context. The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and how abstract requests can be mapped to more specific technologies. The document also discusses related considerations with monitoring and security. This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-teas-ietf-network-slices-25"/>
      </reference>
      <reference anchor="I-D.ietf-teas-enhanced-vpn" target="https://datatracker.ietf.org/doc/html/draft-ietf-teas-enhanced-vpn-17" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-teas-enhanced-vpn.xml">
        <front>
          <title>A Framework for NRP-based Enhanced Virtual Private Network</title>
          <author fullname="Jie Dong" initials="J." surname="Dong">
            <organization>Huawei</organization>
          </author>
          <author fullname="Stewart Bryant" initials="S." surname="Bryant">
            <organization>University of Surrey</organization>
          </author>
          <author fullname="Zhenqiang Li" initials="Z." surname="Li">
            <organization>China Mobile</organization>
          </author>
          <author fullname="Takuya Miyasaka" initials="T." surname="Miyasaka">
            <organization>KDDI Corporation</organization>
          </author>
          <author fullname="Young Lee" initials="Y." surname="Lee">
            <organization>Samsung</organization>
          </author>
          <date day="25" month="December" year="2023"/>
          <abstract>
            <t>This document describes the framework for NRP-based Enhanced Virtual Private Networks (VPNs) to support the needs of applications with specific traffic performance requirements (e.g., low latency, bounded jitter). NRP-based Enhanced VPNs leverage the VPN and Traffic Engineering (TE) technologies and adds characteristics that specific services require beyond those provided by conventional VPNs. Typically, an NRP-based enhanced VPN will be used to underpin network slicing, but could also be of use in its own right providing enhanced connectivity services between customer sites. This document also provides an overview of relevant technologies in different network layers, and identifies some areas for potential new work.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-teas-enhanced-vpn-17"/>
      </reference>
      <reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9552.xml">
        <front>
          <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
          <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
          <date month="December" year="2023"/>
          <abstract>
            <t>In many environments, a component external to a network is called upon to perform computations based on the network topology and the 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 BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) 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>
            <t>This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9552"/>
        <seriesInfo name="DOI" value="10.17487/RFC9552"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <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>
  </back>
  <!-- ##markdown-source:
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
AAA=

-->

</rfc>
