<?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" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.24 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-savnet-inter-domain-problem-statement-07" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="Inter-domain SAVNET Problem Statement">Source Address Validation in Inter-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-inter-domain-problem-statement-07"/>
    <author initials="D." surname="Li" fullname="Dan Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tolidan@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="J." surname="Wu" fullname="Jianping Wu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jianping@cernet.edu.cn</email>
      </address>
    </author>
    <author initials="L." surname="Liu" fullname="Libin Liu">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>liulb@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="M." surname="Huang" fullname="Mingqing Huang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>huangmingqing@huawei.com</email>
      </address>
    </author>
    <author initials="K." surname="Sriram" fullname="Kotikalapudi Sriram">
      <organization abbrev="USA NIST">USA National Institute of Standards and Technology</organization>
      <address>
        <postal>
          <city>Gaithersburg</city>
          <region>MD</region>
          <country>United States of America</country>
        </postal>
        <email>ksriram@nist.gov</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area>General [REPLACE]</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <abstract>
      <?line 93?>

<t>This document provides a gap analysis of existing inter-domain source address validation mechanisms, describes the problem space, and defines the requirements for technical improvements.</t>
    </abstract>
  </front>
  <middle>
    <?line 97?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Source address validation (SAV) is crucial for protecting networks from source address (SA) spoofing attacks <xref target="RFC2827"/> <xref target="RFC3704"/> <xref target="RFC8704"/>. The MANRS initiative advocates deploying SAV as close to the source as possible <xref target="manrs"/>, and access networks are the first line of defense against source address spoofing. However, access networks face various challenges in deploying SAV mechanisms due to different network environments, router vendors, and operational preferences. Hence, SAV may not be deployed ubiquitously in access networks. In addition, SA spoofing may also originate in ISP networks at higher levels of heirarchy in the Internet. So, deployment of SAV mechanisms in the edge routers of enterprises as well as the ISP networks (at different heirarchal levels or tiers) is needed to prevent source address spoofing along the data forwarding paths. <xref target="RFC5210"/> highlighted the importance of  SAV at various network locations: access, intra-domain, and inter-domain. This document focuses on providing gap analysis and describing the problem space of existing inter-domain SAV solutions, and defining the requirements for a new solution of these problems. Access Control List (ACL) and unicast Reverse Path Forwarding (uRPF) techniques are currently utilized for inter-domain SAV <xref target="RFC3704"/> <xref target="RFC8704"/>. Here only existing IETF RFCs are considered as the state of the art (BCP 38 <xref target="RFC2827"/> and BCP 84 <xref target="RFC3704"/> <xref target="RFC8704"/>); IETF works-in-progress are not included in that.</t>
      <t>There are several existing mechanisms for inter-domain SAV. This document analyzes them and attempts to answer: i) what are the technical gaps (<xref target="gap"/>), ii) what are the fundamental problems (<xref target="problem"/>), and iii) what are the practical requirements for the solution of these problems (<xref target="req"/>).</t>
      <t>The following summarizes the fundamental problems with existing SAV mechanisms, as analyzed in <xref target="gap"/> and <xref target="problem"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Improper block: Existing uRPF-based mechanisms suffer from improper block in two inter-domain scenarios: imited propagation of prefixes and hidden prefixes.</t>
        </li>
        <li>
          <t>Improper permit: Existing uRPF-based mechanisms exhibit improper permit in scenarios involving source address spoofing within a customer cone or from a provider/peer AS.</t>
        </li>
        <li>
          <t>High operational overhead: ACL-based ingress SAV filtering introduces significant operational overhead, as it needs to update ACL rules manually to adapt to prefix or routing changes in a timely manner.</t>
        </li>
      </ul>
      <t>To address these problems, in <xref target="req"/>, this document outlines the following technical requirements for a new solution:</t>
      <ul spacing="normal">
        <li>
          <t>Improving validation accuracy over existing mechanisms: A new solution <bcp14>MUST</bcp14> avoid improper block and minimize improper permit.</t>
        </li>
        <li>
          <t>Reducing operational overhead: A new solution <bcp14>MUST</bcp14> have less operational overhead than ACL-based ingress SAV filtering.</t>
        </li>
      </ul>
      <t>In addition, this document defines three more requirements to ensure practicality:</t>
      <ul spacing="normal">
        <li>
          <t>Working in incremental/partial deployment: A new solution <bcp14>MUST NOT</bcp14> assume pervasive adoption and <bcp14>SHOULD</bcp14> provide effective protection for source addresses when it is partially deployed in the Internet.</t>
        </li>
        <li>
          <t>Providing necessary security guarantee: A new solution <bcp14>SHOULD</bcp14> secure the communicated information between ASes if it requires exchanging specific information between ASes.</t>
        </li>
        <li>
          <t>Guaranteeing convergence: A new solution <bcp14>SHOULD</bcp14> achieve accurate SAV rule convergence in response to prefix or routing changes.</t>
        </li>
      </ul>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <dl newline="true">
        <dt>SAV Rule:</dt>
        <dd>
          <t>The rule that indicates the validity of a specific source IP address or source IP prefix.</t>
        </dd>
        <dt>Improper Block:</dt>
        <dd>
          <t>The validation results that the packets with legitimate source addresses are blocked improperly due to inaccurate SAV rules.</t>
        </dd>
        <dt>Improper Permit:</dt>
        <dd>
          <t>The validation results that the packets with spoofed source addresses are permitted improperly due to inaccurate SAV rules.</t>
        </dd>
        <dt>Real forwarding paths:</dt>
        <dd>
          <t>The paths that the legitimate traffic goes through in the data plane.</t>
        </dd>
      </dl>
    </section>
    <section anchor="existing-inter-domain-sav-mechanisms">
      <name>Existing Inter-domain SAV Mechanisms</name>
      <t>Inter-domain SAV is typically performed at the AS level (on a per neighbor-AS-interface basis) and can be deployed at AS border routers (ASBRs) to prevent source address spoofing. There are various mechanisms available to implement inter-domain SAV for anti-spoofing ingress filtering <xref target="nist"/> <xref target="manrs"/> <xref target="isoc"/>, which are reviewed in this section.</t>
      <ul spacing="normal">
        <li>
          <t>ACL-based ingress filtering <xref target="RFC3704"/>: ACL-based ingress SAV filtering is a technique that relies on ACL rules to filter packets based on their source addresses. It can be applied at provider interfaces, peer interfaces, or customer interfaces of an AS, and is recommended for deployment at provider interfaces <xref target="manrs"/>. At the provider interfaces, ACL-based ingress SAV filtering can block source prefixes that are clearly invalid in the inter-domain routing context, such as IANA special purpose or unallocated IPv4/IPv6 prefixes and the AS's internal-only prefixes. However, ACL-based ingress SAV filtering introduces significant operational overhead, as ACL rules need to be updated in a timely manner to reflect prefix or routing changes in the inter-domain routing system. It is also impractical to store a very large and dynamically varying unallocated IPv6 prefixes.  At the customer interfaces, ACL-based ingress filtering is less desirable. Other techniques (as described below) are more effective for ingress SAV filtering on customer interfaces. ACL-based ingress SAV filtering has applicability for broadband cable or digital subscriber access loop (DSL) access networks where the service provider has clear knwoledge of IP address prefixes it has allocated to manage those services.</t>
        </li>
        <li>
          <t>uRPF-based mechanisms: A class of SAV mechanisms are based on Unicast Reverse Path Forwarding (uRPF) <xref target="RFC3704"/>. The core idea of uRPF for SAV is to exploit the symmetry of inter-domain routing: in many cases, the best next hop for a destination is also the best previous hop for the source. In other words, if a packet arrives from a certain interface, the source address of that packet should be reachable via the same interface, according to the FIB. However, symmetry in routing does not always holds in practice, and to address cases where it does not hold, many enhancements and modes of uRPF are proposed. Different modes of uRPF have different levels of strictness and flexibility, and network operators can choose from them to suit particular network scenarios. We describe these modes as follows:
          </t>
          <ul spacing="normal">
            <li>
              <t>Strict uRPF <xref target="RFC3704"/>: Strict uRPF is the most stringent mode, and it only permits packets that have a source address that is covered by a prefix in the FIB, and that the next hop for that prefix is the same as the incoming interface. This mode is recommended for deployment at customer interfaces that directly connect to an AS with suballocated address space, as it can prevent spoofing attacks from that AS or its downstream ASes <xref target="nist"/>.</t>
            </li>
            <li>
              <t>Loose uRPF <xref target="RFC3704"/>: Loose uRPF verifies that the source address of the packet is routable in the Internet by matching it with one or more prefixes in the FIB, regardless of which interface the packet arrives at. If the source address is not routable, Loose uRPF discards the packet. Loose uRPF is typically deployed at the provider interfaces of an AS to block packets with source addresses that are obviously disallowed, such as non-global prefixes (e.g., private addresses, multicast addresses, etc.) or the prefixes that belong to the customer AS itself <xref target="nist"/>.</t>
            </li>
            <li>
              <t>FP-uRPF <xref target="RFC3704"/>: FP-uRPF maintains a reverse path forwarding (RPF) list, which contains the prefixes and all their permissible routes including the optimal and alternative ones. It permits an incoming packet only if the packet's source address is encompassed in the prefixes of the RPF list and its incoming interface is included in the permissible routes of the corresponding prefix. FP-uRPF is recommended to be deployed at customer interfaces or peer interfaces, especially those that are connected to multi-homed customer ASes <xref target="nist"/>.</t>
            </li>
            <li>
              <t>Virtual routing and forwarding (VRF) uRPF <xref target="RFC4364"/> <xref target="urpf"/> <xref target="manrs"/>: VRF uRPF uses a separate VRF table for each external BGP peer and is only a way of implementation for a SAV table.</t>
            </li>
            <li>
              <t>EFP-uRPF <xref target="RFC8704"/>: EFP-uRPF consists of two algorithms, algorithm A and algorithm B. EFP-uRPF is based on the idea that an AS can receive BGP updates for multiple prefixes that have the same origin AS at different interfaces. For example, this can happen when the origin AS is multi-homed and advertises the same prefixes to different providers. In this case, EFP-uRPF allows an incoming packet with a source address in any of those prefixes to pass on any of those interfaces. This way, EFP-uRPF can handle asymmetric routing scenarios where the incoming and outgoing interfaces for a packet are different. EFP-uRPF has not been implemented in practical networks yet, but BCP84 <xref target="RFC3704"/> <xref target="RFC8704"/> suggests using EFP-uRPF with algorithm B at customer interfaces of an AS. EFP-uRPF can also be used at peer interfaces of an AS.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Carrier Grade NAT (CGN): CGN is a network technology used by service providers to translate between private and public IPv4 addresses within their network. CGN enables service providers to assign private IPv4 addresses to their customer ASes instead of public, globally unique IPv4 addresses. The private side of the CGN faces the customer ASes, and when an incoming packet is received from a customer AS, CGN checks its source address. If the source address is included in the address list of the CGN's private side, CGN performs address translation. Otherwise, it forwards the packet without translation. However, since CGN cannot determine whether the source address of an incoming packet is spoofed or not, additional SAV mechanisms need to be implemented to prevent source address spoofing <xref target="manrs"/>.</t>
        </li>
        <li>
          <t>BGP origin validation (BGP-OV) <xref target="RFC6811"/>: Attackers can bypass uRPF-based SAV mechanisms by using prefix hijacking in combination with source address spoofing. By announcing a less-specific prefix that does not have a legitimate announcement, the attacker can deceive existing uRPF-based SAV mechanisms and successfully perform address spoofing. To protect against this type of attack, a combination of BGP-OV and uRPF-based mechanisms like FP-uRPF or EFP-uRPF is recommended <xref target="nist"/>. BGP routers can use ROA information, which is a validated list of {prefix, maximum length, origin AS}, to mitigate the risk of prefix hijacks in advertised routes.</t>
        </li>
      </ul>
    </section>
    <section anchor="gap">
      <name>Gap Analysis</name>
      <t>Inter-domain SAV is essential in preventing source address spoofing traffic across all AS interfaces, including those of customers, providers, and peers. An ideal inter-domain SAV mechanism <bcp14>MUST</bcp14> block all spoofing traffic while permitting legitimate traffic in all scenarios. However, in some cases, existing SAV mechanisms may unintentionally block legitimate traffic or permit spoofing traffic. This section aims to conduct a gap analysis of existing SAV mechanisms used in the corresponding interfaces of these scenarios to identify their technical limitations.</t>
      <section anchor="sav-at-customer-interfaces">
        <name>SAV at Customer Interfaces</name>
        <t>SAV is used at customer interfaces to validate traffic from the customer cone, including both legitimate traffic and spoofing traffic. To prevent the source address spoofing, operators can enable ACL-based ingress filtering and/or uRPF-based mechanisms at customer interfaces, namely Strict uRPF, FP-uRPF, or EFP-uRPF. However, uRPF-based mechanisms may cause improper block problems in two inter-domain scenarios: limited propagation of prefixes and hidden prefixes, or may cause improper permit problems in the scenarios of source address spoofing within a customer cone, while ACL-based SAV ingress filtering needs to update SAV rules in a timely manner and lead to high operational overhead.</t>
        <figure anchor="customer_gap">
          <name>The gaps of ACL-based ingress filtering, Strict uRPF, FP-uRPF, and EFP-uRPF in the corresponding scenarios.</name>
          <artwork><![CDATA[
+--------------------+------------+-----------+-------+--------+
|Traffic & Scenarios |     ACL    |Strict uRPF|FP-uRPF|EFP-uRPF|
+----------+---------+------------+-----------+-------+--------+
|Legitimate|   LPP   |            |                            |
|Traffic   +---------+            |       Improper Block       |
|          |   HP    |    High    |                            |
+----------+---------+Operational +-------------------+--------+
|Spoofing  |Spoofing |  Overhead  |                   |Improper|
|Traffic   | within  |            |   Functioning as  |Permit  |
|          |  a CC   |            |     Expected      |        |
+----------+---------+------------+-------------------+--------+
"LPP" represents a class of scenario called limited propagation of 
prefixes. 
"HP" represents a class of scenario called hidden prefixes.
"Spoofing within a CC" represents a class of scenario where 
spoofing traffic occurs within a customer cone (CC) and the spoofed 
source addresses belong to this customer cone.
"Functioning as Expected" represents the inter-domain SAV mechanism 
does not cause improper block for legitimate traffic or improper 
permit for spoofing traffic in the corresponding scenarios, and has 
low operational overhead.
]]></artwork>
        </figure>
        <t><xref target="customer_gap"/> provides an overview of the gaps associated with ACL-based ingress filtering, Strict uRPF, FP-uRPF, and EFP-uRPF for SAV at customer interfaces in the corresponding scenarios. ACL-based ingress filtering has high operational overhead as performing SAV at customer interfaces. Strict uRPF, FP-uRPF, and EFP-uRPF, on the other hand, may incorrectly block legitimate traffic in the scenarios of limited propagation of prefixes or hidden prefixes. Furthermore, in the scenarios of source address spoofing within a customer cone, EFP-uRPF with algorithm B may inadvertently permit the spoofing traffic.</t>
        <t>In the following, we analyze the gaps of Strict uRPF, FP-uRPF, and EFP-uRPF for SAV at customer interfaces in scenarios of limited propagation of prefixes, hidden prefixes, and source address spoofing within a customer cone, respectively.</t>
        <section anchor="limited-propagation-of-prefixes">
          <name>Limited Propagation of Prefixes</name>
          <t>In inter-domain networks, some prefixes may not be propagated to all domains due to various factors, such as NO_EXPORT or NO_ADVERTISE communities or other route filtering policies. This may cause asymmetric routing in the inter-domain context, which may lead to improper block when performing SAV with existing mechanisms. These mechanisms include EFP-uRPF, which we focus on in the following analysis, as well as Strict uRPF and FP-uRPF. All these mechanisms suffer from the same problem of improper block in this scenario.</t>
          <figure anchor="no-export">
            <name>Limited propagation of prefixes caused by NO_EXPORT.</name>
            <artwork><![CDATA[
                          +----------------+
                          |    AS 3(P3)    |
                          +-+/\------+/\+--+
                             /         \
                            /           \ 
                           /             \
                          / (C2P)         \
                 +------------------+      \
                 |     AS 4(P4)     |       \
                 ++/\+--+/\+----+/\++        \
                   /     |        \           \
         P2[AS 2] /      |         \           \
                 /       |          \           \
                / (C2P)  |           \ P5[AS 5]  \ P5[AS 5]
+----------------+       |            \           \    
|    AS 2(P2)    |       | P1[AS 1]    \           \
+----------+/\+--+       | P6[AS 1]     \           \
             \           | NO_EXPORT     \           \
     P1[AS 1] \          |                \           \
     NO_EXPORT \         |                 \           \
                \ (C2P)  | (C2P/P2P)  (C2P) \     (C2P) \
              +----------------+          +----------------+
              |  AS 1(P1, P6)  |          |    AS 5(P5)    |
              +----------------+          +----------------+
]]></artwork>
          </figure>
          <t><xref target="no-export"/> presents a scenario where the limited propagation of prefixes occurs due to the NO_EXPORT community attribute. In this scenario, AS 1 is a customer of AS 2, AS 2 is a customer of AS 4, AS 4 is a customer of AS 3, and AS 5 is a customer of both AS 3 and AS 4. The relationship between AS 1 and AS 4 can be either customer-to-provider (C2P) or peer-to-peer (P2P). AS 1 advertises prefixes P1 to AS 2 and adds the NO_EXPORT community attribute to the BGP advertisement sent to AS 2, preventing AS 2 from further propagating the route for prefix P1 to AS 4. Similarly, AS 1 adds the NO_EXPORT community attribute to the BGP advertisement sent to AS 4, resulting in AS 4 not propagating the route for prefix P6 to AS 3. Consequently, AS 4 only learns the route for prefix P1 from AS 1 in this scenario. Suppose AS 1 and AS 4 have deployed inter-domain SAV while other ASes have not, and AS 4 has deployed EFP-uRPF at its customer interfaces.</t>
          <t>Assuming that AS 1 is the customer of AS 4, if AS 4 deploys EFP-uRPF with algorithm A at customer interfaces, it will require packets with source addresses in P1 to only arrive from AS 1. When AS 1 sends legitimate packets with source addresses in P1 to AS 4 through AS 2, AS 4 improperly blocks these packets. The same problem applies to Strict uRPF and FP-uRPF. Although EFP-uRPF with algorithm B can avoid improper block in this case, network operators need to first determine whether limited prefix propagation exists before choosing the suitable EFP-uRPF algorithms, which adds more complexity and overhead to network operators. Furthermore, EFP-uRPF with algorithm B is not without its problems. For example, if AS 1 is the peer of AS 4, AS 4 will not learn the route of P1 from its customer interfaces. In such case, both EFP-uRPF with algorithm A and algorithm B have improper block problems.</t>
        </section>
        <section anchor="hidden-prefixes">
          <name>Hidden Prefixes</name>
          <t>Some servers' source addresses are not advertised through BGP to other ASes. These addresses are unknown to the inter-domain routing system and are called hidden prefixes. Legitimate traffic with these hidden prefixes may be dropped by existing inter-domain SAV mechanisms, such as Strict uRPF, FP-uRPF, or EFP-uRPF, because they do not match any known prefix.</t>
          <t>For example, Content Delivery Networks (CDN) use anycast <xref target="RFC4786"/> <xref target="RFC7094"/> to improve the quality of service by bringing content closer to users. An anycast IP address is assigned to devices in different locations, and incoming requests are routed to the closest location. Usually, only locations with multiple connectivity announce the anycast IP address through BGP. The CDN server receives requests from users and creates tunnels to the edge locations, where content is sent directly to users using direct server return (DSR). DSR requires servers in the edge locations to use the anycast IP address as the source address in response packets. However, these edge locations do not announce the anycast prefixes through BGP, so an intermediate AS with existing inter-domain SAV mechanisms may improperly block these response packets.</t>
          <figure anchor="dsr">
            <name>A Direct Server Return (DSR) scenario.</name>
            <artwork><![CDATA[
                                +----------------+
                Anycast Server+-+    AS 3(P3)    |
                                +-+/\----+/\+----+
                                   /       \
                         P3[AS 3] /         \ P3[AS 3]
                                 /           \
                                / (C2P)       \
                       +----------------+      \
                       |    AS 4(P4)    |       \
                       ++/\+--+/\+--+/\++        \
          P6[AS 2, AS 1] /     |      \           \
               P2[AS 2] /      |       \           \
                       /       |        \           \
                      / (C2P)  |         \ P5[AS 5]  \ P5[AS 5]
      +----------------+       |          \           \    
User+-+    AS 2(P2)    |       | P1[AS 1]  \           \
      +----------+/\+--+       | P6[AS 1]   \           \
          P6[AS 1] \           | NO_EXPORT   \           \
           P1[AS 1] \          |              \           \
           NO_EXPORT \         |               \           \
                      \ (C2P)  | (C2P)    (C2P) \     (C2P) \
                    +----------------+        +----------------+
       Edge Server+-+  AS 1(P1, P6)  |        |    AS 5(P5)    |
                    +----------------+        +----------------+
P3 is the anycast prefix and is only advertised by AS 3 through BGP.
]]></artwork>
          </figure>
          <t><xref target="dsr"/> illustrates a DSR scenario where the anycast IP prefix P3 is only advertised by AS 3 through BGP. In this example, AS 3 is the provider of AS 4 and AS 5, AS 4 is the provider of AS 1, AS 2, and AS 5, and AS 2 is the provider of AS 1. AS 1 and AS 4 have deployed inter-domain SAV, while other ASes have not. When users in AS 2 send requests to the anycast destination IP, the forwarding path is AS 2-&gt;AS 4-&gt;AS 3. The anycast servers in AS 3 receive the requests and tunnel them to the edge servers in AS 1. Finally, the edge servers send the content to the users with source addresses in prefix P3. The reverse forwarding path is AS 1-&gt;AS 4-&gt;AS 2. Since AS 4 does not receive routing information for prefix P3 from AS 1, EFP-uRPF with algorithm A/B, and all other existing uRPF-based mechanisms at the customer interface of AS 4 facing AS 1 will improperly block the legitimate response packets from AS 1.</t>
          <t>Moreover, EFP-uRPF with algorithm B may also permit spoofing traffic improperly in scenarios where source address spoofing within a customer cone occur. We provide illustrations of these scenarios using an example in the following. The source address spoofing within a customer cone represents a class of scenario where spoofing traffic comes from a customer AS within a customer cone and the spoofed source addresses belong to this customer cone.</t>
        </section>
        <section anchor="spoofing_within_cc">
          <name>Source Address Spoofing within a Customer Cone</name>
          <t><xref target="customer-spoofing"/> portrays a scenario of source address spoofing within a customer cone and is used to analyze the gaps of uRPF-based mechanisms below.</t>
          <figure anchor="customer-spoofing">
            <name>A scenario of source address spoofing within a customer cone.</name>
            <artwork><![CDATA[
                                       +----------------+
                                       |    AS 3(P3)    |
                                       +-+/\----+/\+----+
                                          /       \
                                         /         \ 
                                        /           \
                                       / (C2P)       \
                              +----------------+      \
                              |    AS 4(P4)    |       \
                              ++/\+--+/\+--+/\++        \
                 P6[AS 1, AS 2] /     |      \           \
                P1[AS 1, AS 2] /      |       \           \
                     P2[AS 2] /       |        \           \
                             / (C2P)  |         \ P5[AS 5]  \ P5[AS 5]
             +----------------+       |          \           \    
Spoofer(P5')-+    AS 2(P2)    |       | P1[AS 1]  \           \
             +----------+/\+--+       | P6[AS 1]   \           \
                          \           |             \           \
                  P6[AS 1] \          |              \           \
                   P1[AS 1] \         |               \           \
                             \ (C2P)  | (C2P)    (C2P) \     (C2P) \
                           +----------------+        +----------------+
                           |  AS 1(P1, P6)  |        |    AS 5(P5)    |
                           +----------------+        +----------------+
P5' is the spoofed source prefix P5 by the spoofer which is inside of 
AS 2 or connected to AS 2 through other ASes.
]]></artwork>
          </figure>
          <t>In <xref target="customer-spoofing"/>, the source address spoofing takes place within AS 4's customer cone, where the spoofer, which is inside of AS 2 or connected to AS 2 through other ASes, sends spoofing traffic with spoofed source addresses in P5 to AS 3 along the path AS 2-&gt;AS 4-&gt; AS 3. The arrows in <xref target="customer-spoofing"/> illustrate the commercial relationships between ASes. AS 3 serves as the provider for AS 4 and AS 5, while AS 4 acts as the provider for AS 1, AS 2, and AS 5. Additionally, AS 2 is the provider for AS 1. Suppose AS 1 and AS 4 have deployed inter-domain SAV, while the other ASes have not.</t>
          <t>If AS 4 deploys EFP-uRPF with algorithm B at its customer interfaces, it will allow packets with source addresses in P5 to originate from AS 1, AS 2, and AS 5. Consequently, when the spoofer which is inside of AS 2 or connected to AS 2 through other ASes sends spoofing packets with spoofed source addresses in P5 to AS 3, AS 4 will improperly permit these packets, thus enabling the spoofing traffic to propagate.</t>
          <t>In scenarios like these, Strict uRPF, FP-uRPF, VRF uRPF, and EFP-uRPF with algorithm A do not suffer from improper permit problems. This is because these mechanisms enforce strict filtering rules that ensure packets with source addresses in P5 are only permitted to arrive at AS 4's customer interfaces facing AS 5.</t>
        </section>
      </section>
      <section anchor="sav_at_p">
        <name>SAV at Provider/Peer Interfaces</name>
        <t>SAV is used at provider/peer interfaces to validate traffic entering the customer cone, including both legitimate and spoofing traffic. To prevent packets with spoofed source addresses from the provider/peer AS, ACL-based ingress filtering and/or Loose uRPF can be deployed <xref target="nist"/>.</t>
        <figure anchor="provider_peer_gap">
          <name>The gaps of ACL-based ingress filtering, and Loose uRPF in the corresponding scenarios.</name>
          <artwork><![CDATA[
+------------------------+------------+---------------+
|   Traffic & Scenarios  |     ACL    |   Loose uRPF  |
+----------+-------------+------------+---------------+
|Legitimate|      Any    |            |  Functioning  |
|Traffic   |  Scenarios  |    High    |  as Expected  |
+----------+-------------+Operational +---------------+
|Spoofing  |   Spoofing  |  Overhead  |               |
|Traffic   |     from    |            |Improper Permit|
|          |Provider/Peer|            |               |
|          |      AS     |            |               |
+----------+-------------+------------+---------------+
"Spoofing from provider/peer AS" represents a class of scenario where 
source address spoofing traffic from provider/peer AS occurs and the 
spoofed source addresses belong to the customer cone which the 
spoofing traffic enters.
"Functioning as Expected" represents the inter-domain SAV mechanism 
does not cause improper block for legitimate traffic or improper 
permit for spoofing traffic in the corresponding scenarios, and has 
low operational overhead.
]]></artwork>
        </figure>
        <t><xref target="provider_peer_gap"/> summarizes the gaps of ACL-based ingress filtering and Loose uRPF for SAV at provider/peer interfaces in the corresponding scenarios. ACL-based ingress filtering effectively blocks spoofing traffic from provider/peer AS, while appropriately allowing legitimate traffic. However, these methods may come with high operational overhead. On the other hand, Loose uRPF correctly permits legitimate traffic, but it can also mistakenly allow spoofing traffic to pass through.</t>
        <t>In the following, we expose the limitations of ACL-based ingress filtering and Loose uRPF for SAV at provider/peer interfaces in scenarios of source address spoofing from provider/peer AS. The source address spoofing from provider/peer AS represents a class of scenario where spoofing traffic comes from a provider/peer AS and the spoofed source addresses belong to the customer cone which the spoofing traffic enters.</t>
        <section anchor="source-address-spoofing-from-providerpeer-as">
          <name>Source Address Spoofing from Provider/Peer AS</name>
          <t><xref target="provider-spoofing"/> depicts the scenario of source address spoofing from provider/peer AS and is used to analyze the gaps of ACL-based ingress filtering and Loose uRPF below.</t>
          <figure anchor="provider-spoofing">
            <name>A scenario of source address spoofing from provider/peer AS.</name>
            <artwork><![CDATA[
                          +----------------+
            Spoofer(P1')+-+    AS 3(P3)    |
                          +-+/\----+/\+----+
                             /       \
                            /         \ 
                           /           \
                          / (C2P/P2P)   \
                 +----------------+      \
                 |    AS 4(P4)    |       \
                 ++/\+--+/\+--+/\++        \
    P6[AS 1, AS 2] /     |      \           \
   P1[AS 1, AS 2] /      |       \           \
        P2[AS 2] /       |        \           \
                / (C2P)  |         \ P5[AS 5]  \ P5[AS 5]
+----------------+       |          \           \    
|    AS 2(P2)    |       | P1[AS 1]  \           \
+----------+/\+--+       | P6[AS 1]   \           \
             \           |             \           \
     P6[AS 1] \          |              \           \
      P1[AS 1] \         |               \           \
                \ (C2P)  | (C2P)    (C2P) \     (C2P) \
               +----------------+        +----------------+
               |  AS 1(P1, P6)  |        |    AS 5(P5)    |
               +----------------+        +----------------+
P1' is the spoofed source prefix P1 by the spoofer which is inside of 
AS 3 or connected to AS 3 through other ASes.
]]></artwork>
          </figure>
          <t>In the case of <xref target="provider-spoofing"/>, the spoofer which is inside of AS 3 or connected to AS 3 through other ASes forges the source addresses in P1 and sends the spoofing traffic to the destination addresses in P2. The arrows in <xref target="provider-spoofing"/> represent the commercial relationships between ASes. AS 3 acts as the provider or lateral peer of AS 4 and the provider for AS 5, while AS 4 serves as the provider for AS 1, AS 2, and AS 5. Additionally, AS 2 is the provider for AS 1. Suppose AS 1 and AS 4 have deployed inter-domain SAV, while the other ASes have not.</t>
          <t>By applying ACL-based ingress filtering at the provider/peer interface of AS 4, the ACL rules can block any packets with spoofed source addresses from AS 3 in P1. However, this approach incurs heavy operational overhead, as it requires network operators to update the ACL rules promptly based on changes in prefixes or topology of AS 4's customer cone. Otherwise, it may cause improper block of legitimate traffic or improper permit of spoofing traffic.</t>
          <t>Loose uRPF can greatly reduce the operational overhead because it uses the local FIB as information source, and can adapt to changes in the network. However, it would improperly permit spoofed packets. In <xref target="provider-spoofing"/>, Loose uRPF is enabled at AS 4's provider/peer interface, while EFP-uRPF is enabled at AS 4's customer interfaces. A spoofer inside AS 3 or connected to it through other ASes may send packets with source addresses spoofing P1 to AS 2. As AS 3 lacks deployment of inter-domain SAV, the spoofing packets will reach AS 4's provider/peer interface. With Loose uRPF, AS 4 cannot block them at its provider/peer interface facing AS 3, and thus resulting in improper permit.</t>
        </section>
      </section>
    </section>
    <section anchor="problem">
      <name>Problem Statement</name>
      <figure anchor="problem_sum">
        <name>The scenarios where existing inter-domain SAV mechanisms may have improper block problem for legitimate traffic, improper permit problem for spoofing traffic, or high operational overhead.</name>
        <artwork><![CDATA[
+--------+----------+---------+----------+-------+----------+
|Problems|    ACL   |  Strict |  Loose   |FP-uRPF|EFP-uRPF  |
|        |          |  uRPF   |  uRPF    |       |          |
+--------+----------+---------+----------+-------+----------+
|Improper|Not Exist |  Exist  |Not Exist |      Exist       |
|Block   |          |(LPP, HP)|          |    (LPP, HP)     |
+--------+----------+---------+----------+-------+----------+
|Improper|      Not Exist     |  Exist   |Not    |  Exist   |
|Permit  |                    |  (SPP)   |Exist  |  (SCC)   |
+--------+----------+---------+----------+-------+----------+
|        |   Exist  |                                       |
|  HOO   |   (Any   |              Not Exist                |
|        |Scenarios)|                                       |
+--------+----------+---------------------------------------+
HOO: High Operational Overhead.
"LPP" represents a class of scenario called limited propagation of 
prefixes. 
"HP" represents a class of scenario called hidden prefixes.
"SPP" represents a class of scenario called source address spoofing 
from provider/peer AS. 
"SCC" represents a class of scenario called source address spoofing 
within a customer cone.
]]></artwork>
      </figure>
      <t>Based on the analysis above, we conclude that existing inter-domain SAV mechanisms exhibit limitations in asymmetric routing scenarios, leading to potential issues of improper block or improper permit. Additionally, these mechanisms can result in high operational overhead, especially when network routing undergoes dynamic changes. <xref target="problem_sum"/> provides a comprehensive summary of scenarios where existing inter-domain SAV mechanisms may encounter issues, including instances of improper blocking of legitimate traffic, improper permitting of spoofing traffic, or high operational overhead.</t>
      <t>For ACL-based ingress filtering, network operators need to manually update ACL rules to adapt to network changes. Otherwise, they may cause improper block or improper permit issues. Manual updates induce high operational overhead, especially in networks with frequent policy and route changes.</t>
      <t>Strict uRPF and Loose uRPF are automatic SAV mechanisms, thus they do not need any manual effort to adapt to network changes. However, they have issues in scenarios with asymmetric routing. Strict uRPF may cause improper block problems when an AS is multi-homed and routes are not symmetrically announced to all its providers. This is because the local FIB may not include the asymmetric routes of the legitimate packets, and Strict uRPF only uses the local FIB to check the source addresses and incoming interfaces of packets. Loose uRPF may cause improper permit problems and fail to prevent source address spoofing. This is because it is oblivious to the incoming interfaces of packets.</t>
      <t>FP-uRPF improve Strict uRPF in multi-homing scenarios. However, they still have improper block issues in asymmetric routing scenarios. For example, they may not handle the cases of limited propagation of prefixes. These mechanisms use the local RIB to learn the source prefixes and their valid incoming interfaces. But the RIB may not have all the prefixes with limited propagation and their permissible incoming interfaces.</t>
      <t>EFP-uRPF allows the prefixes from the same customer cone at all customer interfaces. This solves the improper block problems of FP-uRPF in multi-homing scenarios. However, this approach also compromises partial protection against spoofing from the customer cone. EFP-uRPF may still have improper block problems when it does not learn legitimate source prefixes. For example, hidden prefixes are not learned by EFP-uRPF.</t>
      <t>Finally, existing inter-domain SAV mechanisms cannot work in all directions (i.e. interfaces) of ASes to achieve effective SAV. Network operators need to carefully analyze the network environment and choose appropriate SAV mechanism for each interface. This leads to additional operational and cognitive overhead, which hinders the rate of adoption of inter-domain SAV.</t>
    </section>
    <section anchor="req">
      <name>Requirements for New Inter-domain SAV Mechanisms</name>
      <t>This section lists the requirements which can help bridge the technical gaps of existing inter-domain SAV mechanisms. These requirements serve as the practical guidelines that can be met, in part or in full, by proposing new techniques.</t>
      <section anchor="accurate-validation">
        <name>Accurate Validation</name>
        <t>The new inter-domain SAV mechanism <bcp14>MUST</bcp14> improve the validation accuracy in all directions of ASes over existing inter-domain SAV mechanisms, while working in incremental/partial deployment and providing necessary security guarantee.</t>
        <section anchor="improving-validation-accuracy-over-existing-mechanisms">
          <name>Improving Validation Accuracy over Existing Mechanisms</name>
          <t>It <bcp14>MUST</bcp14> avoid improper block and permit less spoofing traffic than existing inter-domain SAV mechanisms. To avoid improper block, ASes that deploy the new inter-domain SAV mechanism <bcp14>SHOULD</bcp14> be able to acquire all the real data plane forwarding paths, which are the paths that the legitimate traffic goes through in the data plane.</t>
          <t>However, it may be hard to learn the real forwarding paths of prefixes exactly under some scenarios, such as asymmetric routing scenario and DSR scenario. For such scenarios, it is crucial to minimize the set of acceptable paths while ensuring the inclusion of all real forwarding paths, thereby preventing improper block and minimizing improper permit. Note that the acceptable paths are all the possible paths that the legitimate traffic may go through in the data plane, cover all the links at each level of customer-provider hierarchy, and <bcp14>MUST</bcp14> include all the real forwarding paths. Reducing the set of acceptable paths means eliminating the paths that are not the real forwarding paths of the prefixes from the set.</t>
          <figure anchor="accurate_validation">
            <name>An example to illustrate accurate validation in all directions of an AS.</name>
            <artwork><![CDATA[
                          +----------------+
                          |    AS 3(P3)    |
                          +-+/\----+/\+----+
                             /       \
                            /         \ 
                           /           \
                          / (C2P)       \
                 +----------------+      \
                 |    AS 4(P4)    |       \
                 ++/\+--+/\+--+/\++        \
    P6[AS 1, AS 2] /     |      \           \
         P2[AS 2] /      |       \           \
                 /       |        \           \
                / (C2P)  |         \ P5[AS 5]  \ P5[AS 5]
+----------------+       |          \           \    
|    AS 2(P2)    |       | P1[AS 1]  \           \
+----------+/\+--+       | P6[AS 1]   \           \
    P6[AS 1] \           | NO_EXPORT   \           \
     P1[AS 1] \          |              \           \
     NO_EXPORT \         |               \           \
                \ (C2P)  | (C2P)    (C2P) \     (C2P) \
              +----------------+        +----------------+
              |  AS 1(P1, P6)  |        |    AS 5(P5)    |
              +----------------+        +----------------+
]]></artwork>
          </figure>
          <t>Multiple sources of SAV-related information, such as RPKI ROA objects and ASPA objects, and SAV-specific information from other ASes, can assist in reducing the set of acceptable paths. <xref target="accurate_validation"/> is used as an example to illustrate how to avoid improper block and minimize improper permit in all directions of an AS based on different SAV information sources. AS 3 is the provider of AS 4 and AS 5, while AS 4 is the provider of AS 1, AS 2, and AS 5, and AS 2 is the provider of AS 1. Assuming prefixes P1, P2, P3, P4, P5, and P6 are all the prefixes in the network. Inter-domain SAV has been deployed by AS 1 and AS 4, but not by other ASes. Here, the focus is on how to conduct SAV in all directions of AS 4 when different SAV information sources are available to use.</t>
          <t>Since the source prefix ranges of the traffic entering the customer cone of AS 4 are not fully learned in the partial deployment scenario, SAV at provider/peer interfaces can use a blocklist. For example, as shown in <xref target="accurate_validation"/>, the traffic with source addresses in P5 may come from AS 5 or AS 3. In contrast, SAV at customer interfaces for traffic going out of the customer cone can use an allowlist to allow the known prefixes of the customer cone at the corresponding customer interfaces and other unknown prefixes at all the customer interfaces.</t>
          <t>The followings show how to generate SAV rules based on the SAV-related information from different SAV information sources to avoid improper block and reduce as much improper permit as possible.</t>
          <ul spacing="normal">
            <li>
              <t>If only the RIB is available, AS 4 can conduct SAV towards its neighboring ASes as follows like <xref target="RFC8704"/>: SAV towards AS 1 permits the prefixes P1 and P6, SAV towards AS 2 permits the prefixes P1, P2, and P6, SAV towards AS 5 permits the prefix P5, and SAV towards AS 3 does not block any prefix.</t>
            </li>
            <li>
              <t>When both RPKI ROA objects and ASPA objects are deployed by AS 1 and AS 4, AS 4 can conduct SAV towards its neighboring ASes as follows like <xref target="bar-sav"/>: SAV towards AS 1 permits the prefixes P1 and P6, SAV towards AS 2 permits the prefixes P1, P2, and P6, SAV towards AS 5 permits the prefix P5, and SAV towards AS 3 blocks the prefixes P1, P2, and P6.</t>
            </li>
            <li>
              <t>Moreover, if SAV-specific information that exactly contains all the real data plane forwarding paths of prefixes is accessible, SAV rules can be refined. AS 4 can conduct SAV towards its neighboring ASes as follows: SAV towards AS 1 permits only P1. SAV towards AS 2 permits the prefixes P2 and P6, while SAV towards AS 5 permits the prefix P5 and SAV towards AS 3 blocks the prefixes P1, P2, and P6.</t>
            </li>
          </ul>
          <t>It is evident that, in a partial deployment scenario, more accurate SAV-related information can effectively achieve 0% improper block and significantly minimize improper permit.</t>
        </section>
        <section anchor="working-in-incrementalpartial-deployment">
          <name>Working in Incremental/Partial Deployment</name>
          <t>The new inter-domain SAV mechanism <bcp14>MUST NOT</bcp14> assume pervasive adoption and <bcp14>SHOULD</bcp14> provide effective protection for source addresses when it is partially deployed in the Internet. Not all AS border routers can support the new SAV mechanism at once, due to various constraints such as capabilities, versions, or vendors. The new SAV mechanism should not be less effective in protecting all directions of ASes under partial deployment than existing mechanisms.</t>
        </section>
        <section anchor="providing-necessary-security-guarantee">
          <name>Providing Necessary Security Guarantee</name>
          <t>The new inter-domain SAV mechanism <bcp14>SHOULD</bcp14> secure the communicated SAV-specific information between ASes and prevent malicious ASes from generating forged information.</t>
        </section>
      </section>
      <section anchor="automatic-update">
        <name>Automatic Update</name>
        <t>The new inter-domain SAV mechanism <bcp14>SHOULD</bcp14> update SAV rules and detect the changes of SAV-specific information automatically while guaranteeing convergence.</t>
        <section anchor="reducing-operational-overhead">
          <name>Reducing Operational Overhead</name>
          <t>The new inter-domain SAV mechanism <bcp14>MUST</bcp14> be able to adapt to dynamic networks and asymmetric routing scenarios automatically, instead of relying on manual update. At least, it <bcp14>MUST</bcp14> have less operational overhead than ACL-based ingress filtering.</t>
        </section>
        <section anchor="guaranteeing-convergence">
          <name>Guaranteeing Convergence</name>
          <t>The new inter-domain SAV mechanism <bcp14>SHOULD</bcp14> promptly detect the network changes and launch the convergence process quickly. It is essential that the new inter-domain SAV mechanism converges towards accurate SAV rules in a proper manner, effectively reducing improper block and improper permit throughout the whole convergence process.</t>
        </section>
      </section>
    </section>
    <section anchor="inter-domain-sav-scope">
      <name>Inter-domain SAV Scope</name>
      <t>The new inter-domain SAV mechanisms should work in the same scenarios as existing ones. Generally, it includes all IP-encapsulated scenarios:</t>
      <ul spacing="normal">
        <li>
          <t>Native IP forwarding: This includes both global routing table forwarding and CE site forwarding of VPN.</t>
        </li>
        <li>
          <t>IP-encapsulated Tunnel (IPsec, GRE, SRv6, etc.): In this scenario, we focus on the validation of the outer layer IP address.</t>
        </li>
        <li>
          <t>Both IPv4 and IPv6 addresses.</t>
        </li>
      </ul>
      <t>Scope does not include:</t>
      <ul spacing="normal">
        <li>
          <t>Non-IP packets: This includes MPLS label-based forwarding and other non-IP-based forwarding.</t>
        </li>
      </ul>
      <t>In addition, the new inter-domain SAV mechanisms should not modify data plane packets. Existing architectures or protocols or mechanisms can be inherited by the new SAV mechanism to achieve better SAV effectiveness.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <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. Legitimate 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, such as RPKI ASPA objects, should also be protected by corresponding mechanisms or infrastructure. If SAV mechanisms or protocols require exchanging specific information between ASes, some considerations on the avoidance of message alteration or message injection are needed to propose.</t>
      <t>The SAV procedure referred in this document modifies no field of packets. So, security considerations on the data plane are not in the scope of this document.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document does not request any IANA allocations.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>Lancheng Qin<br/>
  Zhongguancun Laboratory<br/>
  Beijing,
  China <br/>
  Email: qinlc@zgclab.edu.cn</t>
      <t>Nan Geng<br/>
  Huawei<br/>
  Beijing,
  China <br/>
  Email: gengnan@huawei.com</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3704">
          <front>
            <title>Ingress Filtering for Multihomed Networks</title>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>BCP 38, RFC 2827, is designed to limit the impact of distributed denial of service attacks, by denying traffic with spoofed addresses access to the network, and to help ensure that traffic is traceable to its correct source network. As a side effect of protecting the Internet against such attacks, the network implementing the solution also protects itself from this and other attacks, such as spoofed management access to networking equipment. There are cases when this may create problems, e.g., with multihoming. This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular. This memo updates RFC 2827. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="84"/>
          <seriesInfo name="RFC" value="3704"/>
          <seriesInfo name="DOI" value="10.17487/RFC3704"/>
        </reference>
        <reference anchor="RFC8704">
          <front>
            <title>Enhanced Feasible-Path Unicast Reverse Path Forwarding</title>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="D. Montgomery" initials="D." surname="Montgomery"/>
            <author fullname="J. Haas" initials="J." surname="Haas"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document identifies a need for and proposes improvement of the unicast Reverse Path Forwarding (uRPF) techniques (see RFC 3704) for detection and mitigation of source address spoofing (see BCP 38). Strict uRPF is inflexible about directionality, the loose uRPF is oblivious to directionality, and the current feasible-path uRPF attempts to strike a balance between the two (see RFC 3704). However, as shown in this document, the existing feasible-path uRPF still has shortcomings. This document describes enhanced feasible-path uRPF (EFP-uRPF) techniques that are more flexible (in a meaningful way) about directionality than the feasible-path uRPF (RFC 3704). The proposed EFP-uRPF methods aim to significantly reduce false positives regarding invalid detection in source address validation (SAV). Hence, they can potentially alleviate ISPs' concerns about the possibility of disrupting service for their customers and encourage greater deployment of uRPF techniques. This document updates RFC 3704.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="84"/>
          <seriesInfo name="RFC" value="8704"/>
          <seriesInfo name="DOI" value="10.17487/RFC8704"/>
        </reference>
        <reference anchor="RFC2827">
          <front>
            <title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
            <author fullname="P. Ferguson" initials="P." surname="Ferguson"/>
            <author fullname="D. Senie" initials="D." surname="Senie"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="38"/>
          <seriesInfo name="RFC" value="2827"/>
          <seriesInfo name="DOI" value="10.17487/RFC2827"/>
        </reference>
        <reference anchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="February" year="2006"/>
            <abstract>
              <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC6811">
          <front>
            <title>BGP Prefix Origin Validation</title>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>To help reduce well-known threats against BGP including prefix mis- announcing and monkey-in-the-middle attacks, one of the security requirements is the ability to validate the origination Autonomous System (AS) of BGP routes. More specifically, one needs to validate that the AS number claiming to originate an address prefix (as derived from the AS_PATH attribute of the BGP route) is in fact authorized by the prefix holder to do so. This document describes a simple validation mechanism to partially satisfy this requirement. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6811"/>
          <seriesInfo name="DOI" value="10.17487/RFC6811"/>
        </reference>
        <reference anchor="RFC4786">
          <front>
            <title>Operation of Anycast Services</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="K. Lindqvist" initials="K." surname="Lindqvist"/>
            <date month="December" year="2006"/>
            <abstract>
              <t>As the Internet has grown, and as systems and networked services within enterprises have become more pervasive, many services with high availability requirements have emerged. These requirements have increased the demands on the reliability of the infrastructure on which those services rely.</t>
              <t>Various techniques have been employed to increase the availability of services deployed on the Internet. This document presents commentary and recommendations for distribution of services using anycast. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="126"/>
          <seriesInfo name="RFC" value="4786"/>
          <seriesInfo name="DOI" value="10.17487/RFC4786"/>
        </reference>
        <reference anchor="RFC7094">
          <front>
            <title>Architectural Considerations of IP Anycast</title>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="D. Oran" initials="D." surname="Oran"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="E. Osterweil" initials="E." surname="Osterweil"/>
            <date month="January" year="2014"/>
            <abstract>
              <t>This memo discusses architectural implications of IP anycast and provides some historical analysis of anycast use by various IETF protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7094"/>
          <seriesInfo name="DOI" value="10.17487/RFC7094"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5210">
          <front>
            <title>A Source Address Validation Architecture (SAVA) Testbed and Deployment Experience</title>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="G. Ren" initials="G." surname="Ren"/>
            <author fullname="K. Xu" initials="K." surname="Xu"/>
            <author fullname="M. Williams" initials="M." surname="Williams"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>Because the Internet forwards packets according to the IP destination address, packet forwarding typically takes place without inspection of the source address and malicious attacks have been launched using spoofed source addresses. In an effort to enhance the Internet with IP source address validation, a prototype implementation of the IP Source Address Validation Architecture (SAVA) was created and an evaluation was conducted on an IPv6 network. This document reports on the prototype implementation and the test results, as well as the lessons and insights gained from experimentation. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5210"/>
          <seriesInfo name="DOI" value="10.17487/RFC5210"/>
        </reference>
        <reference anchor="manrs" target="https://www.manrs.org/netops/guide/antispoofing/">
          <front>
            <title>MANRS Implementation Guide</title>
            <author>
              <organization>MANRS</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="isoc" target="https://www.internetsociety.org/resources/doc/2015/addressing-the-challenge-of-ip-spoofing/">
          <front>
            <title>Addressing the challenge of IP spoofing</title>
            <author>
              <organization>Internet Society</organization>
            </author>
            <date year="2015"/>
          </front>
        </reference>
        <reference anchor="nist" target="https://doi.org/10.6028/NIST.SP.800-189r1.ipd">
          <front>
            <title>Border Gateway Protocol Security and Resilience</title>
            <author>
              <organization>NIST</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="urpf" 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>Cisco Systems, Inc.</organization>
            </author>
            <date year="2005"/>
          </front>
        </reference>
        <reference anchor="bar-sav" target="https://datatracker.ietf.org/doc/draft-ietf-sidrops-bar-sav/">
          <front>
            <title>Source Address Validation Using BGP UPDATEs, ASPA, and ROA (BAR-SAV)</title>
            <author>
              <organization>NIST, Akamai</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 558?>

<section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>Many thanks to Jared Mauch, Barry Greene, Fang Gao, Anthony Somerset, Yuanyuan Zhang, Igor Lubashev, Alvaro Retana, Joel Halpern, Aijun Wang, Michael Richardson, Li Chen, Gert Doering, Mingxing Liu, John O'Brien, Roland Dobbins, etc. for their valuable comments on this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
tBWmVvnUM83CrVtLeSg4muh08rpFT5j3+7U4G1sPa+P4MNwe7r60yo/2Cffp
eBQQhhdO6xsx0/fljEd/7QMgucURCpla9pLNAdyQcJfcPeOOIGwZWJNyMPLC
pykMd94pk66vmdbhn6ipsQb1HDe79d22tYQzSijbKqNE59ZNK6Dr/7Cf3qNB
y+dR1x+P6s8e9b5cauL832Ji0fGFjnngzhh8vni08EWv/hdDBl98CB61fNsC
gjPLKTju2XiMgwrvE/xR/3xxUxDCg6CtgzAdw3UQvvlmbNtQQuRmCNpx8M5b
vbZ18nEwMeQm3FcY9J3Jv2uF4IuZT4CDL4Zkm0h8BQYQAkTSoYBnnAXSxEEk
jo/r0+Y/Tj6tOB4TILYTB1100IKDB7DyD8B2AWYueEfDbYAZThUYDSWLpFU2
9NzuZ+/Bm617a+TtPpg0uP/4eGNv7Jn3Guo9w7yXoisld+f4eNdugRvjv9cI
1vpxUgxe+H0AwLWVNasUwNzYkQ6tlJ41nlvFNgYT2g0F+2JPy1lKlaxjoVXT
WwnMNhXGInpJdtMh+Dy59/lIPDQ4+IAWBx15+5cH6M9Svjweou3Wjf0OBYdA
OEt6LcTDB2CXfv7sA/H7797JtpQAx2wY454SXEA0WazIrCan52uBNJu2HQbM
hjmstR9wNTrVEJ0RY7/HHiZrBWG4xSz6Jg7JW7wYBuuTHkf/ONcbWJ22aps2
32Q8ANbqXA/SMcfhcWOo/01MhO6oF8+NHSA+VKNZxwoB30SkvOogIx3MD2mO
SDjaoiPq34Bi7oLJftMGIzP3jqjKaQsAt0ySW7LcH4ozPfA4HHisxyGkBOLM
xCj77A7ZtfbO7ZlJcJgEHSpua88Omiw6wEVJhwPNLtj5uw8n/3f87uISSQf+
GL388eTi8nRyYhKxS8VkxSRMDq3HS6ssUbGyoV9no7bEetuSh2yuFTvo2N5Y
ijU5TYG5GmeGp22ckU7xP9xr988IUpzNY00e8UbyITjBtTzC8xGRrd/hnR/0
d+SRJKzjMOJttXBc/2COF8vnE3S8bVI/rENuqCbV0CruttUaNsijNS+TdTOa
iMOd8eEuWznren6097Puc+/nR+t7hs+e/fbz2hf3vO8/i3Wv7gV/ret1D6yO
g/HuundbjLVHnS9rf2EinuyMn+x6j9q71vih//O/1lpvhXov6BGw4D7e++OD
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
NcmNFWlxOryblpomA2L7f9sXLwJquwAA

-->

</rfc>
