<?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.1 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-li-savnet-intra-domain-architecture-04" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="Intra-domain SAVNET Architecture">Intra-domain Source Address Validation (SAVNET) Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-li-savnet-intra-domain-architecture-04"/>
    <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="Qin" fullname="Lancheng Qin">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qlc19@mails.tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="L." surname="Chen" fullname="Li Chen">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lichen@zgclab.edu.cn</email>
      </address>
    </author>
    <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="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="F." surname="Gao" fullname="Fang Gao">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gaofang@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2023" month="October" day="20"/>
    <area>Routing</area>
    <workgroup>SAVNET</workgroup>
    <keyword>SAV</keyword>
    <abstract>
      <?line 92?>

<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>
  <middle>
    <?line 96?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Source address validation (SAV) is important for mitigating source address spoofing and thus contributes to the Internet security.  In the Source Address Validation Architecture (SAVA) <xref target="RFC5210"/>, SAV is divided into three checking levels, i.e., access-network SAV, intra-domain SAV, and inter-domain SAV. When an access network does not deploy SAV (such as SAVI <xref target="RFC7039"/><xref target="RFC7513"/>, Cable Source Verify <xref target="cable-verify"/>, and IP Source Guard <xref target="IPSG"/>), intra-domain SAV helps block spoofed packets from an access network as close to the source as possible <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <t>The main purpose of the intra-domain SAV mechanism for an AS A, is to protect the outgoing packets of a subnet of AS A from forging their source addresses as other subnets' addresses or other AS's addresses, as well as protect the incoming packets to AS A from forging their source addresses as AS A's addresses. The main task of the intra-domain SAV mechanism is to generate the correct mapping relationship between a source address (prefix) and the valid incoming interface(s), called SAV rules. The core challenge of the intra-domain SAV mechanism is how to efficiently and accurately learn the mapping relationship. Although many existing intra-domain SAV mechanisms (such as ACL-based filtering <xref target="RFC2827"/>, strict uRPF <xref target="RFC3704"/>, and loose uRPF <xref target="RFC3704"/>) have been proposed, they suffer from either inaccurate mapping in asymmetric routing scenraios, or high operational overhead in dynamic networks. The key cause is that exsiting mechanisms generate the SAV rules by a router's local routing information or by manual inputs. In <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>, five requirements for a new intra-domain SAVNET architecture are proposed.</t>
      <t>This document introduces the intra-domain SAVNET architecture to meet the five requirements. The key idea of intra-domain SAVNET architecture is to generate SAV rules in routers based on SAV-specific information exchanged among routers, instead of depending on local routing information like in existing mechanisms. It achieves accurate SAV validation, because the SAV-specific information exchanged among routers carry necessary information for asymmetric routing scenraio which cannot be learned by local routing information. It achieves automatic SAV rule update, because the SAV-specific information exchange is triggered when there is topology change or prefix change.</t>
      <t>In the incremental/partial deployment scenario where only part of intra-domain routers support the intra-domain SAVNET architecture, some SAV-specific information for building the complete SAV rules will be missing. In this case, local routing information can still be used to fill the gap.</t>
      <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>
      <t>Local Routing Information: The information in a router's local RIB or FIB that can be used to infer SAV rules.</t>
      <t>SAV-specific Information: The information specialized for SAV rule generation, which is exchanged among routers.</t>
      <t>SAV-related Information: The information used by a router to make SAV decisions. For intra-domain SAV, SAV-related information includes both local routing information and SAV-specific information.</t>
      <t>SAV-specific Information Communication Mechanism: The mechanism for exchanging SAV-specific information between routers. It can be a either a new protocol or an extension to an existing protocol.</t>
      <t>SAV Information Base: A table or data structure in a router which stores SAV-specific information and local routing information.</t>
      <t>SAV Rule: The rule in a router that describes the mapping relationship between a source address (prefix) and the valid incoming interface(s). It is used by a router to make SAV decisions and is inferred from the SAV information base.</t>
      <t>SAVNET Router: A router which runs SAVNET architecture.</t>
      <t>SAVNET Agent: The agent in a SAVNET router that is responsible for communicating SAV-specific information, processing SAV-related information, and generating SAV rules.</t>
      <t>Edge Router: An intra-domain router for a AS that is directly connected to a subnet of the AS.</t>
      <t>Border Router: An intra-domain router for a AS that is connected to other ASes. A router in an AS can be both an edge router and a border router, if it is connected to both the AS's subnets and other ASes.</t>
      <t>Improper Block: The validation results that the packets with legitimate source addresses are blocked improperly due to inaccurate SAV rules.</t>
      <t>Improper Permit: The validation results that the packets with spoofed source addresses are permitted improperly due to inaccurate SAV rules.</t>
    </section>
    <section anchor="sec-arch-overview">
      <name>Intra-domain SAVNET Architecture Overview</name>
      <section anchor="source-entity-and-validation-entity">
        <name>Source Entity and Validation Entity</name>
        <t><xref target="fig-arch"/> shows the overview of intra-domain SAVNET architecture. A SAVNET router can be an edge router, a border router, both an edge router and a border router, or other routers (i.e., neither an edge router nor a border router). Every SAVNET router has a SAVNET Agent that is responsible for actions related to SAV. In the architecture, a SAVNET router can act as Source Entity to send its SAV-specific information to other SAVNET routers, or/and act as Validation Entity to receive SAV-specific information from other SAVNET routers.</t>
        <section anchor="source-entity">
          <name>Source Entity</name>
          <t>When a SAVNET router acts as Source Entity, the information sender of its SAVNET Agent sends its SAV-specific information to other SAVNET routers that act as Validation Entity. For example, an edge router acting as Source Entity can obtain its SAV-specific information about the connected subnets and send out this information through communication channel. To this end, a SAV-specific information communication mechanism should be developed to build and maintain the communication channel between Source Entity and Validation Entity.</t>
        </section>
        <section anchor="validation-entity">
          <name>Validation Entity</name>
          <t>When a SAVNET router acts as Validation Entity, the information receiver of its SAVNET Agent receives SAV-specific information from other routers that act as Source Entity. Then, its SAVNET Agent processes the received SAV-specific information as well as its local routing information to generate SAV rules. For example, an edge router or a border router acting as Validation Entity can generate SAV rules and use SAV rules to perform SAV on inbound or outbound packets.</t>
          <figure anchor="fig-arch">
            <name>The intra-domain SAVNET architecture</name>
            <artwork><![CDATA[
+---------------------+               +-------------------------------------+
|    Source Entity    |               |          Validation Entity          |
|     (Router A)      |               |             (Router B)              |
|                     |               |                                     |
| +-----------------+ |               | +-----------------+     +---------+ |
| |   SAVNET Agent  | | Communication | |   SAVNET Agent  <-----+ RIB/FIB | |
| | +-------------+ | | Channel       | | +-------------+ |     +---------+ |
| | | Information +-----------------------> Information | | Local Routing   |
| | | Sender      | | |(SAV-specific  | | | Receiver    | | Information     |
| | +-------------+ | | Information ) | | +-------------+ |                 |
| +-----------------+ |               | +-----------------+                 |
|                     |               |                                     |
+---------------------+               +-------------------------------------+
]]></artwork>
          </figure>
          <t>In the following, <xref target="sec-information"/> introduces both kinds of SAV-related information (i.e., local routing information and SAV-specific information), and how they can be obtained. <xref target="sec-arch-agent"/> introduces the basic workflow of SAV rule generation.</t>
        </section>
      </section>
      <section anchor="sec-information">
        <name>SAV-related Information</name>
        <section anchor="local-routing-information">
          <name>Local Routing Information</name>
          <t>Local routing information is used for forwarding rule computation, which is stored in RIB/FIB. Although it is not specialized for SAV, it can also be used to infer SAV rules in existing uRPF-based SAV mechanisms, such as strict uRPF and loose uRPF. A SAVNET router acting as Validation Entity can directly obtain local routing information from the router's RIB/FIB.</t>
        </section>
        <section anchor="sav-specific-information">
          <name>SAV-specific Information</name>
          <t>SAV-specific information is specialized for SAV. A SAVNET router acting as Source Entity can obtain local SAV-specific information based on local routing information and local interface configurations. A SAVNET routing acting as Validation Entity can obtain SAV-specific information of other SAVNET routers that act as Source Entity through the communication channel.</t>
          <t>By learning the SAV-specific information from Source Entity, Validation Entity can generate more accurate SAV rules than solely using its local routing information. In this way, improper block problems can be avoided and improper permit problems can be reduced. For example, a router that is directly connected to subnets can act as Source Entity and inform the other routers of its locally known source prefixes of its subnets. Other routers acting as Validation Entity can finally consolidate such SAV-specific information and local routing information to obtain the complete source prefixes of intra-domain subnets.</t>
        </section>
        <section anchor="sav-specific-information-communication-mechanism">
          <name>SAV-specific Information Communication Mechanism</name>
          <t>The SAV-specific communication mechanism is for building the communication channel and propagating SAV-specific information from Source Entity to Validation Entity. Since there is no off-the-shelf mechanism to achieve this function, a new SAV-specific communication mechanism is needed. It can be a new protocol or an extension to an existing protocol. This document does not present the details of the protocol design or protocol extensions. In the following, we describe the necessary features of SAV-specific communication mechanism.</t>
          <t>The SAV-specific communication mechanism <bcp14>SHOULD</bcp14> define the data structure or format of SAV-specific information, and the operations of communication (such as communication channel establishment and communication channel termination). In addition, the mechanism <bcp14>SHOULD</bcp14> require Source Entity to inform Validation Entity of the updates of SAV-specific information in a timely manner, so that Validation Entity can update SAV rules based on the latest information.</t>
          <t>In order to ensure the convergence and security of the communication, the session of the SAV-specific communication mechanism <bcp14>SHOULD</bcp14> meet the following requirements:</t>
          <ul spacing="normal">
            <li>
              <t>The session can be a long-time session or a temporary one, but it <bcp14>SHOULD</bcp14> provide sufficient assurance of transmission reliability and timeliness, so that Validation Entity can update its SAV rules in time.</t>
            </li>
            <li>
              <t>Authentication can be conducted before session establishment. Authentication is optional but the ability of authentication <bcp14>SHOULD</bcp14> be available.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="sec-arch-agent">
        <name>SAV Rule Generation</name>
        <t><xref target="fig-sav-agent"/> shows the SAV rule generation process of the SAVNET router acting as Validation Entity. The SAV Information Manager of SAVNET Agent consolidates SAV-specific information from Information Receiver and local routing information from RIB/FIB into the SAV Information Base. Then, it sends the consolidated information to the SAV Rule Generator. The SAV Rule Generator will generate SAV rules (e.g., tuples like &lt;prefix, interface set, validity state&gt;) based on the consolidated information. It then stores SAV rules in SAV Table <xref target="I-D.huang-savnet-sav-table"/>. SAV Information Manager also provides the support of diagnosis. Operators can look up the information in SAV Information Base for monitoring or troubleshooting purpose.</t>
        <figure anchor="fig-sav-agent">
          <name>The workflow of SAV rule generation</name>
          <artwork><![CDATA[
+--------------------------------------------------------+
|                      SAVNET Agent                      |
|                                                        |
| SAV-specific information     Local routing information |
| from Information Receiver    from RIB/FIB              |
|                |                   |                   |
|                |                   |                   |
|            +---v-------------------v----+              |
|            | SAV Information Manager    |              |
|            | +------------------------+ |              |
|            | | SAV Information Base   | |              |
|            | +------------------------+ |              |
|            +----------------------------+              |
|                          |                             |
|                          | SAV-related information     |
|                          |                             |
|            +-------------v--------------+              |
|            | SAV Rule Generator         |              |
|            | +------------------------+ |              |
|            | |        SAV Rules       | |              |
|            | +------------------------+ |              |
|            +----------------------------+              |
+--------------------------------------------------------+
]]></artwork>
        </figure>
        <t>As mentioned in <xref target="sec-arch-overview"/>, Validation Entity can be either an edge router or a border router. According to the definition of intra-domain SAV proposed in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>, the edge router is responsible for validating packets received from the connected subnet and blocking those with source addresses of other subnets. While the border router is responsible for validating packets received from other ASes and blocking those with source addresses in internal source prefixes. Therefore, the working mechanism of SAVNET Agents of edge router and border router should be different, especially in the incremental/partial deployment scenario.</t>
        <t>For an edge router acting as Validation Entity, it should first combine the local routing information and the SAV-specific information to obtain the complete source prefixes of each connected subnet. Then, it binds the source prefixes of the subnet to its interface connected to the subnet, and conduct SAV at this interface. Packets arriving at the interface will be considered invalid and should be blocked, if their source addresses do not belong to the subnet.
