<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-sidrops-rov-no-rr-08" indexInclude="true" ipr="trust200902" number="9324" prepTime="2022-12-20T23:11:50" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" updates="8481" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-sidrops-rov-no-rr-08" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9324" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="RPKI-Based Policy without Route Refresh">Policy Based on the Resource Public Key Infrastructure (RPKI) without Route Refresh</title>
    <seriesInfo name="RFC" value="9324" stream="IETF"/>
    <author fullname="Randy Bush" initials="R." surname="Bush">
      <organization showOnFrontPage="true">IIJ Research Lab &amp; Arrcus, Inc.</organization>
      <address>
        <postal>
          <street>1856 SW Edgewood Dr</street>
          <city>Portland</city>
          <region>OR</region>
          <code>97210</code>
          <country>United States of America</country>
        </postal>
        <email>randy@psg.com</email>
      </address>
    </author>
    <author fullname="Keyur Patel" initials="K." surname="Patel">
      <organization showOnFrontPage="true">Arrcus, Inc.</organization>
      <address>
        <postal>
          <street>2077 Gateway Place, Suite #400</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95119</code>
          <country>United States of America</country>
        </postal>
        <email>keyur@arrcus.com</email>
      </address>
    </author>
    <author fullname="Philip Smith" initials="P." surname="Smith">
      <organization showOnFrontPage="true">PFS Internet Development Pty Ltd</organization>
      <address>
        <postal>
          <street>PO Box 1908</street>
          <city>Milton</city>
          <region>QLD</region>
          <code>4064</code>
          <country>Australia</country>
        </postal>
        <email>pfsinoz@gmail.com</email>
      </address>
    </author>
    <author fullname="Mark Tinka" initials="M." surname="Tinka">
      <organization showOnFrontPage="true">SEACOM</organization>
      <address>
        <postal>
          <extaddr>Building 7, Design Quarter District</extaddr>
          <street>Leslie Avenue, Magaliessig</street>
          <city>Fourways, Gauteng</city>
          <code>2196</code>
          <country>South Africa</country>
        </postal>
        <email>mark@tinka.africa</email>
      </address>
    </author>
    <date month="12" year="2022"/>
    <area>ops</area>
    <workgroup>sidrops</workgroup>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
      A BGP speaker performing policy based on the Resource Public Key Infrastructure (RPKI) should not issue route
      refresh to its neighbors because it has received new RPKI data.
      This document updates RFC 8481 by describing how
      to avoid doing so by either keeping a full Adj-RIB-In or saving
      paths dropped due to ROV (Route Origin Validation) so they may be
      reevaluated with respect to new RPKI data.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9324" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-related-work">Related Work</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rov-experience">ROV Experience</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-keeping-partial-adj-rib-in-">Keeping Partial Adj-RIB-In Data</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-operational-recommendations">Operational Recommendations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
      Memory constraints in early BGP speakers caused classic BGP
      implementations <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/> to not keep a full Adj-RIB-In
      (<xref target="RFC4271" sectionFormat="of" section="1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4271#section-1.1" derivedContent="RFC4271"/>). When doing
      RPKI-based Route Origin Validation (ROV) <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>
        <xref target="RFC8481" format="default" sectionFormat="of" derivedContent="RFC8481"/> and similar RPKI-based policy, if such a BGP
      speaker receives new RPKI data, it might not have kept paths previously
      marked as Invalid, etc.  Such an implementation must then request a
      route refresh <xref target="RFC2918" format="default" sectionFormat="of" derivedContent="RFC2918"/> <xref target="RFC7313" format="default" sectionFormat="of" derivedContent="RFC7313"/> from its
      neighbors to recover the paths that might be covered by these new RPKI
      data.  This will be perceived as rude by those neighbors as it passes a
      serious resource burden on to them.  This document recommends
      implementations keep and mark paths affected by RPKI-based policy, so
      route refresh is no longer needed.
      </t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.1-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section anchor="related" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-related-work">Related Work</name>
      <t indent="0" pn="section-2-1">
    It is assumed that the reader understands BGP <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>,
    route refresh <xref target="RFC7313" format="default" sectionFormat="of" derivedContent="RFC7313"/>, 
    the RPKI <xref target="RFC6480" format="default" sectionFormat="of" derivedContent="RFC6480"/>,
    Route Origin Authorizations (ROAs) <xref target="RFC6482" format="default" sectionFormat="of" derivedContent="RFC6482"/>, 
    the Resource Public Key Infrastructure (RPKI) to Router Protocol <xref target="I-D.ietf-sidrops-8210bis" format="default" sectionFormat="of" derivedContent="RPKI-ROUTER-PROT-v2"/>,
    RPKI-Based Prefix Validation <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>, 
    and Origin Validation Clarifications <xref target="RFC8481" format="default" sectionFormat="of" derivedContent="RFC8481"/>.
