<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [


<!ENTITY RFC3779 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3779.xml">
<!ENTITY RFC5280 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5280.xml">          
<!ENTITY RFC3852 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3852.xml">      
<!ENTITY RFC4055 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4055.xml">
<!ENTITY RFC4893 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4893.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4271.xml">       
<!ENTITY I-D.ietf-sidr-arch SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sidr-arch.xml">
<!ENTITY I-D.ietf-sidr-roa-validation SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sidr-roa-validation.xml">     
<!ENTITY I-D.ietf-sidr-res-certs SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sidr-res-certs.xml">
<!ENTITY I-D.ietf-sidr-roa-format SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sidr-roa-format.xml">
<!ENTITY I-D.pmohapat-sidr-pfx-validate SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.pmohapat-sidr-pfx-validate.xml">
<!ENTITY I-D.ietf-idr-deprecate-as-sets SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-idr-deprecate-as-sets.xml">


]>


<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
	
<rfc category="info" docName="draft-ietf-sidr-usecases-01" ipr="trust200902">

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="RPKI Use Case and interpretations">Use Cases and interpretation of RPKI objects for issuers and relying parties</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

   <author fullname="Terry Manderson" initials="T." surname="Manderson">
      <organization>ICANN</organization>

      <address>
        <email>terry.manderson@icann.org</email>
      </address>
    </author>
    
       <author fullname="Kotikalapudi Sriram" initials="K." surname="Sriram">
      <organization>US NIST</organization>

      <address>
        <email>ksriram@nist.gov</email>
      </address>
    </author>
    
       <author fullname="Russ White" initials="R." surname="White">
      <organization>Cisco</organization>

      <address>
        <email>russ@cisco.com</email>
      </address>
    </author>

   
    
    <date month="December" year="2010" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Routing</area>

    <workgroup>Secure Inter-Domain Routing</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>RPKI Use Cases</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>This document provides use cases, directions, and interpretations for organizations and relying parties when creating or encountering 
      	RPKI object scenarios in the public RPKI in relation to the Internet routing system.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      
       <t>
      This document provides suggested use cases, directions, and interpretations for organizations and relying parties when creating or encountering 
      	RPKI object scenarios in the public RPKI in relation to the Internet routing system.
      </t>

	  <section title="Terminology">
        <t>It is assumed that the reader is familiar with the terms and concepts described in  
         <xref target="RFC5280">"Internet X.509 Public Key Infrastructure Certificate
             and Certificate Revocation List (CRL) Profile"</xref>,
         <xref target="I-D.ietf-sidr-res-certs"> "A Profile for X.509 PKIX Resource Certificates"</xref>
         <xref target="RFC3779">"X.509 Extensions for IP  Addresses and AS Identifiers"</xref>,
         <xref target="I-D.ietf-sidr-roa-format">"A Profile for Route Origin Authorizations (ROAs)"</xref>,
         <xref target="I-D.ietf-sidr-roa-validation">"Validation of Route Origination in BGP using the Resource Certificate PKI and ROAs"</xref>, and 
         <xref target="I-D.pmohapat-sidr-pfx-validate">BGP Prefix Origin Validation"</xref>.
         
        </t>
      </section>
      
      <section title="Definitions">
      <t>The following definitions are in use in this document.</t>
      
      <t>Autonomous System -  A network under a single technical administration that presents a 
      	consistent picture of what destinations are reachable through it.</t>

	  <t>Autonomous System Number (ASN) - An officially registered number representing an autonomous system.</t>
      
      <t>Prefix - A network address and an integer that specifies the length of a mask to be applied to the 
      	address to represent a set of numerically adjacent addresses.</t>
      
      <t>Route - A prefix and a sequence of one or more autonomous system numbers.</t>
      
      <t>Origin AS - The Autonomous System, designated by an ASN, which originates a route. Seen as the "First" ASN in a route.</t>
      
      <t>Specific route - A route that has a longer prefix than an aggregate.</t>
      
      <t>Aggregate route - A more general route in the presence of a specific route.</t>
          
      <t>Covering Aggregate - A route that covers one or more specific routes.</t>
      
      <t>Multi-homed Autonomous System - An Autonomous System that is connected, and announces routes, to two or more Autonomous Systems.</t>
      
      <t>Multi-homed prefix or subnet - A prefix (i.e., subnet) that is originated via two or more Autonomous Systems to which the subnet is connected.</t>
      
      <t>Resource - Internet (IP) addresses or Autonomous System Number.</t>
      
      <t>Allocation - The set of resources provided to an entity or organization for its use.</t>
      
      <t>Sub-allocation - The set of a resources subordinate to an allocation assigned to another entity or organization.</t>
           
      <t>Transit Provider - An Autonomous System that carries traffic that neither originates nor is the destination of that traffic.</t>
      
      <t>Upstream - See "Transit Provider".</t>
      
      <t>Child - A Sub-allocation that has resulted from an Allocation.</t>

      <t>Parent - An allocation from which the subject prefix is a Child.</t>

      <t>Grandchild - A Sub-allocation from one or more previous Sub-allocations.</t>
                 
      <t>Grandparent - The allocation from which the prefix is a Grandchild.</t>
      
      <t>Update prefix - The prefix seen in a routing update.</t>
      
      <t>ROA prefix - The prefix described in a ROA.</t>
 
	  <t>Covering Prefix - The ROA Prefix is an exact match or a less specific when compared to the update prefix.</t>
	  
	  <t>No relevant ROA - No ROA exists that has a covering prefix for the update prefix.</t>
	  
	  <t>No other relevant ROA - No other ROA (besides any that is(are) already cited) that has a covering prefix for the update prefix.</t>
      
      </section>
      

      <section title="Requirements Language">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in RFC 2119.</t>
      </section>
    </section>

	<section title="Overview">
		<section title="General interpretation of RPKI object semantics">
			<t>It is important that in the interpretation of relying parties (RP), or relying party 
				routing software, that a 'make before break' stance is applied. This means that a RP should 
				implement a routing decision process where a routing update ("route") is assumed to be intended unless 
				proven otherwise by the existence of a valid RPKI object. For all of the cases in this document
			it is assumed that RPKI objects validate (or otherwise) in accordance with <xref target="I-D.ietf-sidr-res-certs"></xref>,
			<xref target="I-D.ietf-sidr-arch"></xref>, <xref target="I-D.ietf-sidr-roa-validation"></xref> unless otherwise stated.</t>
			
			<t>While many of the examples provided here illustrate organizations using their own autonomous system numbers to originate routes,
			it should be recognised that a prefix holder need not necessarily be the holder of the autonomous system number used for the route origination.</t>
			
		</section>
				
	</section>


    <section title="Origination Use Cases">
    	<t>This section deals with the various use cases where an organization has Internet resources and will announce routes 
    		to the Internet. It is based on operational observations of the existing routing system.</t>
    
		<section title="Single Announcement">
	<t>An organization (Org A with ASN 64496) has been allocated the prefix 192.168.2.0/24.
  It wishes to announce the /24 prefix from ASN 64496 
  such that relying parties interpret the route as intended.</t>

  <t>The desired announcement (and organization) would be:</t>
  
  	<figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 192.168.2.0/24  | AS64496     |   Org A      |
   +----------------------------------------------+
  	]]></artwork></figure>
  	
  	<t>The issuing party would create the following RPKI objects:  TBC </t>
   
		</section>

