<?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.6.39 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-wu-savnet-inter-domain-architecture-03" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="Inter-domain SAVNET Architecture">Inter-domain Source Address Validation (SAVNET) Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-wu-savnet-inter-domain-architecture-03"/>
    <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="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="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="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="L." surname="Liu" fullname="Libin Liu">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>liulb@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="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>
    <date year="2023" month="July" day="25"/>
    <area>General [REPLACE]</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <abstract>
      <?line 78?>

<t>This document presents an inter-domain SAVNET architecture that serves as a comprehensive framework for the development of inter-domain source address validation (SAV) mechanisms. The proposed architecture empowers AS to generate SAV rules by leveraging SAV-specific Information communicated between ASes, and during the incremental/partial deployment of the SAV-specific Information, it can leverage the general information such as the routing information from the RIB to generate the SAV table when the SAV-specific Information for an AS's prefixes are not available. Instead of delving into protocol extensions or implementations, this document primarily focuses on proposing the SAV-specific Information and general information for deploying an inter-domain SAV mechanism, and defining the architectural components and interconnections between them for generating the SAV table.</t>
    </abstract>
  </front>
  <middle>
    <?line 82?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Attacks based on source IP address spoofing, such as reflective DDoS and flooding attacks, continue to present significant challenges to Internet security. Mitigating these attacks in inter-domain networks requires effective source address validation (SAV). While BCP84 <xref target="RFC3704"/> <xref target="RFC8704"/> offers some SAV solutions, such as ACL-based ingress filtering and uRPF-based mechanisms, existing inter-domain SAV mechanisms have limitations in terms of validation accuracy and operational overhead in different scenarios <xref target="inter-domain-ps"/>.</t>
      <t>To address these issues, the inter-domain SAVNET architecture focuses on providing a comprehensive framework and guidelines for the design and implementation of inter-domain SAV mechanisms. By proposing the SAV-specific Information which consists of legitimate prefixes of ASes and their corresponding legitimate incoming interfaces and is specialized for generating the SAV table, the inter-domain SAVNET architecture empowers ASes to generate precise SAV table. Meanwhile, a SAV-specific protocol is used to defining the data structure or format for communicating the information, and the operations and timing for origination, processing, propagation, and termination of the messages which carry the SAV-specific Information, to achieve the delivery and automatic update of SAV-specific Information. Moreover, during the incremental/partial deployment period of the SAV-specific Information, the inter-domain SAVNET architecture can leverage the general information, such as the routing information from the RIB or topological information from the RPKI ROA Objects and ASPA Objects, to generate the SAV table when the SAV-specific Information for an AS's prefixes are not available. To achieve this, the inter-domain SAVNET architecture assigns priorities to the SAV-specific Information and general information and generate the SAV table based on priorities of the information in the SAV Information Base, and the SAV-specific Information has higher priority compared to the general information.</t>
      <t>In addition, by defining the architectural components, relationships, and the SAV-specific information and general information used in inter-domain SAV deployments, this document aims to promote consistency, interoperability, and collaboration among ASes. This document primarily describes a high-level architecture for consolidating SAV-specific information and general information and deploying an inter-domain SAV mechanism between ASes. The document does not specify protocol extensions or implementations. Its purpose is to provide a conceptual framework and guidance for the development of inter-domain SAV mechanisms, allowing implementers to adapt and implement the architecture based on their specific requirements and network environments.</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>
      <dl newline="true">
        <dt>SAV Rule:</dt>
        <dd>
          <t>The rule that indicates the validity of a specific source IP address or source IP prefix.</t>
        </dd>
        <dt>SAV Table:</dt>
        <dd>
          <t>The table or data structure that implements the SAV rules and is used for source address validation in the data plane.</t>
        </dd>
        <dt>Real Forwarding Paths:</dt>
        <dd>
          <t>The paths that the legitimate traffic goes through in the data plane.</t>
        </dd>
        <dt>SAV-specific Information:</dt>
        <dd>
          <t>The information consists of the source prefixes and their legitimate incoming interfaces of an AS.</t>
        </dd>
        <dt>SAV-related Information:</dt>
        <dd>
          <t>The information is used to generate SAV rules and can be from SAV-specific Information or general information.</t>
        </dd>
        <dt>False Positive:</dt>
        <dd>
          <t>The validation results that the packets with legitimate source addresses are considered invalid improperly due to inaccurate SAV rules.</t>
        </dd>
        <dt>False Negative:</dt>
        <dd>
          <t>The validation results that the packets with spoofed source addresses are considered valid improperly due to inaccurate SAV rules.</t>
        </dd>
        <dt>SAV Information Base:</dt>
        <dd>
          <t>A table or data structure for storing SAV-related information collected from SAV-specific Information and general information.</t>
        </dd>
      </dl>
    </section>
    <section anchor="design-goals">
      <name>Design Goals</name>
      <t>The inter-domain SAVNET architecture aims to improve SAV accuracy and facilitate partial deployment with low operational overhead, as well as developing a SAV-specific protocol to communicate SAV-specific Information between ASes. The overall goal can be broken down into the following aspects:</t>
      <ul spacing="normal">
        <li>First, the inter-domain SAVNET architecture should learn the real forwarding paths or permissible paths of source prefixes that can cover their real forwarding paths, and generate accurate SAV rules automatically based on the learned information to avoid false positives and reduce false negatives as much as possible.</li>
        <li>Second, the inter-domain SAVNET architecture should provide sufficient protection for the source prefixes of ASes that deploy it, even if only a portion of Internet implements the architecture.</li>
        <li>Third, the inter-domain SAVNET architecture should adapt to dynamic networks and asymmetric routing scenarios automatically.</li>
        <li>Fourth, the inter-domain SAVNET architecture should support to communicate SAV-specific information automatically with a SAV-specific protocol between ASes.</li>
        <li>Last, the inter-domain SAVNET architecture should scale independently from the SAV information sources and the growth of the deployed Internet devices.</li>
      </ul>
      <t>The inter-domain SAVNET architecture can achive the goals outlined above as follows: SAV-specific Information can be communicated between ASes to carry prefixes and their legitimate incoming interfaces and enpowers an AS to generate an accurate SAV table for the ASes which support the cummunication of SAV-specific Information. During the incremental/partial deployment period of the SAV-specific Information, the inter-domain SAVNET architecture can leverage the general information to generate the SAV table. Moreover, it should proactively adapt to route changes in a timely manner.</t>
      <t>Other design goals, such as low operational overhead and easy implementation, are also very important and should be considered in specific protocols or protocol extensions and are out of scope for this document.</t>
    </section>
    <section anchor="inter-domain-savnet-architecture">
      <name>Inter-domain SAVNET Architecture</name>
      <figure anchor="arch">
        <name>The inter-domain SAVNET architecture</name>
        <artwork><![CDATA[
                           +--------------------------+
                           |         Other ASes       |
                           +--------------------------+
                                         |SAV-specific
                                         |Messages
+-------------------------------------------------------+                                       
|                                        |           AS |
|                                       \/              |
| +~~~~~~~~~~~~~~~~~~~~~+  +--------------------------+ |
| | General Information |  | SAV-specific Information | |
| +~~~~~~~~~~~~~~~~~~~~~+  +--------------------------+ |
|            |                           |              |
|           \/                          \/              |
| +---------------------------------------------------+ |
| | +-----------------------------------------------+ | |
| | |              SAV Information Base             | | |
| | +-----------------------------------------------+ | |
| |            SAV Information Base Manager           | |
| +---------------------------------------------------+ |
|                          |SAV Rules                   |
|                         \/                            |
|  +------------------------------------------------+   |
|  |                    SAV Table                   |   |
|  +------------------------------------------------+   |
+-------------------------------------------------------+
]]></artwork>
      </figure>
      <t><xref target="arch"/> shows the overview of the inter-domain SAVNET architecture.</t>
      <t>The inter-domain SAVNET architecture collects SAV-specific Information from the SAV-specific Messages of other ASes. The SAV-specific Information consists of the legitimate prefixes and their legitimate incoming interfaces of the ASes. As a result, the SAV-specific information can be used to generate SAV rules and build an accurate SAV table on each AS directly. In order to exchange SAV-specific Information between ASes, a new SAV-specific protocol should be developed to carry the SAV-specific information. Compared against existing inter-domain SAV mechanisms which rely on the general information such as routing information from the RIB, the SAV-specifc information can generate more accurate SAV table, the root cause is that the SAV-specific information is dedicately design for inter-domain SAV, while the general information is not.</t>
      <t>The SAV-specific protocol should define the data structure or format for communicating the SAV-specific information and the operations and timing for originating, processing, propagating, and terminating the messages which carry the information. Additionally, the SAV-specific Information will not be avaiable for all ASes when the SAV-specific protocol is on the incremental/partial deployment. Therefore, in the stage of incremental/partial deployment, the inter-domain SAVNET architecture can use the general information to generate SAV table.</t>
      <t>The SAV Information Base (SIB) can store the information from the SAV-specific Information and general information and is maintained by the SAV Information Base Manager (SIM), and then the SIM generate SAV rules based on the SIB and fill out the SAV table in the dataplane. The SIB can be managed by network operators using various methods such as YANG, Command-Line Interface (CLI), remote triggered black hole (RTBH) <xref target="RFC5635"/>, and Flowspec <xref target="RFC8955"/>.</t>
      <t>Inter-domain SAVNET architecture does not prescribe any specific deployment models.</t>
      <section anchor="sib-sec">
        <name>SAV Information Base</name>
        <t>The SIB is managed by the SAV Information Base Manager, which can consolidate SAV-related information from different sources. The SAV information sources of SIB include SAV-specific Information and general information, which are illustrated below:</t>
        <ul spacing="normal">
          <li>SAV-specific Information is the specifically collected information for SAV and exactly consists of the legitimate prefixes and their incoming interfaces.</li>
          <li>General information refers to the information that are not directly related to SAV but can be utilized to generate the SAV table, such as routing information from the RIB or FIB, the relationships between prefixes and ASes from the RPKI ROA Objects, and the AS relationships from the RPKI ASPA Objects.</li>
        </ul>
        <figure anchor="sav_src">
          <name>Priority ranking for the SAV information sources</name>
          <artwork><![CDATA[
+---------------------------------------------------+----------+
|              SAV Information Sources              |Priorities|
+---------------------------------------------------+----------+
|              SAV-specific Information             |     1    |
+---------------------+-----------------------------+----------+
|                     | RPKI ROA Obj. and ASPA Obj. |     2    |
|                     +-----------------------------+----------+
| General Information |             RIB             |     3    |
|                     +-----------------------------+----------+
|                     |             FIB             |     4    |
+---------------------+-----------------------------+----------+
]]></artwork>
        </figure>
        <t><xref target="sav_src"/> presents a priority ranking for the SAV-specific Information and general information. SAV-specific Information has higher priority (i.e., 1) than the general information (i.e., 2), since the inter-domain SAVNET architecture uses the SAV-specific information to carry the more accurate information which comprises ASes' prefixes and their legitimate incoming interfaces. Therefore, once the SAV-specific information for a prefix is available within the SIB, the inter-domain SAVNET generate the SAV table based on the information from the SAV-specific information; otherwise, the inter-domain SAVNET generate the SAV table based on the information from the general information. In other words, the inter-domain SAVNET architecture assigns priorities to the information from different SAV information sources, and always generate the SAV table using the information with the high priority.</t>
        <figure anchor="sib">
          <name>An example for the SAV information base in AS 4</name>
          <artwork><![CDATA[
+-----+------+------------------+---------+------------------------+
|Index|Prefix|AS-level Interface|Direction| SAV Information Source |
+-----+------+------------------+---------+------------------------+
|  0  |  P3  |      Itf.1       |Provider |  General Information   | 
+-----+------+------------------+---------+------------------------+
|  1  |  P2  |      Itf.2       |Customer |  General Information   |
+-----+------+------------------+---------+------------------------+
|  2  |  P1  |      Itf.2       |Customer |SAV-specific Information|
+-----+------+------------------+---------+------------------------+
|  3  |  P1  |      Itf.3       |Customer |  General Information   |
+-----+------+------------------+---------+------------------------+
|  4  |  P6  |      Itf.2       |Customer |  General Information   |
+-----+------+------------------+---------+------------------------+
|  5  |  P6  |      Itf.3       |Customer |SAV-specific Information|
|     |      |                  |         |  General Information   |
+-----+------+------------------+---------+------------------------+
|  6  |  P5  |      Itf.4       |Customer |  General Information   |
+-----+------+------------------+---------+------------------------+
|  7  |  P5  |      Itf.1       |Provider |  General Information   |
+-----+------+------------------+---------+------------------------+
]]></artwork>
        </figure>
        <figure anchor="as-topo">
          <name>An example of AS topology</name>
          <artwork><![CDATA[
                           +------------------+
                           |     AS 3(P3)     |
                           +-+/\------+/\+----+
                              /          \
                             /            \ 
                            /              \
                     Itf.1 / (C2P)          \
                 +------------------+        \
                 |     AS 4(P4)     |         \
                 ++/\+---+/\+---+/\++          \
             Itf.2 /      | Itf.3  \ Itf.4      \
   P6[AS 1, AS 2] /       |         \            \
        P2[AS 2] /        |          \            \
                / (C2P)   |           \            \
+----------------+        |            \            \    
|    AS 2(P2)    |        | P1[AS 1]    \ P5[AS 5]   \ P5[AS 5]
+----------+/\+--+        | P6[AS 1]     \            \
             \            | NO_EXPORT     \            \
     P6[AS 1] \           |                \            \
      P1[AS 1] \          |                 \            \
      NO_EXPORT \ (C2P)   | (C2P)      (C2P) \      (C2P) \
              +----------------+           +----------------+
              |  AS 1(P1, P6)  |           |    AS 5(P5)    |
              +----------------+           +----------------+
]]></artwork>
        </figure>
        <t>Each row of the SIB contains an index, prefix, AS-level valid incoming interface for the prefix, incoming direction, and the corresponding sources of these information. The incoming direction consists of customer, provider, and peer. In order to provide a clear illustration of the SIB, <xref target="sib"/> depicts an example of an SIB established in AS 4. As shown in <xref target="as-topo"/>, AS 4 has four AS-level interfaces, each connected to a different AS. Specifically, Itf.1 is connected to AS 3, Itf.2 to AS 2, Itf.3 to AS 1, and Itf.4 to AS 5. The arrows in the figure represent the commercial relationships between ASes. AS 3 is the provider of AS 4 and AS 5, while AS 4 is the provider of AS 1, AS 2, and AS 5, and AS 2 is the provider of AS 1. Assuming prefixes P1, P2, P3, P4, P5, and P6 are all the prefixes in the network.</t>
        <t>For example, in <xref target="sib"/>, the row with index 0 indicates prefix P3's valid incoming interface is Itf.1, the ingress direction of P3 is AS 4's provider AS (AS 3), and these information is from the RIB. Note that the same SAV-related information may have multiple sources and the SIB records them all, such as the rows with indexes 3, 5, and 6.</t>
        <t>Recall that the inter-domain SAVNET architecture generates the SAV table based on the SAV-related information in the SIB and their priorities. Besides, in the case of an AS's provider/peer interfaces where loose SAV rules are applicable, the inter-domain SAVNET architecture generates blocklist to only block the prefixes that are sure not to come from the provider interfaces, while in the case of an AS's customer interfaces that necessitate stricter SAV rules, the inter-domain SAVNET architecture generates allowlist to only permit the prefixes in the SAV table.</t>
        <t>Additionally, take the SIB in <xref target="sib"/> as an example to illustrate how the inter-domain SAVNET architecture generates the SAV table to perform SAV in the data plane. AS 4 can conduct SAV at its interfaces as follows: SAV at the interface Itf.1 blocks P1, P2, and P6 according to the rows with indexes 0, 1, 2, and 5 in the SIB, SAV at the interface Itf.2 permits P1 and P2 according to the rows with indexes 1 and 2 in the SIB, SAV at the interface Itf.3 permits P6 according to the row with index 5 in the SIB, and SAV at the interface Itf.4 permits P5 according to the row with index 6 in the SIB.</t>
      </section>
      <section anchor="sav-specific-protocol">
        <name>SAV-specific Protocol</name>
        <figure anchor="sav_msg">
          <name>Communicating SAV-specific Messages with SAV-specific Protocol between ASes</name>
          <artwork><![CDATA[
+---------------------+              +---------------------+
|         AS          | SAV-specific |          AS         |
| +----------------+  |  Messages    |  +----------------+ |
| |  SAV-specific  |<-|--------------|->|  SAV-specific  | |
| |Protocol Speaker|  |              |  |Protocol Speaker| |
| +----------------+  |              |  +----------------+ |
+---------------------+              +---------------------+
]]></artwork>
        </figure>
        <t>As shown in <xref target="sav_msg"/>, SAV-specific Messages are used to propagate or originate the information on prefixes and their incoming interfaces between ASes by the SAV-specific Protocol Speakers. Within an AS, the SAV-specific Protocol Speaker can obtain the next hop of the corresponding prefixes based on the routing table from the local RIB and use SAV-specific Messages to carry the next hops of the corresponding prefixes and propagate them between ASes with SAV-specific Protocol.</t>
        <t>The SAV-specific protocol should define the SAV-specific information to be communicated, the data structure or format to communicate the information, and the operations and timing for originating, processing, propagating, and terminating the messages which carry the information. The SAV-specific protocol speaker is the entity to support the SAV-specific protocol. To generate the SAV-specific Information, the SAV-specific Protocol Speaker connects to other SAV-specific Protocol Speakers in other ASes, receives, processes, generates, or terminates SAV-specific Messages. Then, it obtains the ASN, the prefixes, the AS-level interfaces to receive the messages, and their incoming AS direction for maintaining the SIB. It is important to note that the SAV-specific Protocol Speaker within an AS has the capability to establish connections with multiple SAV-specific Protocol Speakers from different ASes, relying on either manual configurations by operators or an automatic mechanism.</t>
        <t>The need for a SAV-specific protocol arises from the facts that the SAV-specific Information needs to be obtained and communicated between ASes. Different from the general information such routing information from the RIB, there is no existing mechanisms which can support the perception and communication of SAV-specific information between ASes. Hence, a unified SAV-tailored protocol is needed to provide a medium and set of rules to establish communication between different ASes for the exchange of SAV-specific information.</t>
        <t>Moreover, the preferred AS paths of an AS may change over time due to route changes, including source prefix change and AS path change. The SAV-specific Protocol Speaker should launch SAV-specific Messages to adapt to the route changes in a timely manner. Inter-domain SAVNET should handle route changes carefully to avoid false positives. The reasons for leading to false positives may include late detection of route changes, delayed message transmission, or packet losses. However, the detailed design of the SAV-specific protocol for dealing with route changes is outside the scope of this document.</t>
      </section>
      <section anchor="sav-information-base-manager">
        <name>SAV Information Base Manager</name>
        <t>SAV Information Base Manager (SIM) consolidates SAV-related information from the SAV-specific information and general information to initiate or update the SIB, while it generates SAV rules to populate the SAV table in the dataplane according to the SIB. The detailed collection methods of the SAV-related information depend on the deployment and implementation of the inter-domain SAV mechanisms and are out of scope for this document.</t>
        <t>Using the SIB, SIM produces &lt;Prefix, Interface&gt; pairs to populate the SAV table, which represents the prefix and its legitimate incoming interface. It is worth noting that the interfaces in the SIB are logical AS-level interfaces and need to be mapped to the physical interfaces of border routers within the AS.</t>
        <figure anchor="sav_tab">
          <name>An example of SAV table</name>
          <artwork><![CDATA[
+------------------------------------+
| Source Prefix | Incoming Interface |
+---------------+--------------------+
|      P1       |          1         |
+---------------+--------------------+
|      P2       |          2         |
+---------------+--------------------+
|      P3       |          3         |
+------------------------------------+
]]></artwork>
        </figure>
        <t><xref target="sav_tab"/> shows an example of the SAV table. The packets coming from other ASes will be validated by the SAV table. The router looks up each packet's source address in its local SAV table and gets one of three validity states: "Valid", "Invalid" or "Unknown". "Valid" means that there is a source prefix in SAV table covering the source address of the packet and the valid incoming interfaces covering the actual incoming interface of the packet. According to the SAV principle, "Valid" packets will be forwarded. "Invalid" means there is a source prefix in SAV table covering the source address, but the incoming interface of the packet does not match any valid incoming interface so that such packets will be dropped or reported. "Unknown" means there is no source prefix in SAV table covering the source address. The packet with "unknown" addresses can be dropped or permitted or reported, which depends on the choice of operators. The structure and usage of SAV table can refer to <xref target="sav-table"/>.</t>
      </section>
      <section anchor="management-channel-and-information-channel">
        <name>Management Channel and Information Channel</name>
        <figure anchor="sav_agent_config">
          <name>The management channel and information channel for collecting SAV-related information from different SAV information sources</name>
          <artwork><![CDATA[
+------+
|      |   Management Channel    +--------------------------------+ 
|      |<========================|        Network Operators       |
|      |                         +--------------------------------+
|      |
|      |   Information Channel   +--------------------------------+
|      |<----------------------->|  SAV-specific Protocol Speaker |
|      |                         +--------------------------------+
| SIM  |
|      |   Information Channel   +--------------------------------+
|      |<------------------------|   RPKI ROA Obj. and ASPA Obj.  |
|      |                         +--------------------------------+
|      |
|      |   Information Channel   +--------------------------------+
|      |<------------------------|               RIB              |
|      |                         +--------------------------------+
+------+
]]></artwork>
        </figure>
        <t>The SAV-specific Information relies on the communication between SAV-specific Protocol Speakers within ASes and the general information may be from multiple sources, such as the RIB and RPKI ROA objects and ASPA objects. Therefore, as illustrated in <xref target="sav_agent_config"/>, the SIM needs to receive the SAV-related information from SAV-specific Protocol Speaker, RIB, and RPKI ROA objects and ASPA objects. We abstract the connections used to collect the SAV-related information from the sources as Infomation Channel. Also, the network operators can operate the SIB by manual configurations, such as YANG, CLI, RTBH <xref target="RFC5635"/>, and Flowspec <xref target="RFC8955"/>, where the approaches to implement these are abstracted as Management Channel.</t>
        <t>The primary purpose of the management channel is to deliver manual configurations of network operators. Examples of such information include, but are not limited to:</t>
        <ul spacing="normal">
          <li>SAV configurations using YANG, CLI, RTBH, or Flowspec.</li>
          <li>SAVNET operation and management.</li>
          <li>Inter-domain SAVNET provisioning.</li>
        </ul>
        <t>Note that the information can be delivered at anytime and is required reliable delivery for the management channel implementation.</t>
        <t>The information channel serves as a means to transmit the SAV-specific Information and general information from various sources including the RIB and RPKI ROA objects and ASPA Objects. Additionally, it can carry telemetry information, such as metrics pertaining to forwarding performance, the count of spoofing packets and discarded packets, provided that the inter-domain SAVNET has access to such data. The information channel can include information regarding the prefixes associated with the spoofing traffic, as observed until the most recent time. It is worth noting that the information channel may need to operate over a network link that is currently under a source address spoofing attack. As a result, it may experience severe packet loss and high latency due to the ongoing attack.</t>
      </section>
    </section>
    <section anchor="partialincremental-deployment">
      <name>Partial/Incremental Deployment</name>
      <t>The inter-domain SAVNET architecture <bcp14>MUST</bcp14> ensure support for partial/incremental deployment as it is not feasible to deploy it simultaneously in all ASes. Within the architecture, the general information like the topological information from RPKI ROA Objects and ASPA Objects and the routing information from the RIB can be obtained locally when the corresponding sources are available. Furthermore, it is not mandatory for all ASes to deploy SAV-specific Protocol Speakers even for SAV-specific Information. Instead, a SAV-specific Protocol Speaker can effortlessly establish a logical neighboring relationship with another AS that has deployed a SAV-specific Protocol Speaker. This flexibility enables the architecture to accommodate varying degrees of deployment, promoting interoperability and collaboration among participating ASes.</t>
      <t>During the partial/incremental deployment of SAV-specific protocol speaker, the SAV-specific Information for the ASes which do not deploy SAV-specific protocol speaker can not be obtained. To protect the prefixes of these ASes, inter-domain SAVNET architecture can use the SAV-related information from the general information in the SIB to generate SAV rules. At least, the routing information from the RIB or FIB can be always available in the SIB.</t>
      <t>As more ASes adopt the inter-domain SAVNET architecture, the "deployed area" expands, thereby increasing the collective defense capability against source address spoofing. Furthermore, if multiple "deployed areas" can be logically interconnected across "non-deployed areas", these interconnected "deployed areas" can form a logical alliance, providing enhanced protection against address spoofing. Especially, along with more ASes deploy SAV-specific protocol speaker and support the communication of SAV-specific Information, the generated SAV rules of the inter-domain SAVNET architecture to protect these ASes will become more accurate, as well as enchancing the protection capability agaist source address spoofing for the inter-domain SAVNET architecture.</t>
      <t>In addition, releasing the SAV functions of the inter-domain SAVNET architecture incrementally is one potential way to reduce the deployment risks and can be considered in its deployment by network operators:</t>
      <ul spacing="normal">
        <li>First, the inter-domain SAVNET can only do the measurement in the data plane and do not take any other actions. Based on the measurement data, the operators can evaluate the effect of the inter-domain SAVNET on the legitimate traffic, including validation accuracy and forwarding performance, as well as the operational overhead.</li>
        <li>Second, the inter-domain SAVNET can open the function to limit the rate of the traffic that is justified as spoofing traffic. The operators can further evaluate the effect of the inter-domain SAVNET on the legitimate traffic and spoofing traffic, such as limiting the rate of all the spoofing traffic without hurting the legitimate traffic.</li>
        <li>Third, when the validation accuracy, forwarding performance, and operational overhead have been verified on a large scale by the live network, the inter-domain SAVNET can open the function to directly block the spoofing traffic that is justified by the SAV table in the data plane.</li>
      </ul>
    </section>
    <section anchor="convergence-considerations">
      <name>Convergence Considerations</name>
      <t>Convergence issues <bcp14>SHOULD</bcp14> be carefully considered in inter-domain SAV mechanisms due to the dynamic nature of the Internet. Internet routes undergo continuous changes, and SAV rules <bcp14>MUST</bcp14> proactively adapt to these changes, such as prefix and topology changes, in order to prevent false positives or reduce false negatives. To effectively track these changes, the SIM should promptly collect SAV-related information from various SAV information sources and consolidate them in a timely manner.</t>
      <t>In particular, it is essential for the SAV-specific Protocol Speakers to proactively communicate the changes of the SAV-specific Information between ASes and adapt to route changes promptly. However, during the routing convergence process, the real forwarding paths of prefixes can undergo rapid changes within a short period. The changes of the SAV-specific Information may not communicated in time between ASes to update SAV rules, false positives or false negatives may happen. Such inaccurate validation is caused by the delays in communicating SAV-specific Information between ASes, which occur due to the factors like packet losses, unpredictable network latencies, or message processing latencies. The design of the SAV-specific protocol should consider these issues to reduce the inaccurate validation.</t>
      <t>Besides, for the inter-domain SAVNET architecture, the potential ways to handle the convergence issues of the SAV-specific protocol is to consider using the general information such as routing information from the RIB to generate temporary SAV rules until the convergence process of the SAV-specific protocol is finished. The inter-domain SAVNET architecture can generate looser SAV rules to reduce false positives based on the general information, and thus reduce the impact to the legitimate traffic.</t>
    </section>
    <section anchor="management-considerations">
      <name>Management Considerations</name>
      <t>It is crucial to consider the operations and management aspects of SAV information sources, the SAV-specific protocol, SIB, SIM, and SAV table in the inter-domain SAVNET architecture. The following guidelines should be followed for their effective management:</t>
      <t>First, management interoperability should be supported across devices from different vendors or different releases of the same product, based on a unified data model such as YANG <xref target="RFC6020"/>. This is essential because the Internet comprises devices from various vendors and different product releases that coexist simultaneously.</t>
      <t>Second, scalable operation and management methods such as NETCONF <xref target="RFC6241"/> and syslog protocol <xref target="RFC5424"/> should be supported. This is important as an AS may have hundreds or thousands of border routers that require efficient operation and management.</t>
      <t>Third, management operations, including default initial configuration, alarm and exception reporting, logging, performance monitoring and reporting for the control plane and data plane, as well as debugging, should be designed and implemented in the protocols or protocol extensions. These operations can be performed either locally or remotely, based on the operational requirements.</t>
      <t>By adhering to these rules, the management of SAV information sources and related components can be effectively carried out, ensuring interoperability, scalability, and efficient operations and management of the inter-domain SAVNET architecture.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>In the inter-domain SAVNET architecture, the SAV-specific Protocol Speaker plays a crucial role in generating and disseminating SAV-specific Messages across different ASes. To safeguard against the potential risks posed by a malicious AS generating incorrect or forged SAV-specific Messages, it is important for the SAV-specific Protocol Speakers to employ security authentication measures for each received SAV-specific Message. The security threats faced by inter-domain SAVNET can be categorized into two aspects: session security and content security. Session security pertains to verifying the identities of both parties involved in a session and ensuring the integrity of the session content. Content security, on the other hand, focuses on verifying the authenticity and reliability of the session content, thereby enabling the identification of forged SAV-specific Messages.</t>
      <t>The threats to session security include:</t>
      <ul spacing="normal">
        <li>Session identity impersonation: This occurs when a malicious router deceitfully poses as a legitimate peer router to establish a session with the targeted router. By impersonating another router, the malicious entity can gain unauthorized access and potentially manipulate or disrupt the communication between the legitimate routers.</li>
        <li>Session integrity destruction: In this scenario, a malicious intermediate router situated between two peering routers intentionally tampers with or destroys the content of the relayed SAV-specific Message. By interfering with the integrity of the session content, the attacker can disrupt the reliable transmission of information, potentially leading to miscommunication or inaccurate SAV-related data being propagated.</li>
      </ul>
      <t>The threats to content security include:</t>
      <ul spacing="normal">
        <li>Message alteration: A malicious router has the ability to manipulate or forge any portion of a SAV-specific Message. For example, the attacker may employ techniques such as using a spoofed Autonomous System Number (ASN) or modifying the AS Path information within the message. By tampering with the content, the attacker can potentially introduce inaccuracies or deceive the receiving ASes, compromising the integrity and reliability of the SAV-related information.</li>
        <li>Message injection: A malicious router injects a seemingly "legitimate" SAV-specific Message into the communication stream and directs it to the corresponding next-hop AS. This type of attack can be likened to a replay attack, where the attacker attempts to retransmit previously captured or fabricated messages to manipulate the behavior or decisions of the receiving ASes. The injected message may contain malicious instructions or false information, leading to incorrect SAV rule generation or improper validation.</li>
        <li>Path deviation: A malicious router intentionally diverts a SAV-specific Message to an incorrect next-hop AS, contrary to the expected path defined by the AS Path. By deviating from the intended routing path, the attacker can disrupt the proper dissemination of SAV-related information and introduce inconsistencies or conflicts in the validation process. This can undermine the effectiveness and accuracy of source address validation within the inter-domain SAVNET architecture.</li>
      </ul>
      <t>Overall, inter-domain SAVNET shares similar security threats with BGP and can leverage existing BGP security mechanisms to enhance both session and content security. Session security can be enhanced by employing session authentication mechanisms used in BGP, such as MD5, TCP-AO, or Keychain. Similarly, content security can benefit from the deployment of existing BGP security mechanisms like RPKI, BGPsec, and ASPA. While these mechanisms can address content security threats, their widespread deployment is crucial. Until then, it is necessary to develop an independent security mechanism specifically designed for inter-domain SAVNET. One potential approach is for each origin AS to calculate a digital signature for each AS path and include these digital signatures within the SAV-specific Messages. Upon receiving a SAV-specific Message, the SAV-specific Protocol Speaker can verify the digital signature to ascertain the message's authenticity. Detailed security designs and considerations will be addressed in a separate draft, ensuring the robust security of inter-domain SAVNET.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document has no IANA requirements.</t>
    </section>
    <section anchor="scope">
      <name>Scope</name>
      <t>In this architecture, the choice of protocols used for communication between the SIM and different SAV information sources is not limited. The inter-domain SAVNET architecture presents considerations on how to consolidate SAV-related information from various sources to generate SAV rules and perform SAV using the SAV table in the dataplane. The detailed design and implementation for SAV rule generation and SAV execution depend on the specific inter-domain SAV mechanisms employed.</t>
      <t>This document does not cover administrative or business agreements that may be established between the involved inter-domain SAVNET parties. These considerations are beyond the scope of this document. However, it is assumed that authentication and authorization mechanisms can be implemented to ensure that only authorized ASes can communicate SAV-related information.</t>
    </section>
    <section anchor="assumptions">
      <name>Assumptions</name>
      <t>This document makes the following assumptions:</t>
      <ul spacing="normal">
        <li>All ASes where the inter-domain SAVNET is deployed are assumed to provide the necessary connectivity between SAV-specific protocol speaker and any intermediate network elements. However, the architecture does not impose any specific limitations on the form or nature of this connectivity.</li>
        <li>Congestion and resource exhaustion can occur at various points in the inter-domain networks. Hence, in general, network conditions should be assumed to be hostile. The inter-domain SAVNET architecture must be capable of functioning reliably under all circumstances, including scenarios where the paths for delivering SAV-related information are severely impaired. It is crucial to design the inter-domain SAVNET system with a high level of resilience, particularly under extremely hostile network conditions. The architecture should ensure uninterrupted communication between inter-domain SAV-specific protocol speakers, even when data-plane traffic saturates the link.</li>
        <li>The inter-domain SAVNET architecture does not impose rigid requirements for the SAV information sources that can be used to generate SAV rules. Similarly, it does not dictate strict rules on how to utilize the SAV-related information from diverse sources or perform SAV in the dataplane. Network operators have the flexibility to choose their approaches to generate SAV rules and perform SAV based on their specific requirements and preferences. Operators can either follow the recommendations outlined in the inter-domain SAVNET architecture or manually specify the rules for governing the use of SAV-related information, the generation of SAV rules, and the execution of SAV in the dataplane.</li>
        <li>The inter-domain SAVNET architecture does not impose restrictions on the selection of the local AS with which AS to communicate SAV-specific information. The ASes have the flexibility to establish SAV-specific protocol connections based on the manual configurations set by operators or other automatic mechanisms.</li>
        <li>The inter-domain SAVNET architecture provides the flexibility to accommodate Quality-of-Service (QoS) policy agreements between SAVNET-enabled ASes or local QoS prioritization measures, but it does not make assumptions about their presence. These agreements or prioritization efforts are aimed at ensuring the reliable delivery of SAV-specific Information between SAV-specific protocol speakers. It is important to note that QoS is considered as an operational consideration rather than a functional component of the inter-domain SAVNET architecture.</li>
        <li>The information and management channels are loosely coupled and are used for collecting SAV-related information from different sources, and how the inter-domain SAVNET synchronize the management and operation configurations is out of scope of this document.</li>
      </ul>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>Igor Lubashev<br/>
  Akamai Technologies<br/>
  145 Broadway<br/>
  Cambridge, MA, 02142<br/>
  United States of America<br/>
  Email: ilubashe@akamai.com</t>
      <t>Many thanks to Igor Lubashev for the significantly helpful revision suggestions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC3704">
          <front>
            <title>Ingress Filtering for Multihomed Networks</title>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>BCP 38, RFC 2827, is designed to limit the impact of distributed denial of service attacks, by denying traffic with spoofed addresses access to the network, and to help ensure that traffic is traceable to its correct source network. As a side effect of protecting the Internet against such attacks, the network implementing the solution also protects itself from this and other attacks, such as spoofed management access to networking equipment. There are cases when this may create problems, e.g., with multihoming. This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular. This memo updates RFC 2827. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="84"/>
          <seriesInfo name="RFC" value="3704"/>
          <seriesInfo name="DOI" value="10.17487/RFC3704"/>
        </reference>
        <reference anchor="RFC8704">
          <front>
            <title>Enhanced Feasible-Path Unicast Reverse Path Forwarding</title>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="D. Montgomery" initials="D." surname="Montgomery"/>
            <author fullname="J. Haas" initials="J." surname="Haas"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document identifies a need for and proposes improvement of the unicast Reverse Path Forwarding (uRPF) techniques (see RFC 3704) for detection and mitigation of source address spoofing (see BCP 38). Strict uRPF is inflexible about directionality, the loose uRPF is oblivious to directionality, and the current feasible-path uRPF attempts to strike a balance between the two (see RFC 3704). However, as shown in this document, the existing feasible-path uRPF still has shortcomings. This document describes enhanced feasible-path uRPF (EFP-uRPF) techniques that are more flexible (in a meaningful way) about directionality than the feasible-path uRPF (RFC 3704). The proposed EFP-uRPF methods aim to significantly reduce false positives regarding invalid detection in source address validation (SAV). Hence, they can potentially alleviate ISPs' concerns about the possibility of disrupting service for their customers and encourage greater deployment of uRPF techniques. This document updates RFC 3704.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="84"/>
          <seriesInfo name="RFC" value="8704"/>
          <seriesInfo name="DOI" value="10.17487/RFC8704"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC5424">
          <front>
            <title>The Syslog Protocol</title>
            <author fullname="R. Gerhards" initials="R." surname="Gerhards"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document describes the syslog protocol, which is used to convey event notification messages. This protocol utilizes a layered architecture, which allows the use of any number of transport protocols for transmission of syslog messages. It also provides a message format that allows vendor-specific extensions to be provided in a structured way.</t>
              <t>This document has been written with the original design goals for traditional syslog in mind. The need for a new layered specification has arisen because standardization efforts for reliable and secure syslog extensions suffer from the lack of a Standards-Track and transport-independent RFC. Without this document, each other standard needs to define its own syslog packet format and transport mechanism, which over time will introduce subtle compatibility issues. This document tries to provide a foundation that syslog extensions can build on. This layered architecture approach also provides a solid basis that allows code to be written once for each syslog feature rather than once for each transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5424"/>
          <seriesInfo name="DOI" value="10.17487/RFC5424"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="sav-table" target="https://datatracker.ietf.org/doc/draft-huang-savnet-sav-table/">
          <front>
            <title>Source Address Validation Table Abstraction and Application</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="inter-domain-ps" target="https://datatracker.ietf.org/doc/draft-wu-savnet-inter-domain-problem-statement/">
          <front>
            <title>Source Address Validation in Inter-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC5635">
          <front>
            <title>Remote Triggered Black Hole Filtering with Unicast Reverse Path Forwarding (uRPF)</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>Remote Triggered Black Hole (RTBH) filtering is a popular and effective technique for the mitigation of denial-of-service attacks. This document expands upon destination-based RTBH filtering by outlining a method to enable filtering by source address as well. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5635"/>
          <seriesInfo name="DOI" value="10.17487/RFC5635"/>
        </reference>
        <reference anchor="RFC8955">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author fullname="C. Loibl" initials="C." surname="Loibl"/>
            <author fullname="S. Hares" initials="S." surname="Hares"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="M. Bacher" initials="M." surname="Bacher"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
              <t>It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI. Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t>This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </reference>
      </references>
    </references>
    <?line 463?>

<section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>Many thanks to Alvaro Retana, Kotikalapudi Sriram, Rüdiger Volk, Xueyan Song, Ben Maddison, Jared Mauch, Joel Halpern, Aijun Wang, Jeffrey Haas, Xiangqing Chang, Changwang Lin, Mingxing Liu, Zhen Tan, etc. for their valuable comments on this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
kiUkrwAA

-->

</rfc>
