<?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.6 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-geng-idr-flowspec-sav-03" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="BGP FlowSpec for SAV">BGP Flow Specification for Source Address Validation</title>
    <seriesInfo name="Internet-Draft" value="draft-geng-idr-flowspec-sav-03"/>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <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>
    <date year="2024" month="March" day="04"/>
    <area>Routing</area>
    <workgroup>IDR</workgroup>
    <keyword>SAV</keyword>
    <abstract>
      <?line 57?>

<t>BGP FlowSpec reuses BGP route to distribute infrastructure and propagates traffic flow information with filtering actions. 
This document specifies a new flow specification called Incoming-Interface-Set. Incoming-Interface-Set can be used together with the Source Prefix component to disseminate SAV rules.</t>
    </abstract>
  </front>
  <middle>
    <?line 62?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Source Address Validation (SAV) is an efficient method for preventing source address spoofing-based attacks. SAV rules indicate the valid/invalid incoming interfaces of a specific source IP address or source IP prefix. The rules can be deployed on edge routers, border routers, or aggregation routers for checking the validity of intra-domain and inter-domain packets. For invalid packets, filtering actions can be taken such as block, rate-limit, redirect, and sampling <xref target="I-D.huang-savnet-sav-table"/>.</t>
      <t>There are many mechanisms that can distributedly generate SAV rules on routers (<xref target="RFC2827"/>, <xref target="RFC3704"/>, <xref target="RFC5210"/>, <xref target="RFC8704"/>, and <xref target="manrs-antispoofing"/>). To facilitate flexible SAV management and improve validation accuracy, centralized SAV rule dissemination is also needed <xref target="I-D.li-savnet-intra-domain-architecture"/><xref target="I-D.wu-savnet-inter-domain-architecture"/>, which can be a complementary to existing distributed SAV mechanisms.</t>
      <t>BGP FlowSpec is a convenient and flexible tool for traffic filtering/controlling (<xref target="RFC8955"/>, <xref target="RFC8956"/>). It propagates traffic flow information for different traffic control purposes through the BGP protocol extension. Existing BGP FlowSpec has supported source prefix matching and various traffic filtering actions but does not support binding valid/invalid incoming interfaces to source prefixes. With a minor extension, BGP FlowSpec can be used for SAV rule dissemination.</t>
      <t>This document specifies a new flow specification component named Incoming-Interface-Set. SAV rules can be disseminated through BGP FlowSpec by carrying the new flow specification component together with Source Prefix component. Traffic filtering actions of existing BGP FlowSpec can also be carried to specify the actions for the packets failing source address validation.</t>
      <t>The new extension can be used to configure SAV rules on remote routers. It can also act as a supplement of existing SAV mechanisms and help improve SAV accuracy.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>SAV: Source address validation</t>
        <t>SAV Rule: The rule that indicates the valid/invalid incoming interfaces of a specific source IP address or source IP prefix.</t>
        <t>Group Identifier: An ID value that identifies a set of interfaces on the target routers (e.g., all the interfaces connected to customer ASes).</t>
      </section>
      <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="sav-rules">
      <name>SAV Rules</name>
      <t>SAV rules can be used for checking the validity of source addresses of incoming packets. A rule usually has a format of &lt;source prefix, interface set, validity indicator&gt;. Source prefix is for matching specific packets. Interface set represents a set of physical interfaces from which the packets arrive. Validity indicator indicates whether the packets matching the source prefix and arrival interface are valid or invalid. So, validity indicator has a value of either valid or invalid.</t>
      <t>For example, the rule &lt;P1, [intf1, intf2], valid&gt; means the source prefix P1 must arrive the router at interface Intf1 or Intf2, otherwise, P1 is invalid. For the packets with invalid source addresses/prefixes, the filtering actions, such as block, rate-limit, and redirect, can be taken <xref target="I-D.huang-savnet-sav-table"/>.</t>
      <t>In real networks, the interface set in SAV rules usually can be grouped. For example, the interfaces can be grouped as:</t>
      <ul spacing="normal">
        <li>
          <t>Subnet interface set that contains the interfaces connecting a target subnet.</t>
        </li>
        <li>
          <t>All customer AS interfaces set or the customer AS interfaces set of a customer AS.</t>
        </li>
        <li>
          <t>All lateral peer AS interfaces set or the lateral peer AS interfaces set of a lateral peer AS.</t>
        </li>
        <li>
          <t>All transit provider AS interfaces set or the transit provider AS interfaces set of a transit provider AS.</t>
        </li>
      </ul>
      <t>These interface set can be identified by a Group Identifier for easy management. Group Identifier is a local interface property on the target routers, and the meaning of it depends on the configurations of network administrator. Any interface may be associated with one or more Group Identifiers.</t>
    </section>
    <section anchor="bgp-flowspec-for-sav">
      <name>BGP FlowSpec for SAV</name>
      <t>SAV can be disseminated to Edge/Border/Aggregation routers (i.e., target routers) through BGP FlowSpec, as shown in the figure below. The controller is used to set up BGP connection with the routers in a SAV-deployed AS or domain. Note that, SAV rules disseminated by BGP FlowSpec can take effect alone or acts as a management tool of other SAV mechanisms (e.g., <xref target="RFC8704"/>).</t>
      <artwork><![CDATA[
                      +------------+
                      | Controller |
                      +------------+
                        /   |    \
                       / FS | FS  \ FS
                      /     |      \
+-------------+      +--------------+      +---------+
| Provider or |      | SAV-deployed |      |         |
| Customer or |------# AS/Domain    #------| Subnets |
| Peer AS     |      |              |      |         |
+-------------+      +--------------+      +---------+
]]></artwork>
      <t>Existing BGP FlowSpec has supported source prefix matching and various traffic filtering actions. To disseminate SAV rules (&lt;source prefix, interface set, validity indicator&gt;), a new flow specification component is needed to carry the information of interface set and validity indicator.</t>
      <section anchor="flow-specification-encoding-for-sav">
        <name>Flow Specification Encoding for SAV</name>
        <t>The new flow specification component is encoded in the BGP Flowspec NLRI. It <bcp14>SHOULD</bcp14> appear together with Source Prefix component.</t>
        <t>The following new component type is defined:</t>
        <ul spacing="normal">
          <li>
            <t>Type TBD1: Incoming-Interface-Set</t>
          </li>
          <li>
            <t>Encoding: &lt;type (1 octet), [numeric_op, value]+&gt;</t>
          </li>
        </ul>
        <t>The new component contains a set of {numeric_op, value} pairs that are used to match the Incoming-Interface-Set (i.e., the valid or invalid interfaces of a specific source prefix).</t>
        <t>The numeric operator (numeric_op) is encoded as (see RFC8955 sec. 4.2.1.1):</t>
        <artwork><![CDATA[
    0   1   2   3   4   5   6   7
  +---+---+---+---+---+---+---+---+
  | e | a |  len  | 0 |lt |gt |eq |
  +---+---+---+---+---+---+---+---+
]]></artwork>
        <t>The value field is encoded as:</t>
        <artwork><![CDATA[
 0                   1                   2                   3  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V|R|     Group Identifier (variable, 6, 14, 30, or 62 bits)    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>The length of the value field can be 1, 2, 4, or 8 octets, which depends on the len in numeric_op. 
Particularly, the most two significant bits in the value field are two flags:</t>
        <ul spacing="normal">
          <li>
            <t>Flag V (1 bit): The most significant bit in the value field. If set, the identified interface set is valid for the source prefix. If unset, it means the interface set is invalid for the source prefix.</t>
          </li>
          <li>
            <t>Flag R (1 bit): The second most significant bit in the value field. This bit is reserved for future use and <bcp14>MUST</bcp14> be set to zero.</t>
          </li>
        </ul>
        <t>Group Identifier indicates a specific set of interfaces that are configured by network administrator. Zero Group Identifier (i.e., Group Identifier equaling 0) is a reserved value and does not need to be configured. A NLRI may carry one zero Group Identifier and several non-zero Group Identifiers. The zero Group Identifier means any other interfaces on the target router except the interfaces indicated by non-zero Group Identifiers in the same NLRI. If a NLRI only contains a zero Group Identifier and has no non-zero Group Identifiers, the zero Group Identifier will represent all interfaces on the target router. A NLRI <bcp14>MUST</bcp14> not contain more than one zero Group Identifiers, otherwise, the whole NLRI will be ignored.</t>
        <t>The bits lt, gt, and eq can be combined to match a specific Group Identifier or a range of Group Identifiers (e.g., greater than Group ID1 and less than Group ID2). For a range of Group Identifiers, their corresponding flags (i.e., V and R) <bcp14>MUST</bcp14> be the same. Otherwise, the whole NLRI will be ignored.</t>
        <t>If a receiving BGP speaker cannot support this new flow specification component type, it <bcp14>MUST</bcp14> discard the NLRI value field that contains such unknown components (section 10 of <xref target="RFC8955"/>). 
A NLRI value field <bcp14>MUST</bcp14> only contain a Source Prefix component and an Incoming-Interface-Set component. If the NLRI value does not satisfy this principle, the receiving BGP speaker <bcp14>SHOULD</bcp14> discard the NLRI value field (see Section <xref target="other-usages"/>). 
Since the NLRI field encoding (Section 4 of <xref target="RFC8955"/>) is defined in the form of a 2-tuple &lt;length, NLRI value&gt;, message decoding can skip over the unknown NLRI value and continue with subsequent remaining NLRIs.</t>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>Example 1: Configure source prefix P1 as valid at AS1's interfaces (Group Identifier=ID1) connecting a multi-homed subnet.</t>
        <t>Encoding description: NLRI carries a P1 in a Source Prefix component and a Incoming-Interface-set component with (V=1, R=0, Group Identifier=ID1).</t>
        <t>Example 2: Configure source prefix P2 as invalid at AS2's interfaces (Group Identifier=ID2) connecting to transit providers and as valid for any other interfaces.</t>
        <t>Encoding description: NLRI carries a P2 in a Source Prefix component and a Incoming-Interface-set component with (V=0, R=0, Group Identifier=ID2) and (V=1, R=0, Group Identifier=0).</t>
      </section>
      <section anchor="other-usages">
        <name>Other Usages</name>
        <t>The Incoming-Interface-Set component can be used as a general flow specification instead of SAV-specific component. Other components can be combined with the new component for matching specific traffic.</t>
      </section>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>TBD</t>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>This document requests a new entry in "Flow Spec component types registry" with the following values:</t>
      <artwork><![CDATA[
+=======+========================+===============+
| Type  | IPv4/IPv6 Name         | Reference     |
+=======+========================+===============+
| TBD1  | Incoming-Interface-set | This document |
+-------+------------------------+---------------+
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Many thanks to the comments from Shunwan Zhuang, Susan Hares, Jeffrey Haas, Mingqing Huang, Mingxing Liu etc.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8955" target="https://www.rfc-editor.org/info/rfc8955" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8955.xml">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="C. Loibl" initials="C." surname="Loibl"/>
            <author fullname="S. Hares" initials="S." surname="Hares"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="M. Bacher" initials="M." surname="Bacher"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
              <t>It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI. Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t>This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </reference>
        <reference anchor="RFC8956" target="https://www.rfc-editor.org/info/rfc8956" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8956.xml">
          <front>
            <title>Dissemination of Flow Specification Rules for IPv6</title>
            <author fullname="C. Loibl" initials="C." role="editor" surname="Loibl"/>
            <author fullname="R. Raszuk" initials="R." role="editor" surname="Raszuk"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>"Dissemination of Flow Specification Rules" (RFC 8955) provides a Border Gateway Protocol (BGP) extension for the propagation of traffic flow information for the purpose of rate limiting or filtering IPv4 protocol data packets.</t>
              <t>This document extends RFC 8955 with IPv6 functionality. It also updates RFC 8955 by changing the IANA Flow Spec Component Types registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8956"/>
          <seriesInfo name="DOI" value="10.17487/RFC8956"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.li-savnet-intra-domain-architecture" target="https://datatracker.ietf.org/doc/html/draft-li-savnet-intra-domain-architecture-06" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.li-savnet-intra-domain-architecture.xml">
          <front>
            <title>Intra-domain Source Address Validation (SAVNET) Architecture</title>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Mingqing(Michael) Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Fang Gao" initials="F." surname="Gao">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="21" month="January" year="2024"/>
            <abstract>
              <t>This document proposes the intra-domain SAVNET architecture, which achieves accurate source address validation (SAV) in an intra-domain network by an automatic way. Compared with uRPF-like SAV mechanisms that only depend on routers' local routing information, SAVNET routers generate SAV rules by using both local routing information and SAV-specific information exchanged among routers, resulting in more accurate SAV validation in asymmetric routing scenarios. Compared with ACL rules that require manual efforts to accommodate to network dynamics, SAVNET routers learn the SAV rules automatically in a distributed way.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-li-savnet-intra-domain-architecture-06"/>
        </reference>
        <reference anchor="I-D.wu-savnet-inter-domain-architecture" target="https://datatracker.ietf.org/doc/html/draft-wu-savnet-inter-domain-architecture-06" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.wu-savnet-inter-domain-architecture.xml">
          <front>
            <title>Inter-domain Source Address Validation (SAVNET) Architecture</title>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Mingqing(Michael) Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Libin Liu" initials="L." surname="Liu">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Tsinghua University</organization>
            </author>
            <date day="5" month="February" year="2024"/>
            <abstract>
              <t>This document introduces an inter-domain SAVNET architecture for performing AS-level SAV and provides a comprehensive framework for guiding the design of inter-domain SAV mechanisms. The proposed architecture empowers ASes to generate SAV rules by sharing SAV- specific information between themselves, which can be used to generate more accurate and trustworthy SAV rules in a timely manner compared to the general information. During the incremental or partial deployment of SAV-specific information, it can rely on general information to generate SAV rules, if an AS's SAV-specific information is unavailable. Rather than delving into protocol extensions or implementations, this document primarily concentrates on proposing SAV-specific and general information and guiding how to utilize them to generate SAV rules. It also defines the architectural components and their relations.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-wu-savnet-inter-domain-architecture-06"/>
        </reference>
        <reference anchor="I-D.huang-savnet-sav-table" target="https://datatracker.ietf.org/doc/html/draft-huang-savnet-sav-table-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.huang-savnet-sav-table.xml">
          <front>
            <title>General Source Address Validation Capabilities</title>
            <author fullname="Mingqing(Michael) Huang" initials="M." surname="Huang">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Mingxing Liu" initials="" surname="Liu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Changwang Lin" initials="C." surname="Lin">
              <organization>New H3C Technologies</organization>
            </author>
            <date day="21" month="February" year="2024"/>
            <abstract>
              <t>The SAV rules of existing source address validation (SAV) mechanisms, are derived from other core data structures, e.g., FIB-based uRPF, which are not dedicatedly designed for source filtering. Therefore there are some limitations related to deployable scenarios and traffic handling policies. To overcome these limitations, this document introduces the general SAV capabilities from data plane perspective. How to implement the capabilities and how to generate SAV rules are not in the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-huang-savnet-sav-table-04"/>
        </reference>
        <reference anchor="manrs-antispoofing" target="https://www.manrs.org/netops/guide/antispoofing">
          <front>
            <title>MANRS Implementation Guide</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="January"/>
          </front>
        </reference>
        <reference anchor="RFC2827" target="https://www.rfc-editor.org/info/rfc2827" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2827.xml">
          <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="RFC3704" target="https://www.rfc-editor.org/info/rfc3704" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3704.xml">
          <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="RFC5210" target="https://www.rfc-editor.org/info/rfc5210" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5210.xml">
          <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="RFC8704" target="https://www.rfc-editor.org/info/rfc8704" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8704.xml">
          <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>
      </references>
    </references>
    <?line 232?>



  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
