<?xml version='1.0' encoding='utf-8'?>  <!-- -*- indent-with-tabs: 0 -*- -->
<!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.31 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" ipr="trust200902" docName="draft-rly-savnet-inter-domain-as-relationships-06" category="std" consensus="true" xml:lang="en" version="3">
   <front>
      <title abbrev="Inter-domain SAV">Inter-domain Source Address Validation based on AS relationships</title>
      <seriesInfo name="Internet-Draft" value="draft-rly-savnet-inter-domain-as-relationships-06"/>
      <author initials="G." surname="Ren" fullname="Gang Ren">
        <organization>Tsinghua University</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>rengang@cernet.edu.cn</email>
        </address>
      </author>
      <author initials="S." surname="Liu" fullname="Shuqi Liu">
        <organization>Tsinghua University</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>liu-sq23@mails.tsinghua.edu.cn</email>        
        </address>
      </author>
      <author initials="X." surname="Yin" fullname="Xia Yin">
        <organization>Tsinghua University</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>yxia@tsinghua.edu.cn</email>
        </address>
      </author>
      <author initials="M.L" surname="Jia" fullname="Minglin Jia">
        <organization>Tsinghua University</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <phone>+86 18800137573</phone>
          <email>jml20@mails.tsinghua.edu.cn</email>
          <email>millionvoid@gmail.com</email>
        </address>
      </author> 
      <date/>
      <!-- <workgroup>SAVNET</workgroup> -->
      <workgroup>Internet Engineering Task Force</workgroup>
      <abstract>
        <t>This draft introduces a distributed inter-domain source address validation scheme based on AS relationships named AS Relationship Based Inter-domain Filtering (ARBIF). It primarily describes this method from seven aspects: a brief introduction to the scheme, an overview of the AS relationship classification and acquisition methods, the architecture of the ARBIF system, implementation based on BGP extension, typical use cases, experiments of ARBIF, and considerations for deployability.</t>
      </abstract>
   </front>
   
   <middle>
      <section anchor="introduction">
        <name>Introduction</name>
        <t>Various attacks continue to pose significant security threats to the Internet, and IP spoofing is critical. Attackers frequently employ IP spoofing to launch DDoS attacks and disguise their actual identities. Source address validation (SAV) can greatly relieve IP spoofing and mitigate DDoS attacks.</t>
        <t>The Source Address Validation Architecture (short for SAVA) proposed by <xref target="RFC5210"/> divides its SAV architecture into three levels: the access network, intra-domain, and inter-domain. In SAV at the access network level, many researchers have made considerable progress and established several standards through discussion and collaboration.</t>
        <t>Researchers also proposed algorithms for inter-domain SAV. <xref target="RFC2827"/>, <xref target="RFC3704"/>, and <xref target="RFC8704"/> proposed uRPF algorithms that reverse routers' forwarding tables as their SAV rules. They further proposed several variants based on this core idea to fit different scenarios. uRPF algorithms exhibit high convergence speed and low cost. The SAVNET working group is devoted to improving the inter-domain SAV mechanism <xref target="inter-domain-sav-ps"/> and designing an SAV architecture using various information <xref target="inter-domain-sav-archt"/>. Their scheme exhibits high accuracy. The BAR-SAV algorithm <xref target="sidrops-bar-sav"/> in the SIDRops working group generates a permissible prefix list as SAV rules using BGP UPDATE messages, ASPA, and ROA objects in the RPKI. It has medium accuracy.</t>
        <t>Though all existing methods have advantages, they have yet to become an effective and deployable standard. Aiming to fix this gap, we propose a scheme with moderate accuracy, convergence speed, and cost. To implement it, we use AS relationships to abstract the inter-domain routing information.</t>
        <t>At the AS level, each AS owns some IP address prefixes and advertises them to neighbor ASes. Through its advertisement, neighbor ASes know they can route traffic to these prefixes through it. What's more, neighbor ASes also determine whether to propagate the received routes to their neighbor ASes according to AS relationships. Thus, we can estimate each prefix's propagation, and infer approximate inter-domain routes using AS relationships and IP address prefixes.</t>
        <t>This scheme's inaccuracy comes from ignoring fine-grained routing information, such as BGP path attributes. Ignoring them may cause routes to propagate beyond the intended scope, leading to more improper permits. Even one dropped legitimate packet may lead to serious Internet interruption, but a few passed spoofed packets cannot cause large-scale attacks. As our scheme does not cause additional improper blocks, it does not violate requirements for inter-domain SAV.</t>
        <t>This draft introduces a distributed inter-domain SAV scheme based on AS relationships, and we name it AS Relationship Based Inter-domain Filtering (ARBIF). Receiving comments from other researchers about deployment upgrade costs, the ARBIF scheme adopts a distributed SAV architecture without a centralized server in each AS or a newly designed protocol. Instead, we extend the current BGP protocol and directly implement the ARBIF on existing AS border routers. These are ARBIF's main modifications compared to the original scheme in <xref target="RFC5210"/>. ARBIF also covers more AS relationships and discusses more scenarios. We will explain its details in the following sections.</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>
        </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 AS or source IP prefix.</t></dd>

          <dt>ASN SAV Rule:</dt>
          <dd><t>The rule that indicates the validity of specific source ASes and is usually in the form of an AS number (ASN) set.</t></dd>

          <dt>IP Prefix SAV Rule:</dt>
          <dd><t>The rule that indicates the validity of specific source IP prefixes and is usually in the form of an IP prefix set.</t></dd>

          <dt>Validation Router (VR):</dt>
          <dd><t>The border router of a specific AS in the ARBIF system that takes responsibility for exchanging and generating ASN SAV rules, generating IP Prefix SAV rules using the mapping from AS numbers to IP prefixes, and validating packets.</t></dd>

          <dt>AS-IP Prefix Mapping Server (AIMS):</dt>
          <dd><t>The only centralized server in the ARBIF system that takes responsibility for maintaining the mapping from ASN to IP prefixes and providing this mapping for VRs to generate IP Prefix SAV rules according to ASN SAV rules.</t></dd>
        
          <dt>Neighbor SAV Rule Table:</dt>
          <dd><t>The table in a specific VR that records SAV Rules at all its interfaces facing neighbor ASes, including ASN SAV rules and IP Prefix SAV rules.</t></dd>

          <dt>Improper Block:</dt>
          <dd><t>The situation in which packets with legitimate source addresses are blocked, causing SAV false positives.</t></dd>
          
          <dt>Improper Permit:</dt>
          <dd><t>The situation in which packets with spoofed source addresses are allowed, causing SAV false negatives.</t></dd>

        </dl>
      </section>

      <section anchor="sec-as-relationships">
        <name>Introduction to AS Relationships</name>
        <t>AS relationships are essentially business relationships between autonomous systems. Some major relationships occupy the maximal proportion of all AS relationships, while other complex relationships exist in particular situations.</t>
        <t>To formally describe AS relationships, we define some symbols in <xref target="symbol-table"/>.</t>
        <table anchor="symbol-table">
          <name>Symbol definitions of formal descriptions</name>
          <thead>
            <tr><th align="center">Symbol</th><th align="center">Symbol Meaning</th></tr>
          </thead>
          <tbody>
            <tr><td align="center">Cus(AS<sub>u</sub>)</td><td align="center">Customer AS of AS<sub>u</sub></td></tr>
            <tr><td align="center">Pro(AS<sub>u</sub>)</td><td align="center">Provider AS of AS<sub>u</sub></td></tr>
            <tr><td align="center">Peer(AS<sub>u</sub>)</td><td align="center">Peer AS of AS<sub>u</sub></td></tr>
            <tr><td align="center">Sib(AS<sub>u</sub>)</td><td align="center">Sibling AS of AS<sub>u</sub></td></tr>
            <tr><td align="center">Hybrid(AS<sub>u</sub>)</td><td align="center">AS connected to AS<sub>u</sub> in hybrid relationship</td></tr>
            <tr><td align="center">PartCus(AS<sub>u</sub>)</td><td align="center">Customer AS of AS<sub>u</sub> in Partial Transit relationship</td></tr>
            <tr><td align="center">PartPro(AS<sub>u</sub>)</td><td align="center">Provider AS of AS<sub>u</sub> in Partial Transit relationship</td></tr>
            <tr><td align="center">AS<sub>uA</sub></td><td align="center">Position A of AS<sub>u</sub></td></tr>
            <tr><td align="center">RI(AS<sub>u</sub>)</td><td align="center">Routing Information of AS<sub>u</sub></td></tr>
            <tr><td align="center">EXRI(AS<sub>1</sub>, AS<sub>2</sub>)</td><td align="center">Routing Information exported from AS<sub>1</sub> to AS<sub>2</sub></td></tr>
          </tbody>
        </table>
        
        <section anchor="sec-major-relationships">
          <name>Major AS relationships</name>
          <t>The major AS relationships include three different types: Provider-to-customer, Peer-to-peer, and Sibling-to-sibling relationships. The definitions and descriptions of them are as follows.</t>
          <ol type='%I'>
            <li><t>Provider-to-customer Relationship (Transit Relationship, P2C Relationship)</t>
              <t>The provider and customer ASes usually do not belong to the same organization. A customer AS pays its provider AS for connectivity to the rest of the Internet. Therefore, a provider AS does transit traffic for its customer ASes <xref target="infer-relatsh"/>. The provider AS exports all its routes to its customer because its customer pays for all traffic, while the customer AS only exports its routes, its customer routes, and its sibling routes to its provider. The formal description of the P2C relationship is as follows.</t>
              <t>EXRI(AS, Pro(AS)) = RI(AS) U RI(Cus(AS)) U RI(Sib(AS))</t>
              <t>EXRI(AS, Cus(AS)) = RI(AS) U RI(Cus(AS)) U RI(Sib(AS)) U RI(Peer(AS)) U RI(Pro(AS))</t>
            </li>
            <li><t>Peer-to-peer Relationship (P2P Relationship)</t>
              <t>A pair of peer ASes usually do not belong to the same organization but agree to exchange traffic between their customers free of charge <xref target="infer-relatsh"/>. Each peer AS only exports its routes, its customer routes, and its sibling routes to the other AS. The formal description of the P2P relationship is as follows.</t>
              <t>EXRI(AS, Peer(AS)) = RI(AS) U RI(Cus(AS)) U RI(Sib(AS))</t>
            </li>
            <li><t>Sibling-to-sibling Relationship (S2S Relationship)</t>
              <t>Two sibling ASes are operated by the same institution. The most common anomalies stem from recent acquisitions and mergers, suggesting that some AS pairs may have a sibling relationship. Each AS exports all its routes to its sibling ASes <xref target="charact-inet"/>. The formal description of the S2S relationship is as follows.</t>
              <t>EXRI(AS, Sib(AS)) = RI(AS) U RI(Cus(AS)) U RI(Sib(AS)) U RI(Peer(AS)) U RI(Pro(AS))</t>
            </li>
          </ol>
          <t>Based on the above descriptions of the three major AS relationships, we summarize their export rules in <xref target="major-export-rule-table"/>.</t>
          <table anchor="major-export-rule-table">
            <name>Export Rule Table of Major AS Relationships</name>
            <thead>
              <tr><th align="center"></th><th align="center">Peer</th><th align="center">Provider</th><th align="center">Customer</th><th align="center">Sibling</th><th align="center">Self</th></tr>
            </thead>
            <tbody>
              <tr><td align="center">to Peer</td><td align="center"></td><td align="center"></td><td align="center">+</td><td align="center">+</td><td align="center">+</td></tr>
              <tr><td align="center">to Provider</td><td align="center"></td><td align="center"></td><td align="center">+</td><td align="center">+</td><td align="center">+</td></tr>
              <tr><td align="center">to Customer</td><td align="center">+</td><td align="center">+</td><td align="center">+</td><td align="center">+</td><td align="center">+</td></tr>
              <tr><td align="center">to Sibling</td><td align="center">+</td><td align="center">+</td><td align="center">+</td><td align="center">+</td><td align="center">+</td></tr>
            </tbody>
          </table>
        </section>
        
        <section anchor="sec-complex-relationships">
          <name>Complex AS Relationships</name>
          <t>The major AS relationships introduced in <xref target="sec-major-relationships"/> cannot cover all practical scenarios, and researchers have discovered other complex AS relationships. This draft illustrates only two relatively common ones, hybrid and partial transit relationships, as representatives. However, it is significant to note that more complex AS relationships may appear with the further development of Internet applications.</t>
          <ol type='%I'>
            <li><t>Hybrid Relationship</t>
              <t>Two ASes with the hybrid relationship have different relationships at different interconnection points (e.g., P2C in one location and P2P elsewhere) <xref target="inferring-complex"/>. According to the definition, the AS relationship between a pair of interconnection points decides their export rules.</t>
              <t>To explain it clearly, we take the hybrid of P2C and P2P relationships as an example. We assume that AS 1 and AS 2 are in a hybrid relationship, and AS 1 is AS 2's provider at point A while they are peers at point B, as shown in <xref target="hybrid-connection"/>.</t>
              
              <figure anchor="hybrid-connection">
                <name>An example of Hybrid Relationships</name>
                <artwork><![CDATA[ 
                      +------------------+
                      |       AS 1       |
                      +--+/A\+----+/B\+--+
                           |        |
                     (C2P) |        | (P2P)
                           |        |
                      +------------------+
                      |       AS 2       |
                      +------------------+
                ]]></artwork>
              </figure>
              
              <t>The formal descriptions of the hybrid relationship at points A and B are as follows.</t>
              <t>EXRI(AS<sub>1A</sub>, Hybrid(AS<sub>1A</sub>)) = RI(AS<sub>1A</sub>) U RI(Cus(AS<sub>1A</sub>)) U RI(Sib(AS<sub>1A</sub>)) U RI(Peer(AS<sub>1A</sub>)) U RI(Pro(AS<sub>1A</sub>))</t>
              <t>EXRI(AS<sub>1B</sub>, Hybrid(AS<sub>1B</sub>)) = RI(AS<sub>1B</sub>) U RI(Cus(AS<sub>1B</sub>)) U RI(Sib(AS<sub>1B</sub>))</t>
              <t>This example uses formal descriptions to display the route export rules between ASes in a hybrid relationship. The key idea is to deal with routes at different interconnection points separately.</t>
            </li>

            <li><t>Partial Transit Relationship</t>
              <t>The Partial Transit relationship restricts the scope of a typical P2C relationship to the provider AS's peer ASes and customer ASes (but not provider ASes) <xref target="inferring-complex"/>. According to the definition, the formal descriptions of this relationship for the AS providing partial connection services and the AS using partial connection services are as follows. And <xref target="partial-export-rule"/> shows export rules of partial transit relationship.</t>
              <t>EXRI(AS, PartCus(AS)) = RI(AS) U RI(Cus(AS)) U RI(Sib(AS)) U RI(Peer(AS))</t>
              <t>EXRI(AS, PartPro(AS)) = RI(AS) U RI(Cus(AS)) U RI(Sib(AS))</t>
            
              <table anchor="partial-export-rule">
                <name>Export Rule Table of Partial Transit Relationship</name>
                <thead>
                  <tr><th align="center"></th><th align="center">Peer</th><th align="center">Provider</th><th align="center">Customer</th><th align="center">Sibling</th><th align="center">Self</th></tr>
                </thead>
                <tbody>
                  <tr><td align="center">to Partial-Customer</td><td align="center">+</td><td align="center"></td><td align="center">+</td><td align="center">+</td><td align="center">+</td></tr>
                  <tr><td align="center">to Partial-Provider</td><td align="center"></td><td align="center"></td><td align="center">+</td><td align="center">+</td><td align="center">+</td></tr>
                </tbody>
              </table>

            </li>
          </ol>
        </section>

        <section anchor="sec-relationship-acquisition">
          <name>AS relationship acquisition methods</name>
          <t>Several methods can obtain AS relationships with existing data, such as BGP route information, IXP information, IRR database, and ASPA objects in RPKI et al. Researchers divide these methods into two categories. One is to infer relationships between ASes using specific network data, and the other is to query data directly to obtain AS relationships.</t>
          
          <section anchor="inference-algorithms">
            <name>Inference Algorithms</name>
            <t>Previous researchers have proposed various AS relationship inference algorithms using different strategies.</t>
            <t>The earliest AS relationship inferring algorithm was proposed by Gao, which speculates on AS relationships based on the Valley Free principle and observation of network phenomena <xref target="infer-relatsh"/>. Gao algorithm believes that the scale of provider AS is usually more immense than that of customer AS. It also supposes that the scale of one AS is generally proportional to its degree in the AS topology graph. Therefore, the Gao algorithm sorts all ASes according to their degrees and assigns each AS connection a relationship based on the sorting results. Overall, the Gao algorithm is easy to implement and has low time complexity, but its accuracy is also low. Threshold parameters used in the algorithm will affect the inference results of AS relationships. Therefore, manual parameter selection requires much experience. Many subsequent AS relationship inferring algorithms are also based on Gao's Valley Free principle.</t>
            <t>The AS Rank algorithm <xref target="as-rank"/> proposed by Luckie et al. does not rely on Gao's Valley Free principle but proposes three hypotheses as the algorithm foundation: firstly, multiple large provider ASes form peer-to-peer networks to provide global connectivity, building a set of ASes at the top of the hierarchy; Secondly, provider ASes will export its client ASes' routes to its provider ASes, and ASes outside the peer-to-peer network composed of large provider ASes need to connect with provider ASes to obtain global connectivity; Thirdly, the topological connections of AS can be represented using directed acyclic graphs. Based on the three assumptions, the AS Rank algorithm can infer P2C and P2P relationships but cannot handle other complex AS relationships. The AS Rank algorithm exhibits high accuracy and recall and can correctly infer 99.6% of P2C relationships and 98.7% of P2P relationships in validation experiments. The AS relationships inferred with the AS Rank algorithm are still continuously updated on CAIDA.</t>
            <t>As the AS Rank algorithm has shown excessively high inferring accuracy on public datasets, the probabilistic algorithm Problink proposed by Jin et al. aims to improve the inferring accuracy in some complex situations <xref target="problink"/>. The Problink algorithm is based on a naive Bayesian framework and reveals crucial AS connection features derived from stochastically informative signals. Problink exhibits a lower error rate than the AS Rank algorithm on the whole dataset, especially in complex AS relationship inferring situations.</t>
            <t>With the development and progress of AI technology, some researchers also attempted to apply advanced AI technologies to AS relationship inferring. Varghese et al. use machine learning algorithms to train one AdaBoost model for inferring AS relationships <xref target="ml-pred"/>. The BGP2Vec algorithm embeds ASes in a vector space for relationship classification, referring to the NLP word embedding method Word2Vec <xref target="bgp2vec"/>. However, these methods have relatively low accuracy and interpretability, so they do not receive much attention.</t>
          </section>
          
          <section anchor="querying-approach">
            <name>Querying approach</name>
            <t>Apart from the inference algorithms in <xref target="inference-algorithms"/>, we can also directly obtain AS relationships by querying ASPA objects in RPKI. An ASPA object is a cryptographically verifiable attestation by a Customer AS (CAS) containing a list of its authorized provider ASes <xref target="sidrops-aspa"/>. Therefore, we can directly get an AS's provider ASes and customer ASes from ASPA objects. Some researchers proposed the <xref target="sidrops-asra"/> (Autonomous System Relationship Authorization) object based on ASPA. ASRA objects can record more information about more complex AS relationships and may help us directly obtain accurate AS relationships in the future.</t>            
            <t>In this draft, as ASes in the ARBIF system make an appointment to implement inter-domain SAV together, we suppose they agree on and know their AS relationships with each other. However, even if they do not know, they can attain these AS relationships using above algorithms.</t>
          </section>
        </section>
      </section>

      <!-- <modified into distributed system> -->
      <section anchor="sec-sav-architecture">
        <!-- <name>Architecture of inter-domain SAV System based on AS relationships</name> -->
        <name>Architecture of AS Relationship Based Inter-domain Filtering (ARBIF)</name>

        <section anchor="sec-overall-arch">
          <name>Overall Architecture</name>
          <t>This section describes the architecture of ARBIF. The ARBIF system mainly consists of two components with different functions: the Validation Router (VR) and the AS-IP Prefix Mapping Server (AIMS). Border routers in an AS act as its VRs, while AIMS is a global infrastructure working for all ASes in the system. An example of the ARBIF system is shown in <xref target="fig-sav-system"/>.</t>

          <figure anchor="fig-sav-system">
          <name>An example of the ARBIF system</name>
          <artwork><![CDATA[ 
                     +----------------------+
                     |         AS 1         |
                     +--+/\+----------+/\+--+
                         /              \
                        /    +------+    \
                 (C2P) /     | AIMS |     \ (C2P)
                      /      +------+      \
                     /                      \
               +------------+        +------------+
               |    AS 2    |        |    AS 3    |
               +------------+        +------------+
          ]]></artwork>
          </figure>

          <t>We adopt the ASN SAV rules from neighboring ASes to facilitate the update, propagation, and computation of these rules with BGP UPDATE messages. We also utilize the authorized address mapping provided by the centralized server AIMS to compute the required IP prefix SAV rules.</t>
        </section>


        <section anchor="sec-VR">
          <name>Validation Router (VR)</name>

          <section anchor="sec-VR-function">
            <name>VR Role in the ARBIF system</name>
            <t>Existing AS border routers act as Validation Routers (VR) in the ARBIF system. VRs <bcp14>SHOULD</bcp14> actively advertise their ASN SAV rule updates to neighbors according to their AS relationships and export rules when the rules change. When receiving neighbors' ASN SAV rule updates, they <bcp14>SHOULD</bcp14> decide whether to update their ASN SAV rules accordingly. VRs <bcp14>SHOULD</bcp14> also communicate with AIMS regularly to fetch IP prefixes owned by certain ASes. After several advertisements and updates, ASN SAV rules in these VRs gradually converge. VRs translate them into IP prefix SAV rules using fetched IP prefixes. Finally, VRs filter incoming packets with IP prefix SAV rules.</t>
            <t>Each VR records its ASN SAV rules and IP prefix SAV rules, which indicate the validity of source ASes and IP prefixes. It stores these rules in the Neighbor SAV Rule Table to implement ARBIF, because VRs use them to filter spoofed packets at the AS and prefix level.</t>
            <t>The Neighbor SAV Rule Table in a VR also stores other related information of its neighbor ASes. <xref target="tab-neighbor-sav"/> shows one specific example of the Neighbor SAV Rule Table. Specifically, the table records AS numbers, relationships, connected interfaces, corresponding ASN SAV rules, and IP prefix SAV rules.</t>

            <table anchor="tab-neighbor-sav">
              <name>An example of Neighbor SAV Rule Table</name>
              <thead>
                <tr><th align="center">Interface</th><th align="center">ASN</th><th align="center">AS Relationship</th><th align="center">ASN SAV rules</th><th align="center">IP prefix SAV rules</th></tr>
              </thead>
              <tbody>
                <tr><td align="center">Int 1</td><td align="center">ASN 1</td><td align="center">P2P</td><td align="center">ASN 4</td><td align="center">P4, P5</td></tr>
                <tr><td align="center">Int 2</td><td align="center">ASN 2</td><td align="center">P2C</td><td align="center">ASN 5</td><td align="center">P6</td></tr>
              </tbody>
            </table>

          </section>

          <section anchor="sec-VR-implement">
            <name>VR Implementation</name>
            <t>To implement the VR functions in <xref target="sec-VR-function"/>, a key issue is how an AS obtains its relationships with neighbor ASes. In the current network, we refer to <xref target="RFC9234"/> and use BGP Roles to agree on AS relationships when establishing a BGP session. The goal of BGP Roles is to simplify BGP configuration and prevent route leaks. This design also clarifies AS relationships and provides essential data for our system. Considering complex AS relationships, it is necessary to extend relationships and roles in BGP Roles.</t>
            <t>However, considering the deployment rates of BGP Roles and RPKI, our solution can be implemented with ASPA, obtaining authenticated AS relationships by querying ASPA objects in RPKI. ASPA is an object recording an AS and its certified provider AS. Its main content is shown in <xref target="tab-ASPA-content"/>. <xref target="sidrops-aspa"/> recommends using one ASPA object to record all AS providers of an AS. This indicates that ASPA objects can provide necessary AS relationships to our ARBIF system. Our AIMS implementation relies on RPKI, which provides a feasible implementation for obtaining ASPA objects. The method for VRs to obtain ASPA objects from RPKI is similar to that of obtaining ROA objects, which will be emphasized in the next section.</t>

            <table anchor="tab-ASPA-content">
              <name>Main Content of an ASPA Object</name>
              <tbody>
                <tr><th align="center">...</th><th align="center">ASN</th><th align="center">Provider ASN 1</th><th align="center">(Provider ASN 2)</th><th align="center">...</th></tr>
              </tbody>
            </table>

          </section>
        </section>
        
        <section anchor="sec-AIMS">
          <name>AS-IP Prefix Mapping Server (AIMS)</name>

          <section anchor="sec-AIMS-function">
            <name>AIMS Role in the ARBIF system</name>
            <t>The AS-IP Prefix Mapping Server (AIMS) is one centralized server in an ARBIF system. AIMS <bcp14>SHOULD</bcp14> record the mapping from ASNs to IP address prefixes owned by ASes. AIMS <bcp14>SHOULD</bcp14> also respond to VRs' queries for ASNs' corresponding prefixes, helping them generate their IP prefix SAV rules. The mapping from ASN to IP address prefixes that AIMS should maintain is now available from the Resource Public Key Infrastructure (RPKI).</t>
          </section>

          <section anchor="sec-AIMS-with-RPKI">
            <name>AIMS Implementation based on RPKI</name>
            <t>In current networks, we choose to use RPKI as the trust anchor in our system and use Relying Party (RP) to obtain RPKI objects. Each AS deploys RP in different ways, but they all can provide ROA objects to AS border routers. Therefore, RPKI can provide the necessary information for VRs in the ARBIF system. <xref target="fig-sav-system-on-RPKI"/> shows an example of the ARBIF system based on RPKI.</t>
            <figure anchor="fig-sav-system-on-RPKI">
              <name>An example of ARBIF system based on RPKI</name>
              <artwork><![CDATA[ 
                        +----------------------+
                        |   AS 1      |RP|     |
                        +--+/\+----------+/\+--+
                            /              \
                           /    +------+    \
                    (C2P) /     | RPKI |     \ (C2P)
                         /      +------+      \
                        /                      \
                  +------------+        +------------+
                  | AS 2  |RP| |        | AS 3  |RP| |
                  +------------+        +------------+
              ]]></artwork>
            </figure>

            <t>RP can synchronize the data in RPKI repositories to local caches at regular intervals and provide objects, such as ROAs, to border routers through the RTR protocol. According to <xref target="RFC9582"/>, an ROA is a digitally signed object that records which AS is authorized to originate one or more particular IP address prefixes. The main contents recorded in ROA are shown in <xref target="tab-ROA-content"/>. Although one ROA object can record more than one IP prefix, IP prefixes that an AS is authorized to originate may be recorded in multiple ROA objects in many cases.</t>
            <table anchor="tab-ROA-content">
              <name>Main Content of a ROA Object</name>
              <tbody>
                <tr><th align="center">...</th><th align="center">ASN</th><th align="center">IP Prefix</th><th align="center">Max Length</th><th align="center">(IP Prefix 2)</th><th align="center">(Max Length 2)</th><th align="center">...</th></tr>
              </tbody>
            </table>

            <t>By combining all ROAs, we can obtain a full view of the IP prefixes that each AS is authorized to originate, which is the mapping information required by our ARBIF system (as shown in <xref target="fig-mapping-info"/>). ROAs can provide authorized relations of ASNs and IP prefixes. However, to apply them to our ARBIF system, it is necessary to query further and integrate ROA objects, which reflects the necessity of AIMS.</t>
            <figure anchor="fig-mapping-info">
              <name>Mapping from ASNs to IP Prefixes which ARBIF needs</name>
              <artwork><![CDATA[ 
                AS Number 1
                  |-- IP Prefix 1
                  |-- IP Prefix 2
                  |-- IP Prefix 3
                AS Number 2
                  |-- IP Prefix 4
                  |-- IP Prefix 5
                ......
              ]]></artwork>
            </figure>

            <t>To meet corresponding requirements, the ARBIF system <bcp14>SHOULD</bcp14> integrate the obtained ROA objects, generate a mapping from ASNs to IP prefix sets, and provide it to VRs. This process can be implemented in RPs. RPs regularly synchronize ROA objects from the RPKI repository, integrate them, and transfer the data to VRs for them to generate IP Prefix SAV rules. In a possible design, AIMS is implemented based on the RPKI with an additional integration function in RPs. Its schematic process is shown in <xref target="fig-AIMS-on-RPKI-process"/>.</t>
            <figure anchor="fig-AIMS-on-RPKI-process">
              <name>A schematic process of AIMS based on RPKI</name>
              <artwork><![CDATA[
              +------------+       +----------+    Generate Mapping
              |    RPKI    | RRDP  | Relying  |        with ROA
              | Repository |------>|  Party   |      +----------+
              |  (Remote)  | rsync | (Local)  |----->|   AIMS   |
              +------------+       +----------+      | function |
                                          |           +----------+
                                       via RTR             |
                                          |             RTR/other
                                         \/                |
                              +--------------------+       |
                              | Validation Routers |<-------
                              +--------------------+
              ]]></artwork>
            </figure>
          </section>

          <section anchor="sec-AIMS-without-RPKI">
            <name>Lightweight AIMS Implementation without RPKI</name>
            <t>In addition to implementations based on RPKI, in some scenarios, AIMS can also be directly implemented as lightweight servers maintaining the mapping from ASNs to IP prefixes. If the traffic and connection conditions of several neighbor ASes are stable and not complex, when they deploy inter-domain SAV together but have not yet deployed RPKI, a lightweight AIMS server can be deployed first. This AIMS can maintain address mappings of these neighbor ASes, and obtain those of other related ASes using some public services.</t>
          </section>
        </section>
      </section>

      <section anchor="sec-bgp-ext">
        <name>BGP Extension for Inter-domain SAV</name>
        <t><xref target="inter-domain-sav-archt"/> mentions that the SAV-specific communication information mechanism can be implemented by a new protocol or an extension to an existing protocol. Following its ideas, we propose an implementation for our ARBIF scheme by an extension to BGP in this section.</t>

        <section anchor="sec-bgp-fea">
          <name>Feasibility of BGP Extension</name>
          <t>As <xref target="RFC4271"/> states, the primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. Each router advertises route paths to networks it can reach. After further propagation, each router establishes a routing table with BGP routes to its reachable networks. The ARBIF system uses BGP forwarding routes to approximate the reverse routes. Those VRs can deploy it to calculate networks that can reach them.</t>
          <t>Routers do not regularly announce their routing tables but incrementally advertise them using BGP UPDATE messages when they are updated. ARBIF calculates and updates SAV rules at the AS level, taking AS relationships as the abstract of inter-domain routing information. After convergence, only when increases, decreases, or changes occur to their AS relationships with neighbor VRs do they update their ASN SAV rules and advertise the updates to neighbor VRs. At this time, changes also occur to their routing tables, and they will send BGP UPDATE messages to neighbor VRs. Therefore, VRs can advertise ASN SAV rule updates with BGP UPDATE messages.</t>
          <t>All these allow us to implement the ARBIF system with the existing route mechanism and advertise ASN SAV rule updates using BGP UPDATE messages.</t>
        </section>

        <section anchor="sec-bgp-impl">
          <name>Implementation of BGP Extension</name>
          <t>To achieve the goal, we can slightly modify BGP UPDATE messages, enabling it to complete the advertisement of ASN SAV rules when advertising updated routes.</t>
          <t>Every BGP UPDATE message contains withdrawn routes, path attributes, and Network Layer Reachability Information. The path attribute part is a sequence of BGP path attributes and can carry many attributes in one message. Each path attribute is recorded as a variable-length triple &lt;Type, Length, Value&gt;, allowing for various information transfers. What's more, new path attributes can be registered after IANA allocates new type codes to them.</t>
          <t>All these above allow us to design a new BGP path attribute to exchange ASN SAV rules between AS border routers. With this attribute, an AS border router deploying ARBIF can use BGP UPDATE messages to advertise corresponding ASN SAV rule updates while updating routing information. We name it SAV_INFO for now.</t>
          <t>SAV_INFO is a triple &lt;attribute type, attribute length, attribute value&gt; referring to the format proposed in <xref target="RFC4271"/>. The attribute type is a two-octet field containing some flags and an allocated type code. The value field records ASN SAV rules containing one or more AS numbers, each encoded as a 2-octet length field. The length field is the length of the value field in octets, occupying one or two octets.</t>
          <t>The later section will use a concrete example to demonstrate the BGP extension for the ARBIF scheme. Our follow-up drafts will discuss the detailed implementation of this design.</t>
        </section>
        
        <section anchor="sec-bgp-example">
          <name>An example of BGP Extension</name>
          <t><xref target="fig-bgp-init"/> shows a simple example network. After the VRs of AS 1 and AS 2 establish a BGP connection, AS 1's VR advertises its route for prefixes P1 with BGP UPDATE messages. If AS 1 deploys our ARBIF system, its VR will also announce its ASN SAV rules to AS 2's VR in these BGP UPDATE messages. AS 2's VR also advertises its information to AS 1's VR.</t>
          
          <figure anchor="fig-bgp-init">
            <name>The initial example network</name>
            <artwork><![CDATA[
              +-----------+        +-----------+
              | AS 1 (P1) |<--P2C--| AS 2 (P2) |
              +-----------+        +-----------+
            ]]></artwork>
          </figure>

          <t><xref target="fig-bgp-update"/> shows updates on this network. AS 3 is a new AS connected to AS 1 as a customer AS. Through its connection with AS 1, its VR advertises its routes for P3 to AS 1. AS 1's VR thus learns new routes for P3 through AS 3 and new SAV rules.</t>
          
          <figure anchor="fig-bgp-update">
            <name>The updated example network</name>
            <artwork><![CDATA[
              +-----------+        +-----------+
              | AS 1 (P1) |<--P2C--| AS 2 (P2) |
              +-----------+        +-----------+
                    |
                    | (P2C)
                    V
              +-----------+
              | AS 3 (P3) |
              +-----------+
            ]]></artwork>
          </figure>

          <t>Considering BGP and SAV mechanisms, AS 1 should propagate routes and ASN SAV rules from AS 3 further to its neighbors. Since AS 3 is AS 1's customer and AS 1 is AS 2's customer, according to the export rules in <xref target="major-export-rule-table"/>, AS 1 should advertise the routes and ASN SAV rules learned from AS 3 to AS 2.</t>
          <t>AS 1's VR propagates its newly learned routes using BGP UPDATE messages. The message's NLRI field carries the prefix P3, and the Path Attributes field adds our SAV_INFO field. Its AS_PATH attribute records the path to AS 3 through AS 1. Its SAV_INFO attribute carries the AS 3's AS number as AS 1's updated SAV rules. Receiving this BGP UPDATE message, AS 2's VR can learn the routes for AS 3 and updated ASN SAV rules.</t>
          <t>This example shows that the ARBIF system can utilize BGP UPDATE messages to complete the ASN SAV rule advertisement while propagating the inter-domain routes.</t>
        </section>

      </section>

      <section anchor="sec-scenarios">
        <name>Scenarios</name>

        <section anchor="sec-multi">
          <name>Multi-homing Scenarios</name>
          <t>In this section, we utilize some use cases as examples to show that our inter-domain SAV system, ARBIF, performs well in multi-homing scenarios. Our SAV scheme performs a lower false positive rate than existing mechanisms, filling the research gap proposed in <xref target="inter-domain-sav-ps"/>.</t>

          <section anchor="sec-multi-point">
            <name>Multipoint Interconnection Scenario</name>
            <t>In other particular multi-homing scenarios, ARBIF can complete inter-domain SAV at the AS level. <xref target="fig-multi-point"/> presents a scenario of multipoint interconnection between ASes. In this example, AS 1 connects with AS 2 through two pairs of VRs. AS 1 and AS 2 are in a hybrid relationship, and AS 2 is the customer of AS 2 at point 1 while they are peers at point 2.</t>
            
            <figure anchor="fig-multi-point" align="center">
              <name>An example of multipoint interconnection</name>
              <artwork><![CDATA[
                  +----------------------+
                  |         AS 1         |
                  +---+/1\+------+/2\+---+
                        |          |            +------+ 
                  (C2P) |    (P2P) |            | AIMS |
                        |          |            +------+
                  +----------------------+
                  |         AS 2         |
                  +----------------------+
              ]]></artwork>
            </figure>

            <t>If AS 1 has deployed the ARBIF system, VRs at points 1 and 2 will allow AS 2 as a source AS at the AS level. Meanwhile, according to AS 2's IP address prefixes recorded in AIMS, they will allow all these prefixes as source IP prefixes at the prefix level. At their interfaces facing AS 2, VRs at points 1 and 2 use allowed IP prefixes to filter incoming packets.</t>
          </section>

          <section anchor="sec-multi-homing">
            <name>Multi-homing Scenario</name>
            <t>In multi-homing scenarios, the ARBIF system improves the validation accuracy in customer interfaces, filling the gap of false positives proposed in <xref target="inter-domain-sav-ps"/>.</t>
            <t>We take <xref target="fig-multi-homing"/> as an example to analyze how ARBIF solves the limited propagation of prefixes. This figure presents a multi-homing scenario where uRPF mechanisms may lead to the problem. In this scenario, AS 2 and AS 1 are providers of AS 3, and AS 1 is the provider of AS 2. AS 3 adds the NO_EXPORT community attribute to all BGP advertisements to AS 2, preventing AS 2 from further propagating its prefixes.</t>

            <figure anchor="fig-multi-homing" align="center">
              <name>An example of multi-homing scenario</name>
              <artwork><![CDATA[
                          +--------------------+
                          |        AS 1        |
                          +--+/\+--------+/\+--+
                              /           |
                      (C2P)  /            |
                +--------------+          |       +------+ 
                |     AS 2     |          |       | AIMS |
                +--------+/\+--+          |       +------+
                           \              |
                     (C2P)  \             |  (C2P)
                 NO_EXPORT   \            |
                          +--------------------+
                          |        AS 3        |
                          +--------------------+
              ]]></artwork>
            </figure>
            
            <t>When deploying uRPF mechanisms, the VR facing AS 2 in AS 1 may improperly block packets originating from AS 3. If it deploys the ARBIF system, it will generate SAV rules using ASN SAV rules transmitted between VRs. When determining whether ASN SAV rules should be further propagated, BGP attributes have no effect. However, ASN SAV rule propagation depends on BGP UPDATE messages and is affected by their limitations. Since we hope that ASN SAV rules advertisement can ignore fine-grained factors, we tend to use additional BGP UPDATE messages as a supplement to advertise SAV rules in special cases. Therefore, the VR will allow those packets originating from AS 3 to pass, avoiding false positives.</t>
            <t>As for the problem of hidden prefixes, we solve it by specially setting the initial SAV ASN rules advertised by each AS. Under some circumstances, one AS may have particular settings and send packets with source addresses that it does not advertise, like direct server return (DSR). If deploying ARBIF, its VRs initially advertise the origin ASNs of all possible legitimate packets it can send. Therefore, these VRs will allow packets that match the specific configurations to pass, effectively avoiding false positives.</t>
            <t>Besides false positives, <xref target="inter-domain-sav-ps"/> also points out false negatives within AS customer cones. The ARBIF scheme does not propose a targeted solution for this gap but does propose some ideas. A system on the data plane for traffic monitoring and management may help with limiting attacks within customer cones. What's more, in the SAVA architecture proposed in <xref target="RFC5210"/>, access network and intra-domain SAV can prevent source address spoofing within AS and help to reduce attacks within customer cones.</t>
          </section>
        </section>

        <section anchor="sec-dynamic">
          <name>Dynamic Scenario</name>
          <t>This section utilizes some designed use cases to show how our ARBIF system performs in different dynamic scenarios. This ARBIF system handles updates at the AS level and ignores more fine-grained route updates. It reduces rule update frequency at the cost of tiny false negatives, cutting down the SAV system's update overhead.</t>
          <t>We take the network shown in <xref target="fig-before-change"/> as an example before all changes happen. In this example, AS 1 is AS 2 and AS 3's provider, and all ASes have deployed the ARBIF system. When diverse changes occur to this network, we show the network after changes and discuss the updates of the ARBIF system.</t>
          
          <figure anchor="fig-before-change" align="center">
            <name>An example network before changes happen</name>
            <artwork><![CDATA[ 
                        +------------------+
                        |     AS 1(P1)     |
                        +--+/\+------+/\+--+
                            /          \              +------+ 
                    (C2P)  /            \  (C2P)      | AIMS |
                          /              \            +------+
              +--------------+        +--------------+
              |   AS 2(P2)   |        |   AS 3(P3)   |
              +--------------+        +--------------+
            ]]></artwork>
          </figure>

          <section anchor="sec-relationships">
            <name>AS Relationships Change</name>
            <t><xref target="fig-after-relatsh"/> displays the example network after AS relationships change. If the AS relationship between AS 1 and AS 2 changes from C2P to P2P, the VR in AS 1 facing AS 2 and the VR in AS 2 facing AS 1 will modify the AS relationships in their Neighbor SAV Rule Tables and remove previous SAV rules. These VRs will actively advertise their new ASN SAV rules to neighbors. VRs further propagate these rules through VR connections until they come to a new convergence in the changed network.</t>
            
            <figure anchor="fig-after-relatsh" align="center">
              <name>The example network after AS relationships change</name>
              <artwork><![CDATA[ 
                          +------------------+
                          |     AS 1(P1)     |
                          +--+/\+------+/\+--+
                              /          \              +------+ 
                      (P2P)  /            \  (C2P)      | AIMS |
                            /              \            +------+
                +--------------+        +--------------+
                |   AS 2(P2)   |        |   AS 3(P3)   |
                +--------------+        +--------------+
              ]]></artwork>
            </figure>
          </section>

          <section anchor="sec-prefixes">
            <name>AS Prefixes Change</name>
            <t><xref target="fig-after-prefix"/> displays the example network after AS prefixes change. If AS 3's IP address prefixes change from P3 to P4, VRs will modify the SAV information about AS 3 in their Neighbor SAV Rule Tables. Under this circumstance, VRs' ASN SAV rules remain unchanged, but they will adjust IP prefix SAV rules according to the new mapping recorded in AIMS.</t>
            <t>In our ARBIF system, VRs use ASN SAV rules as advertised SAV rules. VRs translate ASN SAV rules into IP prefix SAV rules with the mapping provided by AIMS and do not further propagate prefix ones. Therefore, AS prefixes change won't break achieved convergence. In this example, the change of AS 3's prefixes does cause VRs to update their SAV information about AS 3. However, all ASN SAV rules remain unchanged, and VRs only update IP prefix SAV rules about AS 3.</t>

            <figure anchor="fig-after-prefix" align="center">
              <name>The example network after AS prefixes change</name>
              <artwork><![CDATA[ 
                          +------------------+
                          |     AS 1(P1)     |
                          +--+/\+------+/\+--+
                              /          \              +------+ 
                      (C2P)  /            \  (C2P)      | AIMS |
                            /              \            +------+
                +--------------+        +--------------+
                |   AS 2(P2)   |        |   AS 3(P4)   |
                +--------------+        +--------------+
              ]]></artwork>
            </figure>
          </section>

          <section anchor="sec-topology">
            <name>AS Network Topologies Change</name>
            <t><xref target="fig-after-topo"/> displays the example network after the AS network topology changes. If the AS connections change and AS 3 becomes AS 2's peer from AS 1's customer, AS 2 will add one new VR, and AS 3 will adjust its original VR. After reconfigurations, added VR in AS 2 and adjusted VR in AS 3 will fill in their Neighbor SAV Rule Tables according to the latest network situation. These VRs will actively advertise their new ASN SAV rules to neighbor ASes. VRs further propagate ASN SAV rules through VR connections until they come to a new convergence in the changed network.</t>

            <figure anchor="fig-after-topo" align="center">
              <name>The example network after AS network topologies change</name>
              <artwork><![CDATA[ 
                          +------------------+
                          |     AS 1(P1)     |
                          +--+/\+------------+
                              /                   +------+ 
                      (C2P)  /                    | AIMS |
                            /                     +------+
                +--------------+           +--------------+
                |   AS 2(P2)   |-----------|   AS 3(P3)   |
                +--------------+   (P2P)   +--------------+
              ]]></artwork>
            </figure>
          </section>
    
          <section anchor="sec-attributes">
            <name>BGP Attributes Change</name>
            <t><xref target="fig-after-attri"/> displays the example network after BGP attributes change. If the BGP attributes between AS 1 and AS 2 change while other information does not, all VRs in the network needn't update their SAV information. In this example, AS 2 adds the NO_EXPORT community attribute to all BGP advertisements from it to AS 1, preventing AS 1 from further propagating its prefixes. Routing information propagated from AS 1 to AS 3 changes and no longer contains routes to AS 2.</t>
            <t>However, our ARBIF system does not consider BGP attributes when determining whether to further propagate ASN SAV rules. In this case, when route updates are propagated with BGP UPDATE messages, ASN SAV rules will not be modified. Therefore, AS 3's ASN and IP prefix SAV rules remain unchanged, as do other ASes'.</t>
            <t>The results indicate that our SAV scheme ignores fine-grained routing information changes because it handles AS connections rather than BGP routes. As such processing neglects restrictions on BGP route advertisement, it may cause some additional improper permits but not additional improper blocks, which meets SAV requirements. Such processing also improves the ARBIF system's stability and lessens its update overhead.</t>      
            
            <figure anchor="fig-after-attri" align="center">
              <name>The example network after BGP attributes change</name>
              <artwork><![CDATA[ 
                          +------------------+
                          |     AS 1(P1)     |
                          +--+/\+------+/\+--+
                              /          \              +------+
                      (C2P)  /            \  (C2P)      | AIMS |
                  NO_EXPORT /              \            +------+
                +--------------+        +--------------+
                |   AS 2(P2)   |        |   AS 3(P3)   |
                +--------------+        +--------------+
              ]]></artwork>
            </figure>
          </section>

        </section>

        <section anchor="sec-ixp">
          <name>IXP Scenario</name>
          <t>IXP, which is Internet eXchange Point, is a Layer 2 LAN in the OSI network model. IXPs are built with one or many Ethernet switches interconnected together across one or more physical buildings.<xref target="learn-ixp"/> Some ASes pay for traffic transit by other networks. Sometimes ASes may choose to connect via IXPs to reduce costs and latency. In actual networks, IXPs are critical and distinct infrastructures. Therefore, following the comments we received, we investigated how ARBIF handles typical IXP scenarios.</t>
          <t>We first discuss how traffic is routed in common IXPs. Many IXPs use Route Servers to reduce the number of needed BGP sessions in the IXP. RS-Clients use eBGP to advertise network reachability information to the RS, which then forwards the information to its connected RS-Clients based on its configuration, establishing routes among all its connected RS-Clients. The RS exclusively uses BGP to exchange reachability information with its RS-Clients without forwarding traffic itself. Its function is similar to a Route Reflector in an intra-domain iBGP scenario. ASes connected to one IXP generally adopt free peering when exchanging traffic. Therefore, regardless of whether one IXP is implemented using RS, the IXP scenario is essentially some peering ASes connected to each other.</t>
          <t>With this clarified, our ARBIF just treats typical IXP scenarios as several fully-connected peering ASes. We take a simple connection scenario of an IXP in <xref target="fig-ixp"/> as an example.</t>
        
          <figure anchor="fig-ixp" align="center">
              <name>An example of IXP scenario</name>
              <artwork><![CDATA[
                    +----------------------------+
                    |            IXP 1           |
                    +----------------------------+
                        |          |         |
                        |          |         |
                    +------+   +------+   +------+
                    | AS 1 |   | AS 2 |   | AS 3 | 
                    +------+   +------+   +------+
              ]]></artwork>
            </figure>

          <t>AS 1, AS 2, and AS 3 in <xref target="fig-ixp"/> are three ASes connected to IXP1. When calculating SAV rules for AS 1 in the ARBIF, we treat AS 2 and AS 3 as two neighboring peers of AS 1.</t>
        </section>
      </section>

      <section anchor="sec-experiment">
        <name>Experiment of ARBIF Implementation</name>
        <section anchor="sec-env">
          <name>Environment</name>
          <t>We conducted simulation experiments using the GNS3 software with the following software versions shown in <xref target="fig-exp-env"/>. We used a GNS3 Ubuntu image in GNS3 Docker as simulated hardware devices. In this image, we installed the open-source BIRD 2 and Routinator for our implementations.</t>
          
          <figure anchor="fig-exp-env">
            <name>Experiment Environment</name>
            <artwork><![CDATA[
              VMware-workstation: 17.5.2
              GNS3/GNS3 VM: 2.2.54
              Ubuntu: 24.04.2 LTS
              Routinator: 0.14.2
              BIRD: 2.14
            ]]></artwork>
          </figure>
        </section>

        <section anchor="sec-imple-method">
          <name>Implementation Method</name>
          <t>Based on the test environment, we performed experiments following the implementations described in <xref target="sec-sav-architecture"/>. A simple topology, as shown in <xref target="fig-exp"/>, is used in our simulation experiments. First, we use BIRD as the implementation base of VR and do some configurations and extensions to implement ARBIF on this basis. At the same time, according to the descriptions of VR in <xref target="sec-VR-implement"/>, we used BGP Roles based on BIRD to enable VRs to obtain AS relationships between neighbor ASes.</t>          
          <figure anchor="fig-exp">
            <name>A Simple Network used in the Experiment</name>
            <artwork><![CDATA[
              +----------------+      +------+
              | VR 1 (in AS 1) |<-----| RP 1 |
              +----------------+      +------+
                      |
                      |               +------+
                      | (P2C)         | RPKI |
                      |               +------+
                      V
              +----------------+      +------+
              | VR 2 (in AS 2) |<-----| RP 2 |
              +----------------+      +------+
            ]]></artwork>
          </figure>

          <t>Furthermore, we selected Routinator, a third-party RP software written in Rust, as the RP, and RTRlib with BIRD as the implementation for receiving RTR packets in VRs. Routinator regularly synchronizes necessary objects from RPKI repositories to local caches, integrates them, and sends them to VRs through the RTR protocol. Therefore, VRs can obtain ROA objects through the process metioned in <xref target="sec-AIMS-with-RPKI"/>. Through a similar process, it is also feasible for VRs to obtain ASPA objects.</t>
          <t>Judging from current implementations, we have avoided high update costs brought by new devices or new protocols. Instead, we extended existing mechanisms, namely BGP Roles, RPKI, and the BGP protocol, as the ARBIF system implementation.</t>
        </section>

        <section anchor="sec-exp-result">
          <name>Simulation Experiment Result</name>
          <t>We have completed the ARBIF implementation in these simulation experiments. In simple simulation scenarios, the ARBIF implementation has achieved our goal in inter-domain source address validation.</t>
        </section>
      </section>


      <section anchor="consider-deployability">
        <name>Considerations on Deployability</name>
        
        <section anchor="sec-existing-info">
          <name>Utilize existing information as much as possible</name>
          <t>Using information beyond existing will inevitably incur additional costs due to its need for upgrades. At the same time, it will improve the deployment requirements, which prevent SAV schemes' large-scale promotion. Therefore, an easily deployable SAV scheme in real networks always utilizes existing information as much as possible. Similarly, when existing facilities can provide certain services, deployable solutions always prefer to use them rather than establish new ones.</t>
          <t>For SAV schemes, existing information includes routing information, business relationships between different ASes, and the mapping from ASNs to IP address prefixes provided. Existing facilities include RPKI and AS border routers. The ARBIF scheme establishes the SAV system with the existing information and devices.</t>
        </section>
        
        <section anchor="sec-abstact-info">
          <name>Prefer to use and exchange more abstract information</name>
          <t>Unlike fine-grained concrete information, abstract information lacks details but fundamentally simplifies problems. However, it can reduce computational costs and improve efficiency, which is more conducive to promoting SAV deployment. When multiple SAV nodes collaborate, they can exchange abstract rules and generate fine-grained ones when setting prefix filters.</t>
          <t>As discussed above, AS relationships determine the routing information between ASes and are more abstract than that. Therefore, our inter-domain SAV scheme uses AS relationships instead of routing information to calculate SAV rules at the AS level. It transmits ASN SAV rules between ASes instead of IP prefix SAV rules and only generates IP prefix SAV rules in VRs using ASN SAV rules.</t>
        </section>

        <section anchor="sec-metrics-balance">
          <name>Balance accuracy, time and cost</name>
          <t>When the network remains stable, directly generating the most accurate filtering rules during forwarding table establishment is the best idea. However, the Internet often changes at different levels, which triggers validation rule fluctuations until they reconverge. We have discussed some changes and their impacts in <xref target="sec-dynamic"/>. Long convergence time is not conducive to providing validation support in a constantly changing network. Therefore, an easily deployable validation scheme in the dynamic network should balance convergence time and accuracy.</t>
          <t>When rule calculation and deployment do not bring additional costs, using the most accurate algorithms is the most effective. However, SAV schemes that need more data and calculations often have higher costs in real networks. Trading excessive expenses for a slight accuracy improvement is an inappropriate choice. Therefore, an easily deployable SAV scheme in practical situations should balance computational cost and accuracy.</t>
          <t>The above analyses of two examples indicate that different evaluation metrics may have hidden contradictions in practical networks, making it difficult to optimize them simultaneously. The ARBIF scheme tries to balance accuracy, time, and cost.</t>
        </section>
      </section>

      <section anchor="next-step">
        <name>Next Step</name>
        <t>The current discussion and design do not cover all details. For example, we discuss the major and complex AS relationships in <xref target="sec-as-relationships"/>, but do not consider other complex and minor ones. In future research, we hope to obtain more complex AS relationships and connection scenarios. We will apply current system design and implementations to more AS relationships and practical scenarios. By analyzing the results, we can further optimize our ARBIF system and supplement it for special cases. We will also further refine our ARBIF implementations, enhance their security and efficiency, and reduce their overhead.</t>
      </section>

      <section anchor="Security">
        <name>Security Considerations</name>
        <t>The security considerations of our ARBIF scheme are similar to those of <xref target="inter-domain-sav-archt"/>.</t>
      </section>
      
      <section anchor="IANA">
        <name>IANA Considerations</name>
        <t>This draft proposes using a new BGP attribute to carry ASN SAV rules. The new BGP attribute needs an attribute type code assigned by IANA. We will put forward specific IANA considerations in a further draft about the BGP attribute implementation.</t>
        <!-- <t>This document has no IANA requirements.</t> -->
      </section>
   </middle>

   <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC2827" target="https://www.rfc-editor.org/info/rfc2827">
          <front>
            <title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
            <author fullname="P. Ferguson" initials="P." surname="Ferguson"/>
            <author fullname="D. Senie" initials="D." surname="Senie"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="38"/>
          <seriesInfo name="RFC" value="2827"/>
          <seriesInfo name="DOI" value="10.17487/RFC2827"/>
        </reference>  <!-- from https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2827.xml -->
        <reference anchor="RFC3704" target="https://www.rfc-editor.org/info/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>  <!-- from https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3704.xml -->
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/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="RFC8704" target="https://www.rfc-editor.org/info/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>  <!-- from https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8704.xml -->
        <reference anchor="RFC9234" target="https://www.rfc-editor.org/info/rfc9234">
          <front>
            <title>Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages</title>
            <author fullname="A. Azimov" initials="A." surname="Azimov"/>
            <author fullname="E. Bogomazov" initials="E." surname="Bogomazov"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>Route leaks are the propagation of BGP prefixes that violate assumptions of BGP topology relationships, e.g., announcing a route learned from one transit provider to another transit provider or a lateral (i.e., non-transit) peer or announcing a route learned from one lateral peer to another lateral peer or a transit provider. These are usually the result of misconfigured or absent BGP route filtering or lack of coordination between autonomous systems (ASes). Existing approaches to leak prevention rely on marking routes by operator configuration, with no check that the configuration corresponds to that of the External BGP (eBGP) neighbor, or enforcement of the two eBGP speakers agreeing on the peering relationship. This document enhances the BGP OPEN message to establish an agreement of the peering relationship on each eBGP session between autonomous systems in order to enforce appropriate configuration on both sides. Propagated routes are then marked according to the agreed relationship, allowing both prevention and detection of route leaks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9234"/>
          <seriesInfo name="DOI" value="10.17487/RFC9234"/>
        </reference>
        <reference anchor="RFC9582" target="https://www.rfc-editor.org/info/rfc9582">
          <front>
            <title>A Profile for Route Origin Authorizations (ROAs)</title>
            <author fullname="J. Snijders" initials="J." surname="Snijders"/>
            <author fullname="B. Maddison" initials="B." surname="Maddison"/>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="D. Kong" initials="D." surname="Kong"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This document defines a standard profile for Route Origin Authorizations (ROAs). A ROA is a digitally signed object that provides a means of verifying that an IP address block holder has authorized an Autonomous System (AS) to originate routes to one or more prefixes within the address block. This document obsoletes RFC 6482.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9582"/>
          <seriesInfo name="DOI" value="10.17487/RFC9582"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC5210" target="http://dx.doi.org/10.17487/rfc5210">
          <front>
            <title>A Source Address Validation Architecture (SAVA) Testbed and Deployment Experience</title>
            <author fullname="J. Wu" surname="Wu"/>
            <author fullname="J. Bi" surname="Bi"/>
            <author fullname="X. Li" surname="Li"/>
            <author fullname="G. Ren" surname="Ren"/>
            <author fullname="K. Xu" surname="Xu"/>
            <author fullname="M. Williams" surname="Williams"/>
            <author>
            <organization>RFC Editor</organization>
            </author>
            <date month="June" year="2008"/>
          </front>
          <seriesInfo name="DOI" value="10.17487/rfc5210"/>
        </reference>
        <reference anchor="inter-domain-sav-ps" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-inter-domain-problem-statement-08">
          <front>
            <title>Source Address Validation in Inter-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
            <author initials="D." surname="Li" fullname="Dan Li">
              <organization>Tsinghua University</organization>
            </author>
            <author initials="J." surname="Wu" fullname="Jianping Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author initials="L." surname="Liu" fullname="Libin Liu">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author initials="M." surname="Huang" fullname="Mingqing(Michael) Huang">
              <organization>Huawei</organization>
            </author>
            <author initials="K." surname="Sriram" fullname="Kotikalapudi Sriram">
              <organization>USA National Institute of Standards and Technology</organization>
            </author>
            <date month="March" day="15" year="2025"/>
            <abstract>
              <t> This document provides a gap analysis of existing inter-domain source address validation mechanisms, describes the problem space, and defines the requirements for technical improvements. </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-inter-domain-problem-statement-08"/>
        </reference>
        <reference anchor="inter-domain-sav-archt" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-inter-domain-architecture-01">
          <front>
            <title>Inter-domain Source Address Validation (SAVNET) Architecture</title>
            <author initials="D." surname="Li" fullname="Dan Li">
              <organization>Tsinghua University</organization>
            </author>
            <author initials="L." surname="Chen" fullname="Li Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author initials="N." surname="Geng" fullname="Nan Geng">
              <organization>Huawei</organization>
            </author>
            <author initials="L." surname="Liu" fullname="Libin Liu">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author initials="L." surname="Qin" fullname="Lancheng Qin">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date month="March" day="3" year="2025"/>
            <abstract>
              <t> This document introduces an inter-domain SAVNET architecture for performing AS-level SAV and provides a comprehensive framework for guiding the design of inter-domain SAV mechanisms. The proposed architecture empowers ASes to generate SAV rules by sharing SAV- specific information between themselves, which can be used to generate more accurate and trustworthy SAV rules in a timely manner compared to the general information. During the incremental or partial deployment of SAV-specific information, it can utilize general information to generate SAV rules, if an AS's SAV-specific information is unavailable. Rather than delving into protocol extensions or implementations, this document primarily concentrates on proposing SAV-specific and general information and guiding how to utilize them to generate SAV rules. To this end, it also defines some architectural components and their relations. </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-inter-domain-architecture-01"/>
        </reference>
        <reference anchor="sidrops-bar-sav" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-bar-sav-06">
          <front>
            <title>Source Address Validation Using BGP UPDATEs, ASPA, and ROA (BAR-SAV)</title>
            <author initials="K." surname="Sriram" fullname="Kotikalapudi Sriram">
              <organization>USA National Institute of Standards and Technology</organization>
            </author>
            <author initials="I." surname="Lubashev" fullname="Igor Lubashev">
              <organization>Akamai Technologies</organization>
            </author>
            <author initials="D." surname="Montgomery" fullname="Doug Montgomery">
              <organization>USA National Institute of Standards and Technology</organization>
            </author>
            <date month="March" day="15" year="2025"/>
            <abstract>
              <t> Designing an efficient source address validation (SAV) filter requires minimizing false positives (i.e., avoiding blocking legitimate traffic) while maintaining directionality (see RFC8704). This document advances the technology for SAV filter design through a method that makes use of BGP UPDATE messages, Autonomous System Provider Authorization (ASPA), and Route Origin Authorization (ROA). The proposed method's name is abbreviated as BAR-SAV. BAR-SAV can be used by network operators to derive more robust SAV filters and thus improve network resilience. This document updates RFC8704. </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-bar-sav-06"/>
        </reference>
        <reference anchor="sidrops-aspa" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-profile-19">
          <front>
            <title>A Profile for Autonomous System Provider Authorization</title>
            <author initials="A." surname="Azimov" fullname="Alexander Azimov">
              <organization>Yandex</organization>
            </author>
            <author initials="E." surname="Uskov" fullname="Eugene Uskov">
              <organization>JetLend</organization>
            </author>
            <author initials="R." surname="Bush" fullname="Randy Bush">
              <organization>Internet Initiative Japan</organization>
            </author>
            <author initials="J." surname="Snijders" fullname="Job Snijders"> </author>
            <author initials="R." surname="Housley" fullname="Russ Housley">
              <organization>Vigil Security, LLC</organization>
            </author>
            <author initials="B." surname="Maddison" fullname="Ben Maddison">
              <organization>Workonline</organization>
            </author>
            <date month="January" day="6" year="2025"/>
            <abstract>
              <t> This document defines a Cryptographic Message Syntax (CMS) protected content type for Autonomous System Provider Authorization (ASPA) objects for use with the Resource Public Key Infrastructure (RPKI). An ASPA is a digitally signed object through which the issuer (the holder of an Autonomous System identifier), can authorize one or more other Autonomous Systems (ASes) as its upstream providers. When validated, an ASPA's eContent can be used for detection and mitigation of route leaks. </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-aspa-profile-19"/>
        </reference>
        <reference anchor="sidrops-asra" target="https://datatracker.ietf.org/doc/html/draft-geng-sidrops-asra-profile-01">
          <front>
            <title>A Profile for Autonomous System Relationship Authorization (ASRA)</title>
            <author initials="N." surname="Geng" fullname="Nan Geng">
              <organization>Huawei</organization>
            </author>
            <author initials="K." surname="Sriram" fullname="Kotikalapudi Sriram">
              <organization>NIST</organization>
            </author>
            <author initials="M." surname="Huang" fullname="Mingqing(Michael) Huang">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date month="April" day="15" year="2025"/>
            <abstract>
              <t> This document defines a Cryptographic Message Syntax (CMS) protected content type for Autonomous System Relationship Authorization (ASRA) objects for use with the Resource Public Key Infrastructure (RPKI). An ASRA is a digitally signed object through which the issuer (the holder of an Autonomous System identifier), can authorize one or more other Autonomous Systems (ASes) as its customers and lateral peers. When validated, an ASRA's eContent can be used for detection and mitigation of BGP AS path manipulation attacks together with Autonomous System Provider Authorization (ASPA). ASRA is complementary to ASPA. </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-geng-sidrops-asra-profile-01"/>
        </reference>
        <reference anchor="infer-relatsh" target="https://ieeexplore.ieee.org/document/974527">
          <front>
            <title>On inferring autonomous system relationships in the Internet</title>
            <author fullname="Lixin Gao"></author>
            <date month="December" year="2001"/>
          </front>
        </reference>
        <reference anchor="as-rank" target="https://dl.acm.org/doi/10.1145/2504730.2504735">
          <front>
            <title>AS relationships, customer cones, and validation</title>
            <author fullname="Matthew Luckie"></author>
            <author fullname="Bradley Huffaker"></author>
            <author fullname="Amogh Dhamdhere"></author>
            <author fullname="Vasileios Giotsas"></author>
            <author fullname="kc claffy"></author>
            <date month="October" year="2013"/>
          </front>
        </reference>
        <reference anchor="problink" target="https://www.usenix.org/system/files/nsdi19-jin.pdf">
          <front>
            <title>Stable and Practical AS Relationship Inference with ProbLink</title>
            <author fullname="Yuchen Jin"></author>
            <author fullname="Colin Scott"></author>
            <author fullname="Amogh Dhamdhere"></author>
            <author fullname="Vasileios Giotsas"></author>
            <author fullname="Arvind Krishnamurthy"></author>
            <author fullname="Scott Shenker"></author>
            <date month="February" year="2019"/>
          </front>
        </reference>
        <reference anchor="ml-pred" target="https://ieeexplore.ieee.org/document/7562048">
          <front>
            <title>A machine learning approach to edge type inference in Internet AS graphs</title>
            <author fullname="Jinu Susan Varghese"></author>
            <author fullname="Lu Ruan"></author>
            <date month="April" year="2016"/>
          </front>
        </reference>
        <reference anchor="bgp2vec" target="https://ieeexplore.ieee.org/document/9110358">
          <front>
            <title>Unveiling the Type of Relationship Between Autonomous Systems Using Deep Learning</title>
            <author fullname="Tal Shapira"></author>
            <author fullname="Yuval Shavitt"></author>
            <date month="June" year="2020"/>
          </front>
        </reference>
        <reference anchor="charact-inet" target="https://ieeexplore.ieee.org/document/1019307">
          <front>
            <title>Characterizing the Internet hierarchy from multiple vantage points</title>
            <author fullname="Lakshminarayanan Subramanian"></author>
            <author fullname="Sharad Agarwal"></author>
            <author fullname="Jennifer Rexford"></author>
            <author fullname="Randy H. Katz"></author>
            <date month="June" year="2002"/>
          </front>
        </reference>
        <reference anchor="inferring-complex" target="https://dl.acm.org/doi/10.1145/2663716.2663743">
          <front>
            <title>Inferring complex AS relationships</title>
            <author fullname="Vasileios Giotsas"></author>
            <author fullname="Matthew Luckie"></author>
            <author fullname="Bradley Huffaker"></author>
            <author fullname="kc claffy"></author>
            <date month="November" year="2014"/>
          </front>
        </reference>
        <reference anchor="learn-ixp" target="https://www.cloudflare.com/learning/cdn/glossary/internet-exchange-point-ixp/">
          <front>
            <title>What is an Internet exchange point? | How do IXPs work?</title>
            <author fullname="Cloudflare"></author>
          </front>
        </reference>
        
      </references>
    </references>

    <section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Aijun Wang for his valuable comments and suggestions on this draft.</t>
    </section>
   </back>
</rfc>