<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="3"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e., [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info"
     docName="draft-wu-savnet-inter-domain-problem-statement-06"
     ipr="trust200902">
  <front>
    <title abbrev="Inter-domain SAVNET Problem Statement">Source Address Validation in Inter-domain Networks Gap Analysis, Problem Statement, and Requirements</title>

    <author fullname="Jianping Wu" initials="J." surname="Wu">
      <organization>Tsinghua University</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <email>jianping@cernet.edu.cn</email>

        <uri/>
      </address>
    </author>

    <author fullname="Dan Li" initials="D." surname="Li">
      <organization>Tsinghua University</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <country>China</country>
        </postal>

        <email>tolidan@tsinghua.edu.cn</email>
      </address>
    </author>

    <author fullname="Libin Liu" initials="L." surname="Liu">
      <organization>Zhongguancun Laboratory</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <email>liulb@zgclab.edu.cn</email>

        <uri/>
      </address>
    </author>

    <author fullname="Mingqing Huang" initials="M." surname="Huang">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <email>huangmingqing@huawei.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Nan Geng" initials="N." surname="Geng">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <email>gengnan@huawei.com</email>

        <uri/>
      </address>
    </author>

    <date day="04" month="03" year="2023"/>

    <!---->

    <keyword/>

    <abstract>
      <t>This document provides the gap analysis of existing inter-domain 
      source address validation mechanisms, describes the fundamental 
      problems, and defines the requirements for technical improvements.</t>
    </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>

  <middle>
    <section title="Introduction">
      <t>Source address validation (SAV) protects the network
      from the source address spoofing attacks.
      To be maximally effective, SAV mechanisms should be applied 
      as close to the source as possible.
      However, it is not possible to deploy SAV at all network edges <xref target="manrs-antispoofing"/>.
      Therefore, a multi-fence architecture called Source Address Validation Architecture
      (SAVA) <xref target="RFC5210"/> proposes to implement SAV at three
      levels: access network SAV, intra-domain SAV, and inter-domain SAV.
      SAVA can help validate source addresses across the whole Internet
      and reduce the opportunities and areas of source address spoofing attacks.</t>

      <t>Different operators may choose to deploy different 
      SAV mechanisms at different levels in the Internet. 
      Besides, given numerous access networks and ASes managed by different ISPs 
      throughout the world, as well as routers from various vendors, 
      it is difficult to deploy access-network SAV across all access networks.
      Therefore, intra-domain SAV and inter-domain SAV are necessary to
      defend against source address spoofing along the network paths of spoofed packets.
      Intra-domain SAV prevents an AS's source addresses from
      being spoofed inside or outside of an AS without the help of other ASes, 
      and is analyzed in 
      <xref target="draft-li-savnet-intra-domain-problem-statement"/>.
      Inter-domain SAV prevents an AS's source addresses from
      being spoofed with the help of other ASes which the spoofed
      packets go through.</t>

      <t>This document focuses on the analysis of inter-domain SAV.
      For an AS deploying inter-domain SAV, the traffic entering the AS 
      and spoofing other ASes' source addresses will be blocked.
      As shown in <xref target="exp-inter-sav"/>,
      take AS 1, AS 2, AS 3, and AS 4 as an
      example to illustrate inter-domain SAV: 
      P1 is the source prefix of AS 1, and spoofed packets with source addresses in P1
      from AS 4 pass through AS 2 to AS 3.
      If AS 1 and AS 2 deploy the inter-domain SAV,
      the spoofed packets can be blocked at AS 2.
      Therefore, inter-domain SAV can prevent source address spoofing as close to
      the spoofing AS by the collaboration between ASes.</t>

      <figure align="center" anchor="exp-inter-sav">
        <name>An example for illustrating inter-domain SAV</name>
        <artwork name="An example for illustrating inter-domain SAV" align="center"><![CDATA[
+------------+
|  AS 1(P1)  #
+------------+ \
                \            Spoofed Packets
              +-+#+--------+ with Source Addresses in P1 +------------+
              |    AS 2    #-----------------------------#    AS 4    |
              +-+#+--------+                             +------------+
                / 
+------------+ /
|    AS 3    #
+------------+
AS 4 sends spoofed packets with source addresses in P1 to AS 3.
If AS 1 and AS 2 deploy inter-domain SAV, the spoofed packets can be blocked at AS 2.
  ]]></artwork>
      </figure>

      <t>There are many mechanisms for inter-domain SAV.
      This document analyzes
      the existing inter-domain SAV
      mechanisms and answers: i) what are the technical gaps, ii) what are the
      major problems needing to be solved, and iii) what are the 
      requirements for further enhancing inter-domain SAV. </t>
    </section>

    <section title="Terminology">
      <t>SAV Rule: The rule that indicates the validity of a specific source 
      IP address or source IP prefix.</t>

      <t>SAV Table: The table or data structure that implements the SAV rules
      and is used for source address validation in the dataplane.</t>

      <t>Improper Block: The validation results that the packets with
      legitimate source addresses are blocked improperly due to inaccurate SAV
      rules.</t>

      <t>Improper Permit: The validation results that the packets with spoofed
      source addresses are permitted improperly due to inaccurate SAV
      rules.</t>
    </section>

    <section title="Existing SAV Mechanisms">
      <t>This section reviews the existing inter-domain 
      SAV mechanisms using the ingress filtering <xref target="RFC2827"/> <xref target="RFC3704"/>
      <xref target="manrs-antispoofing"/>,
      including ACL-based ingress filtering, loose uRPF, strict uRPF, 
      FP-uRPF, VRF uRPF, and EFP-uRPF.</t>
      <ul spacing="normal">
        <li>ACL-based Ingress Filtering <xref target="RFC2827"/> <xref target="RFC3704"/>: 
          ACL rules permit or discard the packets with particular source addresses
          designated by manual ACL configurations.
          This mechanism is commonly deployed at the customer interfaces of the 
          edge routers connected to the stub customer ASes or the aggregation routers 
          when ACLs at the edge are not possible <xref target="manrs-antispoofing"/>,
          which aims to prevent the customer ASes from spoofing source addresses
          of other ASes.
          Also, it can be deployed at provider interfaces of an AS to
          block the obviously disallowed source prefixes, such as
          prefixes from the suballocated address space and 
          internal-use only prefixes of the AS's customer AS <xref target="nist-rec"/>.
          Besides, the ACL rules need to be updated in a timely manner 
          to keep consistent with the most updated filtering criteria by manual configurations.</li>
        <li>Strict uRPF <xref target="RFC3704"/>: 
          This mechanism permits an incoming packet only if the forwarding
          information base (FIB) contains a prefix which encompasses its source
          address and packet forwarding for that prefix points to its incoming 
          interface. It is recommended to deploy at the customer
          interfaces which directly connected to customer ASes with suballocated
          address space <xref target="nist-rec"/>.</li>
        <li>Loose uRPF <xref target="RFC3704"/>: 
          This mechanism permits an incoming packet when the FIB 
          has one or more prefixes which encompass 
          its source address, and the incoming interface of the packet is 
          not checked. Loose uRPF can be deployed at any interfaces of the ASes.
          Usually, it is recommended to deploy at provider interfaces for blocking
          obviously disallowed source prefixes, e.g., non-global prefixes or 
          the enterprise's own prefixes <xref target="nist-rec"/>.</li>
        <li>FP-uRPF <xref target="RFC3704"/>: 
          This mechanism maintains a reverse path forwarding (RPF) list, which contains
          the permissible prefixes and their optimal and alternative routes.
          It permits an incoming packet only if the source address is encompassed in the 
          RPF list and the incoming interface matches any of the optimal or alternative routes.
          FP-uRPF is recommended to deploy at the peer interfaces and customer
          interfaces, especially for the ones connected to the multi-homed customers
          <xref target="nist-rec"/>. </li>
        <li>VRF uRPF <xref target="RFC4364"/> <xref target="urpf-enhancements"/>: 
          Virtual routing and forwarding (VRF) uRPF maintains 
          a dedicated VRF table for each external BGP peer, which stores the 
          prefixes and their permissible routes advertised by the external
          BGP peer. It permits an incoming packet from an external BGP
          peer only if the source address is encompassed in the prefixes of
          the VRF table for that peer. Besides, VRF uRPF may be used as 
          BCP38 <xref target="RFC2827"/>, but has not been operaionally proven 
          <xref target="manrs-antispoofing"/>.</li>
        <li>EFP-uRPF <xref target="RFC8704"/>: 
          This mechanism improves the flexibility and accuracy of the uRPF-based
          methods with two algorithms, i.e., Algorithm A and Algorithm B,
          by following the principle: if BGP updates for multiple prefixes 
          with the same origin AS were received on different interfaces 
          (at border routers), then incoming data packets with source addresses 
          in any of those prefixes should be accepted on any of those interfaces.
          The two algorithms of EFP-uRPF have not been implemented. BCP84 
          <xref target="RFC3704"/> <xref target="RFC8704"/> recommends
          that EFP-uRPF with Algorithm B SHOULD be applied at the customer
          interfaces of an AS.</li>
        <li>Source-based remote triggered black hole filtering (RTBH) <xref target="RFC5635"/>: 
          Source-based RTBH provide the ability 
          to drop traffic based on
          a specific source address or ranges of source addresses.
          The implementation of source-based RTBH depends on uRPF, most often
          loose uRPF. 
          For loose uRPF with source-based RTBH, if there is not an FIB entry 
          for an incoming packet's source address, or if the FIB entry points to
          the black hole (i.e., Null0), the reverse path forwarding check will fail, 
          and as a result, the packet will be dropped.
          Source-based RTBH allows operators to drop the identified attack traffic
          at specified devices (e.g., edge router) of their network based on
          source addresses.</li>
        <li>Carrier Grade NAT: It has some operations on the source 
          addresses of packets but is not an antispoofing tool as described in <xref target="manrs-antispoofing"/>. 
          If the source address of a packet is in the INSIDE access list, the NAT rule can 
          translate the source address to an address in the pool OUTSIDE. 
          The NAT rule cannot judge whether the source address is spoofed or not. Besides, 
          the packet with a spoofed source address will be forwarded directly if the 
          spoofed source address is not included in the INSIDE access list. 
          Therefore, Carrier Grade NAT cannot help block or traceback spoofed packets, 
          and other SAV mechanisms still need to be deployed.</li>
        <li>BGP origin validation (BGP-OV) <xref target="RFC6811"/>:
          An attacker can subvert any of the uRPF-based methods by performing
          prefix hijacking followed by source address spoofing.
          When the attacker falsely announces a less-specific prefix, which does
          not have the legitimate announcement, existing uRPF-based SAV mechanisms
          may be deceived, and the attacker would be able to successfully perform address spoofing.
          One way to protect against this type of attack is to employ the combination of BGP-OV
          and uRPF-based mechanisms, e.g., FP-uRPF or EFP-uRPF <xref target="nist-rec"/>.
          A BGP router can use the ROA information (i.e., a validated list of {prefix, maxlength, origin AS}) 
          to mitigate the risk of prefix hijacks in advertised routes. </li>
      </ul>
    </section>

    <section title="Gap Analysis">
      <t>Inter-domain SAV defends against source address spoofing attacks
        in different directions of ASes including provider interface, 
        customer interface, and peer interface.
        Therefore, in the following, this section performs gap analysis 
        of existing SAV mechanisms at provider interface, customer interface, 
        and peer interface to see their technical limitations.</t>

      <section title="SAV at Provider Interface">
      <t>SAV at provider interface can utilize ACL-based ingress filtering
        and/or loose uRPF to prevent spoofing source addresses from provider AS. </t>
        <figure align="center" anchor="reflection-attack">
          <name>A scenario of the reflection attack from provider AS</name>
          <artwork name="A scenario of the reflection attack from provider AS" align="center"><![CDATA[                  
                  +-----------+
  Attacker(P1') +-+  AS 3(P3) |
                  +---+/\+----+
                        |
                        |
                        | (C2P)
                  +-----------+
                  |  AS 4(P4) |
                  +/\+-----+/\+
                   /         \
                  /           \
           (C2P) /             \ (C2P)
         +-----------+      +-----------+
 Victim+-+  AS 1(P1) |      |  AS 2(P2) +-+Server
         +-----------+      +-----------+
  
 P1' is the spoofed source prefix P1 by the attacker 
 which is directly or indirectly attached to AS3 
          ]]></artwork>
        </figure>

        <t/>

      <t><xref target='reflection-attack'/> shows a scenario of the 
        reflection attack from provider AS. 
        The arrow indicates the direction of the commercial relationship between two ASes. 
        AS 3 is the provider of AS 4. AS 4 is the provider of AS 1 and AS 2. 
        Assume AS 4 has deployed inter-domain SAV and that AS 3 does not. 
        For example, ACL-based ingress filtering can be deployed at provider interface
        of AS 4. To avoid improper block or improper permit problem,
        network operators must perform timely update of ACL rules
        based on the prefix or topology changes of AS 1 and AS 2,
        in order to be consistent with the real forwarding paths.
        Therefore, high operaional overhead will be induced. </t>

      <t>Loose uRPF can be deployed at provider interfaces, and it
        can adapt to the network changes using the local FIB.
        Take <xref target='reflection-attack'/> as an example.
        Loose uRPF is enabled at AS 4's provider interface and
        EFP-uRPF is deployed at AS 4's customer interfaces.
        A reflection attacker may be inside of AS 3 or 
        connected to AS 3 through other ASes. 
        It sends packets spoofing source addresses of P1 to the server
        located in AS 2 to attack the victim in AS 1. 
        Since AS 3 does not deploy SAV, the malicious packets 
        will arrive at the provider interfaces of AS 4. 
        However, these attack packets cannot be successfully blocked 
        by AS 4 with loose uRPF, and thus improper permit 
        problem arises.</t>
      </section>

       <section title="SAV at Customer Interface">
        <t>SAV at customer interface can utilize strict uRPF, FP-uRPF, 
          VRF uRPF, or EFP-uRPF
          to prevent spoofing source addresses within a customer cone. 
          However, they may have improper block problems in the two use cases: 
          limited propagation of prefixes and hidden prefixes.</t>

        <section title="Limited Propagation of Prefixes">
          <t>The limited propagation of prefixes would lead to asymmetric routing
            and thus result in improper block problems when taking SAV.
            There are many factors which can cause limited propagation of prefixes, 
            such as NO_EXPORT community, NO_ADVERTISE community, and other route filtering policies.
            For brevity, we only analyze EFP-uRPF in the following. 
            The other mechanisms (i.e., strict uRPF, FP-uRPF, and VRF uRPF) share the same problems.</t>

          <figure align="center" anchor="no-export">
            <name>Limited propagation of prefixes caused by NO_EXPORT</name>
              <artwork name="Limited propagation of prefixes caused by NO_EXPORT" align="center"><![CDATA[
            +-----------------+
            |       AS 4      |
            +-+/\+-------+/\+-+
               /           \
              /             \  
    P1[AS 1] /               \ 
            /                 \
           / (C2P/P2P)   (C2P) \
  +----------------+     +----------------+
  |      AS 3      |     |      AS 2      |
  +-------+/\+-----+     +------+/\+------+
            \                    /
    P1[AS 1] \                  / P1[AS 1]
              \ (C2P)    (C2P) / NO_EXPORT
            +------------------+
            |       AS 1       +---P1
            +------------------+
              ]]></artwork>
          </figure>

          <t><xref target="no-export"/> presents a scenario of limited propagation of  
          prefixes caused by NO_EXPORT. AS 1 is the common customer of AS 2 and AS 3. 
          AS 4 is the provider of AS 2. The relationship between AS 3 and AS 4 is 
          customer-to-provider (C2P) or peer-to-peer (P2P). 
          All arrows in <xref target="no-export"/> represent BGP advertisements. 
          AS 1 has prefix P1 and advertises the prefix to the providers, 
          i.e., AS 2 and AS 3. After receiving the route for prefix P1 from AS 1, 
          AS 3 propagates this route to AS 4. 
          In contrast, AS 2 does not propagate the route for prefix P1 to AS 4, 
          since AS 1 adds the NO_EXPORT community attribute in the BGP 
          advertisement destined to AS 2. 
          Besides, AS 4 deploys EFP-uRPF at customer interfaces and other ASes
          do not take SAV.
          In this case, AS 4 only learns the route for prefix P1 from AS 3.</t>

          <t>Assume that AS 3 is the customer of AS 4. If AS 4 runs EFP-uRPF
          with algorithm A at customer interfaces, the packets with source
          addresses of P1 are required to arrive only from AS 3. When AS 1
          sends the packets with legitimate source addresses of prefix P1 to
          AS 4 through AS 2, AS 4 will improperly block these packets.
          In addition, strict uRPF, FP-uRPF, and VRF uRPF also have the improper
          block problems.
          EFP-uRPF with algorithm B works well in this case.</t>

          <t>Assume that AS 3 is the peer of AS 4. AS 4 will never learn the 
          route of P1 from its customer interfaces. So, no matter EFP-uRPF 
          with algorithm A or that with algorithm B are used by AS 4, there 
          will be improper block problems.</t>

          <t>Again, besides the NO_EXPORT configuration above, there are also many 
          other route filtering configurations that can result in limited propagation of prefixes.
          Improper block may be induced by existing inter-domain SAV mechanisms when
          using such configurations, 
          and it is hard to prevent networks from using these configurations.</t>
        </section>

        <section title="Hidden Prefixes">
          <t>In the case of hidden prefixes, the source addresses of some
          servers are not advertised through BGP. This would lead to 
          improper block problems when using existing inter-domain SAV mechanisms,
          e.g., strict uRPF, FP-uRPF, VRF uRPF, and EFP-uRPF,
          since they block the legitimate traffic with unknown prefixes.</t>

          <t>Anycast <xref target="RFC4786"/> <xref target="RFC7094"/> 
          is widely used in Content Delivery Network (CDN)
          to improve the quality of service by bringing the content to the
          user as close as possible.
          An anycast IP address is shared by devices in multiple locations, and
          incoming requests are routed to the location closest to the sender.
          In practice, anycast IP addresses are
          usually announced only from some locations with multiple
          connectivity. Upon receiving incoming requests from users, 
          the CDN server will create tunnels for the requests to the edge locations.
          Subsequently, the edge locations perform direct server return (DSR),
          i.e., directly sending the content to the users. To ensure that DSR
          works, servers in edge locations must send response packets with
          anycast IP address as the source address. However, since edge
          locations never advertise the anycast prefixes through BGP, an
          intermediate AS with existing inter-domain SAV mechanisms
          may improperly block these response packets.</t>

          <figure align="center" anchor="dsr">
            <name>A Direct Server Return (DSR) scenario</name>
            <artwork name="A Direct Server Return (DSR) scenario" align="center"><![CDATA[                  
                  +----------+
  Anycast Server+-+ AS 3(P3) |
                  +--+/\+----+
                       |
                       |
                       | (C2P)
                  +----------+
                  |   AS 4   |
                  +/\+----+/\+
                   /        \
                  /          \ 
           (C2P) /            \ (C2P)
      +-----------+          +-----------+
User+-+    AS 1   |          |    AS 2   +-+Edge Server
      +-----------+          +-----------+
    
  P3 is the anycast prefix and is only advertised from AS3
  ]]></artwork>
            </figure>

          <t><xref target="dsr"/> shows an example of DSR scenario. 
          The anycast IP prefix (i.e., P3) is only advertised from AS 3 through BGP. 
          Assume AS 3 is the provider of AS 4. AS 4 is the provider of AS 1 and AS 2.
          AS 4 takes SAV at customer interfaces and other ASes do not.
          When users in AS 1 send requests to the anycast destination IP, the
          forwarding path from users to anycast servers is AS 1 -&gt; AS 4
          -&gt; AS 3. Anycast servers in AS 3 receive the requests and then
          tunnel them to the edge servers in AS 2. Finally, the edge servers
          send the content to the users with source addresses of prefix P3.
          The reverse forwarding path is AS 2 -&gt; AS 4 -&gt; AS 1. Since AS
          4 never receives routing information for prefix P3 from AS 2,
          EFP-uRPF with algorithm A/B or other existing
          uRPF-based mechanisms, e.g., FP-uRPF, VRF uRPF, or strict uRPF, at AS 4 will 
          improperly block the response packets from AS 2.</t>
        </section>
      </section>

      <section title="SAV at Peer Interface">
        <t>SAV at peer interface can utilize FP-uRPF, VRF uRPF, or EFP-uRPF 
        to prevent spoofing source addresses from peer AS. And
        these inter-domain SAV mechanisms have the same improper block problems 
        as they take SAV at customer interface in the cases
        of limited propagation of prefixes and hidden prefixes.</t>

        <figure align="center" anchor="rfc-attack-peer">
          <name>A scenario of the reflection attack from peer AS</name>
          <artwork name="A scenario of the reflection attack from peer AS" align="center"><![CDATA[                  
+-----------+    (P2P)    +-----------+     
|  AS 3(P3) +-------------+  AS 4(P4) |
+-----+-----+             +/\+-----+/\+
      |                    /         \
      +                   /           \
 Attacker(P1')     (C2P) /             \ (C2P)
                 +-----------+      +-----------+
         Victim+-+  AS 1(P1) |      |  AS 2(P2) +-+Server
                 +-----------+      +-----------+
  
P1' is the spoofed source prefix P1 by the attacker 
which is directly or indirectly attached to AS3 
          ]]></artwork>
        </figure>

        <t><xref target='rfc-attack-peer'/> shows a scenario of the 
        reflection attack from peer AS. 
        The arrow indicates the direction of the commercial relationship between two ASes. 
        AS 3 and AS 4 are peers, and AS 4 is the provider of AS 1 and AS 2. 
        Assume AS 4 has deployed inter-domain SAV and other ASes do not.
        EFP-uRPF with algorithm B is deployed at AS 4's peer and customer interfaces. 
        A reflection attacker may be directly 
        attached to AS 3 or indirectly attached to AS 3 through other ASes. 
        It sends packets spoofing source addresses of P1 to the server
        located in AS 2 for attacking the victim in AS 1. 
        Since AS 3 does not take SAV, the malicious packets 
        will arrive at the peer interface of AS 4. 
        However, this attack cannot be successfully blocked by AS 4,
        since EFP-uRPF with algorithm B permits prefix P1 on any of 
        AS 4's peer interfaces.</t>
      </section>
    </section>

    <section title="Problem Statement">
      <t>According to the gap analysis above, existing inter-domain SAV mechanisms do 
      have improper block or improper permit problems in asymmetric routing scenarios,
      and high operaional overhead problem in dynamic networks.</t>

      <t>ACL-based ingress filtering relies on manual configurations of operators
       to update ACL rules and adapt to network changes.
       The ACL lists need to be updated in a timely manner to
       be consistent with the most updated filtering criteria. Otherwise,
       improper block or improper permit problems may appear.
       As a result, high operaional overhead will be induced to achieve timely updates
       of ACL rules, especially for networks with frequent policy and route changes.</t>

      <t>Strict uRPF and loose uRPF can generate SAV rules automatically
      without manual effort. However, strict uRPF may improperly block legitimate
      traffic in asymmetric routing scenarios, while loose uRPF may improperly
      permit spoofing traffic.
      The root cause is that they both only reply on the local FIB to obtain SAV-related
      information.
      Strict uRPF leverages the local FIB table of routers to 
      learn the source prefixes and determine their valid incoming interfaces, 
      which may not match the real data-plane forwarding paths of the source prefixes,
      due to the existence of asymmetric routing.
      Loose uRPF is a looser version of SAV and only validates the existence of source prefixes
      in the local FIB table without checking the incoming interfaces.</t>

      <t>FP-uRPF and VRF uRPF partially solves the improper block problems identified with 
      the strict uRPF in the multihoming scenarios. 
      They still have improper block problems in the asymmetric 
      routing scenarios, e.g., limited propagation of prefixes with NO_EXPORT.
      The root cause is that they only rely on the local routing information base (RIB)
      to learn the source prefixes and determine the valid incoming interfaces,
      which may not match the real data-plane forwarding paths of the source prefixes.</t>

      <t>EFP-uRPF can solve the improper block problems
      of FP-uRPF and VRF uRPF in the multihoming scenarios by permiting
      the prefixes from the same customer cone at all customer interfaces.
      However, it may improperly permit the spoofing traffic from the customer
      cone. Besides, improper block problems will be incurred when legitimate 
      source prefixes are not learned by EFP-uRPF, e.g., DSR.
      The root cause is that it cannot learn the real-forwarding paths of
      the legitimate source prefixes.
      As a result, it may mistakenly consider an invalid incoming interface 
      as valid, resulting in improper permit problems; or consider a valid 
      incoming interface as invalid, resulting in improper block problems.</t>

      <t>In addition, no one of existing inter-domain SAV mechanisms can be
      applied at all the directions of ASes to realize effective SAV in
      dynamic or asymmetric routing scenarios. Network operators need to
      figure out the network environments accurately to deploy the suitable
      SAV mechanisms at the corresponding interfaces with manual configurations.
      This also incurs extra operational overhead.</t>
    </section>

    <section title="Requirements for New SAV Mechanisms">
      <t>This section lists the requirements for the new SAV mechanisms,
       which serve as technical directions for narrowing the technical gaps of
       existing inter-domain SAV mechanisms. 
       The requirements are practical points that can be fully 
       or partially fulfilled by proposing new techniques.</t>

      <section title="Accurate Validation">
        <t>The new inter-domain SAV mechanisms SHOULD improve the validation 
        accuracy upon existing mechanisms at all directions of ASes.
        It SHOULD avoid the improper block problems and reduce the improper 
        permit problems of existing inter-domain SAV mechanisms, e.g., 
        loose uRPF and EFP-uRPF with algorithm B, in the asymmetric routing scenarios.
        An AS deploying the new inter-domain SAV mechanisms 
        SHOULD be able to acquire the real incoming interfaces of the source prefixes
        from other ASes which also adopt the new inter-domain SAV mechanisms.</t>
        
        <t>In other words, accurate validation requires that SAV rules SHOULD 
        match the real data-plane forwarding paths. 
        Even for the cases where it is impossible or hard to acquire all the real
        forwarding paths, it MUST acquire the mimimal set of acceptable paths
        which SHOULD cover the real forwarding ones.
        This can help avoid improper block and minimize improper permit.
        Therefore, the SAV-related information from multiple sources, such as RPKI ROA objects 
        and ASPA objects and advertisements of other ASes, can help improve the accuracy.</t>
      </section>

      <section title="Automatic Update">
        <t>The new inter-domain SAV mechanism MUST be able to adapt to dynamic networks
          and asymmetric routing scenarios automatically, instead of entirely relying on manual update.</t>
      </section>

      <section title="Working in Partial Deployment">
        <t>The new inter-domain SAV mechanisms MUST provide effective protection for source addresses 
          even when they partially deployed in the Internet.
          Some ASes' routers may not be able to be easily upgraded for supporting the new SAV mechanisms 
          due to their limitations of capabilities, versions, or vendors.
          Thus, it is impractical to ensure that all the ASes or most of the ASes take SAV 
          simultaneously, partial deployment or incremental deployment has to be considered 
          for a new inter-domain SAV mechanism.
          In particular, the effectiveness of protection in all directions of ASes
          under partial deployment SHOULD NOT be worse than existing uRPF-based SAV mechanisms.</t>
      </section>
    </section>

    <section title="Inter-domain SAV Scope">
      <t>The new inter-domain SAV mechanism should work in the same scenarios
      as existing inter-domain SAV mechanisms. Generally, it includes all
      IP-encapsulated scenarios:</t>

      <t><list style="symbols">
          <t>Native IP forwarding: including both global routing table
          forwarding and CE site forwarding of VPN.</t>

          <t>IP-encapsulated Tunnel (IPsec, GRE, SRv6, etc.): focusing on the
          validation of the outer layer IP address.</t>

          <t>Both IPv4 and IPv6 addresses.</t>
        </list>Scope does not include:<list style="symbols">
          <t>Non-IP packets: including MPLS label-based forwarding and other
          non-IP-based forwarding.</t>
        </list></t>

      <t>In addition, the new inter-domain SAV mechanism should not modify
      data-plane packets. Existing architectures or protocols or mechanisms
      can be used in the new SAV mechanism to achieve better SAV function.</t>
    </section>

    <section title="Security Considerations">
      <t>SAV rules can be generated based on route information (FIB/RIB) or
      non-route information. If the information is poisoned by attackers, the
      SAV rules will be false. Lots of legal packets may be dropped improperly
      or malicious traffic with spoofed source addresses may be permitted
      improperly. Route security should be considered by routing protocols.
      Non-route information should also be protected by corresponding
      mechanisms or infrastructure. If SAV mechanisms or protocols require
      information exchange, there should be some considerations on the
      avoidance of message alteration or message injection.</t>

      <t>The SAV procedure referred in this document modifies no field of
      packets. So, security considerations on data-plane are not in the scope
      of this document.</t>
    </section>

    <section title="IANA Considerations">
      <t>This document does not request any IANA allocations.</t>
    </section>

    <section title=" Acknowledgements">
      <t>Many thanks to Jared Mauch, Barry Greene, 
      Fang Gao, Anthony Somerset, Kotikalapudi Sriram, Yuanyuan Zhang, Igor Lubashev, 
      Alvaro Retana, Joel Halpern, Aijun Wang, Michael Richardson, Li Chen, Lancheng Qin,
      Gert Doering, Mingxing Liu, John O'Brien, Roland Dobbins, etc. for their valuable comments 
      on this document.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.2119'?>

      <?rfc include='reference.RFC.3704'?>

      <?rfc include='reference.RFC.8704'?>

      <?rfc include='reference.RFC.2827'?>

      <?rfc include='reference.RFC.5210'?>

      <?rfc include='reference.RFC.4364'?>

      <?rfc include='reference.RFC.5635'?>

      <?rfc include='reference.RFC.6811'?>

      <?rfc include='reference.RFC.4786'?>

      <?rfc include='reference.RFC.7094'?>

      <reference anchor="draft-li-savnet-intra-domain-problem-statement" target="https://datatracker.ietf.org/doc/draft-li-savnet-intra-domain-problem-statement/">
        <front>
          <title>Source Address Validation in Intra-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
          <author>
            <organization></organization>
          </author>
          <date year="2023"/>
        </front>
      </reference>

      <reference anchor="manrs-antispoofing" target="https://www.manrs.org/netops/guide/antispoofing/" quoteTitle="true" derivedAnchor="MANRS">
          <front>
            <title>MANRS Implementation Guide</title>
            <author>
              <organization showOnFrontPage="true">MANRS</organization>
            </author>
            <date month="April" year="2019"/>
          </front>
      </reference>

      <reference anchor="nist-rec" target="https://www.nist.gov/publications/resilient-interdomain-traffic-exchange-bgp-security-and-ddos-mitigation">
        <front>
          <title>Resilient Interdomain Traffic Exchange: BGP Security and DDos Mitigation</title>
          <author initials="K." surname="Sriram">
            <organization>NIST</organization>
          </author>
          <author initials="D." surname="Montgomery">
            <organization>NIST</organization>
          </author>
          <date year="2019"/>
        </front>
      </reference>

      <reference anchor="urpf-enhancements" target="https://www.cisco.com/c/dam/en_us/about/security/intelligence/urpf.pdf">
          <front>
            <title>Unicast Reverse Path Forwarding Enhancements for the Internet Service Provider-Internet Service Provider Network Edge</title>
            <author>
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <date year="2005"/>
          </front>
      </reference>
    </references>
  </back>
</rfc>
