| rfc8893xml2.original.xml | rfc8893.xml | |||
|---|---|---|---|---|
| <?xml version="1.0"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <?rfc comments="yes"?> | ||||
| <?rfc compact="yes"?> | ||||
| <?rfc inline="yes"?> | ||||
| <?rfc sortrefs="yes"?> | ||||
| <?rfc subcompact="yes"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc toc="yes"?> | ||||
| <?rfc tocdepth="3"?> | ||||
| <?rfc tocindent="yes"?> | ||||
| <?rfc tocompact="yes"?> | ||||
| <rfc category="std" docName="draft-ietf-sidrops-ov-egress-04" updates="6811" ipr | ||||
| ="trust200902"> | ||||
| <front> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" | |||
| <title>BGP RPKI-Based Origin Validation on Export</title> | docName="draft-ietf-sidrops-ov-egress-04" number="8893" updates="6811" | |||
| ipr="trust200902" obsoletes="" submissionType="IETF" xml:lang="en" | ||||
| sortRefs="true" symRefs="true" tocInclude="true" tocDepth="3" | ||||
| version="3" consensus="true"> | ||||
| <!-- xml2rfc v2v3 conversion 2.44.0 --> | ||||
| <front> | ||||
| <title abbrev="RPKI Origin Validation for BGP Export">Resource Public Key In | ||||
| frastructure (RPKI) Origin Validation for BGP Export</title> | ||||
| <author fullname="Randy Bush" initials="R." surname="Bush"> | <seriesInfo name="RFC" value="8893"/> | |||
| <organization>Internet Initiative Japan & Arrcus</organization> | <author fullname="Randy Bush" initials="R." surname="Bush"> | |||
| <address> | <organization>Internet Initiative Japan & Arrcus</organization> | |||
| <postal> | <address> | |||
| <street>5147 Crystal Springs</street> | <postal> | |||
| <city>Bainbridge Island</city> | <street>5147 Crystal Springs</street> | |||
| <region>Washington</region> | <city>Bainbridge Island</city> | |||
| <code>98110</code> | <region>WA</region> | |||
| <country>US</country> | <code>98110</code> | |||
| <country>United States of America</country> | ||||
| </postal> | </postal> | |||
| <email>randy@psg.com</email> | <email>randy@psg.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="RĂ¼diger Volk" initials="R." surname="Volk"> | ||||
| <author fullname="RĂ¼diger Volk" initials="R." surname="Volk"> | <organization></organization> | |||
| <organization>Deutsche Telekom</organization> | ||||
| <address> | <address> | |||
| <email>rv@nic.dtag.de</email> | <email>ietf@rewvolk.de</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Jakob Heitz" initials="J. " surname="Heitz"> | ||||
| <author fullname="Jakob Heitz" initials="J. " surname="Heitz"> | <organization>Cisco</organization> | |||
| <organization>Cisco</organization> | ||||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>170 West Tasman Drive</street> | <street>170 West Tasman Drive</street> | |||
| <city>San Jose</city> | <city>San Jose</city> | |||
| <region>CA</region> | <region>CA</region> | |||
| <code>95134</code> | <code>95134</code> | |||
| <country>USA</country> | <country>United States of America</country> | |||
| </postal> | </postal> | |||
| <email>jheitz@cisco.com</email> | <email>jheitz@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="September" year="2020"/> | ||||
| <date /> | <keyword>routing</keyword> | |||
| <keyword>security</keyword> | ||||
| <abstract> | <keyword>RPKI</keyword> | |||
| <t>A BGP speaker may perform RPKI origin validation not only on | <abstract> | |||
| <t>A BGP speaker may perform Resource Public Key Infrastructure (RPKI) | ||||
| origin validation not only on | ||||
| routes received from BGP neighbors and routes that are redistributed | routes received from BGP neighbors and routes that are redistributed | |||
| from other routing protocols, but also on routes it sends to BGP | from other routing protocols, but also on routes it sends to BGP | |||
| neighbors. For egress policy, it is important that the | neighbors. For egress policy, it is important that the | |||
| classification uses the 'effective origin AS' of the processed | classification use the 'effective origin AS' of the processed | |||
| route, which may specifically be altered by the commonly available | route, which may specifically be altered by the commonly available | |||
| knobs such as removing private ASs, confederation handling, and | knobs, such as removing private ASes, confederation handling, and | |||
| other modifications of the origin AS. This document updates <xref | other modifications of the origin AS. This document updates RFC 6811.</t> | |||
| target="RFC6811"/>.</t> | ||||
| </abstract> | </abstract> | |||
| <note title="Requirements Language"> | ||||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | ||||
| NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | ||||
| "MAY", and "OPTIONAL" in this document are to be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref | ||||
| target="RFC8174"/> when, and only when, they appear in all capitals, | ||||
| as shown here.</t> | ||||
| </note> | ||||
| </front> | </front> | |||
| <middle> | ||||
| <middle> | <section anchor="intro" numbered="true" toc="default"> | |||
| <name>Introduction</name> | ||||
| <section anchor="intro" title="Introduction"> | <t>This document does not change the protocol or semantics of <xref target | |||
| ="RFC6811" format="default"/>, BGP prefix origin validation. It highlights an | ||||
| <t>This document does not change the protocol or semantics of <xref | important use case of origin validation in external BGP (eBGP) egress polici | |||
| target="RFC6811"/>, BGP prefix origin validation. It highlights an | es, | |||
| important use case of origin validation in eBGP egress policies, | ||||
| explaining specifics of correct implementation in this context.</t> | explaining specifics of correct implementation in this context.</t> | |||
| <t>The term 'effective origin AS' as used in this document refers to | ||||
| <t>The term 'effective origin AS' as used in this document refers to | the Route Origin Autonomous System Number (ASN) <xref target="RFC6811" | |||
| the Route Origin ASN <xref target="RFC6811"/> of the UPDATE to be | format="default"/> of the UPDATE to be | |||
| sent to neighboring BGP speakers.</t> | sent to neighboring BGP speakers.</t> | |||
| <t>The effective origin AS of a BGP UPDATE is decided by | ||||
| <t>The effective origin AS of a BGP UPDATE is decided by | ||||
| configuration and outbound policy of the BGP speaker. A validating | configuration and outbound policy of the BGP speaker. A validating | |||
| BGP speaker MUST apply Route Origin Validation policy semantics (see | BGP speaker <bcp14>MUST</bcp14> apply Route Origin Validation policy semanti | |||
| <xref target="RFC6811"/> Sec 2 and <xref target="RFC8481"/> Sec 4) | cs (see | |||
| <xref target="RFC6811" sectionFormat="of" section="2"/> and <xref | ||||
| target="RFC8481" sectionFormat="of" section="4"/>) | ||||
| after applying any egress configuration and policy.</t> | after applying any egress configuration and policy.</t> | |||
| <t>This effective origin AS of the announcement might be affected by | ||||
| <t>This effective origin AS of the announcement might be affected by | removal of private ASes, confederation <xref target="RFC5065" format="defaul | |||
| removal of private ASs, confederation <xref target="RFC5065"/>, | t"/>, | |||
| migration <xref target="RFC7705"/>, etc. Any AS_PATH modifications | migration <xref target="RFC7705" format="default"/>, etc. Any AS_PATH modif | |||
| resulting in effective origin AS change MUST be taken into | ications | |||
| resulting in effective origin AS change <bcp14>MUST</bcp14> be taken into | ||||
| account.</t> | account.</t> | |||
| <t>This document updates <xref target="RFC6811" format="default"/> by clar | ||||
| <t>This document updates <xref target="RFC6811"/> by clarifying that | ifying that | |||
| implementations must use the effective origin AS to determine the | implementations must use the effective origin AS to determine the | |||
| Origin Validation state when applying egress policy.</t> | Origin Validation state when applying egress policy.</t> | |||
| <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="reading" title="Suggested Reading"> | <section anchor="reading" numbered="true" toc="default"> | |||
| <name>Suggested Reading</name> | ||||
| <t>It is assumed that the reader understands BGP, <xref | <t>It is assumed that the reader understands BGP <xref target="RFC4271" | |||
| target="RFC4271"/>, the RPKI, <xref target="RFC6480"/>, Route Origin | format="default"/>, the RPKI <xref target="RFC6480" format="default"/>, | |||
| Authorizations (ROAs), <xref target="RFC6482"/>, RPKI-based | Route Origin Authorizations (ROAs) <xref target="RFC6482" | |||
| Prefix Validation, <xref target="RFC6811"/>, and Origin Validation | format="default"/>, RPKI-based Prefix Validation <xref target="RFC6811" | |||
| Clarifications, <xref target="RFC8481"/>.</t> | format="default"/>, and Origin Validation | |||
| Clarifications <xref target="RFC8481" format="default"/>.</t> | ||||
| </section> | </section> | |||
| <section anchor="all" title="Egress Processing"> | <section anchor="all" numbered="true" toc="default"> | |||
| <name>Egress Processing</name> | ||||
| <t>BGP implementations supporting RPKI-based origin validation MUST | <t>BGP implementations supporting RPKI-based origin validation <bcp14>MUST | |||
| </bcp14> | ||||
| provide the same policy configuration primitives for decisions based | provide the same policy configuration primitives for decisions based | |||
| on validation state available for use in ingress, redistribution, | on the validation state available for use in ingress, redistribution, | |||
| and egress policies. When applied to egress policy, validation | and egress policies. When applied to egress policy, validation | |||
| state MUST be determined using the effective origin AS of the route | state <bcp14>MUST</bcp14> be determined using the effective origin AS of | |||
| the route | ||||
| as it will (or would) be announced to the peer. The effective | as it will (or would) be announced to the peer. The effective | |||
| origin AS may differ from that of the route in the RIB due to | origin AS may differ from that of the route in the RIB due to | |||
| commonly available knobs such as: removal of private ASs, AS path | commonly available knobs, such as removal of private ASes, AS path | |||
| manipulation, confederation handling, etc.</t> | manipulation, confederation handling, etc.</t> | |||
| <t>Egress policy handling can provide more robust protection for | <t>Egress policy handling can provide more robust protection for | |||
| outbound eBGP than relying solely on ingress (iBGP, eBGP, connected, | outbound eBGP than relying solely on ingress (iBGP, eBGP, connected, | |||
| static, etc.) redistribution being configured and working correctly | static, etc.) redistribution being configured and working correctly | |||
| - better support for the robustness principle.</t> | -- i.e., better support for the robustness principle.</t> | |||
| </section> | </section> | |||
| <section anchor="impl" numbered="true" toc="default"> | ||||
| <section anchor="impl" title="Operational Considerations"> | <name>Operational Considerations</name> | |||
| <t>Configurations may have a complex policy where the effective | ||||
| <t>Configurations may have complex policy where the effective | ||||
| origin AS may not be easily determined before the outbound policies | origin AS may not be easily determined before the outbound policies | |||
| have been run. It SHOULD be possible to specify a selective origin | have been run. It <bcp14>SHOULD</bcp14> be possible to specify a selective origin | |||
| validation policy to be applied after any existing non-validating | validation policy to be applied after any existing non-validating | |||
| outbound policies.</t> | outbound policies.</t> | |||
| <t>An implementation <bcp14>SHOULD</bcp14> be able to list announcements t | ||||
| <t>An implementation SHOULD be able to list announcements that were | hat were | |||
| not sent to a peer, e.g., because they were marked Invalid, as long | not sent to a peer, e.g., because they were marked Invalid, as long | |||
| as the router still has them in memory.</t> | as the router still has them in memory.</t> | |||
| </section> | </section> | |||
| <section anchor="seccons" numbered="true" toc="default"> | ||||
| <section anchor="seccons" title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>This document does not create security considerations beyond | ||||
| <t>This document does not create security considerations beyond | those of <xref target="RFC6811" format="default"/> and <xref | |||
| those of <xref target="RFC6811"/> and <xref target="RFC8481"/>. By | target="RFC8481" format="default"/>. By | |||
| facilitating more correct validation, it attempts to improve BGP | facilitating more correct validation, it attempts to improve BGP | |||
| reliability.</t> | reliability.</t> | |||
| </section> | ||||
| <section anchor="iana" title="IANA Considerations"> | ||||
| <t>This document has no IANA Considerations.</t> | ||||
| <!-- | ||||
| <t>Note to RFC Editor: this section may be replaced on publication | ||||
| as an RFC.</t> | ||||
| --> | ||||
| </section> | </section> | |||
| <section anchor="iana" numbered="true" toc="default"> | ||||
| <section anchor="acks" title="Acknowledgments"> | <name>IANA Considerations</name> | |||
| <t>This document has no IANA actions.</t> | ||||
| <t>Thanks to reviews and comments from Linda Dunbar, Nick Hilliard, | ||||
| Benjamin Kaduk, Chris Morrow, Keyur Patel, Alvaro Retana, Alvaro | ||||
| Retana, Job Snijders, Robert Sparks, and Robert Wilton.</t> | ||||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | ||||
| <back> | <references> | |||
| <name>References</name> | ||||
| <references title="Normative References"> | <references> | |||
| <?rfc include="reference.RFC.2119"?> | <name>Normative References</name> | |||
| <?rfc include="reference.RFC.4271"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
| <?rfc include="reference.RFC.5065"?> | ence.RFC.2119.xml"/> | |||
| <?rfc include="reference.RFC.6482"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
| <?rfc include="reference.RFC.6811"?> | ence.RFC.4271.xml"/> | |||
| <?rfc include="reference.RFC.7705"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
| <?rfc include="reference.RFC.8174"?> | ence.RFC.5065.xml"/> | |||
| <?rfc include="reference.RFC.8481"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
| </references> | ence.RFC.6482.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| <references title="Informative References"> | ence.RFC.6811.xml"/> | |||
| <?rfc include="reference.RFC.6480"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
| ence.RFC.7705.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8174.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8481.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.6480.xml"/> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section anchor="acks" numbered="false" toc="default"> | ||||
| <name>Acknowledgments</name> | ||||
| <t>Thanks to reviews and comments from <contact fullname="Linda | ||||
| Dunbar"/>, <contact fullname="Nick Hilliard"/>, | ||||
| <contact fullname="Benjamin Kaduk"/>, <contact fullname="Chris Morrow"/>, | ||||
| <contact fullname="Keyur Patel"/>, | ||||
| <contact fullname="Alvaro Retana"/>, <contact fullname="Job Snijders"/>, | ||||
| <contact fullname="Robert Sparks"/>, and <contact fullname="Robert | ||||
| Wilton"/>.</t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 40 change blocks. | ||||
| 152 lines changed or deleted | 146 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||