<section title="Aggregate with a More Specific">
	<t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16. It
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64496 as
  well as the aggregate route such that relying
  parties interpret the routes as intended.</t>
  
   <t>The desired announcements (and organization) would be:</t>
  
  	<figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/16     | AS64496     |   Org A      |  
   | 10.1.0.0/20     | AS64496     |   Org A      |
   +----------------------------------------------+
  	]]></artwork></figure>

   <t>The issuing party would create the following RPKI objects:  TBC </t>
</section>

<section title="Aggregate with a More Specific from a Different ASN">
	<t>An organization (Org A with ASN 64496 and ASN 64499) has been allocated the prefix 10.1.0.0/16. It
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64499 as
  well as the aggregate route from ASN 64496 such that relying
  parties interpret the routes as intended.</t>
  
     <t>The desired announcements (and organization) would be:</t>
  
  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Org A      |
   | 10.1.0.0/20     | AS64499     |  Org A      |
   +---------------------------------------------+
  	]]></artwork></figure>
   
  <t>The issuing party would create the following RPKI objects:  TBC </t>
</section>

<section title="Sub-allocation to a Multi-homed Customer">
	<t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16, it
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64496. It has
  further delegated 10.1.16.0/20 to a customer (Org B with ASN 64511) who is multi-homed and will originate
  the prefix route from ASN 64511. ASN 64496 will also announce the aggregate
  route such that relying parties interpret the routes as intended.</t>
  
  <t>The desirable announcements (and organization) would be:</t>
  
  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Org A      |
   | 10.1.0.0/20     | AS64496     |  Org A      |
   | 10.1.16.0/20    | AS64511     |  Org B      |
   +---------------------------------------------+
  	]]></artwork></figure>
  
  <t>The issuing parties would create the following RPKI objects:  TBC </t>
</section>

