<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-savnet-intra-domain-architecture-01" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="Intra-domain SAVNET Architecture">Intra-domain Source Address Validation (SAVNET) Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-intra-domain-architecture-01"/>
    <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>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qinlc@mail.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="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>
    <date year="2024" month="October" day="14"/>
    <area>Routing</area>
    <workgroup>SAVNET</workgroup>
    <keyword>SAV</keyword>
    <abstract>
      <?line 83?>

<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 <xref target="RFC3704"/> 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-based ingress filtering <xref target="RFC2827"/> that entirely requires manual efforts to accommodate to network dynamics, SAVNET routers learn SAV rules automatically in a distributed way.</t>
    </abstract>
  </front>
  <middle>
    <?line 87?>

<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 block the spoofing data packets from a host or customer network that use source addresses of other networks, as well as block the spoofing data packets from other ASes that use source addresses of AS A. 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 router 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 ingress 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. To addresses problems of existing intra-domain SAV mechanisms, five requirements for a new intra-domain SAVNET mechanism are proposed in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <t>This document introduces the intra-domain SAVNET architecture to meet the five requirements and guide development of future intra-domain SAV solutions. The key idea of intra-domain SAVNET is to generate SAV rules in routers based on SAV-specific information exchanged among routers, instead of solely depending on local routing information like in existing mechanisms. It achieves accurate SAV validation, because SAV-specific information is specialized for SAV and thus helps generate more accurate SAV rules than solely using local routing information. It achieves automatic SAV rule update, because SAV-specific information exchange is triggered when there is topology change or prefix change. In the incremental/partial deployment scenario where only part of intra-domain routers support the intra-domain SAVNET, it provides incremental benefits by using SAV-specific information provided by routers that support the intra-domain SAVNET, and/or local routing information to generate SAV rules.</t>
      <t>The reader is encouraged to be familiar with <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/> and <xref target="huang-savnet-sav-table"/>.</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 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.</t>
      <t>SAVNET Router: An intra-domain router which runs intra-domain SAVNET.</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>Host-facing Router: An intra-domain router facing an intra-domain host network.</t>
      <t>Customer-facing Router: An intra-domain router facing an intra-domain customer network.</t>
      <t>AS Border Router: An intra-domain router facing an external AS.</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>Overview</name>
      <t><xref target="fig-arch"/> illustrates intra-domain SAVNET architecture in an intra-domain network. To generate more accurate SAV rules, intra-domain SAVNET allows SAVNET routers to automatically exchange SAV-specific information. Every SAVNET router can choose which SAVNET routers to provide its SAV-specific information to. Arrows in <xref target="fig-arch"/> indicate the direction of SAV-specific information flows originated from Router A and Router C. SAV-specific information flows originated from other routers are omitted for brevity. After receiving SAV-specific information provided by other routers, the SAVNET router can generate more accurate SAV rules by using SAV-specific information provided by other routers, its own SAV-specific information, and/or routing information in the local FIB/RIB.</t>
      <figure anchor="fig-arch">
        <name>Overview of intra-domain SAVNET architecture</name>
        <artwork><![CDATA[
                +----------------------------------+
                |            Other ASes            |
                +----------------------------------+
                   |                            |
+------------------|----------------------------|--------------+
|    Intra-domain  |        SAV-specific        |              |
|                  |        message from        |              |
|                  |        Router A            |              |
|            +----+#+---+ --------------> +----+#+---+         |
|            | Router D |                 | Router E |         |
|            +-----/\---+ <-------------- +-----/\---+         |
|     SAV-specific |        SAV-specific        | SAV-specific |
|     message from |        message from        | message from |
|     Router A     |        Router C            | Router C     |
|            +----------------------------------------+        |
|            |      Other intra-domain routers        |        |
|            +-/\-------------------------------/\----+        |
| SAV-specific /       \  SAV-specific          | SAV-specific |
| message from/         \ message from          | message from |
| Router A   /           \Router A              | Router C     |
|     +----------+  +----\/----+          +----------+         |
|     | Router A |  | Router B |          | Router C |         |
|     +---+#+----+  +------+#+-+          +----+#+---+         |
|           \              /                    |              |
+------------\------------/---------------------|--------------+
              \          /                      |
            +--------------+            +--------------+
            |   Customer   |            |    Host      |
            |   Network    |            |   Network    |
            +--------------+            +--------------+
]]></artwork>
      </figure>
      <t>For example, the host-facing (or customer-facing) router can contain the locally-known source prefixes of the network it is facing in its SAV-specific information and provide its SAV-specific information to other routers. When Router B receives Router A's SAV-specific information, it can learn all source prefixes belonging to the customer network in combination with its locally-known source prefixes of the customer network, even if there is an asymmetric route between Router B and the customer network. After that, Router B can block source-spoofed data packets from the customer network that use source addresses not belonging to the customer network. Routers D and E can identify source prefixes belonging to the local AS by using SAV-specific inforamtion provided by Routers A, B, and C. They can block source-spoofed data packets from other ASes that use source addresses belonging to the local AS.</t>
    </section>
    <section anchor="where-to-deploy-intra-domain-sav">
      <name>Where to deploy intra-domain SAV</name>
      <t>A SAVNET router can be a host-facing router, a customer-facing router, an AS border router, or other routers. To reduce deployment overhead and redundant validation, it is not necessary to deploy intra-domain SAV on all intra-domain routers. Future solutions should specify which routers deploy intra-domain SAV and provide incremental benefits when those routers incrementally deploy intra-domain SAV. To this end, this document provides some key recommendations and considerations that should be considered by future solutions.</t>
      <t>Typically, host-facing routers, customer-facing routers, and AS border routers are vantage points to implement intra-domain SAV. It is not only because these routers are closer to the source and thus will be more effective in identifying and discarding source-spoofed data packets, but also becasue they can clearly determine the directionality of specific source prefixes based on network topology:</t>
      <ul spacing="normal">
        <li>
          <t>Host-facing routers (e.g., Router C in <xref target="fig-arch"/>) can generate SAV rules on interfaces facing a host network and block source-spoofed data packets that use source addresses not belonging to the host network from that network.</t>
        </li>
        <li>
          <t>Customer-facing routers (e.g., Routers A and B in <xref target="fig-arch"/>) can generate SAV rules on interfaces facing a customer network and block source-spoofed data packets that use source addresses not belonging to the customer network from that network.</t>
        </li>
        <li>
          <t>AS border routers (e.g., Routers D or E in <xref target="fig-arch"/>) can generate SAV rules on interfaces facing an external AS and block source-spoofed data packets that use source addresses belonging to the local AS from that external AS.</t>
        </li>
      </ul>
      <t>Implementing SAV on other intra-domain routers should be more complicated because many factors will affect the forwarding path from the source to this kind of routers. For example, Traffic Engineering (TE) or Fast Reroute (FRR) is commonly used in an intra-domain network to control the forwarding decisions of routers. If a solution decides to implemente SAV on other intra-domain routers, it <bcp14>MUST</bcp14> take all factors that will affect forwarding into consideration to ensure the accuracy of SAV rules. Specifically, to meet the accurate validation requirement, it <bcp14>MUST</bcp14> avoid improper block problems while reducing improper permit problems as much as possible. At least, it <bcp14>MUST</bcp14> have less improper permit problems than existing uRPF-like mechanisms <xref target="RFC3704"/>.</t>
    </section>
    <section anchor="roles-of-savnet-routers">
      <name>Roles of SAVNET Routers</name>
      <t>Every SAVNET router has a SAVNET Agent that is responsible for actions related to SAV. As shown in <xref target="fig-role"/>, a SAVNET router can act as one or two roles in the intra-domain SAVNET architecture, namely, source entity to provide its SAV-specific information to other SAVNET routers, or/and 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 provider of its SAVNET Agent provides its SAV-specific information to other SAVNET routers that act as validation entity. For example, a host-facing router acting as source entity can obtain its SAV-specific information related to the host network to which it is connected and selectively provide this information to other SAVNET routers.</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 SAVNET routers that act as source entity. Then, its SAVNET Agent processes SAV-specific information provided by other SAVNET routers, its own SAV-specific information, and/or its local routing information to generate SAV rules on corresponding interfaces. As mentioned above, host-facing routers perform SAV filtering on interfaces facing the host network, customer-facing routers perform SAV filtering on interfaces facing the customer network, and AS border routers perform SAV filtering on interfaces facing another AS.</t>
        <figure anchor="fig-role">
          <name>Roles of SAVNET routers</name>
          <artwork><![CDATA[
+---------------------+              +---------------------+
|    Source Entity    |              |  Validation Entity  |
|     (Router A)      |              |     (Router B)      |
|                     |              |                     |
| +-----------------+ |              | +-----------------+ |
| |   SAVNET Agent  | | SAV-specific | |   SAVNET Agent  | |
| | +-------------+ | | Information  | | +-------------+ | |
| | | Information +----------------------> Information | | |
| | | Provider    | | |              | | | Receiver    | | |
| | +-------------+ | |              | | +-------------+ | |
| +-----------------+ |              | +-----------------+ |
|                     |              |                     |
+---------------------+              +---------------------+

]]></artwork>
        </figure>
      </section>
      <section anchor="sav-specific-information-communication-mechanism">
        <name>SAV-specific Information Communication Mechanism</name>
        <t>New intra-domain SAV solutions should design a SAV-specific communication mechanism to propagate SAV-specific information from source entity to validation entity. 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, but lists necessary features of SAV-specific communication mechanism in the following.</t>
        <t>The SAV-specific Information communication mechanism <bcp14>SHOULD</bcp14> define the data structure or format of SAV-specific information, and the operations of communication (such as communication establishment and communication 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-information">
      <name>SAV-related Information</name>
      <t>For intra-domain SAV, both SAV-specific information and local routing information can be used for SAV decisions.</t>
      <section anchor="sav-specific-information">
        <name>SAV-specific Information</name>
        <t>SAV-specific information is specialized for SAV and thus helps generate more accurate SAV rules. A SAVNET router can obtain its own SAV-specific information based on local routing information, local interface configurations, and/or other local configuration information. In addition, SAVNET routers acting as validation entity can obtain SAV-specific information of other SAVNET routers that act as source entity. By using SAV-specific information provided by other SAVNET routers, the SAVNET router acting as validation entity can generate more accurate SAV rules than solely using its local routing information.</t>
        <t>For example, customer-facing routers connected to the same multi-homed customer network can exchange locally-known source prefixes of the customer network through SAV-specific information communication. By processing both SAV-specific information of itself and SAV-specific information of the other customer-facing routers, each of them can identify all prefixes in the customer network and thus avoid improper block in case there is an asymmetric routing. <xref target="sec-use-case1"/> elaborates on this example.</t>
      </section>
      <section anchor="routing-information">
        <name>Routing Information</name>
        <t>Routing information is used for computing packet forwarding rules, which is stored in the router's RIB/FIB.  Although it is not specialized for SAV, it is widely used to infer SAV rules in existing uRPF-based SAV mechanisms, such as strict uRPF and loose uRPF <xref target="RFC3704"/>. A SAVNET router acting as validation entity can obtain routing information from its local RIB/FIB to generate SAV rules for some prefixes, when the corresponding SAV-specific information is missing.</t>
      </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 provided by other routers, SAV-specific information of the router itself, and local routing information into the SAV Information Base. Then, it sends the consolidated information to the SAV Rule Generator. The SAV Rule Generator should preferentially use SAV-specific information to generate SAV rules for specific source prefixes. Local routing information is only recommended when some SAV-specific information is missing.</t>
      <t>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>
      <t>For example, for a host-facing router (or a customer-facing router), it processes SAV-related information to identify prefixes in the host network (or customer network) it connected to, and then generate SAV rules on the interface facing to the host network (or customer network). Data packets coming from that interface will be considered invalid and should be blocked if they use source addresses not belonging to the host network (or customer network). In the incremental/partial deployment scenario when some routers do not deploy SAV-specific information communication mechanism, the host-facing router (or customer-facing router) may not be able to identify all prefixes in the host network (or customer network) through SAV-specific information. To avoid improper block in this case, the router 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>
      <figure anchor="fig-sav-agent">
        <name>Workflow of SAV rule generation</name>
        <artwork><![CDATA[
+--------------------------------------------------------+
|                      SAVNET Agent                      |
|                                                        |
|     SAV-specific     SAV-specific     Routing          |
|     information      information      information      |
|     provided by      of the router    in local         |
|     other routers    itself           FIB/RIB          |
|         +                  +               +           |
|         |                  |               |           |
|       +-v------------------v---------------v-+         |
|       |      SAV Information Manager         |         |
|       |      +------------------------+      |         |
|       |      | SAV Information Base   |      |         |
|       |      +------------------------+      |         |
|       +--------------------------------------+         |
|                          |                             |
|                          | SAV-related information     |
|                          |                             |
|       +------------------v--------------------+        |
|       |      SAV Rule Generator               |        |
|       |      +------------------------+       |        |
|       |      |        SAV Rules       |       |        |
|       |      +------------------------+       |        |
|       +---------------------------------------+        |
+--------------------------------------------------------+
]]></artwork>
      </figure>
      <t>For an AS border router, it processes SAV-related information to identify prefixes in the local AS, and then generate SAV rules on the interface facing to another AS. Data packets coming from that interface will be considered invalid and should be blocked if they use source addresses belonging to the local AS. In the incremental/partial deployment scenario, the AS border router may only identify partial prefixes in the local AS through SAV-specific information. In this case, the AS border router can still block data packets with source addresses in learned prefixes.</t>
      <t>In addition, if the AS border router also implements inter-domain SAVNET, 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 anchor="sec-use-case">
      <name>Use Cases</name>
      <t>This section uses two use cases to illustrate that intra-domain SAVNET can achieve more accurate and efficient SAV than existing intra-domain SAV mechanisms. The two use cases have already been described in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/> to show that existing intra-domain SAV mechanisms have problems of improper block or high operational overhead.</t>
      <section anchor="sec-use-case1">
        <name>Use Case 1: SAV at Host-facing or Customer-facing Routers</name>
        <t><xref target="fig-use-case1"/> shows an asymmetric routing in a multi-homed host/customer network scenario. Router 1 and Router 2 adopt intra-domain SAV to block spoofing data packets with source addresses not belonging to Network 1 (e.g., a host network or a customer network) receiving from interface '#'.</t>
        <t>Network 1 has prefix 10.0.0.0/15 and is connected to two routers (i.e., Router 1 and Router 2) in the intra-domain network. Due to the inbound load balance strategy of Network 1, Router 1 only learns the route to sub prefix 10.1.0.0/16 from Network 1, while Router 2 only learns the route to the other sub prefix 10.0.0.0/16 from Network 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 Network 1 may send outbound packets with source addresses in sub prefix 10.0.0.0/16 to Router 1 for outbound load balance. The arrows in <xref target="fig-use-case1"/> indicate the direction of traffic.</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  Network 1  /        \   10.0.0.0/16  Network 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           |
 |                     +---------------+                       |
 |                     | Host/Customer |                       |
 |                     |   Network 1   |                       |
 |                     | (10.0.0.0/15) |                       |
 |                     +---------------+                       |
 |                                                             |
 +-------------------------------------------------------------+
]]></artwork>
        </figure>
        <t>In this case, strict uRPF at Router 1 will improperly block legitimate packets with source addresses in prefix 10.0.0.0/16 from Network 1 on interface '#', because it only accepts data 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 is implemented in the intra-domain network, Router 2 can inform Router 1 that prefix 10.0.0.0/16 also belongs to Network 1 by providing its SAV-specific information to Router 1. Then, by combining both its own SAV-specific information and SAV-specific information provided by Router 2, Router 1 learns that Network 1 have both prefix 10.1.0.0/16 and prefix 10.0.0.0/16. Therefore, Router 1 will accept data packets with source addresses in prefix 10.1.0.0/16 and prefix 10.0.0.0/16 on interface '#', so improper block can be avoided.</t>
      </section>
      <section anchor="sec-use-case2">
        <name>Use Case 2: SAV at AS Border Routers</name>
        <t><xref target="fig-use-case2"/> shows a scenario of inbound SAV at AS border routers. Router 3 and Router 4 adopt intra-domain SAV to block spoofing data packets with internal source addresses receiving from interface '#'. The arrows in <xref target="fig-use-case2"/> indicate the direction of spoofing traffic.</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 |   |