</t>
      <t indent="0" pn="section-2-2"> Note that the term "RPKI-based Route Origin Validation" in this document
means the same as the term "Prefix Origin Validation" used in <xref target="RFC6811" format="default" sectionFormat="of" derivedContent="RFC6811"/>.
</t>
    </section>
    <section anchor="experience" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-rov-experience">ROV Experience</name>
      <t indent="0" pn="section-3-1">
      As Route Origin Validation dropping Invalids has deployed, some
      BGP speaker implementations have been found that, when receiving new
      RPKI data (Validated ROA Payloads (VRPs) <xref target="I-D.ietf-sidrops-8210bis" format="default" sectionFormat="of" derivedContent="RPKI-ROUTER-PROT-v2"/>),
      issue a BGP route refresh <xref target="RFC7313" format="default" sectionFormat="of" derivedContent="RFC7313"/> to all sending
      BGP peers so that they can reevaluate the received paths against the
      new data.
      </t>
      <t indent="0" pn="section-3-2">
      In actual deployment, this has been found to be very destructive,
      transferring a serious resource burden to the unsuspecting peers.
      In reaction, RPKI-based Route Origin Validation (ROV) has been
      turned off.  There have been actual de-peerings.
      </t>
      <t indent="0" pn="section-3-3">
      As RPKI registration and ROA creation have steadily increased,
      this problem has increased, not just proportionally, but on the
      order of the in-degree of ROV implementing BGP speakers.  As Autonomous System Provider Authorization (ASPA)
      <xref target="I-D.ietf-sidrops-aspa-verification" format="default" sectionFormat="of" derivedContent="AS_PATH-VER"/> becomes
      used, the problem will increase.
      </t>
      <t indent="0" pn="section-3-4">
      Other mechanisms, such as automated policy provisioning, which
      have flux rates similar to ROV (i.e., on the order of minutes),
      could very well cause similar problems.
      </t>
      <t indent="0" pn="section-3-5">
      Therefore, this document updates <xref target="RFC8481" format="default" sectionFormat="of" derivedContent="RFC8481"/> by
      describing how to avoid this problem.
      </t>
    </section>
    <section anchor="rib" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-keeping-partial-adj-rib-in-">Keeping Partial Adj-RIB-In Data</name>
      <t indent="0" pn="section-4-1">
      If new RPKI data arrive that cause operator policy to invalidate
      the best route and the BGP speaker did not keep the dropped
      routes, then the BGP speaker would issue a route refresh, which this feature
      aims to prevent.
      </t>
      <t indent="0" pn="section-4-2">
      A route that is dropped by operator policy due to ROV is, by
      nature, considered ineligible to compete for the best route and <bcp14>MUST</bcp14>
      be kept in the Adj-RIB-In for potential future evaluation.
      </t>
      <t indent="0" pn="section-4-3">
      Ameliorating the route refresh problem by keeping a full
      Adj-RIB-In can be a problem for resource-constrained BGP speakers.
      In reality, only some data need be retained.  If an implementation
      chooses not to retain the full Adj-RIB-In, it <bcp14>MUST</bcp14> retain at least
      routes dropped due to ROV for potential future evaluation.
      </t>
      <t indent="0" pn="section-4-4">
      As storing these routes could cause problems in resource-constrained
      devices, there <bcp14>MUST</bcp14> be a global operation, CLI, YANG, or
      other mechanism that allows the operator to enable this feature and
      store the dropped routes.  Such an operator control <bcp14>MUST NOT</bcp14> be per peer, as this could cause inconsistent behavior.
      </t>
      <t indent="0" pn="section-4-5">
      As a side note, policy that may drop routes due to RPKI-based
      checks such as ROV (and ASPA, BGPsec <xref target="RFC8205" format="default" sectionFormat="of" derivedContent="RFC8205"/>,
      etc., in the future) <bcp14>MUST</bcp14> be run and the dropped routes saved per
      this section, before non-RPKI policies are run, as the latter may
      change path attributes.
      </t>
    </section>
    <section anchor="ops" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-operational-recommendations">Operational Recommendations</name>
      <t indent="0" pn="section-5-1">
      Operators deploying ROV and/or other RPKI-based policies should
      ensure that the BGP speaker implementation is not causing
      route refresh requests to neighbors.
      </t>
      <t indent="0" pn="section-5-2">
      BGP speakers <bcp14>MUST</bcp14> either keep the full Adj-RIB-In or implement the
      specification in <xref target="rib" format="default" sectionFormat="of" derivedContent="Section 4"/>.  Conformance to this
      behavior is an additional, mandatory capability for BGP speakers
      performing ROV.
      </t>
      <t indent="0" pn="section-5-3">
      If the BGP speaker does not implement these recommendations, the
      operator should enable the vendor's control to keep the full
      Adj-RIB-In, sometimes referred to as "soft reconfiguration
      inbound".  The operator should then measure to ensure that there
      are no unnecessary route refresh requests sent to neighbors.
      </t>
      <t indent="0" pn="section-5-4">
      If the BGP speaker's equipment has insufficient resources to
      support either of the two proposed options (keeping a full
      AdjRibIn or at least the dropped routes), the equipment <bcp14>SHOULD</bcp14>
      either be replaced with capable equipment or <bcp14>SHOULD NOT</bcp14> be used
      for ROV.
      </t>
      <t indent="0" pn="section-5-5">
      The configuration setting in <xref target="rib" format="default" sectionFormat="of" derivedContent="Section 4"/> should only be
      used in very well-known and controlled circumstances where the
      scaling issues are well understood and anticipated.
      </t>
      <t indent="0" pn="section-5-6">
      Operators using the specification in <xref target="rib" format="default" sectionFormat="of" derivedContent="Section 4"/> should
      be aware that a misconfigured neighbor might erroneously send a
      massive number of paths, thus consuming a lot of memory.  Hence,
      pre-policy filtering such as described in <xref target="I-D.sas-idr-maxprefix-inbound" format="default" sectionFormat="of" derivedContent="MAXPREFIX-INBOUND"/> could be used to reduce
      this exposure.
      </t>
      <t indent="0" pn="section-5-7">
      If route refresh has been issued toward more than one peer, the
      order of receipt of the refresh data can cause churn in both best
      route selection and outbound signaling.
      </t>
      <t indent="0" pn="section-5-8">
      Internet Exchange Points (IXPs) that provide route servers <xref target="RFC7947" format="default" sectionFormat="of" derivedContent="RFC7947"/> should be aware that some members
      could be causing an undue route refresh load on the route servers
      and take appropriate administrative and/or technical measures.
      IXPs using BGP speakers as route servers should ensure that they
      are not generating excessive route refresh requests.
      </t>
    </section>
    <section anchor="Security" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">
      This document describes a denial of service that Route Origin
      Validation or other RPKI policy may place on a BGP neighbor and
      describes how it may be ameliorated.
      </t>
      <t indent="0" pn="section-6-2">
     Otherwise, this document adds no additional security considerations
     to those already described by the referenced documents.
      </t>
    </section>
    <section anchor="IANA" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-7-1">
      This document has no IANA actions.
      </t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-sidrops-8210bis" to="RPKI-ROUTER-PROT-v2"/>
    <displayreference target="I-D.ietf-sidrops-aspa-verification" to="AS_PATH-VER"/>
    <displayreference target="I-D.sas-idr-maxprefix-inbound" to="MAXPREFIX-INBOUND"/>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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"/>
          <format target="https://www.rfc-editor.org/info/rfc2119" type="TXT"/>
        </reference>
        <reference anchor="RFC2918" target="https://www.rfc-editor.org/info/rfc2918" quoteTitle="true" derivedAnchor="RFC2918">
          <front>
            <title>Route Refresh Capability for BGP-4</title>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <date month="September" year="2000"/>
            <abstract>
              <t indent="0">This document defines a new Border Gateway Protocol (BGP) capability termed 'Route Refresh Capability', which would allow the dynamic exchange of route refresh request between BGP speakers and subsequent re-advertisement of the respective Adj-RIB-Out. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2918"/>
          <seriesInfo name="DOI" value="10.17487/RFC2918"/>
          <format target="https://www.rfc-editor.org/info/rfc2918" type="TXT"/>
        </reference>
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" quoteTitle="true" derivedAnchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t indent="0">This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t indent="0">The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t indent="0">BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t indent="0">This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
          <format target="https://www.rfc-editor.org/info/rfc4271" type="TXT"/>
        </reference>
        <reference anchor="RFC6811" target="https://www.rfc-editor.org/info/rfc6811" quoteTitle="true" derivedAnchor="RFC6811">
          <front>
            <title>BGP Prefix Origin Validation</title>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="January" year="2013"/>
            <abstract>
              <t indent="0">To help reduce well-known threats against BGP including prefix mis- announcing and monkey-in-the-middle attacks, one of the security requirements is the ability to validate the origination Autonomous System (AS) of BGP routes.  More specifically, one needs to validate that the AS number claiming to originate an address prefix (as derived from the AS_PATH attribute of the BGP route) is in fact authorized by the prefix holder to do so.  This document describes a simple validation mechanism to partially satisfy this requirement. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6811"/>
          <seriesInfo name="DOI" value="10.17487/RFC6811"/>
          <format target="https://www.rfc-editor.org/info/rfc6811" type="TXT"/>
        </reference>
        <reference anchor="RFC7313" target="https://www.rfc-editor.org/info/rfc7313" quoteTitle="true" derivedAnchor="RFC7313">
          <front>
            <title>Enhanced Route Refresh Capability for BGP-4</title>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <author fullname="B. Venkatachalapathy" initials="B." surname="Venkatachalapathy"/>
            <date month="July" year="2014"/>
            <abstract>
              <t indent="0">In this document, we enhance the existing BGP route refresh mechanisms to provide for the demarcation of the beginning and the ending of a route refresh.  The enhancement can be used to facilitate correction of BGP Routing Information Base (RIB) inconsistencies in a non-disruptive manner.  This document updates RFC 2918.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7313"/>
          <seriesInfo name="DOI" value="10.17487/RFC7313"/>
          <format target="https://www.rfc-editor.org/info/rfc7313" type="TXT"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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"/>
          <format target="https://www.rfc-editor.org/info/rfc8174" type="TXT"/>
        </reference>
        <reference anchor="RFC8481" target="https://www.rfc-editor.org/info/rfc8481" quoteTitle="true" derivedAnchor="RFC8481">
          <front>
            <title>Clarifications to BGP Origin Validation Based on Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <date month="September" year="2018"/>
            <abstract>
              <t indent="0">Deployment of BGP origin validation based on Resource Public Key Infrastructure (RPKI) is hampered by, among other things, vendor misimplementations in two critical areas: which routes are validated and whether policy is applied when not specified by configuration.  This document is meant to clarify possible misunderstandings causing those misimplementations; it thus updates RFC 6811 by clarifying that all prefixes should have their validation state set and that policy must not be applied without operator configuration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8481"/>
          <seriesInfo name="DOI" value="10.17487/RFC8481"/>
          <format target="https://www.rfc-editor.org/info/rfc8481" type="TXT"/>
        </reference>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-sidrops-aspa-verification" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-verification-11" derivedAnchor="AS_PATH-VER">
          <front>
            <title>BGP AS_PATH Verification Based on Resource Public Key Infrastructure (RPKI) Autonomous System Provider Authorization (ASPA) Objects</title>
            <author initials="A." surname="Azimov" fullname="Alexander Azimov">
              <organization showOnFrontPage="true">Yandex</organization>
            </author>
            <author initials="E." surname="Bogomazov" fullname="Eugene Bogomazov">
              <organization showOnFrontPage="true">Qrator Labs</organization>
            </author>
            <author initials="R." surname="Bush" fullname="Randy Bush">
              <organization showOnFrontPage="true">Internet Initiative Japan &amp; Arrcus, Inc.</organization>
            </author>
            <author initials="K." surname="Patel" fullname="Keyur Patel">
              <organization showOnFrontPage="true">Arrcus</organization>
            </author>
            <author initials="J." surname="Snijders" fullname="Job Snijders">
              <organization showOnFrontPage="true">Fastly</organization>
            </author>
            <author initials="K." surname="Sriram" fullname="Kotikalapudi Sriram">
              <organization showOnFrontPage="true">USA National Institute of Standards and Technology</organization>
            </author>
            <date month="October" day="24" year="2022"/>
            <abstract>
              <t indent="0">   This document defines the semantics of an Autonomous System Provider
   Authorization object in the Resource Public Key Infrastructure to
   verify the Border Gateway Protocol (BGP) AS_PATH attribute of
   advertised routes.  This type of AS_PATH verification is primarily
   intended for detection and mitigation of route leaks.  It also to
   some degree provides protection against forged-origin prefix hijacks.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-aspa-verification-11"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-sidrops-aspa-verification-11.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.sas-idr-maxprefix-inbound" target="https://datatracker.ietf.org/doc/html/draft-sas-idr-maxprefix-inbound-04" quoteTitle="true" derivedAnchor="MAXPREFIX-INBOUND">
          <front>
            <title>BGP Maximum Prefix Limits Inbound</title>
            <author initials="M." surname="Aelmans" fullname="Melchior Aelmans">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author initials="M." surname="Stucchi" fullname="Massimiliano Stucchi">
              <organization showOnFrontPage="true">Independent</organization>
            </author>
            <author initials="J." surname="Snijders" fullname="Job Snijders">
              <organization showOnFrontPage="true">Fastly</organization>
            </author>
            <date month="January" day="19" year="2022"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sas-idr-maxprefix-inbound-04"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC6480" target="https://www.rfc-editor.org/info/rfc6480" quoteTitle="true" derivedAnchor="RFC6480">
          <front>
            <title>An Infrastructure to Support Secure Internet Routing</title>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="February" year="2012"/>
            <abstract>
              <t indent="0">This document describes an architecture for an infrastructure to support improved security of Internet routing.  The foundation of this architecture is a Resource Public Key Infrastructure (RPKI) that represents the allocation hierarchy of IP address space and Autonomous System (AS) numbers; and a distributed repository system for storing and disseminating the data objects that comprise the RPKI, as well as other signed objects necessary for improved routing security.  As an initial application of this architecture, the document describes how a legitimate holder of IP address space can explicitly and verifiably authorize one or more ASes to originate routes to that address space.  Such verifiable authorizations could be used, for example, to more securely construct BGP route filters.  This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6480"/>
          <seriesInfo name="DOI" value="10.17487/RFC6480"/>
          <format target="https://www.rfc-editor.org/info/rfc6480" type="TXT"/>
        </reference>
        <reference anchor="RFC6482" target="https://www.rfc-editor.org/info/rfc6482" quoteTitle="true" derivedAnchor="RFC6482">
          <front>
            <title>A Profile for Route Origin Authorizations (ROAs)</title>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="D. Kong" initials="D." surname="Kong"/>
            <date month="February" year="2012"/>
            <abstract>
              <t indent="0">This document defines a standard profile for Route Origin Authorizations (ROAs).  A ROA is a digitally signed object that provides a means of verifying that an IP address block holder has authorized an Autonomous System (AS) to originate routes to one or more prefixes within the address block. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6482"/>
          <seriesInfo name="DOI" value="10.17487/RFC6482"/>
          <format target="https://www.rfc-editor.org/info/rfc6482" type="TXT"/>
        </reference>
        <reference anchor="RFC7947" target="https://www.rfc-editor.org/info/rfc7947" quoteTitle="true" derivedAnchor="RFC7947">
          <front>
            <title>Internet Exchange BGP Route Server</title>
            <author fullname="E. Jasinska" initials="E." surname="Jasinska"/>
            <author fullname="N. Hilliard" initials="N." surname="Hilliard"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="N. Bakker" initials="N." surname="Bakker"/>
            <date month="September" year="2016"/>
            <abstract>
              <t indent="0">This document outlines a specification for multilateral interconnections at Internet Exchange Points (IXPs).  Multilateral interconnection is a method of exchanging routing information among three or more External BGP (EBGP) speakers using a single intermediate broker system, referred to as a route server.  Route servers are typically used on shared access media networks, such as IXPs, to facilitate simplified interconnection among multiple Internet routers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7947"/>
          <seriesInfo name="DOI" value="10.17487/RFC7947"/>
          <format target="https://www.rfc-editor.org/info/rfc7947" type="TXT"/>
        </reference>
        <reference anchor="RFC8205" target="https://www.rfc-editor.org/info/rfc8205" quoteTitle="true" derivedAnchor="RFC8205">
          <front>
            <title>BGPsec Protocol Specification</title>
            <author fullname="M. Lepinski" initials="M." role="editor" surname="Lepinski"/>
            <author fullname="K. Sriram" initials="K." role="editor" surname="Sriram"/>
            <date month="September" year="2017"/>
            <abstract>
              <t indent="0">This document describes BGPsec, an extension to the Border Gateway Protocol (BGP) that provides security for the path of Autonomous Systems (ASes) through which a BGP UPDATE message passes.  BGPsec is implemented via an optional non-transitive BGP path attribute that carries digital signatures produced by each AS that propagates the UPDATE message.  The digital signatures provide confidence that every AS on the path of ASes listed in the UPDATE message has explicitly authorized the advertisement of the route.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8205"/>
          <seriesInfo name="DOI" value="10.17487/RFC8205"/>
          <format target="https://www.rfc-editor.org/info/rfc8205" type="TXT"/>
        </reference>
        <reference anchor="I-D.ietf-sidrops-8210bis" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-8210bis-10" derivedAnchor="RPKI-ROUTER-PROT-v2">
          <front>
            <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol, Version 2</title>
            <author initials="R." surname="Bush" fullname="Randy Bush">
              <organization showOnFrontPage="true">IIJ, Arrcus, &amp; DRL</organization>
            </author>
            <author initials="R." surname="Austein" fullname="Rob Austein">
              <organization showOnFrontPage="true">Dragon Research Labs</organization>
            </author>
            <date month="June" day="16" year="2022"/>
            <abstract>
              <t indent="0">   In order to verifiably validate the origin Autonomous Systems and
   Autonomous System Paths of BGP announcements, routers need a simple
   but reliable mechanism to receive Resource Public Key Infrastructure
   (RFC 6480) prefix origin data and router keys from a trusted cache.
   This document describes a protocol to deliver them.

   This document describes version 2 of the RPKI-Router protocol.  RFC
   6810 describes version 0, and RFC 8210 describes version 1.  This
   document is compatible with both.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-8210bis-10"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-sidrops-8210bis-10.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="acks" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">
      The authors wish to thank <contact fullname="Alvaro Retana"/>, <contact fullname="Ben Maddison"/>, <contact fullname="Derek Yeung"/>, <contact fullname="John Heasley"/>, <contact fullname="John Scudder"/>, <contact fullname="Matthias Waehlisch"/>, <contact fullname="Nick Hilliard"/>,
      <contact fullname="Saku Ytti"/>, and <contact fullname="Ties de Kock"/>.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Randy Bush" initials="R." surname="Bush">
        <organization showOnFrontPage="true">IIJ Research Lab &amp; Arrcus, Inc.</organization>
        <address>
          <postal>
            <street>1856 SW Edgewood Dr</street>
            <city>Portland</city>
            <region>OR</region>
            <code>97210</code>
            <country>United States of America</country>
          </postal>
          <email>randy@psg.com</email>
        </address>
      </author>
      <author fullname="Keyur Patel" initials="K." surname="Patel">
        <organization showOnFrontPage="true">Arrcus, Inc.</organization>
        <address>
          <postal>
            <street>2077 Gateway Place, Suite #400</street>
            <city>San Jose</city>
            <region>CA</region>
            <code>95119</code>
            <country>United States of America</country>
          </postal>
          <email>keyur@arrcus.com</email>
        </address>
      </author>
      <author fullname="Philip Smith" initials="P." surname="Smith">
        <organization showOnFrontPage="true">PFS Internet Development Pty Ltd</organization>
        <address>
          <postal>
            <street>PO Box 1908</street>
            <city>Milton</city>
            <region>QLD</region>
            <code>4064</code>
            <country>Australia</country>
          </postal>
          <email>pfsinoz@gmail.com</email>
        </address>
      </author>
      <author fullname="Mark Tinka" initials="M." surname="Tinka">
        <organization showOnFrontPage="true">SEACOM</organization>
        <address>
          <postal>
            <extaddr>Building 7, Design Quarter District</extaddr>
            <street>Leslie Avenue, Magaliessig</street>
            <city>Fourways, Gauteng</city>
            <code>2196</code>
            <country>South Africa</country>
          </postal>
          <email>mark@tinka.africa</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