<section title="Restriction of a New Allocation">
	<t>An organization has recently been allocated the prefix 10.1.0.0/16.
  Its network deployment is not yet ready to announce the prefix and wishes
  to restrict all possible announcements of 10.1.0.0/16 and more specifics in routing using RPKI.</t>
  
  <t>The following announcements would be considered undesirable:</t>
 
  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | ANY AS      |  ANY        |
   | 10.1.0.0/20     | ANY AS      |  ANY        |
   | 10.1.17.0/24    | ANY AS      |  ANY        |
   +---------------------------------------------+
  	]]></artwork></figure>

  <t>The issuing party would create the following RPKI objects:  TBC </t>

  </section>


<section title="Restriction of New ASN">
	<t>An organization has recently been allocated an additional 4 byte ASN
  65535.  Its network deployment is not yet ready to use this ASN and
  wishes to restrict all possible uses of ASN 65535 using RPKI.</t>
          
  <t>The following announcements would be considered undesirable:</t>
 
  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | ANY             | AS65535     |  ANY        |
   +---------------------------------------------+
  	]]></artwork></figure>
  
   <t>The issuing party would create the following RPKI objects:  TBC </t>
   
</section>

<section title="Restriction of a Part of an Allocation">
	<t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16.
  Its network topology permits the announcement of 10.1.0.0/17 and the /16 aggregate. However
  it wishes to restrict any possible announcement of 10.1.128.0/17 or more specifics of that /17 using RPKI.</t>
  
  <t>The desired announcements would be:</t>
 
  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Org A      |
   | 10.1.0.0/17     | AS64496     |  Org A      |
   +---------------------------------------------+
  	]]></artwork></figure>
  
  
  <t>The following announcements would be considered undesirable:</t>
 
  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.128.0/17   | ANY AS      |  ANY        |
   | 10.1.128.0/24   | ANY AS      |  ANY        |
   +---------------------------------------------+
  	]]></artwork></figure>
 
  <t>The issuing party would create the following RPKI objects:  TBC </t>
 
</section>

<section title="Restriction of Prefix Length">
	<t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16, it 
wishes to announce the aggregate and any or all more specific prefixes up to and 
including a maximum length of /20, but never any more specific than a /20.</t>

  <t>Examples of the desired announcements (and organization) would be:</t>

  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Org A      |
   | 10.1.0.0/17     | AS64496     |  Org A      |
   |     ...	     | AS64496     |  Org A      |
   | 10.1.128.0/20   | AS64496     |  Org A      |
   +---------------------------------------------+
  	]]></artwork></figure>
    
  
  <t>The following announcements would be considered undesirable:</t>

  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/21     | ANY AS      |  ANY        |
   | 10.1.0.0/22     | ANY AS      |  ANY        |
   |     ...	     | ANY AS      |  ANY        |
   | 10.1.128.0/24   | ANY AS      |  ANY        |
   +---------------------------------------------+
  	]]></artwork></figure>
  	
  <t>The issuing party would create the following RPKI objects:  TBC </t>

</section>

<section title="Restriction of Sub-allocation Prefix Length">
	<t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16, 
		it sub-allocates several /20 prefixes to its multi-homed customers Org B with ASN 65535, and Org C with ASN 64499. It wishes 
		to restrict those customers from advertising any corresponding routes more specific 
		than a /22.</t>
		
  <t>The desired announcements would be:</t>
 
  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Org A      |
   | 10.1.0.0/20     | AS65535     |  Org B      |
   | 10.1.128.0/20   | AS64499     |  Org C      |
   | 10.1.4.0/22     | AS65535     |  Org B
   +---------------------------------------------+
  	]]></artwork></figure>
  
  
  <t>The following example announcements (and organization) would be considered undesirable:</t>

  	<figure><artwork><![CDATA[
   +---------------------------------------------+
   | Prefix          | Origin AS   |Organization |
   +---------------------------------------------+
   | 10.1.0.0/24     | AS65535     |  Org B      |
   | 10.1.128.0/24   | AS64499     |  Org C      |
   |  .....          | ...         | ...         |
   | 10.1.0.0/23     | ANY AS      |  ANY        |
   +---------------------------------------------+
  	]]></artwork></figure>
	
	
	<t>The issuing party would create the following RPKI objects:  TBC </t>
		
</section>

  <section title="Aggregation and Origination by an Upstream">
    <t>Consider four organizations with the following resources, which were
   acquired independently from any transit provider.