| +----------+     +----------+      +----+-----+   |
|        \             /                  |         |
|         \           /                   |         |
|          \         /                    |         |
|       +---------------+         +-------+-------+ |
|       |     Host      |         |   Customer    | |
|       |   Network     |         |   Network     | |
|       |     (P1)      |         |     (P2)      | |
|       +---------------+         +---------------+ |
|                                                   |
+---------------------------------------------------+
]]></artwork>
        </figure>
        <t>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 interfaces '#'.</t>
        <t>If intra-domain SAVNET is implemented in the intra-domain network, Router 1, Router 2, and Router 5 will automatically inform Router 3 and Router 4 of prefixes in the host network and customer network by providing SAV-specific information. After receiving SAV-specific information from other routers, Router 3 and Router 4 can identify all internal source prefixes. The SAV-specific information communication will be triggered if topology or prefix related to the host network or customer network changes. For example, if the customer network has a new source prefix P3, Router 5 will inform Router 3 and Router 4 of the new source prefix immediately through SAV-specific information communication mechanism. In this way, Router 3 and Router 4 can automatically generate and update SAV rules on interface '#'.</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 defined in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <section anchor="accurate-validation">
        <name>Accurate Validation</name>
        <t>In the asymmetric routing scenario shown in <xref target="fig-use-case1"/>, the host-facing router (or customer-facing router) cannot identify all prefixes in its host network (or customer network) solely using its local routing information. As a result, existing intra-domain SAV mechanisms (e.g., strict uRPF) solely using local routing information to generate SAV rules will have improper block problems in the case of asymmetric routing.</t>
        <t>Intra-domain SAVNET requires routers to exchange SAV-specific information among each other. The SAVNET router can use SAV-specific information provided by other routers as well as its own SAV-specific information to generate more accurate SAV rules. The use case in <xref target="fig-use-case1"/> has shown that intra-domain SAVNET can achieve more accurate SAV filtering compared with strict uRPF in asymmetric routing scenarios.</t>
      </section>
      <section anchor="automatic-update">
        <name>Automatic Update</name>
        <t>In real intra-domain networks, the topology or prefixes of networks may change dynamically. The SAV mechanism <bcp14>MUST</bcp14> automatically update 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>Intra-domain SAVNET allows SAVNET routers to exchange the changes of SAV-specific information among each other automatically. After receiving updated SAV-specific information from source entity, SAVNET routers acting as validation entity can generate and update their SAV rules accordingly. The use case in <xref target="sec-use-case2"/> has shown that intra-domain SAVNET can achieve automatic update.</t>
      </section>
      <section anchor="sec-incre">
        <name>Incremental/Partial Deployment</name>
        <t>Although an intra-domain network mostly has one administration, incremental/partial deployment may still exist due to phased deployment or multi-vendor supplement. In phased deployment scenarios, SAV-specific information of non-deploying routers is not available.</t>
        <t>As described in <xref target="sec-arch-agent"/>, intra-domain SAVNET can adapt to incremental/partial deployment. To mitigate the impact of phased deployment, it is <bcp14>RECOMMENDED</bcp14> that routers facing the same host/customer network can simultaneously adopt intra-domain SAVNET so that all prefixes in the host/customer network can be identified. 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 identify all prefixes in Network 1 and generate accurate SAV rules on interfaces '#'.</t>
        <t>In addition, SAVNET routers acting as validation entity are <bcp14>RECOMMENDED</bcp14> to support flexible validation modes and perform SAV filtering gradually to smooth the transition from partial to full deployment:</t>
        <ul spacing="normal">
          <li>
            <t>SAVNET routers acting as validation entity are <bcp14>RECOMMENDED</bcp14> to support flexible validation modes such as interface-based prefix allowlist, interface-based prefix blocklist, and prefix-based interface allowlist (see <xref target="huang-savnet-sav-table"/>). The first two modes are interface-scale, and the last one is device-scale. Under incremental/partial deployment, SAVNET routers <bcp14>SHOULD</bcp14> take on the proper validation mode according to acquired SAV-specific information. For example, if a customer-facing router can identify all prefixes in its customer network by processing acquired SAV-specific information, an interface-based prefix allowlist containing these prefixes can be used on that customer-facing interface. Otherwise, it should use interface-based prefix blocklist or prefix-based interface allowlist to avoid improper block.</t>
          </li>
          <li>
            <t>Validation entity is <bcp14>RECOMMENDED</bcp14> to performed SAV-invalid filtering gradually. The router can first take conservative actions on the validated data packets. That is to say, the router will not discard packets with invalid results 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>Convergence</name>
        <t>When SAV-related 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 data packets to be blocked or spoofing data packets to be accepted.</t>
        <t>Intra-domain SAVNET requires routers to update SAV-specific information and update SAV rules in a timely manner. Since SAV-specific information is originated from source entity, it requires that source entity <bcp14>MUST</bcp14> timely send the updated SAV-specific information to validation entity. Therefore, the propagation speed of SAV-specific information is a key factor affecting the convergence. Consider that routing information and SAV-specific information can be originated and advertised through a similar way, SAV-specific information <bcp14>SHOULD</bcp14> at least have a similar propagation speed as routing information.</t>
      </section>
      <section anchor="sec-security">
        <name>Security</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 sender 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="data-plane-considerations">
      <name>Data-plane Considerations</name>
      <t>This document mainly focuses on SAV rule generation process on control plane, including exchanging SAV-specific information, consolidating SAV-related information, and generating SAV rules. As for data-plane SAV filtering, SAVNET routers check source addresses of incoming data packets against local SAV rules and drop those that are identified as using spoofing source addresses. Therefore, the accuracy of data-plane SAV filtering depends entirely on the accuracy of generated SAV rules. More data-plane considerations can be found in <xref target="huang-savnet-sav-table"/>.</t>
    </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 SAV rule generation but is helpful for management. 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 used within the network. Therefore, the architecture will 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="contributors">
      <name>Contributors</name>
      <t>Mingqing Huang</t>
      <t>Email: huangmq@vip.sina.com</t>
      <t>Fang Gao</t>
      <t>Email: fredagao520@sina.com</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, Xueyan Song, etc.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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-06" xml:base="https://bib.ietf.org/public/rfc/bibxml3/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>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Mingqing(Michael) Huang" initials="M." surname="Huang">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <date day="12" month="September" year="2024"/>
            <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-06"/>
        </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="huang-savnet-sav-table" target="https://datatracker.ietf.org/doc/draft-huang-savnet-sav-table/">
          <front>
            <title>General Source Address Validation Capabilities</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </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 468?>



  </back>
  <!-- ##markdown-source:
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
Fk9Z4z8jt9TtXeBxkKO8d8akR/6RthZ+0cEW8REGRT4h/s+VDg4wB5d/g4XE
x9f9QgEIczYJmIdw3KMDBCpmpdBH6PtZrIMW4YQ/F0sMofF9WnzAcccLhQYW
CVpi/6rQw4YnLCVaTMULdiBafyGayNt8ydbX1a2xJ+kd7BsioCIpV472SaHa
avry2rFDMNUzAYkcCKog73gUOMfeoxo2gTwfQIRKOLEFQ4r9pgs0XS21xdi4
h3iRc2V/ZUxdRdBAf8/tjjX2cQIJQH9L40DNeB5jAeuv17ChKAntyqzg0K4M
WYT1G4cAOLe7TY4O4xQEVPKAid1SDE4VB+EYP+ZNluN+sBKrVivU6q/JBGLO
vwnBWmb1QlZLF6mVPJVjMW8bQKy6pCnVreLYBWJdSNdpUxvyNUSmBEDl5pac
wYZydCiP8TVbwqe9mCej0US87O6DeKim6+nYyWmRUeNRqMk73Z2UaG2VtUxT
BpZDAsp+KnVH2hyMoCm+9K2VExHbK5NrrbV95ennLrnDbP5Hlt0ZJb307sGJ
Fv0M6enzz1xzYIb97PX2s0u3xo7Zl4+9MX2jma1fD3RUiw4xkLpdTpa6paUK
FN0Ey2vKSh95SUed40rK6kYf7J0EacnKGXopjSa177OCYjUck/Dl2HeVxDAs
8RzXqjgK6uG754/IDygBqS8VC0sPX1xeUiAoha0WFBjB3t2+OGSYAIV+lnk8
X+sICeZ1viIfDBNrarNUIT1V+8FK/JQcvw26XZBVGgDSlvlQ9GZE4aIBb6EI
taKmaJ6NMRQubrXh1ITAXWmaxyzFD/uxlsXA1G49/W6e8rrMnAFd46yNlwKO
nSsWLGiephmb3l07WYutDnAzYZogtTYok9feYBSklqN3q7cnin2xHj8XKZ6K
EidB7LLMWRQPfFr1aJSyeG9ggtYzRW6rXseUXDCPN54mgC6x0FPj+bfkAlBM
UXRsQuCDXhAoZUFOScBMUZU6FuqwCH1MxcHN1ccKz3dzewfLvEbW0LKPAuQM
SZSHHa5nrX0N2NadDB32yxElOjz4OXU4GnG0cgQbgAthTbCssYZJx9ZdkZLc
1OHOuYCfe4CA911vTwcMEZlKyeyEIEj4o0XQtpdzUrcHJ+YhVoeHN6WJRmiY
6BUgnVNsC2xarXIWuDBqSmMB0doDlo2R0LBFXmD7QdvUAVB3qzTWpLfKKvR3
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
kNrFe9id0f8HmIiY6f6aAAA=

-->

</rfc>