In the incremental/partial deployment scenario where not all edge routers connected to the same subnets deploy SAV-specific information communication mechanism, an edge router acting as Validation Entity may not be able to identify complete source prefixes of the subnet. To avoid improper problems in this case, the Validation Entity is recommended to use less strict SAV rules. For example, it can choose to only block packets with non-global or non-routable source addresses by using its local routing information.</t>
        <t>For a border router acting as Validation Entity, it should combine the local routing information and the SAV-specific information to collect all internal source prefixes, i.e., the source prefixes of all internal subnets. Then, it binds the internal source prefixes to the interfaces connected to other ASes and conducts SAV at these interfaces. Packets arriving at these interfaces will be considered invalid and should be blocked, if their source addresses belong to internal source prefixes. 
In the incremental/partial deployment scenario where not all edge routers in the intra-domain network deploy SAV-specific information communication mechanism, a border router acting as Validation Entity may not be able to get complete internal source prefixes. In this scenario, the border router can still block inbound packets with source addresses belonging to the learned internal source prefixes. 
In addition, if the border router also implements inter-domain SAVNET architecture, its intra-domain SAVNET Agent <bcp14>SHOULD</bcp14> send the intra-domain SAV-specific information to its inter-domain SAVNET Agent, helping the inter-domain SAVNET Agent generate inter-domain SAV rules or inter-domain SAV-specific information.</t>
      </section>
    </section>
    <section anchor="sec-use-case">
      <name>Use Cases</name>
      <t>This section uses two use cases to illustrate that intra-domain SAVNET architecture can achieve more accurate and efficient SAV than existing intra-domain SAV mechanisms, both in the inbound and outbound directions.</t>
      <section anchor="sec-use-case1">
        <name>Use Case 1: Validating Outbound Packets from a Multi-homed Subnet at Edge Routers</name>
        <t><xref target="fig-use-case1"/> shows an asymmetric routing in the multi-homed subnet scenario. This scenario has been proposed in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>. Subnet 1 has prefix 10.0.0.0/15 and is attached to two edge routers, i.e., Router 1 and Router 2. Due to the inbound load balance strategy of Subnet 1, Router 1 only learns the route to sub prefix 10.1.0.0/16 from Subnet 1, while Router 2 only learns the route to the other sub prefix 10.0.0.0/16 from Subnet 1. After that, Router 1 or Router 2 learns the route to the other sub prefix through the intra-domain routing protocol. The FIBs of Router 1 and Router 2 are shown in the figure. Assume Subnet 1 may send outbound packets with source addresses in sub prefix 10.0.0.0/16 to Router 1 for outbound load balance.</t>
        <figure anchor="fig-use-case1">
          <name>A use case of outbound SAV</name>
          <artwork><![CDATA[
+-------------------------------------------------------------+
|                                                      AS     |
|                        +----------+                         |
|                        | Router 3 |                         |
| FIB on Router 1        +----------+  FIB on Router 2        |
| Dest         Next_hop   /\      \    Dest         Next_hop  |
| 10.1.0.0/16  Subnet 1   /        \   10.0.0.0/16  Subnet 1  |
| 10.0.0.0/16  Router 3  /         \/  10.1.0.0/16  Router 3  |
|                +----------+     +----------+                |
|                | Router 1 |     | Router 2 |                |
|                +-----+#+--+     +-+#+------+                |
|                        /\         /                         |
|   Outbound traffic with \        / Inbound traffic with     |
|   source IP addresses    \      /  destination IP addresses |
|   of 10.0.0.0/16          \    \/  of 10.0.0.0/16           |
|                           Subnet 1                          |
|                        (10.0.0.0/15 )                       |
|                                                             |
+-------------------------------------------------------------+
]]></artwork>
        </figure>
        <t>In this case, as described in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>, strict uRPF at Router 1 will improperly block legitimate packets with source addresses in prefix 10.0.0.0/16 from Subnet 1 at interface '#', because it only accepts packets with source addresses in prefix 10.1.0.0/16 from Router 1's interface '#' according to its local routing information.</t>
        <t>If intra-domain SAVNET architecture is implemented in the network, Router 2 can inform Router 1 that prefix 10.0.0.0/16 also belongs to Subnet 1 by sending SAV-specific information to Router 1. Then, by combining both local routing information and received SAV-specific information, Router 1 learns that Subnet 1 owns both prefix 10.1.0.0/16 and prefix 10.0.0.0/16. Therefore, Router 1 will accept packets with source addresses in prefix 10.1.0.0/16 and prefix 10.0.0.0/16 at interface '#', so improper block can be avoided.</t>
      </section>
      <section anchor="sec-use-case2">
        <name>Use Case 2: Validating Inbound Packets from Other ASes at Border Routers</name>
        <t><xref target="fig-use-case2"/> shows the inbound SAV scenario which is proposed in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>. Router 3 and Router 4 perform intra-domain SAV at interface '#' to block inbound packets with spoofed internal source addresses.</t>
        <figure anchor="fig-use-case2">
          <name>A use case of inbound SAV</name>
          <artwork><![CDATA[
                + Packets with              + Packets with
                | spoofed P1/P2             | spoofed P1/P2
+--------------|---------------------------|----------+
|  AS          \/                          \/         |
|          +--+#+-----+               +---+#+----+    |
|          | Router 3 +-------------->| Router 4 |    |
|          +----------+               +----------+    |
|             /     \                      |          |
|            /       \                     |          |
|          \/         \/                   \/         |
|  +----------+     +----------+      +----------+    |
|  | Router 1 |     | Router 2 |      | Router 5 |    |
|  +----------+     +----------+      +----------+    |
|        \              /                   |         |
|         \            /                    |         |
|          \          /                     \/        |
|           Subnet 1(P1)               Subnet 2(P2)   |
+-----------------------------------------------------+
]]></artwork>
        </figure>
        <t>As described in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>, if Router 3 and Router 4 deploy ACL-based ingress filtering, the operator needs to manually generate and update ACL rules at Router 3 and Router 4 when internal source prefixes change. The operational overhead of manually maintaining and updating ACL rules will be extremely high, especially when there are multiple inbound validation points.</t>
        <t>If intra-domain SAVNET architecture is implemented in the network, Router 1, Router 2, and Router 5 will inform Router 3 and Router 4 of the source prefixes of Subnet 1 and Subnet 2 by sending SAV-specific information. The SAV-specific information communication will be triggered if topology or prefix changes. For example, if Subnet 2 has a new source prefix P3, Router 5 will inform Router 3 and Router 4 of the new source prefix of Subnet 2 immediately. After receiving SAV-specific information from other routers, Router 3 and Router 4 can identify internal source prefixes and detect their changes. In this way, Router 3 and Router 4 can automatically generate and update SAV rules at interface '#' to block inbound packets with internal source addresses.</t>
      </section>
    </section>
    <section anchor="meeting-the-design-requirements-of-intra-domain-savnet">
      <name>Meeting the Design Requirements of Intra-domain SAVNET</name>
      <t>Intra-domain SAVNET architecture is proposed to meet the five design requirements proposed in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <section anchor="meeting-the-accurate-validation-requirement">
        <name>Meeting the Accurate Validation Requirement</name>
        <t>In the asymmetric routing scenario shown in <xref target="fig-use-case1"/>, the edge router cannot identify the complete source prefixes of the connected subnet only using the router's local routing information. As a result, strict uRPF has improper block problems in the case of asymmetric routing, because it only uses local routing information to generate SAV rules.</t>
        <t>To meet the accurate validation requirement, intra-domain SAVNET architecture proposes SAV-specific information and requires routers to exchange SAV-specific information among each other. The SAVNET Router acting as Validation Entity can combine SAV-specific information with local routing information to generate accurate SAV rules. The use case in <xref target="sec-use-case1"/> has shown that intra-domain SAVNET architecture can achieve more accurate SAV validation compared with strict uRPF in asymmetric routing scenarios.</t>
      </section>
      <section anchor="meeting-the-automatic-update-requirement">
        <name>Meeting the Automatic Update Requirement</name>
        <t>In real intra-domain networks, the topology or prefixes of networks may change dynamically. The SAV mechanism <bcp14>MUST</bcp14> automatically update the SAV rules as the network changes. However, ACL-based SAV mechanism requires manual efforts to accommodate to network dynamics, resulting in high operational overhead.</t>
        <t>To meet the automatic update requirement, intra-domain SAVNET architecture allows SAVNET routers to exchange the changes of SAV-specific information among each other automatically. After receiving updated SAV-specific information from Source Entity, routers acting as Validation Entity can generate and update its SAV rules accordingly. The use case in <xref target="sec-use-case2"/> has shown that intra-domain SAVNET architecture can achieve automatic update.</t>
      </section>
      <section anchor="sec-incre">
        <name>Meeting the Incremental/Partial Deployment Requirement</name>
        <t>Although an intra-domain network mostly has one administration, incremental/partial deployment may still exist due to phased deployment or the limitations coming from multi-vendor supplement. In phased deployment scenarios, SAV-specific information of non-deploying routers is not available, so SAVNET routers acting as Validation Entity may not obtain some needed SAV-specific information.</t>
        <t>As described in <xref target="sec-arch-agent"/>, the architecture can adapt to incremental/partial deployment. If complete SAV-specific information is unavailable, SAV rules can be generated by combining available SAV-specific information and local routing information. To mitigate the impact of phased deployment, it is also <bcp14>RECOMMENDED</bcp14> that edge routers connected to the same subnet can adopt intra-domain SAVNET together so that the complete source prefixes of the subnet can be obtained by other routers. For example, in <xref target="fig-use-case1"/>, Router 1 and Router 2 are recommended to be upgraded to SAVNET routers together so that the two routers can obtain complete source prefixes of Subnet 1 and generate accurate SAV rules.</t>
        <t>In addition, SAVNET routers acting as Validation Entity are <bcp14>RECOMMENDED</bcp14> to support flexible validation modes and perform SAV filtering incrementally to smooth the transition from partial to full deployment.</t>
        <ul spacing="normal">
          <li>
            <t>The Validation Entity is <bcp14>RECOMMENDED</bcp14> to support flexible validation modes such as interface-based prefix allowlist, interface-based prefix blocklist, and prefix-based interface allowlist <xref target="I-D.huang-savnet-sav-table"/>. The first two modes are interface-scale, and the last one is device-scale. Under incremental/partial deployment, the Validation Entity <bcp14>SHOULD</bcp14> take on the proper validation mode according to the deploying of Source Entity. For example, if Validation Entity is able to get the complete set of legitimate source prefixes arriving at a given interface, interface-based prefix allowlist can be enabled at the given interface, and improper block will not exist.</t>
          </li>
          <li>
            <t>The Validation Entity is <bcp14>RECOMMENDED</bcp14> to performed SAV-invalid filtering incrementally. The router can first take conservative actions on the validated data packets. That is to say, the router will not directly discard packet with an invalid result in the beginning of deployment. It can conduct sampling action for measurement analysis at first, and then conducts rate-limiting action or redirecting action for packets with invalid results. These conservative actions will not result in serious consequences if some legitimate packets are mistakenly considered invalid, while still providing protection for the network. Finally, filtering action is enabled only after confirming that there are no improper block problems.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-converge">
        <name>Meeting the Convergence Requirement</name>
        <t>When the SAV-specific information or local routing information changes, the SAVNET Agent <bcp14>MUST</bcp14> be able to detect the changes in time and update SAV rules with the latest information. Otherwise, outdated SAV rules may cause legitimate packets to be blocked or spoofed packets to be accepted.</t>
        <t>To meet the convergence requirement, intra-domain SAVNET architecture requires routers to update SAV-specific information and SAV rules in a timely manner. Since SAV-specific information is originated from Source Entity, it requires Source Entity <bcp14>MUST</bcp14> send the updated SAV-specific information to Validation Entity in a timely manner.</t>
        <t>Consider that both routing information and SAV-specific information of a subnet are originated and advertised to other routers in the network by the edge router connected to the subnet. Thus, SAV-specific information <bcp14>SHOULD</bcp14> have a similar propagation speed as routing information.</t>
        <t>Even though, there will still be delays of message delivery (sometimes re-transmission delay due to packet loss) and information processing. Therefore, during the convergence process, the SAV rules for checking packets are possibly inaccurate, which may result in improper block or improper permit. Existing uRPF-based SAV mechanisms that solely use local routing information are also faced with similar convergence problems. Inaccurate validation may appear during the convergence of routing, which is inevitable in practice. To mitigate the impact of convergence problems and avoid improper block, future intra-domain SAV mechanisms <bcp14>MUST</bcp14> carefully consider the factors that may affect the convergence performance.</t>
      </section>
      <section anchor="sec-security">
        <name>Meeting the Security Requirement</name>
        <t>Typically, routers in an intra-domain network can trust each other because they would not compromise intra-domain control-plane architectures and protocols.</t>
        <t>However, in some unlikely cases, some routers may do harm to other routers within the same domain. Operators <bcp14>SHOULD</bcp14> be aware of potential threats involved in deploying the architecture. Some potential threats and solutions are as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Entity impersonation.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: Mutual authentication <bcp14>SHOULD</bcp14> be conducted before session establishment between two entities.</t>
              </li>
              <li>
                <t>Gaps: Impersonation may still exist due to credential theft, implementation flaws, or entity being compromised. Some other security mechanisms can be taken to make such kind of impersonation difficult. Besides, the entities <bcp14>SHOULD</bcp14> be monitored so that misbehaved entities can be detected.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Message blocking.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: Acknowledgement mechanisms <bcp14>MUST</bcp14> be provided in the session between a speaker and a receiver, so that message losses can be detected.</t>
              </li>
              <li>
                <t>Gaps: Message blocking may be a result of DoS/DDoS attack, man-in-the-middle (MITM) attack, or congestion induced by traffic burst. Acknowledgement mechanisms can detect message losses but cannot avoid message losses. MITM attacks cannot be effectively detected by acknowledgement mechanisms.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Message alteration.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: An authentication field can be carried by each message so as to ensure message integrity.</t>
              </li>
              <li>
                <t>Gaps: More overhead of control plane and data plane will be induced.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Message replay.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: Authentication value can be computed by adding a sequence number or timestamp as input.</t>
              </li>
              <li>
                <t>Gaps: More overhead of control plane and data plane will be induced.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>To meet the security requirement, the above security threats <bcp14>SHOULD</bcp14> be considered when designing the new intra-domain SAV mechanism.</t>
      </section>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>The architecture provides a general framework for communicating SAV-specific information between routers and generating SAV rules based on SAV-specific information and local routing information. Protocol-independent mechanisms <bcp14>SHOULD</bcp14> be provided for operating and managing SAV-related configurations. For example, a YANG data model for SAV configuration and operation is necessary for the ease of management.</t>
      <t>SAV may affect the normal forwarding of data packets. The diagnosis approach and necessary logging information <bcp14>SHOULD</bcp14> be provided. SAV Information Base <bcp14>SHOULD</bcp14> store some information that may not be useful for rule generation but is helpful for management.</t>
      <t>The SAV-specific information communication mechanism <bcp14>SHOULD</bcp14> have monitoring and troubleshooting functions, which are necessary for efficiently operating the architecture.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>An intra-domain network is mostly operated by a single organization or company, and the advertised SAV-specific information is only used within the network. Therefore, the architecture does not import critical privacy issues in usual cases.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA requirements.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Many thanks to the valuable comments from: Igor Lubashev, Alvaro Retana, Aijun Wang, Joel Halpern, Jared Mauch, Kotikalapudi Sriram, Rüdiger Volk, Jeffrey Haas, Xiangqing Chang, Changwang Lin, etc.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-savnet-intra-domain-problem-statement" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-intra-domain-problem-statement-02" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-savnet-intra-domain-problem-statement.xml">
          <front>
            <title>Source Address Validation in Intra-domain Networks Gap Analysis, Problem Statement, and Requirements</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="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <date day="17" month="August" year="2023"/>
            <abstract>
              <t>This document provides the gap analysis of existing intra-domain source address validation mechanisms, describes the fundamental problems, and defines the requirements for technical improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-intra-domain-problem-statement-02"/>
        </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="I-D.huang-savnet-sav-table" target="https://datatracker.ietf.org/doc/html/draft-huang-savnet-sav-table-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.huang-savnet-sav-table.xml">
          <front>
            <title>Source Address Validation Table Abstraction and Application</title>
            <author fullname="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</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</organization>
            </author>
            <author fullname="Mingxing Liu" initials="" surname="Liu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="6" month="March" year="2023"/>
            <abstract>
              <t>Source address validation (SAV) table consists of SAV rules that are manually configured or automatically generated. The table will take effect in data plane for checking the validity of source addresses. SAV mechanisms may enable SAV tables in data plane using different methods (e.g., ACL or FIB), and these tables are suitable for different application scenarios. This document aims to provide a systematic view of existing SAV tables, which makes it convenient for engineers or operators to improve existing SAV mechanisms or properly apply SAV on routers. The document first examines existing forms of SAV tables and provides a unified abstraction. Then, three validation modes are concluded as well as suggestions for application scenarios. Finally, diversified actions for each validity state are introduced for compliance of different operation requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-huang-savnet-sav-table-01"/>
        </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="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="RFC7039" target="https://www.rfc-editor.org/info/rfc7039" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7039.xml">
          <front>
            <title>Source Address Validation Improvement (SAVI) Framework</title>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="C. Vogt" initials="C." role="editor" surname="Vogt"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>Source Address Validation Improvement (SAVI) methods were developed to prevent nodes attached to the same IP link from spoofing each other's IP addresses, so as to complement ingress filtering with finer-grained, standardized IP source address validation. This document is a framework document that describes and motivates the design of the SAVI methods. Particular SAVI methods are described in other documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7039"/>
          <seriesInfo name="DOI" value="10.17487/RFC7039"/>
        </reference>
        <reference anchor="RFC7513" target="https://www.rfc-editor.org/info/rfc7513" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7513.xml">
          <front>
            <title>Source Address Validation Improvement (SAVI) Solution for DHCP</title>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="G. Yao" initials="G." surname="Yao"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This document specifies the procedure for creating a binding between a DHCPv4/DHCPv6-assigned IP address and a binding anchor on a Source Address Validation Improvement (SAVI) device. The bindings set up by this procedure are used to filter packets with forged source IP addresses. This mechanism complements BCP 38 (RFC 2827) ingress filtering, providing finer-grained source IP address validation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7513"/>
          <seriesInfo name="DOI" value="10.17487/RFC7513"/>
        </reference>
        <reference anchor="IPSG" target="https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960/software/release/12-2_53_se/configuration/guide/2960scg/swdhcp82.html">
          <front>
            <title>Configuring DHCP Features and IP Source Guard</title>
            <author>
              <organization/>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="cable-verify" target="https://www.cisco.com/c/en/us/support/docs/broadband-cable/cable-security/20691-source-verify.html">
          <front>
            <title>Cable Source-Verify and IP Address Security</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="January"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 403?>



  </back>
  <!-- ##markdown-source:
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
xjzPwOCqWFKFPjQi9fQcxn8IihSG2HeGaGDnSKNz6PeAI5TQRViLZAMyDS5I
2pD7B78QCPwMDFswcbpzUHeG+pPSOfSsG5vZwbxaoz8A3x9icIS3Ngh8cZxQ
PCMczXnzFOxLzRJcpXU3/or2I/AqBVxw72QSDJPWhpVAZDO7zfPQnKE+qvYE
x0V2emHZ0IjVPtBIsHDbca56BR7mpQXRx5FEZJtJLs/ek2EmQaonWWUrduCD
aB4/HY3evl3YJfUGMwYtEhY0bqRd/CckpZgTnYyOaGjcJaCdKc3HgJwVfY9j
iJlTAvEYGTFBNAYIuCewpusWpCuww7wcISEzKEY0BW5L5eQCbB/FIsVPiO32
tmyaU5yvojhktC0wSonhe1ttUSSec+PQNOLlkAMzNHJne7EjyBeDPvKwE4Gi
u2/4KVJRi4xGIw69tpYHAJSdtY3FxwmsKFgptEaaqsoY6/hTeSss8IYNoYAt
JPO7Rsdo3CG2OYnxzq7gduWzCgl+K0h6BuOI5+VEYCjxaGu5CWvLZjGrguJj
88hiQpMoM+lUXeTcBfoLMfUDEHdvLCzg5DpNkAkTDLqD1GHZjM4iQYbMTOsT
t7ELhLcrdpAjQio98mUruXTad0lGyLefaOTHLRsUEHcfuURLo8gR6PjONGIY
iA0mk245/AoC0zjWsJndG3XaTrFdyRYQcVcAICH3BLZwEzGQ0jzByD4YgwAa
PSRfAYgbybdACubPovVgu//5z3+O7k/6/u6r+K+/VafX6B02jmkN/t61Rgu+
d1fbtOLR1D22ltTpQad3z3fX+uFBq9Wo3W+X0Yb+cLQuTu73jNbXCv/uh71g
NOwZEazCZ7Ev1tfqGxkD/OZDdJrfyWj3W3PSaCIUHGx9rfphexd5WUPU8G3U
CnvFwQDlRztnJeLheHcvYkR+pl47uSGtwtGVH61vpWHLgy0r/bh72h6tl3Ju
+N7/9+4j8yly/tsTddfZjZw68m93LnYIaN557+OqizxN8yvY2rF6+5bPwj3e
wRQNzgTISnxj0T4AJTAU2hCL8HYxjQP27Ojca2WunQHLJoBJpgIiGdnkf8YQ
4nrA0cUUjrx4s4B1CaTtGNGUDfP+IJDPCWjwwGp1MCzmImZ9y3W+PJqu8P8r
XVCUmADCMHFdtaNWFM6ggKcIhOAYj/08jOn3RMJQZbKFm5b5lohbdKRBmS18
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

-->

</rfc>