.  
</t>
  
  	<figure><artwork><![CDATA[
   +-------------------------------------------------+
   | Organization     | ASN     |    Prefix          |
   +-------------------------------------------------+
   | Org A            | AS64496 |  10.1.0.0/24       |
   | Org B            | AS65535 |  10.1.3.0/24       |
   | Org C            | AS64499 |  10.1.1.0/24       |
   | Org D            | AS64512 |  10.1.2.0/24       |  
   +-------------------------------------------------+
  	]]></artwork></figure>
    
    <t>These organizations share a common upstream provider Transit A (ASN 64497) that originates an aggregate of these prefixes 
    	with the permission of all four organizations.</t>

   <t>The desired announcements (and organization) would be:</t>
 
  	<figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/24     | AS64496     |   Org A      |  
   | 10.1.3.0/24     | AS65535     |   Org B      |
   | 10.1.1.0/24     | AS64499     |   Org C      |
   | 10.1.2.0/24     | AS64512     |   Org D      |
   | 10.1.0.0/22     | AS64497     |   Transit A  |
   +----------------------------------------------+
  	]]></artwork></figure>
      	
    <t>The issuing parties would create the following RPKI objects:  TBC </t>	
    </section>

  <section title="Rogue Aggregation and Origination by an Upstream">
    <t>Consider four organizations with the following resources which were acquired independently from any transit provider.</t>
  
  	<figure><artwork><![CDATA[
   +-------------------------------------------------+
   | Organization     | ASN     |    Prefix          |
   +-------------------------------------------------+
   | Org A            | AS64496 |  10.1.0.0/24       |
   | Org B            | AS65535 |  10.1.3.0/24       |
   | Org C            | AS64499 |  10.1.1.0/24       |
   | Org D            | AS64512 |  10.1.2.0/24       |  
   +-------------------------------------------------+
  	]]></artwork></figure>
   
    <t>These organizations share a common upstream provider Transit A (ASN 64497) that originates an aggregate 
    	of these prefixes where possible. 
    	In this situation organization B (ASN 65535, 10.1.3.0/24) does not wish for its prefix to be aggregated by the upstream</t>

   <t>The desired announcements (and organization) would be:</t>
  
  	<figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/24     | AS64496     |   Org A      |  
   | 10.1.3.0/24     | AS65535     |   Org B      |
   | 10.1.1.0/24     | AS64499     |   Org C      |
   | 10.1.2.0/24     | AS64512     |   Org D      |
   | 10.1.0.0/23     | AS64497     |   Transit A  |   
   +----------------------------------------------+
  	]]></artwork></figure>
      	
  
    <t>The following announcement would be undesirable:</t>
  
  	<figure><artwork><![CDATA[
   +----------------------------------------------+
   | Prefix          | Origin AS   | Organization |
   +----------------------------------------------+
   | 10.1.0.0/22     | AS64497     |   Transit A  |  
   +----------------------------------------------+
  	]]></artwork></figure>
    
    <t>The issuing parties would create the following RPKI objects:  TBC </t>
    	  	
    </section>

    </section>
    
     
    <section title="Adjacency Use Cases">
    	<t>Issues regarding validation of adjacency, or path validation, are currently out of scope of the SIDR-WG charter. 
    		The use cases in this section are listed here as a reminder that the work goes beyond origination and at 
    		the stage when origination has been addressed by the WG, a re-charter to encompass adjacency will allow consideration 
    		of these use cases. </t>
    	
    	<section title="Multi-homed">
    	   <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16.
  Its upstream transit providers are Transit A with ASN 65535 and Transit B with ASN 64499.
  The organization announces the /16 aggregate. It permits that  
  ASN 65535 and ASN 64499 may further pass on the aggregate route to their peers or upstreams.</t>
  
  <t>The following announcements and paths would be desired:</t>
  
  	<figure><artwork><![CDATA[
   +---------------------------------------------------------+
   | Prefix          | Origin AS   |    Path                 |
   +---------------------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  AS64499 AS64496        |
   | 10.1.0.0/16     | AS64496     |  AS65535 AS64496        |
   +---------------------------------------------------------+
  	]]></artwork></figure>
   
   <t>The issuing parties would create the following RPKI objects:  TBC </t>
   
    	</section>
    
    <section title="Restricting Peers">
   <t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16.
  Its two upstreams are Transit X with ASN 65535 and Transit Y with ASN 64499. The organization (ASN 64496) peers with a third AS, 
  Peer Z with ASN 64511. 
  Org A announces the more specific 10.1.0.0/24 and the /16 aggregate. It wishes that only 
  ASNs 65535 and 64499 may announce the aggregate and more specifics to their upstreams.
  ASN 64511, the peer, may not further announce (pass on, or leak) any routes for 10.1.0.0/16 and 10.1.0.0/24.</t>
  
  <t>The following announcements and paths would be desired:</t>

  	<figure><artwork><![CDATA[
   +---------------------------------------------------------+
   | Prefix          | Origin AS   |    Path                 |
   +---------------------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  AS64499 AS64496        |
   | 10.1.0.0/24     | AS64496     |  AS64499 AS64496        |
   | 10.1.0.0/16     | AS64496     |  AS65535 AS64496        |
   | 10.1.0.0/24     | AS64496     |  AS65535 AS64496        |
   | 10.1.0.0/16     | AS64496     |  Any_AS AS64499 AS64496 |
   | 10.1.0.0/24     | AS64496     |  Any_AS AS64499 AS64496 |
   | 10.1.0.0/16     | AS64496     |  Any_AS AS65535 AS64496 |
   | 10.1.0.0/24     | AS64496     |  Any_AS AS65535 AS64496 |
   | 10.1.0.0/16     | AS64496     |  AS64511 AS64496        |
   | 10.1.0.0/24     | AS64496     |  AS64511 AS64496        |
   +---------------------------------------------------------+
  	]]></artwork></figure>
  
  
   <t>The following announcements and paths would be considered undesirable:</t>
 
  	<figure><artwork><![CDATA[
   +---------------------------------------------------------+
   | Prefix          | Origin AS   |    Path                 |
   +---------------------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Any_AS AS64511 AS64496 |
   | 10.1.0.0/24     | AS64496     |  Any_AS AS64511 AS64496 |
   +---------------------------------------------------------+
  	]]></artwork></figure>
  
  <t>The issuing parties would create the following RPKI objects:  TBC </t>
  
