<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-liu-opsawg-ipfix-bgp-pov-01" ipr="trust200902" submissionType="IETF" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="IPFIX BGP Prefix Origin Validation">Export of BGP Prefix Origin Validation in IP Flow Information Export (IPFIX)</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-opsawg-ipfix-bgp-pov-01"/>
    <author fullname="Yisong Liu" initials="Y." surname="Liu">
      <organization>China Mobile</organization>
      <address>
	     <postal>
          <country>China</country>
         </postal>
        <email>liuyisong@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Xueyan Song" initials="X." surname="Song">
      <organization>ZTE Corporation</organization>
      <address>
	     <postal>
          <country>China</country>
         </postal>
        <email>song.xueyan2@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Taoran Zhou" initials="T." surname="Zhou">
      <organization>ZTE Corporation</organization>
      <address>
	     <postal>
          <country>China</country>
         </postal>
        <email>zhou.taoran@zte.com.cn</email>
      </address>
    </author>
    <date/>
    <workgroup>OPSAWG</workgroup>
    <keyword>BGP</keyword>
	<keyword>Prefix Origin Validation</keyword>
    <keyword>RPKI</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 defines an IP Flow Information Export (IPFIX) Information Element for monitoring the state of Resource Public Key 
	   Infrastructure (RPKI) based BGP Prefix Origin Validation. The Information Element enables network operators to collect and analyze 
	   BGP route validation states (valid, invalid, not-found) to facilitate the detection of potential route hijacks improving network 
	   observability and security.
      </t>
    </abstract>
	
  </front>
      <!-- end of abstract -->	
	  
  <middle>
    <section anchor="sec_intro" numbered="true" toc="default">
      <name>Introduction</name>
	 <t>
    The RPKI <xref target="RFC6480"/> provides a cryptographic framework for validating the association between IP address blocks and Autonomous 
	System (AS) numbers. BGP Prefix Origin Validation, as defined in <xref target="RFC6811"/>, enables routers to verify whether the origin AS of 
	a BGP route announcement is authorized to advertise the corresponding IP prefix, based on Route Origin Authorizations (ROAs) <xref target="RFC9582"/> in the RPKI.	 
	 </t>
	 <t>
	 When BGP Prefix Origin Validation is enabled on a router, the router maintains a local cache of Validated ROA Payloads (VRPs) obtained 
	 through the RPKI-to-Router protocol (RTR) <xref target="RFC8210"/>. For each received BGP UPDATE message, the router extracts the announced IP prefix 
	 and its origin AS, compares this tuple against the local VRP cache, and assigns a validation state (valid, invalid, not-found) according 
	 to the algorithm specified in <xref target="RFC6811"/>. This validation state can be attached as a local path attribute to the BGP route entry 
	 and influence subsequent routing decisions, such as route filtering and route preference adjustment.
	 </t>
	 <t>
	 While this validation mechanism enhances BGP security, network operators currently lack standardized methods to monitor the validation states 
	 across their network infrastructure. IP Flow Information Export (IPFIX) <xref target="RFC7011"/> provides a standard protocol for exporting 
	 flow information from network devices. 
	 </t>
     <t>
	 This document defines a new IPFIX Information Element specifically designed for monitoring the state of RPKI-based BGP Prefix Origin Validation. 
	 The element enables network operators to collect, analyze, and monitor the validation states of BGP routes across their network infrastructure.
     </t>
	</section>
    <!-- end of introduction -->
	

<section numbered="true" toc="default">
      <name>Terminology</name>
      <section numbered="true" toc="default">
        <name>Terms Used in This Document</name>
        <t>
        This document uses the following terms defined in <xref target="RFC6811"/>.
        </t>
        <t>
		Validated ROA Payload (VRP): A locally stored object which contains the content (IP address, prefix length, maximum length, origin AS number).</t>
        <t>
		Prefix: (IP address, prefix length), interpreted as is customary (see <xref target="RFC4632"/>).
		</t>
        <t>
		Route: Data derived from a received BGP UPDATE, as defined in <xref target="RFC4271"/>.
		</t>	
        <t>Additionally, this document uses the terms defined in <xref target="RFC7011"/>.</t>	  
        <t>
		Observation Point: An Observation Point is a location in the network where packets can be observed. Examples include a line to which a probe is attached;
		a shared medium, such as an Ethernet-based LAN; a single port of a router; or a set of interfaces (physical or logical) of a router.
		</t>		  
		<t>
		Exporter: A device that hosts one or more Exporting Processes is termed an Exporter.
		</t>	
		<t>
		IPFIX Device: An IPFIX Device hosts at least one Exporting Process. It may host further Exporting Processes as well as arbitrary numbers of Observation 
		Points and Metering Processes.
		</t>
		<t>
		Information Element: An Information Element is a protocol and encoding independent description of an attribute that may appear in an IPFIX Record. 
		Information Elements are defined in the IANA "IPFIX Information Elements" registry (see IANA-IPFIX). The type associated with an Information Element indicates 
		constraints on what it may contain and also determines the valid encoding mechanisms for use in IPFIX.
		</t>	
		<t>
		Exporting Process: The Exporting Process sends IPFIX Messages to one or more Collecting Processes. The Flow Records in the Messages are generated by one 
		or more Metering Processes.
		</t>
		<t>
		Collecting Process: A Collecting Process receives IPFIX Messages from one or more Exporting Processes. The Collecting Process might process or store Flow 
		Records received within these Messages, but such actions are out of scope for this document.
		</t>
	  
      </section>
	  
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
        <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" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <!-- end of terminology -->