</section>



    </section>

<section title="Partial Deployment Use Cases">
		
		<section title="Parent does not do RPKI">
			<t>An organization (Org A with ASN 64511) is multi-homed has been assigned the prefix 10.1.0.0/20 from its upstream (Transit X with ASN 64496). 
				Org A wishes to announce the prefix 10.1.0.0/20 from ASN 64511 to its other upstream(s). 
				Org A also wishes to create RPKI statements about the resource, however Transit X (ASN 64496) which announces the aggregate 10.1.0.0/16 has not yet adopted RPKI.</t>
				
				<t>The desired announcements (and organization with RPKI adoption) would be:</t>
 
  	<figure><artwork><![CDATA[
   +----------------------------------------------------+
   | Prefix          | Origin AS   |Organization | RPKI |
   +----------------------------------------------------+
   | 10.1.0.0/20     | AS64511     |  Org A      | Yes  |
   | 10.1.0.0/16     | AS64496     |  Transit X  | No   |
   +----------------------------------------------------+
  	]]></artwork></figure>
 
  
  <t>The issuing parties would create the following RPKI objects:  TBC </t>
  
		</section>
		
		<section title="Only Some Children Participate in RPKI">
		<t>An organization (Org A with ASN 64496) has been allocated the prefix 10.1.0.0/16 and participates in RPKI, it
  wishes to announce the more specific prefix 10.1.0.0/20 from ASN 64496. It has
  further delegated 10.1.16.0/20 and 10.1.32.0/20 to customers Org B with ASN 64511 and and Org C with ASN 65535 (respectively) who are multi-homed. 
  Org B (ASN 64511) does not participate in RPKI. Org C (ASN 65535) participates in RPKI.</t>
 
 				<t>The desired announcements (and organization with RPKI adoption) would be:</t>
  
  	<figure><artwork><![CDATA[
   +----------------------------------------------------+
   | Prefix          | Origin AS   |Organization | RPKI |
   +----------------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Org A      | Yes  |
   | 10.1.0.0/20     | AS64496     |  Org A      | Yes  |
   | 10.1.16.0/20    | AS64511     |  Org B      | No   |
   | 10.1.32.0/20    | AS65535     |  Org C      | YES  |
   +----------------------------------------------------+
  	]]></artwork></figure>
   
  
  <t>The issuing parties would create the following RPKI objects:  TBC </t>
  
		</section>
		
		<section title="Grandchild Does Not Participate in RPKI">
		<t>Consider the previous example with an extension by where Org B, who does not participate in RPKI, further 
			allocates 10.1.17.0/24 to Org X with ASN 64512. Org X does not participate in RPKI.</t>

		 <t>The desired announcements (and organization with RPKI adoption) would be:</t>
  
  	<figure><artwork><![CDATA[
   +----------------------------------------------------+
   | Prefix          | Origin AS   |Organization | RPKI |
   +----------------------------------------------------+
   | 10.1.0.0/16     | AS64496     |  Org A      | Yes  |
   | 10.1.0.0/20     | AS64496     |  Org A      | Yes  |
   | 10.1.16.0/20    | AS64511     |  Org B      | No   |
   | 10.1.32.0/20    | AS65535     |  Org C      | YES  |
   | 10.1.17.0/24    | AS64512     |  Org X      | No   |
   +----------------------------------------------------+
  	]]></artwork></figure>
  
  <t>The issuing parties would create the following RPKI objects:  TBC </t>
  
			</section>
			

			
			
			
			
	</section>
	
	
	<section title="Transfer Use Cases">
			
				<section title="Transfer of in-use prefix and autonomous system number">
			
			<t>Organization A holds the resource 10.1.0.0/20 and it is currently in use and originated from AS64496 with valid RPKI objects in place. Organization B 
				has acquired both the prefix and ASN and desires an RPKI transfer on a particular date and time without adversely affecting the operational use of the resource.</t>
			
			<t>The following RPKI objects would be created/revoked: TBC</t>
			
			</section>
			
			
			<section title="Transfer of in-use prefix">
			
			<t>Organization A holds the resource 10.1.0.0/8 and it is currently in use and originated from AS64496 with valid RPKI objects in place. Organization B 
				has acquired the address and desires an RPKI transfer on a particular date and time. This prefix will be originated by AS65535 as a result of this transfer.</t>
			
			<t>The following RPKI objects would be created/revoked: TBC</t>
			
			</section>
			
			<section title="Transfer of un-used prefix">
			
			<t>Organization A holds the resource 10.1.0.0/8 and AS65535 (with RPKI objects). Organization B has acquired an unused portion (10.1.4.0/24) of the prefix  
				and desires an RPKI transfer on a particular date and time. Organization B will originate a route 10.1.4.0/24 from AS64496</t>
			
			<t>The following RPKI objects would be created/revoked: TBC</t>
			
			</section>
			
	</section>
	
	<section title="Relying Party Use Cases">
	

<section title="ROA Expiry or receipt of a CRL covering a ROA">
	
	<t>In the cases which follow, the terms "expired ROA" or "revoked ROA" are shorthand, and describe the appropriate 
	expiry or revocation of the EE or Resource Certificates that causes a relying party to consider the corresponding ROA to be viewed as expired or revoked.</t>

<section title="ROA of Parent Prefix is Revoked"> 
	<t>A  certificate revocation list (CRL) is received which reveals that the
	 ROA containing the prefix 10.1.0.0/16; maxLength 24 with ASN64496 is revoked. Further, a prefix route exists in the
	 Internet routing system for 10.1.4.0/24 originated from ASN64496.</t>

<t>The Relying Party interpretation would be: TBC </t>

</section>


<section title="ROA of Prefix Revoked"> 
	
	<t>A CRL is received which reveals that the ROA containing the 
	prefix 10.1.4.0/24; maxLength 24 with ASN64496 is revoked. Further, a prefix route exists in the Internet routing 
	system for 10.1.4.0/24 originated from ASN64496.</t>

<t>The Relying Party interpretation would be: TBC </t>

<t>A counter example: If there was simultaneously a valid ROA containing the (less specific) 
prefix 10.1.0.0/20; maxLength 24 with ASN64496. (see Section 7.1.4) </t>

<t>The Relying Party interpretation would be: TBC </t>

</section>

<section title="ROA of Grandparent Prefix Revoked while that of Parent Prefix Prevails"> 
	
	<t>A CRL is received which reveals that the ROA containing the prefix 10.1.0.0/16; maxLength 24 with ASN64496 is 
	revoked. Further, a prefix route exists in the Internet routing system for 10.1.4.0/24 originated from ASN64496. 
	Additionally, the current ROA list has a valid ROA containing the prefix 10.1.0.0/20; maxLength 
	24 with ASN64496.</t>

<t>The Relying Party interpretation would be: TBC </t>

<t>(Clarification: ROA for less specific grandparent prefix 10.1.0.0/16 was revoked or withdrawn) </t>

<t>The Relying Party interpretation would be: TBC </t>

</section>

<section title="ROA of Prefix Revoked while that of Parent Prefix Prevails">
	
	<t>A CRL is received which reveals that the 
	ROA containing the prefix 10.1.4.0/24; maxLength 24 with ASN64496 is revoked. Further, a prefix route exists in 
	the Internet routing system for 10.1.4.0/24 originated from ASN64496.  Additionally, the current ROA list has a 
	valid ROA containing the prefix 10.1.0.0/20; maxLength 24 with ASN64496.</t>

<t>The Relying Party interpretation would be: TBC </t>

<t>(Clarification:  Perhaps the revocation of ROA for prefix 10.1.4.0/24 was initiated just to eliminate redundancy.)</t>

</section>
 
<section title="Expiry of ROA of Parent Prefix"> 
	<t>A scan of the ROA list reveals that the ROA containing the 
	prefix 10.1.0.0/16; maxLength 24 with ASN64496 has expired. Further, a prefix route exists in the Internet routing system for 
	10.1.4.0/24 originated from ASN64496.</t>
	
<t>The Relying Party interpretation would be: TBC </t>

</section>

<section title="Expiry of ROA of Prefix"> 
	<t>A scan of the ROA list reveals that the ROA containing the prefix 
	10.1.4.0/24; maxLength 24 with ASN64496 has expired. Further, a prefix route exists in the Internet routing system for 
	10.1.4.0/24 originated from ASN64496.</t>
	
<t>The Relying Party interpretation would be: TBC </t>
 
</section>