<!-- ===================================================================== -->

<section anchor="IPFIX-BGP-POV" numbered="true" toc="default">
      <name>IPFIX IEs for BGP Prefix Origin Validation</name>	    
		<t> This section defines a new IPFIX Information Element for monitoring RPKI-based BGP Prefix Origin Validation.</t>
		<section numbered="true" toc="default">
            <name>bgpPrefixOriginValidationState</name>

         <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>bgpPrefixOriginValidationState</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
		  <t indent="0"> This element describes the result of comparing a BGP route prefix derived from a BGP UPDATE message against VRP obtained from RPKI server. The validation algorithm follows <xref target="RFC6811" format="default"/>.</t>
		  <t indent="0"> The result of BGP Prefix Origin Validation is used for the active route of a specific BGP prefix. The validation state value is carried in an unsigned integer, using code points aligned with <xref target="RFC8097" format="default"/> for the validation
outcomes.</t>
          <t indent="0"> 0: valid - At least one Validated ROA Payload (VRP) matches the route prefix and origin AS.</t>
          <t indent="0"> 1: not found - No VRP covers the route prefix.</t>
		  <t indent="0"> 2: invalid - At least one VRP covers the route prefix, but no VRP matches it.</t>
		  <t indent="0"> Values 3 - 255 are reserved for future use. Exporting Processes MUST NOT send reserved values. Collecting Processes SHOULD ignore any received reserved values.</t> 
		  <t indent="0"> Regarding the potential differences in RPKI validation states from various perspectives as discussed in RFC 8893, the state reported by this IE is derived from the local device's RPKI validation result and corresponds to 
		  the active route present in the LocRIB (Local Routing Information Base). The IE does not address state differences due to varying perspectives nor represents states conveyed via extended communities.</t>
		  </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t indent="0" >unsigned8</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">identifier</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> See <xref target="RFC6811" format="default"/> the definition of validation state of BGP route prefix.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC6811" format="default"/>, <xref target="RFC8097" format="default"/>, <xref target="RFC8893" format="default"/>, this document.</t>
          </dd>
        </dl>				
			
      </section>			
	</section>					
			

    <!-- end of IPFIX IEs -->

<!-- ===================================================================== -->

<section numbered="true" toc="default">
      <name>Operational Considerations </name>
	   <t>
       The Observation Point <xref target="RFC7011"/> for monitoring BGP Prefix Origin Validation states is typically the router performing the validation. 
	   The router acting as an IPFIX Exporter is expected to have BGP Prefix Origin Validation enabled and properly configured. This includes establishing RTR sessions 
	   with RPKI cache servers and ensuring the local VRP cache is synchronized. When the observed route is non-active, or when BGP Prefix Origin Validation is not enabled 
	   or partially enabled, the IPFIX Collector may design different templates based on monitoring requirements to establish a complete routing context 
	   and enable accurate analysis. 
	   </t>
	   <t>
	   When network operators design a template for IPFIX export of BGP Prefix Origin Validation information export, which should combine with other context informations, 
	   such as sourceIPv4Prefix/sourceIPv6Prefix, sourceIPv4PrefixLength/sourceIPv6PrefixLength, bgpSourceAsNumber, as defined in <xref target="RFC7012"/>.
	   </t>
	   <t>
       In scenarios of network changes or maintenance, frequent export of IPFIX records for BGP validation states may lead to considerable overhead on router resources 
	   and bandwidth. Operators should balance monitoring needs with performance impact by using thresholds, adjusted export intervals, or focused sampling, such as 
	   prioritizing invalid states, refer to <xref target="RFC5475"/> for sampling and filtering strategies. 
	   </t>

    </section>
    <!-- end of operation -->

<!-- ===================================================================== -->
	   
<section numbered="true" toc="default">
      <name>Security Considerations </name>
        <t>
       The security considerations for IPFIX in general discussed in <xref target="RFC7011"/>, and those for RPKI and BGP Prefix Origin Validation discussed 
	   in <xref target="RFC6811"/> apply to this document.	   
       </t>
       <t>
	   The IPFIX data records containing BGP Prefix Origin Validation state SHOULD be transported using security protocols (such as TLS, DTLS) and satisfy the mutual 
	   authentication between IPFIX Exporting Processes and IPFIX Collecting Processes as specified in <xref target="RFC7011"/>. An implementation may use 
	   BGP Prefix Origin Validation state as the information input for network routing policies. Network operators should ensure that the data collection and storage of 
	   BGP Prefix Origin Validation state comply with applicable privacy regulations.
	   </t>

    </section>
    <!-- end of security -->

<!-- ===================================================================== --> 
	   
<section numbered="true" toc="default">
      <name>IANA Considerations </name>
       <t>
       IANA is requested to assign a new Information Element ID in the IPFIX Information Elements registry.
       </t>
	   <t>
       Information Element bgpPrefixOriginValidationState with Element ID TBD1.
	   </t>
    </section>
    <!-- end of IANA -->

<!-- ===================================================================== --> 


  </middle>  
    <!-- end of middle -->	  
	
  <back>
  <references>
     <name>References</name>	  
	  <references>
      <name>Normative References</name>	  
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7011.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6811.xml"/>
		<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8097.xml"/>
	  </references>
	  <references>
      <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4632.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml"/>	
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7012.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5475.xml"/>	
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6480.xml"/>	
		<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9582.xml"/>	
		<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8210.xml"/>
		<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8893.xml"/>
	  </references>		
  </references>
  </back>
    <!-- end of middle -->	 
	
  </rfc>