<section title="Expiry of ROA of Grandparent Prefix while ROA of Parent Prefix Prevails"> 
	<t>A scan of the ROA list reveals that the ROA containing the prefix 10.1.0.0/16; 
	maxLength 24 with ASN64496 has expired. Further, a prefix route exists in the Internet routing system 
	for 10.1.4.0/24 originated from ASN64496. Additionally, the current ROA list has a 
	valid ROA containing the prefix 10.1.0.0/20; maxLength 24 with ASN64496.</t>

<t>The Relying Party interpretation would be: TBC </t>

<t>(Clarification: ROA for less specific grandparent prefix 10.1.0.0/16 has expired.) </t>
</section>

<section title="Expiry of ROA of Prefix while ROA of Parent Prefix Prevails"> 
	<t>A scan of the ROA list reveals that the ROA containing the prefix 10.1.4.0/24; maxLength 
	24 with ASN64496 has expired. Further, a prefix route exists in the Internet routing system for 10.1.4.0/24 originated 
	from ASN64496.  Additionally, the current ROA list has a valid ROA containing the prefix 10.1.0.0/20; 
	maxLength 24 with ASN64496.</t>

<t>The Relying Party interpretation would be: TBC </t> 

<t>(Clarification: Perhaps the expiry of the ROA for prefix 10.1.4.0/24 was meant to eliminate redundancy.)</t>
</section>

</section>


<section title="Prefix, Origin Validation use cases">
<t>These use cases try to systematically enumerate the situations a relying party may encounter while receiving a 
	BGP update and making use of ROA information to interpret the validity of the prefix-origin information in 
	the update. We enumerate the situations or scenarios but do not make a final recommendation on any RPKI interpretation.
	For work on development of prefix-origin validation algorithms, see <xref target="I-D.ietf-sidr-roa-validation"></xref> and <xref target="I-D.pmohapat-sidr-pfx-validate"></xref>.
	Also see <xref target="I-D.ietf-idr-deprecate-as-sets"></xref> for work-in-progress in the IDR WG to deprecate AS_SETs in BGP updates (especially in the context of RPKI-based validation).
	</t>

<section title="Covering ROA Prefix, maxLength Satisfied, and AS Match">

<t>ROA: {10.1.0.0/16, maxLength = 20, AS64496}</t>
<t>Update has {10.1.0.0/17, Origin = AS64496}</t>
<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: This is a straight forward prefix-origin validation use case; it follows from the 
	primary intention of creation of ROA by a resource owner. </t>

</section>

<section title="Covering ROA Prefix, maxLength Exceeded, and AS Match">
<t>ROA: {10.1.0.0/16, maxLength = 20, AS64496}</t>
<t>Update has {10.1.0.0/22, Origin = AS64496}</t>
<t>No other relevant ROA</t>
<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: In this case the maxLength specified in the ROA is exceeded by the update prefix. </t>
</section>

<section title="Covering ROA Prefix, maxLength Satisfied, and AS Mismatch:">
<t>ROA: {10.1.0.0/16, maxLength = 24, AS64496}</t>
<t>Update has {10.1.88.0/24, Origin = AS65535}</t>
<t>No other relevant ROA</t>
<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: In this case an AS other than the one specified in the ROA is originating an update. 
	This may be a prefix or subprefix hijack situation.  </t>


</section>

<section title="Covering ROA Prefix, maxLength Exceeded, and AS Mismatch">
<t>ROA: {10.1.0.0/16, maxLength = 22, AS64496}</t>
<t>Update has {10.1.88.0/24, Origin = AS65535}</t>
<t>No other relevant ROA</t>
<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: In this case the maxLength specified in the ROA is exceeded by the update prefix, 
	and also an AS other than the one specified in the ROA is originating the update. This may 
	be a subprefix hijack situation.  </t>

</section>

<section title="Covering ROA Prefix Not Found">
<t>Update has {240.1.1.0/24, Origin = AS65535}</t>
<t>No relevant ROA</t>
<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: In this case there is no relevant ROA that has a covering prefix for the update prefix. 
	It could be a case of prefix or subprefix hijack situation, but this announcement does not contradict 
	any existing ROA. During partial deployment, there would be some legitimate prefix-origin announcements 
	for which ROAs may not have been issued yet. </t>

</section>

<section title="Covering ROA Prefix Not Found but ROAs Exist for a Covering Set of More Specifics">

	
<t>ROA: {10.1.0.0/18, maxLength = 20, AS64496}</t>
<t>ROA: {10.1.64.0/18, maxLength = 20, AS64496}</t>
<t>ROA: {10.1.128.0/18, maxLength = 20, AS64496}</t>
<t>ROA: {10.1.192.0/18, maxLength = 20, AS64496}</t>
<t>Update has {10.1.0.0/16, Origin = AS64496}</t>
<t>No relevant ROA</t>
<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: In this case the update prefix is an aggregate, and it turns out that there exit ROAs for 
	more specifics which, if combined, can help support validation of the announced prefix-origin pair. 
	But it is very hard in general to breakup an announced prefix into constituent more specifics 
	and check for ROA coverage for those more specifics.
 </t>

 
</section>

<section title="AS_SET in Update and Covering ROA Prefix Not Found">

<t>Update has {10.1.0.0/16, Origin = [AS64496, AS64497, AS64498,
   AS64497]}
</t>
<t>No relevant ROA</t>
<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: An extremely small percentage (~0.1%) of eBGP updates are
   seen to have an AS_SET in them as origin; this is known as proxy
   aggregation.  In this case, update with the AS_SET does not conflict with any ROA.
</t>

</section>

<section title="Singleton AS in AS_SET (in the Update), Covering ROA Prefix, and AS Match">

<t>Update has {10.1.0.0/24, Origin = [AS64496]}
	(Note: AS_SET with singleton AS appears in origin AS position.)
</t>

<t>ROA: {10.1.0.0/22, maxLength = 24, AS64496}</t>

<t>
Recommended RPKI prefix-origin validation interpretation: TBC 
</t>

<t>
Comment: In the spirit of <xref target="I-D.ietf-idr-deprecate-as-sets"></xref>, possibly any 
update with an AS_SET in it should not be considered valid (by ROA-based validation). 
But does a scenario as described in the example here need be treated differently?
</t>


</section>

<section title="Singleton AS in AS_SET (in the Update), Covering ROA Prefix, and AS Mismatch">

<t>Update has {10.1.0.0/24, Origin = [AS64496]}</t>
<t>(Note: AS_SET with singleton AS appears in origin AS position.) </t>
<t>ROA: {10.1.0.0/22, maxLength = 24, AS65535}
   No other relevant ROA.
</t>

<t>Recommended RPKI prefix-origin validation interpretation: TBC </t>

<t>Comment: In this case, update with the AS_SET does conflict with a ROA and there is no other relevant ROA.
</t>

</section>

<section title="Multiple ASs in AS_SET (in the Update) and Covering ROA Prefix">

<t>Update has {10.1.0.0/22, Origin = [AS64496, AS64497, AS64498,
   AS64497]}
</t>

<t>ROA: {10.1.0.0/22, maxLength = 24, AS65535}
   No other relevant ROA.
</t>

<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: In this case, update with the AS_SET conflicts with a ROA and there is no other relevant ROA.</t>

</section>

<section title="Update has an AS_SET as Origin and ROAs Exist for a Covering Set
        of More Specifics">
        
<t>ROA: {10.1.0.0/18, maxLength = 20, AS64496}

   ROA: {10.1.64.0/18, maxLength = 20, AS64497}

   ROA: {10.1.128.0/18, maxLength = 20, AS64498}

   ROA: {10.1.192.0/18, maxLength = 20, AS64499}
</t>

<t>Update has {10.1.0.0/16, Origin = [AS64496, AS64497, AS64498,
   AS64497]}
</t>

<t>No (directly) relevant ROA</t>

<t>Recommended RPKI prefix-origin validation interpretation: TBC</t>

<t>Comment: In this case the aggregate of the prefixes in the ROAs
   is a covering prefix for the update prefix.  The ASs in each of the
   contributing ROAs together form a set that matches the AS_SET in the
   update.  But it is very hard in general to breakup an announced
   prefix into constituent more specifics and check for ROA coverage for
   those more specifics. In any case, it may be noted once again that in 
   the spirit of <xref target="I-D.ietf-idr-deprecate-as-sets"></xref>, 
   possibly any update with an AS_SET in 
   it should not be considered valid (by ROA-based validation).
</t>
</section>


</section>


     </section>	

	
    <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

    <?rfc needLines="8" ?>


    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors are indebted to both Sandy Murphy and Sam Weiler for their guidance. Further, the authors would like
      to thank Curtis Villamizar, Steve Kent, and Danny McPherson for their technical insight and review.</t>
    </section>


    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>

    </section>

    <section anchor="Security" title="Security Considerations">
    	<t>This memo requires no security considerations</t>
      
    </section>
 
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
 
    <references title="Normative References">
      &RFC3779;  
      &RFC5280;
      &RFC3852;
      &RFC4055;
      &RFC4271;
      &RFC4893;   
      &I-D.ietf-sidr-res-certs;
      &I-D.ietf-sidr-roa-format;
      &I-D.ietf-sidr-arch; 
	  &I-D.ietf-sidr-roa-validation;
	  &I-D.ietf-idr-deprecate-as-sets;
	  &I-D.pmohapat-sidr-pfx-validate;
	   
           
    </references>
       
  </back>
</rfc>