<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.35 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-controlplane-17" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="SCION CP">SCION Control Plane</title>
    <seriesInfo name="Internet-Draft" value="draft-dekater-scion-controlplane-17"/>
    <author initials="C." surname="de Kater" fullname="Corine de Kater">
      <organization>SCION Association</organization>
      <address>
        <email>c_de_kater@gmx.ch</email>
      </address>
    </author>
    <author initials="N." surname="Rustignoli" fullname="Nicola Rustignoli">
      <organization>SCION Association</organization>
      <address>
        <email>nic@scion.org</email>
      </address>
    </author>
    <author initials="S." surname="Hitz" fullname="Samuel Hitz">
      <organization>Anapaya Systems</organization>
      <address>
        <email>hitz@anapaya.net</email>
      </address>
    </author>
    <date year="2026" month="April" day="02"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 179?>

<t>This document describes the Control Plane of the path-aware, inter-domain network architecture SCION (Scalability, Control, and Isolation On Next-generation networks). A fundamental characteristic of SCION is that it gives path control to SCION-capable endpoints that can choose between multiple path options, thereby enabling the optimization of network paths. The SCION Control Plane is responsible for discovering these paths and making them available to the endpoints.</t>
      <t>The SCION Control Plane creates and securely disseminates path segments between SCION Autonomous Systems (AS) which can then be combined into forwarding paths to transmit packets in the data plane. This document describes mechanisms of path exploration through beaconing and path registration. In addition, it describes how Endpoints construct end-to-end paths by combining path segments obtained through a path lookup process.</t>
      <t>This document contains new approaches to secure path aware networking. It is not an Internet Standard, has not received any formal review of the IETF, nor was the work developed through the rough consensus process. The approaches in this work are offered to the community for its consideration in the further evolution of the Internet.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://scionassociation.github.io/scion-cp_I-D/draft-dekater-scion-controlplane.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-dekater-scion-controlplane/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/scionassociation/scion-cp_I-D"/>.</t>
    </note>
  </front>
  <middle>
    <?line 188?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>SCION (Scalability, Control, and Isolation On Next-generation networks) is a path-aware internetworking routing architecture as described in <xref target="RFC9217"/>. It allows endpoints and applications to select paths across the network to use for traffic, based on trustworthy path properties. SCION is an inter-domain network architecture and is therefore not concerned with intra-domain forwarding.</t>
      <t>SCION has been developed with the following goals:</t>
      <t><em>Availability</em> - to provide highly available communication that can send traffic over paths with optimal or required characteristics, quickly handle inter-domain link or router failures (both on the last hop or anywhere along the path), and provide continuity in the presence of adversaries.</t>
      <t><em>Security</em> - to introduce a new approach to inter-domain path security that leverages path awareness in combination with a unique trust model. The goal is to provide higher levels of trustworthiness in routing information to prevent traffic hijacking, and to enable users to decide where their data travels. This routing information can be unambiguously attributed to a SCION AS, thereby ensuring that packets are only forwarded along authorized path segments (e.g., to enable geofencing). Security properties are further discussed in <xref target="security-properties"/>.</t>
      <t><em>Scalability</em> - to improve the scalability of the inter-domain control plane and data plane, avoiding existing limitations related to convergence and forwarding table size. The advertising of path segments is separated into a beaconing process within each Isolation Domain (ISD), and between ISDs which incurs minimal overhead and resource requirements on routers.</t>
      <t>SCION relies on three main components:</t>
      <t><em>PKI</em> - described in <xref target="I-D.dekater-scion-pki"/>. To achieve scalability and trust, SCION organizes its ASes into logical groups of independent routing planes called <em>Isolation Domains (ISDs)</em>. All ASes in an ISD agree on a set of trust roots called the <em>Trust Root Configuration (TRC)</em> which is a collection of signed root certificates in X.509 v3 format <xref target="RFC5280"/>. The ISD is governed by a set of <em>core ASes</em> which typically manage the trust roots and provide connectivity to other ISDs. This is the basis of the public key infrastructure used for the authentication of messages used by the SCION Control Plane.</t>
      <t><em>Control Plane</em> - described in this document. It performs inter-domain routing by discovering and securely disseminating path information between SCION ASes. The core ASes use Path-segment Construction Beacons (PCBs) to explore intra-ISD paths, or to explore paths across different ISDs.</t>
      <t><em>Data Plane</em> - described in <xref target="I-D.dekater-scion-dataplane"/>. It carries out secure packet forwarding between SCION ASes over paths selected by endpoints. A SCION border router reuses existing intra-domain infrastructure to communicate to other SCION routers or SCION endpoints within its AS.</t>
      <t>This document should be read in conjunction with the other components mentioned above. Readers are encouraged to read the introduction in this document first.</t>
      <t>The SCION architecture was initially developed outside of the IETF by ETH Zurich with significant contributions from Anapaya Systems. It is deployed in the Swiss finance sector to provide resilient connectivity between financial institutions. The aim of this document is to document the existing protocol specification as deployed, to encourage interoperability among implementations, and to introduce new concepts that can potentially be further improved to address particular problems with the current Internet architecture. This document is not an Internet Standards Track specification; it does not have IETF consensus and it is published for informational purposes.</t>
      <section anchor="terms">
        <name>Terminology</name>
        <t><strong>SCION Autonomous System (AS)</strong>: A SCION Autonomous System is a network under a common administrative control. For example, the network of a SCION service provider, company, or university can constitute an AS. While functionally similar to a BGP AS, a SCION AS operates within an Isolation Domain (ISD), utilizes a different address scheme, and serves as a locator in the addressing of end hosts. References to ASes throughout this document refer to SCION ASes.</t>
        <t><strong>Beaconing</strong>: The Control Plane process where an AS discovers paths to other ASes.</t>
        <t><strong>Control Plane</strong>: The SCION Control Plane is responsible for the propagation and discovery of network paths, i.e., for the exchange of routing information between SCION nodes. The Control Plane thus determines where traffic can be sent and deals with questions such as how paths are discovered, which paths exist, and how they are disseminated to endpoints, etc. Within a SCION AS, such functionalities are carried out by the Control Service whereas packet forwarding is a task carried out by the data plane.</t>
        <t><strong>Control Service</strong>: The Control Service is the main control plane infrastructure component within a SCION AS. It is responsible for the path exploration and registration processes that take place within the Control Plane.</t>
        <t><strong>Core AS</strong>: Each Isolation Domain (ISD) is administered by a set of distinguished SCION autonomous systems (ASes) called core ASes, which are responsible for initiating the path discovery and path construction process (called "beaconing" in SCION). Each ISD <bcp14>MUST</bcp14> have at least one Core AS.</t>
        <t><strong>Endpoint</strong>: An endpoint is the start or the end of a SCION path, as defined in <xref target="RFC9473"/>.</t>
        <t><strong>Forwarding Path</strong>: A complete end-to-end path between two SCION endpoints which is used to transmit packets in the data plane. Endpoints can create paths with a combination of up to three path segments (an up segment, a core segment, and a down segment).</t>
        <t><strong>Hop Field (HF)</strong>: As they traverse the network, Path-Segment Construction Beacons (PCBs) accumulate cryptographically protected AS-level path information in the form of Hop Fields. In the data plane, Hop Fields are used for packet forwarding: they contain the incoming and outgoing Interface IDs of the ASes on the forwarding path.</t>
        <t><strong>Info Field (INF)</strong>: Each Path-Segment Construction Beacon (PCB) contains a single Info field, which provides basic information about the PCB. Together with Hop Fields (HFs), these are used to create forwarding paths.</t>
        <t><strong>Isolation Domain (ISD)</strong>: SCION ASes are organized into logical groups called Isolation Domains or ISDs. Each ISD consists of ASes that span an area with a uniform trust environment (e.g., a common jurisdiction).</t>
        <t><strong>Message Authentication Code (MAC)</strong>. In the rest of this document, "MAC" always refers to "Message Authentication Code" and never to "Medium Access Control". When "Medium Access Control address" is implied, the phrase "Link Layer Address" is used.</t>
        <t><strong>Path Segment</strong>: These are derived from Path-Segment Construction Beacons (PCBs). A path segment can be (1) an up segment (i.e., a path between a non-core AS and a core AS in the same ISD), (2) a down segment (i.e., the same as an up segment but in the opposite direction), or (3) a core segment (i.e., a path between core ASes, possibly traversing ISD boundaries). Endpoints use up to three path segments to create a forwarding path.</t>
        <t><strong>Path-Segment Construction Beacon (PCB)</strong>: Core AS Control Service instances generate PCBs to explore paths within their isolation domain (ISD) and between different ISDs. ASes further propagate selected PCBs to their neighboring ASes. These PCBs traverse each AS accumulating information, including Hop Fields (HFs) which can subsequently be used by the data plane for forwarding.</t>
        <t><strong>SCION Control Message Protocol (SCMP)</strong>: A signaling protocol analogous to the Internet Control Message Protocol (ICMP). This is described in <xref target="scmp"/>.</t>
        <t><strong>Trust Root Configuration (TRC)</strong>: A Trust Root Configuration or TRC is a signed collection of certificates pertaining to an isolation domain (ISD). TRCs also contain ISD-specific policies.</t>
      </section>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
      <section anchor="paths-links">
        <name>Paths and Links</name>
        <t>SCION routers and endpoints connect to each other via links. A link refers to a physical or logical connection between two SCION nodes (e.g., router or endpoint). A SCION path between two endpoints traverses one or more links.</t>
        <t>SCION ASes - each being a network under a common administrative control - are organized into logical groups called Isolation Domains (ISDs). Each ISD consists of ASes that are part of a uniform trust environment (i.e., a common jurisdiction) and is administered by a set of distinguished ASes called core ASes.</t>
        <t>SCION distinguishes three types of links between ASes: (1) core links, (2) parent-child links, and (3) peering links.</t>
        <ul spacing="normal">
          <li>
            <t><em>Core</em> links connect two core ASes, which are either within the same or in different ISDs. Core links can exist for various reasons, including provider-customer (where the customer pays the provider for traffic) and peering relationships.</t>
          </li>
          <li>
            <t><em>Parent-child</em> links create a hierarchy between the parent and the child AS within the same ISD. ASes with a parent-child link typically have a provider-customer relationship.</t>
          </li>
          <li>
            <t><em>Peering</em> links exist between ASes with a peering relationship (settlement-free or paid). Network operators can establish peering links between any two ASes (core or non-core), including across ISD boundaries.</t>
          </li>
        </ul>
        <t>SCION paths are comprised of at most three path segments: an up segment, traversing links from child to parent, then a core segment consisting of core links, followed by a down segment traversing links from parent to child. Each path segment is established over one or more links.</t>
        <t>SCION paths are always "valley free" whereby a child AS does not carry transit traffic from a parent AS to another parent AS. These paths can contain at most one peering link, which endpoints can use as shortcut between two path segments containing two peer ASes.</t>
        <t><xref target="_figure-1"/> shows the three types of links for one small ISD with two core ASes A and C, and four non-core ASes D,E,F, and G.</t>
        <figure anchor="_figure-1">
          <name>The three types of SCION links in one ISD. Each node in the figure is a SCION AS.</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="336" width="432" viewBox="0 0 432 336" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,144" fill="none" stroke="black"/>
                <path d="M 24,80 L 24,112" fill="none" stroke="black"/>
                <path d="M 24,192 L 24,224" fill="none" stroke="black"/>
                <path d="M 24,288 L 24,320" fill="none" stroke="black"/>
                <path d="M 48,112 L 48,192" fill="none" stroke="black"/>
                <path d="M 48,224 L 48,288" fill="none" stroke="black"/>
                <path d="M 72,80 L 72,112" fill="none" stroke="black"/>
                <path d="M 72,192 L 72,224" fill="none" stroke="black"/>
                <path d="M 72,288 L 72,320" fill="none" stroke="black"/>
                <path d="M 152,80 L 152,112" fill="none" stroke="black"/>
                <path d="M 152,192 L 152,224" fill="none" stroke="black"/>
                <path d="M 152,288 L 152,320" fill="none" stroke="black"/>
                <path d="M 176,112 L 176,192" fill="none" stroke="black"/>
                <path d="M 176,224 L 176,288" fill="none" stroke="black"/>
                <path d="M 200,80 L 200,112" fill="none" stroke="black"/>
                <path d="M 200,192 L 200,224" fill="none" stroke="black"/>
                <path d="M 200,288 L 200,320" fill="none" stroke="black"/>
                <path d="M 216,32 L 216,144" fill="none" stroke="black"/>
                <path d="M 280,48 L 280,112" fill="none" stroke="black"/>
                <path d="M 8,32 L 216,32" fill="none" stroke="black"/>
                <path d="M 24,80 L 72,80" fill="none" stroke="black"/>
                <path d="M 152,80 L 200,80" fill="none" stroke="black"/>
                <path d="M 88,96 L 136,96" fill="none" stroke="black"/>
                <path d="M 24,112 L 72,112" fill="none" stroke="black"/>
                <path d="M 152,112 L 200,112" fill="none" stroke="black"/>
                <path d="M 8,144 L 40,144" fill="none" stroke="black"/>
                <path d="M 56,144 L 168,144" fill="none" stroke="black"/>
                <path d="M 184,144 L 216,144" fill="none" stroke="black"/>
                <path d="M 256,144 L 304,144" fill="none" stroke="black"/>
                <path d="M 256,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 24,192 L 72,192" fill="none" stroke="black"/>
                <path d="M 152,192 L 200,192" fill="none" stroke="black"/>
                <path d="M 88,208 L 136,208" fill="none" stroke="black"/>
                <path d="M 24,224 L 72,224" fill="none" stroke="black"/>
                <path d="M 152,224 L 200,224" fill="none" stroke="black"/>
                <path d="M 24,288 L 72,288" fill="none" stroke="black"/>
                <path d="M 152,288 L 200,288" fill="none" stroke="black"/>
                <path d="M 24,320 L 72,320" fill="none" stroke="black"/>
                <path d="M 152,320 L 200,320" fill="none" stroke="black"/>
                <circle cx="48" cy="176" r="6" class="opendot" fill="white" stroke="black"/>
                <circle cx="48" cy="272" r="6" class="opendot" fill="white" stroke="black"/>
                <circle cx="176" cy="176" r="6" class="opendot" fill="white" stroke="black"/>
                <circle cx="176" cy="272" r="6" class="opendot" fill="white" stroke="black"/>
                <circle cx="280" cy="96" r="6" class="opendot" fill="white" stroke="black"/>
                <g class="text">
                  <text x="88" y="68">ISD</text>
                  <text x="124" y="68">Core</text>
                  <text x="380" y="68">parent-child</text>
                  <text x="348" y="84">link</text>
                  <text x="36" y="100">AS</text>
                  <text x="56" y="100">A</text>
                  <text x="80" y="100">c</text>
                  <text x="144" y="100">c</text>
                  <text x="164" y="100">AS</text>
                  <text x="184" y="100">C</text>
                  <text x="248" y="148">c</text>
                  <text x="312" y="148">c</text>
                  <text x="348" y="148">core</text>
                  <text x="388" y="148">link</text>
                  <text x="248" y="180">p</text>
                  <text x="312" y="180">p</text>
                  <text x="360" y="180">peering</text>
                  <text x="412" y="180">link</text>
                  <text x="36" y="212">AS</text>
                  <text x="56" y="212">D</text>
                  <text x="80" y="212">p</text>
                  <text x="144" y="212">p</text>
                  <text x="164" y="212">AS</text>
                  <text x="184" y="212">E</text>
                  <text x="36" y="308">AS</text>
                  <text x="56" y="308">G</text>
                  <text x="164" y="308">AS</text>
                  <text x="184" y="308">F</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+-------------------------+
|                         |       |
|        ISD Core         |       |      parent-child
| +-----+         +-----+ |       |      link
| |AS A +c-------c+AS C | |       o
| +--+--+         +--+--+ |       |
|    |               |    |
+----|---------------|----+   c-------c  core link
     |               |
     o               o        p-------p  peering link
  +--+--+         +--+--+
  |AS D +p-------p+AS E |
  +--+--+         +--+--+
     |               |
     |               |
     o               o
  +--+--+         +--+--+
  |AS G |         |AS F |
  +-----+         +-----+
]]></artwork>
          </artset>
        </figure>
        <t>Each link connecting SCION routers is bi-directional and is identified by its corresponding egress and ingress Interface IDs. An Interface ID is a 16-bit identifier as described in <xref target="I-D.dekater-scion-dataplane"/> in the "Terminology" section. It is required to be unique within each AS and can therefore be chosen without any need for coordination between ASes.</t>
      </section>
      <section anchor="routing">
        <name>Routing</name>
        <t>SCION provides path-aware inter-domain routing between SCION ASes. The SCION Control Plane is responsible for discovering these inter-domain paths and making them available to the endpoints within the ASes.</t>
        <t>SCION inter-domain routing operates on two levels: within an ISD which is called <em>intra</em>-ISD routing, and between ISDs which is called <em>inter</em>-ISD routing. Both levels use <em>Path-Segment Construction Beacons (PCBs)</em> to explore network paths. A PCB is originated by a core AS and then disseminated either within an ISD to explore intra-ISD paths, or among core ASes to explore core paths across different ISDs.</t>
        <t>The PCBs accumulate cryptographically protected path and forwarding information at an AS level and store this information in the form of <em>Hop Fields</em>. Endpoints use information from these Hop Fields to create end-to-end forwarding paths for data packets that carry this information in their headers. This also supports multi-path communication among endpoints.</t>
        <t>The creation of end-to-end forwarding paths consists of the following processes:</t>
        <ul spacing="normal">
          <li>
            <t><em>Path exploration (or beaconing)</em>: This is the process where an AS Control Service discovers paths to other ASes. This is described in detail in <xref target="beaconing"/>.</t>
          </li>
          <li>
            <t><em>Path registration</em>: This is the process where an AS Control Service selects PCBs, according to defined policies, turns the selected PCBs into path segments, and adds these path segments to the relevant path infrastructure, thus making them available to other ASes. This is described in detail in <xref target="path-segment-reg"/>.</t>
          </li>
          <li>
            <t><em>Path resolution</em>: This is the process of actually creating an end-to-end forwarding path from the source endpoint to the destination. For this, an endpoint performs (a) a path lookup step to obtain path segments, and (b) a path combination step to combine the forwarding path from the segments. Step (a) is described in detail in <xref target="lookup"/> and step (b) is described in <xref target="I-D.dekater-scion-dataplane"/> section "Path Construction (Segment Combinations)".</t>
          </li>
        </ul>
        <t>All processes operate concurrently.</t>
        <t>The <strong>Control Service</strong> is responsible for the path exploration and registration processes in the Control Plane. It is the main control plane infrastructure component within each SCION AS and has the following tasks:</t>
        <ul spacing="normal">
          <li>
            <t>Generating, receiving, and propagating PCBs. Periodically, the Control Service of a core AS generates a set of PCBs, which are forwarded to the child ASes or neighboring core ASes. In the latter case, the PCBs are sent over policy compliant paths to discover multiple paths between any pair of core ASes.</t>
          </li>
          <li>
            <t>Selecting and registering the set of path segments via which the AS wants to be reached.</t>
          </li>
          <li>
            <t>Distributing certificates and keys to secure inter-AS communication. Each PCB contains signatures of all on-path ASes and each time the Control Service of an AS receives a PCB, it validates the PCB's authenticity. When the Control Service lacks an intermediate certificate, it can query the Control Service of the neighboring AS that sent the PCB through the API described in <xref target="crypto-api"/>.</t>
          </li>
        </ul>
        <t><strong>Note:</strong> The Control Service of an AS is decoupled from SCION border routers and operators may deploy it anywhere within the AS.</t>
        <section anchor="path-segments">
          <name>Path Segments</name>
          <t>SCION distinguishes the following types of path segments:</t>
          <ul spacing="normal">
            <li>
              <t>A path segment from a non-core AS to a core AS is an <em>up segment</em>.</t>
            </li>
            <li>
              <t>A path segment from a core AS to a non-core AS is a <em>down segment</em>.</t>
            </li>
            <li>
              <t>A path segment between core ASes is a <em>core segment</em>.</t>
            </li>
          </ul>
          <t>Each path segment starts and/or ends at a core AS. Path segments are not created between non-core ASes.</t>
          <t>All path segments may be reversed: a core segment can be used bi-directionally, an up segment can be converted into a down segment, and a down segment can be converted into an up segment depending on the direction of the end-to-end path. This means that all path segments can be used to send data traffic in both directions.</t>
          <t>The cryptographic protection of PCBs and path segments is based on the Control Plane PKI. The signatures are structured such that the entire message sequence constituting the path segment can be authenticated by anyone with access to this PKI.</t>
          <t>For fast validation of the path information carried in individual packets during packet forwarding, symmetric key cryptography is used and the Hop Fields contain a MAC. These MACs are structured to allow verification of the sequence of hops, but in contrast to the PCBs can only be validated by the border routers of the respective AS.</t>
        </section>
      </section>
      <section anchor="numbering">
        <name>Addressing</name>
        <t>Inter-domain SCION routing is based on an &lt;ISD, AS&gt; tuple. Although a complete SCION address is composed of the &lt;ISD, AS, endpoint address&gt; 3-tuple, the endpoint address is not used for inter-domain routing or forwarding. The endpoint address is of variable length, does not need to be globally unique, and can thus be an IPv4, IPv6, or link layer address.</t>
        <t><strong>Note:</strong> As a consequence of the fact that SCION relies on existing routing protocols (e.g., IS-IS, OSPF, SR) and communication fabric (e.g., IP, MPLS) for intra-domain forwarding, existing internal routers do not need to be changed to support SCION.</t>
        <section anchor="isd-numbers">
          <name>ISD Numbers</name>
          <t>An ISD number is the 16-bit global identifier for an ISD.</t>
          <t>The following table gives an overview of the ISD number allocation:</t>
          <table anchor="_table-1">
            <name>ISD number allocations</name>
            <thead>
              <tr>
                <th align="left">ISD</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">The wildcard ISD</td>
              </tr>
              <tr>
                <td align="left">1 - 15</td>
                <td align="left">Reserved for documentation and sample code (analogous to <xref target="RFC5398"/>).</td>
              </tr>
              <tr>
                <td align="left">16 - 63</td>
                <td align="left">Private use (analogous to <xref target="RFC6996"/>) - can be used for testing and private deployments</td>
              </tr>
              <tr>
                <td align="left">64 - 4094</td>
                <td align="left">Public ISDs. They <bcp14>MUST</bcp14> be globally unique.</td>
              </tr>
              <tr>
                <td align="left">4095 - 65535</td>
                <td align="left">Unallocated</td>
              </tr>
            </tbody>
          </table>
          <t>The wildcard ISD is not directly used by the control or data plane. Implementations may use it to represent any ISD, for example in path filters.
ISD numbers are allocated by the SCION Association (<xref target="ISD-AS-assignments"/>).</t>
        </section>
        <section anchor="scion-as-numbers">
          <name>SCION AS Numbers</name>
          <t>A SCION AS number is the 48-bit identifier for an AS. Although they play a similar role, there is no relationship between SCION AS numbers and BGP ASNs as defined by <xref target="RFC4271"/>. For historical reasons some SCION Autonomous Systems use an AS number where the first 16 bits are 0 and the remaining 32 bits are identical to their BGP ASN, but there is no technical requirement for this. AS numbers of public ASes <bcp14>MUST</bcp14> be globally unique.</t>
          <section anchor="serv-disc">
            <name>Wildcard Addressing</name>
            <t>SCION endpoints use wildcard AS <tt>0</tt> to designate any core AS, e.g., to place requests for core segments or down segments during path lookup. These wildcard addresses are of the form I-0, to designate any AS in ISD I. For more information, see <xref target="wildcard"/>.</t>
          </section>
          <section anchor="scion-as-numbers-1">
            <name>SCION AS numbers</name>
            <table anchor="_table-2">
              <name>AS number allocations</name>
              <thead>
                <tr>
                  <th align="left">AS</th>
                  <th align="left">Size</th>
                  <th align="left">Description</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">
                    <tt>0</tt></td>
                  <td align="left">1</td>
                  <td align="left">The wildcard AS</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>1 - 4294967295</tt></td>
                  <td align="left">~4.3 billion</td>
                  <td align="left">Public SCION AS numbers</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>1:0:0 - 1:ffff:ffff</tt></td>
                  <td align="left">~4.3 billion</td>
                  <td align="left">Public SCION AS numbers - future allocations</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>2:0:0 - 2:ffff:ffff</tt></td>
                  <td align="left">~4.3 billion</td>
                  <td align="left">Public SCION AS numbers</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>3:0:0 - feff:ffff:ffff</tt></td>
                  <td align="left">~280 trillion</td>
                  <td align="left">Unallocated</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>ff00:0:0 - ff00:0:ffff</tt></td>
                  <td align="left">65536</td>
                  <td align="left">Reserved for documentation and sample code (analogous to <xref target="RFC5398"/>)</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>ff00:1:0 - ffa9:ffff:ffff</tt></td>
                  <td align="left">~730 billion</td>
                  <td align="left">Unallocated</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>ffaa:0:0 - ffaa:ff:ffff</tt></td>
                  <td align="left">~16.8 million</td>
                  <td align="left">Reserved for private use (analogous to <xref target="RFC6996"/>) - these numbers can be used for testing and private deployments</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>ffaa:100:0 - ffff:ffff:fffe</tt></td>
                  <td align="left">~369 billion</td>
                  <td align="left">Unallocated</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>ffff:ffff:ffff</tt></td>
                  <td align="left">1</td>
                  <td align="left">Reserved</td>
                </tr>
              </tbody>
            </table>
          </section>
        </section>
        <section anchor="text-representation">
          <name>Text Representation</name>
          <section anchor="isd-numbers-1">
            <name>ISD numbers</name>
            <t>The text representation of SCION ISD numbers <bcp14>MUST</bcp14> be its decimal ASCII representation.</t>
          </section>
          <section anchor="as-numbers">
            <name>AS numbers</name>
            <t>The text representation of SCION AS numbers is as follows:</t>
            <ul spacing="normal">
              <li>
                <t>SCION AS numbers in the lower 32-bit range <bcp14>MUST</bcp14> be printed as decimal by implementations. Implementations may parse AS numbers in the lower 32-bit range in hexadecimal notation too (e.g.,, a program may accept AS number '0:1:f' for AS 65551).</t>
              </li>
              <li>
                <t>SCION AS numbers in the higher 32-bit range <bcp14>MUST</bcp14> be printed using big-endian hexadecimal notation in 3 groups of 4, in the range <tt>1:0:0</tt> to <tt>ffff:ffff:ffff</tt>. Leading zeros in each group are omitted, with the exception that one zero <bcp14>MUST</bcp14> be notated if a group is entirely zeros (e.g.,, <tt>1:0:1</tt>). The <tt>::</tt> zero-compression feature of IPv6 <bcp14>MUST NOT</bcp14> be used.</t>
              </li>
              <li>
                <t>A range of AS numbers can be shortened with a notation similar to the one used for CIDR IP ranges (<xref target="RFC4632"/>). In such case, hexadecimal notation <bcp14>MUST</bcp14> be used. For example, the range of the lowest 32-bit AS numbers (0-4294967295) can be represented as <tt>0:0:0/16</tt>.</t>
              </li>
            </ul>
          </section>
          <section anchor="isd-as-tuples">
            <name>&lt;ISD, AS&gt; tuples</name>
            <t>The text representation of SCION addresses <bcp14>MUST</bcp14> be <tt>&lt;ISD&gt;-&lt;AS&gt;</tt>, where <tt>&lt;ISD&gt;</tt> is the text representation of the ISD number, <tt>&lt;AS&gt;</tt> is the text representation of the AS number, and <tt>-</tt> is the literal ASCII character 0x2D. This text representation is used for the ISD-AS number attribute in the certificates (see <xref target="I-D.dekater-scion-pki"/>).</t>
            <t>For example, the text representation of AS number ff00:0:1 in ISD number 15 is <tt>15-ff00:0:1</tt>.</t>
          </section>
        </section>
      </section>
      <section anchor="bootstrapping-ability">
        <name>Bootstrapping ability</name>
        <t>SCION uses the following mechanisms to avoid circular dependencies during bootstrapping, and to provide resiliency after systemic failures:</t>
        <ul spacing="normal">
          <li>
            <t>Neighbor-based path discovery: Path discovery in SCION is performed by the beaconing mechanism. In order to participate in this process, an AS Control Service only needs to be aware of its direct neighbors. As long as no path segments are available, communicating with the neighboring ASes is possible with the one-hop path type which does not rely on any path information. SCION uses these <em>one-hop paths</em> to propagate PCBs to neighboring ASes to which no forwarding path is available yet. The One-Hop Path Type is described in more detail in <xref target="I-D.dekater-scion-dataplane"/>.</t>
          </li>
          <li>
            <t>Path reversal: In SCION, every path is reversible. That is, the receiver of a packet can reverse the path in the packet header in order to produce a reply packet without having to perform a path lookup. Such a packet follows the original packet's path in the reverse direction.</t>
          </li>
          <li>
            <t>Availability of certificates: Every entity is required to be in possession of all cryptographic material including the ISD's TRC and AS certificates, in order to verify any message it sends. This together with the path reversal means that the receiver of a message can always obtain all this material by contacting the sender.<br/></t>
          </li>
        </ul>
        <t><strong>Note:</strong> For a detailed description of a TRC and more information on the availability of certificates and TRCs, see <xref target="I-D.dekater-scion-pki"/>.</t>
      </section>
      <section anchor="communication-protocol">
        <name>Communication Protocol</name>
        <t>All communication between the Control Services in different SCION ASes is expressed in terms of RPC remote procedure calls. Service interfaces and messages are defined in the Protocol Buffer "proto3" interface definition language (for details, see <xref target="proto3"/>).</t>
        <t>The RPC messages are transported via <xref target="Connect"/>'s RPC protocol that carries messages over HTTP/3 (see <xref target="RFC9114"/>)), which in turn uses QUIC/UDP (<xref target="RFC9000"/>) to handle transport and congestion control. Connect is backward compatible with <xref target="gRPC"/> which is supported but deprecated.</t>
        <t>In case of failure, RPC calls return an error as specified by the RPC framework. That is, a non-zero status code and an explanatory string. <xref target="service-discovery"/> provides details about the establishment of the underlying QUIC connections.</t>
        <t>SCION's Control Plane does not require any domain name resolution for communication.</t>
      </section>
    </section>
    <section anchor="beaconing">
      <name>Path Exploration or Beaconing</name>
      <section anchor="introduction-and-overview">
        <name>Introduction and Overview</name>
        <t><strong>Path Exploration</strong> is the process where a SCION AS discovers paths to other ASes. In SCION, this process is referred to as <em>beaconing</em>.</t>
        <t>The <em>Control Service</em> of each SCION AS is responsible for the beaconing process. The Control Service generates, receives, and propagates <em>Path-Segment Construction Beacons (PCBs)</em> on a regular basis, to iteratively construct path segments.</t>
        <t>PCBs contain inter-domain topology and authentication information, and can include additional metadata that helps with path management and selection. The beaconing process itself is divided into routing processes on two levels, where <em>core</em> or inter-ISD is based on the (selective) sending of PCBs without a defined direction, and <em>intra-ISD</em> beaconing on top-to-bottom propagation. Beaconing is initiated by core ASes, therefore each ISD <bcp14>MUST</bcp14> have at least one core AS.</t>
        <ul spacing="normal">
          <li>
            <t><em>Core or Inter-ISD beaconing</em> is the process of constructing path segments between core ASes in the same or in different ISDs. During core beaconing, the Control Service of a core AS either originates PCBs or propagates PCBs received from neighboring core ASes to other neighboring core ASes.</t>
          </li>
          <li>
            <t><em>Intra-ISD beaconing</em> creates path segments from core ASes to non-core ASes. For this, the Control Services of core ASes originates PCBs and sends them to the non-core child ASes (typically customer ASes) at regular intervals. The Control Service of a non-core child AS receives these PCBs and forwards them to its child ASes, and so on until the PCB reaches an AS without any children. As a result, all ASes within an ISD receive path segments to reach the core ASes of their ISD and register reciprocal segments with the Control Service of the associated core ASes.</t>
          </li>
        </ul>
        <t>On its way, a PCB accumulates cryptographically protected path and forwarding information per traversed AS. At every AS, metadata as well as information about the AS's ingress and egress interfaces is added to the PCB. The full PCB message format is described in <xref target="pcbs"/>. PCBs are used to construct path segments. ASes register them to make them available to other ASes, as described in <xref target="path-segment-reg"/>.</t>
        <section anchor="peering-links">
          <name>Peering Links</name>
          <t>PCBs do not traverse peering links, but peering links are instead announced along with a regular path in a PCB in an up or down segment. If both ASes at either end of a peering link have registered path segments that include this specific peering link, then it is possible to use this during segment combination to create the end-to-end path.</t>
        </section>
        <section anchor="pcb-appending">
          <name>Appending Entries to a PCB</name>
          <t>Every propagation interval (as configured by the AS operator), the Control Service:</t>
          <ul spacing="normal">
            <li>
              <t>selects the best combinations of PCBs and interfaces connecting to a neighboring AS (i.e., a child AS or a core AS). This is described in <xref target="selection"/>.</t>
            </li>
            <li>
              <t>propagates each selected PCB to the selected egress interface(s) associated with it. Selection policies are described in <xref target="path-segment-prop"/>.</t>
            </li>
          </ul>
          <t>For every selected PCB and egress interface combination, the AS Control Service appends an <em>AS entry</em> to the selected PCB. This includes a Hop Field that specifies the ingress and egress interface for the packet forwarding through this AS, in the beaconing direction. The AS entry can also contain peer entries.</t>
        </section>
        <section anchor="pcb-propagation-illustrated-examples">
          <name>PCB Propagation - Illustrated Examples</name>
          <t>The following three figures show how intra-ISD PCB propagation works, from the ISD's core AS down to child ASes. Interface identifiers of each AS are numbered with integer values while ASes are described with an upper case letter for the sake of illustration. Arrows represent the PCB propagation direction.</t>
          <figure anchor="_figure-3a">
            <name>Intra-ISD PCB propagation from the ISD core to child ASes - Part 1</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="240" viewBox="0 0 240 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,160 L 8,240" fill="none" stroke="black"/>
                  <path d="M 48,240 L 48,256" fill="none" stroke="black"/>
                  <path d="M 64,32 L 64,128" fill="none" stroke="black"/>
                  <path d="M 64,272 L 64,288" fill="none" stroke="black"/>
                  <path d="M 80,160 L 80,240" fill="none" stroke="black"/>
                  <path d="M 104,128 L 104,272" fill="none" stroke="black"/>
                  <path d="M 136,128 L 136,272" fill="none" stroke="black"/>
                  <path d="M 160,160 L 160,240" fill="none" stroke="black"/>
                  <path d="M 176,32 L 176,128" fill="none" stroke="black"/>
                  <path d="M 176,272 L 176,288" fill="none" stroke="black"/>
                  <path d="M 192,240 L 192,256" fill="none" stroke="black"/>
                  <path d="M 232,160 L 232,240" fill="none" stroke="black"/>
                  <path d="M 64,32 L 176,32" fill="none" stroke="black"/>
                  <path d="M 64,128 L 176,128" fill="none" stroke="black"/>
                  <path d="M 8,160 L 80,160" fill="none" stroke="black"/>
                  <path d="M 160,160 L 232,160" fill="none" stroke="black"/>
                  <path d="M 8,190 L 80,190" fill="none" stroke="black"/>
                  <path d="M 8,194 L 80,194" fill="none" stroke="black"/>
                  <path d="M 160,190 L 232,190" fill="none" stroke="black"/>
                  <path d="M 160,194 L 232,194" fill="none" stroke="black"/>
                  <path d="M 8,240 L 80,240" fill="none" stroke="black"/>
                  <path d="M 160,240 L 232,240" fill="none" stroke="black"/>
                  <path d="M 64,272 L 176,272" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="200,256 188,250.4 188,261.6" fill="black" transform="rotate(90,192,256)"/>
                  <polygon class="arrowhead" points="56,256 44,250.4 44,261.6" fill="black" transform="rotate(90,48,256)"/>
                  <circle cx="104" cy="256" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="136" cy="256" r="6" class="opendot" fill="white" stroke="black"/>
                  <g class="text">
                    <text x="100" y="84">Core</text>
                    <text x="132" y="84">AS</text>
                    <text x="152" y="84">X</text>
                    <text x="104" y="116">2</text>
                    <text x="136" y="116">1</text>
                    <text x="32" y="180">PCB</text>
                    <text x="56" y="180">a</text>
                    <text x="184" y="180">PCB</text>
                    <text x="208" y="180">b</text>
                    <text x="36" y="212">Core</text>
                    <text x="180" y="212">Core</text>
                    <text x="16" y="228">-</text>
                    <text x="48" y="228">Out:2</text>
                    <text x="168" y="228">-</text>
                    <text x="200" y="228">Out:1</text>
                    <text x="108" y="292">AS</text>
                    <text x="128" y="292">Y</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                           +-------------+
                           |             |
                           |             |
                           |  Core AS X  |
                           |             |
                           |    2   1    |
                           +----+---+----+
                                |   |
                    +--------+  |   |  +--------+
                    | PCB a  |  |   |  | PCB b  |
                    +========+  |   |  +========+
                    | Core   |  |   |  |Core    |
                    |- Out:2 |  |   |  |- Out:1 |
                    +----+---+  |   |  +---+----+
                         v      o   o      v
                           +----+---+----+
                           |    AS Y     |
]]></artwork>
            </artset>
          </figure>
          <t>In <xref target="_figure-3a"/>, core AS X sends the two different PCBs "a" and "b" via two different links to child AS Y: PCB "a" exits core AS X via egress interface "2", whereas PCB "b" is sent over egress interface "1". Core AS X adds the respective egress information to the PCBs when sending them off, as can be seen in the figure (the entries "<em>Core - Out:2</em>" and "<em>Core - Out:1</em>", respectively).</t>
          <figure anchor="_figure-3b">
            <name>Intra-ISD PCB propagation from the ISD core to child ASes - Part 2</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="448" viewBox="0 0 448 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,112 L 8,208" fill="none" stroke="black"/>
                  <path d="M 16,240 L 16,416" fill="none" stroke="black"/>
                  <path d="M 56,416 L 56,432" fill="none" stroke="black"/>
                  <path d="M 88,240 L 88,416" fill="none" stroke="black"/>
                  <path d="M 112,32 L 112,64" fill="none" stroke="black"/>
                  <path d="M 112,240 L 112,416" fill="none" stroke="black"/>
                  <path d="M 120,112 L 120,208" fill="none" stroke="black"/>
                  <path d="M 152,64 L 152,80" fill="none" stroke="black"/>
                  <path d="M 152,416 L 152,432" fill="none" stroke="black"/>
                  <path d="M 168,112 L 168,208" fill="none" stroke="black"/>
                  <path d="M 168,464 L 168,480" fill="none" stroke="black"/>
                  <path d="M 184,32 L 184,64" fill="none" stroke="black"/>
                  <path d="M 184,240 L 184,416" fill="none" stroke="black"/>
                  <path d="M 208,32 L 208,112" fill="none" stroke="black"/>
                  <path d="M 208,208 L 208,464" fill="none" stroke="black"/>
                  <path d="M 240,32 L 240,112" fill="none" stroke="black"/>
                  <path d="M 240,208 L 240,464" fill="none" stroke="black"/>
                  <path d="M 264,32 L 264,64" fill="none" stroke="black"/>
                  <path d="M 264,240 L 264,416" fill="none" stroke="black"/>
                  <path d="M 280,112 L 280,208" fill="none" stroke="black"/>
                  <path d="M 280,464 L 280,480" fill="none" stroke="black"/>
                  <path d="M 296,64 L 296,80" fill="none" stroke="black"/>
                  <path d="M 296,416 L 296,432" fill="none" stroke="black"/>
                  <path d="M 328,112 L 328,208" fill="none" stroke="black"/>
                  <path d="M 336,32 L 336,64" fill="none" stroke="black"/>
                  <path d="M 336,240 L 336,416" fill="none" stroke="black"/>
                  <path d="M 360,240 L 360,416" fill="none" stroke="black"/>
                  <path d="M 392,416 L 392,432" fill="none" stroke="black"/>
                  <path d="M 432,240 L 432,416" fill="none" stroke="black"/>
                  <path d="M 440,112 L 440,208" fill="none" stroke="black"/>
                  <path d="M 112,32 L 184,32" fill="none" stroke="black"/>
                  <path d="M 264,32 L 336,32" fill="none" stroke="black"/>
                  <path d="M 112,64 L 184,64" fill="none" stroke="black"/>
                  <path d="M 264,64 L 336,64" fill="none" stroke="black"/>
                  <path d="M 8,112 L 120,112" fill="none" stroke="black"/>
                  <path d="M 168,112 L 280,112" fill="none" stroke="black"/>
                  <path d="M 328,112 L 440,112" fill="none" stroke="black"/>
                  <path d="M 136,144 L 152,144" fill="none" stroke="black"/>
                  <path d="M 296,176 L 312,176" fill="none" stroke="black"/>
                  <path d="M 8,208 L 120,208" fill="none" stroke="black"/>
                  <path d="M 168,208 L 280,208" fill="none" stroke="black"/>
                  <path d="M 328,208 L 440,208" fill="none" stroke="black"/>
                  <path d="M 16,240 L 88,240" fill="none" stroke="black"/>
                  <path d="M 112,240 L 184,240" fill="none" stroke="black"/>
                  <path d="M 264,240 L 336,240" fill="none" stroke="black"/>
                  <path d="M 360,240 L 432,240" fill="none" stroke="black"/>
                  <path d="M 16,270 L 88,270" fill="none" stroke="black"/>
                  <path d="M 16,274 L 88,274" fill="none" stroke="black"/>
                  <path d="M 112,270 L 184,270" fill="none" stroke="black"/>
                  <path d="M 112,274 L 184,274" fill="none" stroke="black"/>
                  <path d="M 264,270 L 336,270" fill="none" stroke="black"/>
                  <path d="M 264,274 L 336,274" fill="none" stroke="black"/>
                  <path d="M 360,270 L 432,270" fill="none" stroke="black"/>
                  <path d="M 360,274 L 432,274" fill="none" stroke="black"/>
                  <path d="M 16,320 L 88,320" fill="none" stroke="black"/>
                  <path d="M 112,320 L 184,320" fill="none" stroke="black"/>
                  <path d="M 264,320 L 336,320" fill="none" stroke="black"/>
                  <path d="M 360,320 L 432,320" fill="none" stroke="black"/>
                  <path d="M 16,416 L 88,416" fill="none" stroke="black"/>
                  <path d="M 112,416 L 184,416" fill="none" stroke="black"/>
                  <path d="M 264,416 L 336,416" fill="none" stroke="black"/>
                  <path d="M 360,416 L 432,416" fill="none" stroke="black"/>
                  <path d="M 168,464 L 280,464" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="400,432 388,426.4 388,437.6" fill="black" transform="rotate(90,392,432)"/>
                  <polygon class="arrowhead" points="304,432 292,426.4 292,437.6" fill="black" transform="rotate(90,296,432)"/>
                  <polygon class="arrowhead" points="304,80 292,74.4 292,85.6" fill="black" transform="rotate(90,296,80)"/>
                  <polygon class="arrowhead" points="160,432 148,426.4 148,437.6" fill="black" transform="rotate(90,152,432)"/>
                  <polygon class="arrowhead" points="160,80 148,74.4 148,85.6" fill="black" transform="rotate(90,152,80)"/>
                  <polygon class="arrowhead" points="64,432 52,426.4 52,437.6" fill="black" transform="rotate(90,56,432)"/>
                  <circle cx="208" cy="96" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="208" cy="448" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="240" cy="96" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="240" cy="448" r="6" class="opendot" fill="white" stroke="black"/>
                  <g class="text">
                    <text x="136" y="52">PCB</text>
                    <text x="160" y="52">a</text>
                    <text x="288" y="52">PCB</text>
                    <text x="312" y="52">b</text>
                    <text x="208" y="132">2</text>
                    <text x="240" y="132">3</text>
                    <text x="128" y="148">p</text>
                    <text x="160" y="148">p</text>
                    <text x="184" y="148">1</text>
                    <text x="52" y="164">AS</text>
                    <text x="72" y="164">V</text>
                    <text x="212" y="164">AS</text>
                    <text x="232" y="164">Y</text>
                    <text x="372" y="164">AS</text>
                    <text x="392" y="164">W</text>
                    <text x="264" y="180">4</text>
                    <text x="288" y="180">p</text>
                    <text x="320" y="180">p</text>
                    <text x="208" y="196">6</text>
                    <text x="240" y="196">5</text>
                    <text x="40" y="260">PCB</text>
                    <text x="64" y="260">e</text>
                    <text x="136" y="260">PCB</text>
                    <text x="160" y="260">c</text>
                    <text x="288" y="260">PCB</text>
                    <text x="312" y="260">d</text>
                    <text x="384" y="260">PCB</text>
                    <text x="408" y="260">f</text>
                    <text x="36" y="292">Core</text>
                    <text x="64" y="292">X</text>
                    <text x="132" y="292">Core</text>
                    <text x="160" y="292">X</text>
                    <text x="284" y="292">Core</text>
                    <text x="312" y="292">X</text>
                    <text x="380" y="292">Core</text>
                    <text x="408" y="292">X</text>
                    <text x="24" y="308">-</text>
                    <text x="56" y="308">Out:1</text>
                    <text x="120" y="308">-</text>
                    <text x="152" y="308">Out:2</text>
                    <text x="272" y="308">-</text>
                    <text x="304" y="308">Out:2</text>
                    <text x="368" y="308">-</text>
                    <text x="400" y="308">Out:1</text>
                    <text x="28" y="340">AS</text>
                    <text x="48" y="340">Y</text>
                    <text x="124" y="340">AS</text>
                    <text x="144" y="340">Y</text>
                    <text x="276" y="340">AS</text>
                    <text x="296" y="340">Y</text>
                    <text x="372" y="340">AS</text>
                    <text x="392" y="340">Y</text>
                    <text x="40" y="356">-In:3</text>
                    <text x="136" y="356">-In:2</text>
                    <text x="288" y="356">-In:2</text>
                    <text x="384" y="356">-In:3</text>
                    <text x="44" y="372">-Out:6</text>
                    <text x="140" y="372">-Out:6</text>
                    <text x="292" y="372">-Out:5</text>
                    <text x="388" y="372">-Out:5</text>
                    <text x="52" y="388">-PeerV:1</text>
                    <text x="148" y="388">-PeerV:1</text>
                    <text x="300" y="388">-PeerV:1</text>
                    <text x="396" y="388">-PeerV:1</text>
                    <text x="52" y="404">-PeerW:4</text>
                    <text x="148" y="404">-PeerW:4</text>
                    <text x="300" y="404">-PeerW:4</text>
                    <text x="396" y="404">-PeerW:4</text>
                    <text x="212" y="484">AS</text>
                    <text x="232" y="484">Z</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                    +--------+  |   |  +--------+
                    | PCB a  |  |   |  | PCB b  |
                    +----+---+  |   |  +---+----+
                         v      |   |      v
                                o   o
       +-------------+     +----+---+----+     +-------------+
       |             |     |    2   3    |     |             |
       |             +p---p+ 1           |     |             |
       |    AS V     |     |    AS Y     |     |    AS W     |
       |             |     |           4 +p---p+             |
       |             |     |    6   5    |     |             |
       +-------------+     +----+---+----+     +-------------+
                                |   |
        +--------+  +--------+  |   |  +--------+  +--------+
        | PCB e  |  | PCB c  |  |   |  | PCB d  |  | PCB f  |
        +========+  +========+  |   |  +========+  +========+
        |Core X  |  |Core X  |  |   |  |Core X  |  |Core X  |
        |- Out:1 |  |- Out:2 |  |   |  |- Out:2 |  |- Out:1 |
        +--------+  +--------+  |   |  +--------+  +--------+
        |AS Y    |  |AS Y    |  |   |  |AS Y    |  |AS Y    |
        |-In:3   |  |-In:2   |  |   |  |-In:2   |  |-In:3   |
        |-Out:6  |  |-Out:6  |  |   |  |-Out:5  |  |-Out:5  |
        |-PeerV:1|  |-PeerV:1|  |   |  |-PeerV:1|  |-PeerV:1|
        |-PeerW:4|  |-PeerW:4|  |   |  |-PeerW:4|  |-PeerW:4|
        +----+---+  +----+---+  |   |  +---+----+  +---+----+
             v           v      |   |      v           v
                                o   o
                           +----+---+----+
                           |    AS Z     |
]]></artwork>
            </artset>
          </figure>
          <t>In <xref target="_figure-3b"/>, AS Y receives the two PCBs "a" and "b" through two different (ingress) interfaces, namely "2" and "3", respectively. Additionally, AS Y forwards to AS Z four PCBs that were previously sent by core AS X. For this, AS Y uses the two different (egress) links "5" and "6". AS Y appends the corresponding ingress and egress interface information to the four PCBs.</t>
          <t>AS Y also has two peering links to its neighboring peers V and W, through the interfaces "1" and "4" respectively, which is included in the information in the PCBs. Thus, each forwarded PCB accumulates path information on its way "down" from core AS X.</t>
          <figure anchor="_figure-3c">
            <name>Intra-ISD PCB propagation from the ISD core to child ASes - Part 3</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="544" width="432" viewBox="0 0 432 544" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                  <path d="M 8,240 L 8,480" fill="none" stroke="black"/>
                  <path d="M 48,64 L 48,80" fill="none" stroke="black"/>
                  <path d="M 48,480 L 48,496" fill="none" stroke="black"/>
                  <path d="M 80,32 L 80,64" fill="none" stroke="black"/>
                  <path d="M 80,240 L 80,480" fill="none" stroke="black"/>
                  <path d="M 104,32 L 104,64" fill="none" stroke="black"/>
                  <path d="M 104,240 L 104,480" fill="none" stroke="black"/>
                  <path d="M 144,64 L 144,80" fill="none" stroke="black"/>
                  <path d="M 144,480 L 144,496" fill="none" stroke="black"/>
                  <path d="M 160,112 L 160,208" fill="none" stroke="black"/>
                  <path d="M 176,32 L 176,64" fill="none" stroke="black"/>
                  <path d="M 176,240 L 176,480" fill="none" stroke="black"/>
                  <path d="M 200,32 L 200,112" fill="none" stroke="black"/>
                  <path d="M 216,208 L 216,512" fill="none" stroke="black"/>
                  <path d="M 232,32 L 232,112" fill="none" stroke="black"/>
                  <path d="M 256,32 L 256,64" fill="none" stroke="black"/>
                  <path d="M 256,240 L 256,480" fill="none" stroke="black"/>
                  <path d="M 272,112 L 272,208" fill="none" stroke="black"/>
                  <path d="M 288,64 L 288,80" fill="none" stroke="black"/>
                  <path d="M 288,480 L 288,496" fill="none" stroke="black"/>
                  <path d="M 328,32 L 328,64" fill="none" stroke="black"/>
                  <path d="M 328,240 L 328,480" fill="none" stroke="black"/>
                  <path d="M 352,32 L 352,64" fill="none" stroke="black"/>
                  <path d="M 352,240 L 352,480" fill="none" stroke="black"/>
                  <path d="M 384,64 L 384,80" fill="none" stroke="black"/>
                  <path d="M 384,480 L 384,496" fill="none" stroke="black"/>
                  <path d="M 424,32 L 424,64" fill="none" stroke="black"/>
                  <path d="M 424,240 L 424,480" fill="none" stroke="black"/>
                  <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                  <path d="M 104,32 L 176,32" fill="none" stroke="black"/>
                  <path d="M 256,32 L 328,32" fill="none" stroke="black"/>
                  <path d="M 352,32 L 424,32" fill="none" stroke="black"/>
                  <path d="M 8,64 L 80,64" fill="none" stroke="black"/>
                  <path d="M 104,64 L 176,64" fill="none" stroke="black"/>
                  <path d="M 256,64 L 328,64" fill="none" stroke="black"/>
                  <path d="M 352,64 L 424,64" fill="none" stroke="black"/>
                  <path d="M 160,112 L 272,112" fill="none" stroke="black"/>
                  <path d="M 160,208 L 272,208" fill="none" stroke="black"/>
                  <path d="M 8,240 L 80,240" fill="none" stroke="black"/>
                  <path d="M 104,240 L 176,240" fill="none" stroke="black"/>
                  <path d="M 256,240 L 328,240" fill="none" stroke="black"/>
                  <path d="M 352,240 L 424,240" fill="none" stroke="black"/>
                  <path d="M 8,270 L 80,270" fill="none" stroke="black"/>
                  <path d="M 8,274 L 80,274" fill="none" stroke="black"/>
                  <path d="M 104,270 L 176,270" fill="none" stroke="black"/>
                  <path d="M 104,274 L 176,274" fill="none" stroke="black"/>
                  <path d="M 256,270 L 328,270" fill="none" stroke="black"/>
                  <path d="M 256,274 L 328,274" fill="none" stroke="black"/>
                  <path d="M 352,270 L 424,270" fill="none" stroke="black"/>
                  <path d="M 352,274 L 424,274" fill="none" stroke="black"/>
                  <path d="M 8,320 L 80,320" fill="none" stroke="black"/>
                  <path d="M 104,320 L 176,320" fill="none" stroke="black"/>
                  <path d="M 256,320 L 328,320" fill="none" stroke="black"/>
                  <path d="M 352,320 L 424,320" fill="none" stroke="black"/>
                  <path d="M 8,416 L 80,416" fill="none" stroke="black"/>
                  <path d="M 104,416 L 176,416" fill="none" stroke="black"/>
                  <path d="M 256,416 L 328,416" fill="none" stroke="black"/>
                  <path d="M 352,416 L 424,416" fill="none" stroke="black"/>
                  <path d="M 8,480 L 80,480" fill="none" stroke="black"/>
                  <path d="M 104,480 L 176,480" fill="none" stroke="black"/>
                  <path d="M 256,480 L 328,480" fill="none" stroke="black"/>
                  <path d="M 352,480 L 424,480" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="392,496 380,490.4 380,501.6" fill="black" transform="rotate(90,384,496)"/>
                  <polygon class="arrowhead" points="392,80 380,74.4 380,85.6" fill="black" transform="rotate(90,384,80)"/>
                  <polygon class="arrowhead" points="296,496 284,490.4 284,501.6" fill="black" transform="rotate(90,288,496)"/>
                  <polygon class="arrowhead" points="296,80 284,74.4 284,85.6" fill="black" transform="rotate(90,288,80)"/>
                  <polygon class="arrowhead" points="152,496 140,490.4 140,501.6" fill="black" transform="rotate(90,144,496)"/>
                  <polygon class="arrowhead" points="152,80 140,74.4 140,85.6" fill="black" transform="rotate(90,144,80)"/>
                  <polygon class="arrowhead" points="56,496 44,490.4 44,501.6" fill="black" transform="rotate(90,48,496)"/>
                  <polygon class="arrowhead" points="56,80 44,74.4 44,85.6" fill="black" transform="rotate(90,48,80)"/>
                  <circle cx="200" cy="96" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="216" cy="496" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="232" cy="96" r="6" class="opendot" fill="white" stroke="black"/>
                  <g class="text">
                    <text x="32" y="52">PCB</text>
                    <text x="56" y="52">e</text>
                    <text x="128" y="52">PCB</text>
                    <text x="152" y="52">c</text>
                    <text x="280" y="52">PCB</text>
                    <text x="304" y="52">d</text>
                    <text x="376" y="52">PCB</text>
                    <text x="400" y="52">f</text>
                    <text x="200" y="132">5</text>
                    <text x="232" y="132">1</text>
                    <text x="204" y="164">AS</text>
                    <text x="224" y="164">Z</text>
                    <text x="216" y="196">3</text>
                    <text x="32" y="260">PCB</text>
                    <text x="56" y="260">i</text>
                    <text x="128" y="260">PCB</text>
                    <text x="152" y="260">g</text>
                    <text x="280" y="260">PCB</text>
                    <text x="304" y="260">h</text>
                    <text x="376" y="260">PCB</text>
                    <text x="400" y="260">j</text>
                    <text x="28" y="292">Core</text>
                    <text x="56" y="292">X</text>
                    <text x="124" y="292">Core</text>
                    <text x="152" y="292">X</text>
                    <text x="276" y="292">Core</text>
                    <text x="304" y="292">X</text>
                    <text x="372" y="292">Core</text>
                    <text x="400" y="292">X</text>
                    <text x="16" y="308">-</text>
                    <text x="48" y="308">Out:1</text>
                    <text x="112" y="308">-</text>
                    <text x="144" y="308">Out:2</text>
                    <text x="264" y="308">-</text>
                    <text x="296" y="308">Out:2</text>
                    <text x="360" y="308">-</text>
                    <text x="392" y="308">Out:1</text>
                    <text x="20" y="340">AS</text>
                    <text x="40" y="340">Y</text>
                    <text x="116" y="340">AS</text>
                    <text x="136" y="340">Y</text>
                    <text x="268" y="340">AS</text>
                    <text x="288" y="340">Y</text>
                    <text x="364" y="340">AS</text>
                    <text x="384" y="340">Y</text>
                    <text x="32" y="356">-In:3</text>
                    <text x="128" y="356">-In:2</text>
                    <text x="280" y="356">-In:2</text>
                    <text x="376" y="356">-In:3</text>
                    <text x="36" y="372">-Out:6</text>
                    <text x="132" y="372">-Out:6</text>
                    <text x="284" y="372">-Out:5</text>
                    <text x="376" y="372">Out:5</text>
                    <text x="44" y="388">-PeerV:1</text>
                    <text x="140" y="388">-PeerV:1</text>
                    <text x="292" y="388">-PeerV:1</text>
                    <text x="388" y="388">-PeerV:1</text>
                    <text x="44" y="404">-PeerW:4</text>
                    <text x="140" y="404">-PeerW:4</text>
                    <text x="292" y="404">-PeerW:4</text>
                    <text x="388" y="404">-PeerW:4</text>
                    <text x="20" y="436">AS</text>
                    <text x="40" y="436">Z</text>
                    <text x="116" y="436">AS</text>
                    <text x="136" y="436">Z</text>
                    <text x="268" y="436">AS</text>
                    <text x="288" y="436">Z</text>
                    <text x="364" y="436">AS</text>
                    <text x="384" y="436">Z</text>
                    <text x="32" y="452">-In:5</text>
                    <text x="128" y="452">-In:5</text>
                    <text x="280" y="452">-In:1</text>
                    <text x="376" y="452">-In:1</text>
                    <text x="36" y="468">-Out:3</text>
                    <text x="132" y="468">-Out:3</text>
                    <text x="284" y="468">-Out:3</text>
                    <text x="380" y="468">-Out:3</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
        +--------+  +--------+  |   |  +--------+  +--------+
        | PCB e  |  | PCB c  |  |   |  | PCB d  |  | PCB f  |
        +----+---+  +----+---+  |   |  +---+----+  +---+----+
             v           v      |   |      v           v
                                o   o
                           +----+---+----+
                           |    5   1    |
                           |             |
                           |    AS Z     |
                           |             |
                           |      3      |
                           +------+------+
                                  |
        +--------+  +--------+    |    +--------+  +--------+
        | PCB i  |  | PCB g  |    |    | PCB h  |  | PCB j  |
        +========+  +========+    |    +========+  +========+
        |Core X  |  |Core X  |    |    |Core X  |  |Core X  |
        |- Out:1 |  |- Out:2 |    |    |- Out:2 |  |- Out:1 |
        +--------+  +--------+    |    +--------+  +--------+
        |AS Y    |  |AS Y    |    |    |AS Y    |  |AS Y    |
        |-In:3   |  |-In:2   |    |    |-In:2   |  |-In:3   |
        |-Out:6  |  |-Out:6  |    |    |-Out:5  |  |Out:5   |
        |-PeerV:1|  |-PeerV:1|    |    |-PeerV:1|  |-PeerV:1|
        |-PeerW:4|  |-PeerW:4|    |    |-PeerW:4|  |-PeerW:4|
        +--------+  +--------+    |    +--------+  +--------+
        |AS Z    |  |AS Z    |    |    |AS Z    |  |AS Z    |
        |-In:5   |  |-In:5   |    |    |-In:1   |  |-In:1   |
        |-Out:3  |  |-Out:3  |    |    |-Out:3  |  |-Out:3  |
        +----+---+  +----+---+    |    +---+----+  +---+----+
             v           v        o        v           v
                                  |
]]></artwork>
            </artset>
          </figure>
          <t>In <xref target="_figure-3c"/>, the four PCBs "c", "d", "e", and "f" are coming from AS Y and are received by AS Z over two different links: PCBs "c" and "e" reach AS Z over ingress interface "5", whereas PCBs "d" and "f" enter AS Z via ingress interface "1". Additionally, AS Z propagates PCBs "g", "h", "i", and "j" further downwards over the same link (egress interface "3"), and extends the PCBs with the relevant information so that each of these includes AS hop entries from core AS X, AS Y, and AS Z.</t>
          <figure anchor="_figure-4">
            <name>Possible up- or down segments for AS Z</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="736" width="568" viewBox="0 0 568 736" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 128,64 L 128,160" fill="none" stroke="black"/>
                  <path d="M 128,240 L 128,336" fill="none" stroke="black"/>
                  <path d="M 128,416 L 128,512" fill="none" stroke="black"/>
                  <path d="M 128,592 L 128,688" fill="none" stroke="black"/>
                  <path d="M 240,64 L 240,160" fill="none" stroke="black"/>
                  <path d="M 240,240 L 240,336" fill="none" stroke="black"/>
                  <path d="M 240,416 L 240,512" fill="none" stroke="black"/>
                  <path d="M 240,592 L 240,688" fill="none" stroke="black"/>
                  <path d="M 288,64 L 288,160" fill="none" stroke="black"/>
                  <path d="M 288,240 L 288,336" fill="none" stroke="black"/>
                  <path d="M 288,416 L 288,512" fill="none" stroke="black"/>
                  <path d="M 288,592 L 288,688" fill="none" stroke="black"/>
                  <path d="M 344,272 L 344,304" fill="none" stroke="black"/>
                  <path d="M 344,448 L 344,480" fill="none" stroke="black"/>
                  <path d="M 400,64 L 400,160" fill="none" stroke="black"/>
                  <path d="M 400,240 L 400,336" fill="none" stroke="black"/>
                  <path d="M 400,416 L 400,512" fill="none" stroke="black"/>
                  <path d="M 400,592 L 400,688" fill="none" stroke="black"/>
                  <path d="M 448,64 L 448,160" fill="none" stroke="black"/>
                  <path d="M 448,240 L 448,264" fill="none" stroke="black"/>
                  <path d="M 448,280 L 448,336" fill="none" stroke="black"/>
                  <path d="M 448,416 L 448,512" fill="none" stroke="black"/>
                  <path d="M 448,592 L 448,688" fill="none" stroke="black"/>
                  <path d="M 560,64 L 560,160" fill="none" stroke="black"/>
                  <path d="M 560,240 L 560,336" fill="none" stroke="black"/>
                  <path d="M 560,416 L 560,512" fill="none" stroke="black"/>
                  <path d="M 560,592 L 560,688" fill="none" stroke="black"/>
                  <path d="M 128,64 L 240,64" fill="none" stroke="black"/>
                  <path d="M 288,64 L 400,64" fill="none" stroke="black"/>
                  <path d="M 448,64 L 560,64" fill="none" stroke="black"/>
                  <path d="M 240,128 L 264,128" fill="none" stroke="black"/>
                  <path d="M 280,128 L 288,128" fill="none" stroke="black"/>
                  <path d="M 304,128 L 384,128" fill="none" stroke="black"/>
                  <path d="M 400,128 L 424,128" fill="none" stroke="black"/>
                  <path d="M 440,128 L 448,128" fill="none" stroke="black"/>
                  <path d="M 128,160 L 240,160" fill="none" stroke="black"/>
                  <path d="M 288,160 L 400,160" fill="none" stroke="black"/>
                  <path d="M 448,160 L 560,160" fill="none" stroke="black"/>
                  <path d="M 8,208 L 560,208" fill="none" stroke="black"/>
                  <path d="M 128,240 L 240,240" fill="none" stroke="black"/>
                  <path d="M 288,240 L 400,240" fill="none" stroke="black"/>
                  <path d="M 448,240 L 560,240" fill="none" stroke="black"/>
                  <path d="M 344,272 L 384,272" fill="none" stroke="black"/>
                  <path d="M 400,272 L 432,272" fill="none" stroke="black"/>
                  <path d="M 448,272 L 456,272" fill="none" stroke="black"/>
                  <path d="M 240,304 L 264,304" fill="none" stroke="black"/>
                  <path d="M 280,304 L 288,304" fill="none" stroke="black"/>
                  <path d="M 304,304 L 344,304" fill="none" stroke="black"/>
                  <path d="M 128,336 L 240,336" fill="none" stroke="black"/>
                  <path d="M 288,336 L 400,336" fill="none" stroke="black"/>
                  <path d="M 448,336 L 560,336" fill="none" stroke="black"/>
                  <path d="M 8,384 L 560,384" fill="none" stroke="black"/>
                  <path d="M 128,416 L 240,416" fill="none" stroke="black"/>
                  <path d="M 288,416 L 400,416" fill="none" stroke="black"/>
                  <path d="M 448,416 L 560,416" fill="none" stroke="black"/>
                  <path d="M 240,448 L 264,448" fill="none" stroke="black"/>
                  <path d="M 280,448 L 288,448" fill="none" stroke="black"/>
                  <path d="M 304,448 L 344,448" fill="none" stroke="black"/>
                  <path d="M 344,480 L 384,480" fill="none" stroke="black"/>
                  <path d="M 400,480 L 424,480" fill="none" stroke="black"/>
                  <path d="M 440,480 L 448,480" fill="none" stroke="black"/>
                  <path d="M 128,512 L 240,512" fill="none" stroke="black"/>
                  <path d="M 288,512 L 400,512" fill="none" stroke="black"/>
                  <path d="M 448,512 L 560,512" fill="none" stroke="black"/>
                  <path d="M 8,560 L 560,560" fill="none" stroke="black"/>
                  <path d="M 128,592 L 240,592" fill="none" stroke="black"/>
                  <path d="M 288,592 L 400,592" fill="none" stroke="black"/>
                  <path d="M 448,592 L 560,592" fill="none" stroke="black"/>
                  <path d="M 240,624 L 264,624" fill="none" stroke="black"/>
                  <path d="M 280,624 L 288,624" fill="none" stroke="black"/>
                  <path d="M 304,624 L 384,624" fill="none" stroke="black"/>
                  <path d="M 400,624 L 424,624" fill="none" stroke="black"/>
                  <path d="M 440,624 L 448,624" fill="none" stroke="black"/>
                  <path d="M 128,688 L 240,688" fill="none" stroke="black"/>
                  <path d="M 288,688 L 400,688" fill="none" stroke="black"/>
                  <path d="M 448,688 L 560,688" fill="none" stroke="black"/>
                  <circle cx="272" cy="128" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="272" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="272" cy="448" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="272" cy="624" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="432" cy="128" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="432" cy="480" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="432" cy="624" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="440" cy="272" r="6" class="opendot" fill="white" stroke="black"/>
                  <g class="text">
                    <text x="140" y="36">AS</text>
                    <text x="176" y="36">Entry</text>
                    <text x="220" y="36">Core</text>
                    <text x="308" y="36">AS</text>
                    <text x="344" y="36">Entry</text>
                    <text x="376" y="36">Y</text>
                    <text x="468" y="36">AS</text>
                    <text x="504" y="36">Entry</text>
                    <text x="536" y="36">Z</text>
                    <text x="164" y="84">Core</text>
                    <text x="196" y="84">AS</text>
                    <text x="216" y="84">X</text>
                    <text x="332" y="84">AS</text>
                    <text x="352" y="84">Y</text>
                    <text x="492" y="84">AS</text>
                    <text x="512" y="84">Z</text>
                    <text x="20" y="100">Path</text>
                    <text x="72" y="100">Segment</text>
                    <text x="112" y="100">1</text>
                    <text x="232" y="100">1</text>
                    <text x="296" y="100">3</text>
                    <text x="392" y="100">5</text>
                    <text x="456" y="100">1</text>
                    <text x="232" y="132">2</text>
                    <text x="296" y="132">2</text>
                    <text x="392" y="132">6</text>
                    <text x="456" y="132">5</text>
                    <text x="172" y="180">Egress</text>
                    <text x="208" y="180">2</text>
                    <text x="296" y="180">Ingress</text>
                    <text x="336" y="180">2</text>
                    <text x="352" y="180">-</text>
                    <text x="388" y="180">Egress</text>
                    <text x="424" y="180">6</text>
                    <text x="496" y="180">Ingress</text>
                    <text x="536" y="180">5</text>
                    <text x="164" y="260">Core</text>
                    <text x="196" y="260">AS</text>
                    <text x="216" y="260">X</text>
                    <text x="332" y="260">AS</text>
                    <text x="352" y="260">Y</text>
                    <text x="492" y="260">AS</text>
                    <text x="512" y="260">Z</text>
                    <text x="232" y="276">1</text>
                    <text x="296" y="276">3</text>
                    <text x="392" y="276">5</text>
                    <text x="464" y="276">1</text>
                    <text x="20" y="292">Path</text>
                    <text x="72" y="292">Segment</text>
                    <text x="112" y="292">2</text>
                    <text x="232" y="308">2</text>
                    <text x="296" y="308">2</text>
                    <text x="392" y="308">6</text>
                    <text x="456" y="308">5</text>
                    <text x="172" y="356">Egress</text>
                    <text x="208" y="356">2</text>
                    <text x="296" y="356">Ingress</text>
                    <text x="336" y="356">2</text>
                    <text x="352" y="356">-</text>
                    <text x="388" y="356">Egress</text>
                    <text x="424" y="356">5</text>
                    <text x="496" y="356">Ingress</text>
                    <text x="536" y="356">1</text>
                    <text x="164" y="436">Core</text>
                    <text x="196" y="436">AS</text>
                    <text x="216" y="436">X</text>
                    <text x="332" y="436">AS</text>
                    <text x="352" y="436">Y</text>
                    <text x="492" y="436">AS</text>
                    <text x="512" y="436">Z</text>
                    <text x="232" y="452">1</text>
                    <text x="296" y="452">3</text>
                    <text x="392" y="452">5</text>
                    <text x="456" y="452">1</text>
                    <text x="20" y="468">Path</text>
                    <text x="72" y="468">Segment</text>
                    <text x="112" y="468">3</text>
                    <text x="232" y="484">2</text>
                    <text x="296" y="484">2</text>
                    <text x="392" y="484">6</text>
                    <text x="456" y="484">5</text>
                    <text x="172" y="532">Egress</text>
                    <text x="208" y="532">1</text>
                    <text x="296" y="532">Ingress</text>
                    <text x="336" y="532">3</text>
                    <text x="352" y="532">-</text>
                    <text x="388" y="532">Egress</text>
                    <text x="424" y="532">6</text>
                    <text x="496" y="532">Ingress</text>
                    <text x="536" y="532">5</text>
                    <text x="164" y="612">Core</text>
                    <text x="196" y="612">AS</text>
                    <text x="216" y="612">X</text>
                    <text x="332" y="612">AS</text>
                    <text x="352" y="612">Y</text>
                    <text x="492" y="612">AS</text>
                    <text x="512" y="612">Z</text>
                    <text x="232" y="628">1</text>
                    <text x="296" y="628">3</text>
                    <text x="392" y="628">5</text>
                    <text x="456" y="628">1</text>
                    <text x="20" y="644">Path</text>
                    <text x="72" y="644">Segment</text>
                    <text x="112" y="644">4</text>
                    <text x="232" y="660">2</text>
                    <text x="296" y="660">2</text>
                    <text x="392" y="660">6</text>
                    <text x="456" y="660">5</text>
                    <text x="172" y="708">Egress</text>
                    <text x="208" y="708">1</text>
                    <text x="296" y="708">Ingress</text>
                    <text x="336" y="708">3</text>
                    <text x="352" y="708">-</text>
                    <text x="388" y="708">Egress</text>
                    <text x="424" y="708">5</text>
                    <text x="504" y="708">Ingress</text>
                    <text x="544" y="708">1</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                AS Entry Core        AS Entry Y          AS Entry Z

               +-------------+     +-------------+     +-------------+
               |  Core AS X  |     |    AS Y     |     |    AS Z     |
Path Segment 1 |            1+     +3           5+     +1            |
               |             |     |             |     |             |
               |            2+---o-+2-----------6+---o-+5            |
               |             |     |             |     |             |
               +-------------+     +-------------+     +-------------+
                  Egress 2       Ingress 2 - Egress 6     Ingress 5

----------------------------------------------------------------------

               +-------------+     +-------------+     +-------------+
               |  Core AS X  |     |    AS Y     |     |    AS Z     |
               |            1+     +3     +-----5+----o-+1           |
Path Segment 2 |             |     |      |      |     |             |
               |            2+---o-+2-----+     6+     +5            |
               |             |     |             |     |             |
               +-------------+     +-------------+     +-------------+
                  Egress 2       Ingress 2 - Egress 5     Ingress 1

----------------------------------------------------------------------

               +-------------+     +-------------+     +-------------+
               |  Core AS X  |     |    AS Y     |     |    AS Z     |
               |            1+---o-+3-----+     5+     +1            |
Path Segment 3 |             |     |      |      |     |             |
               |            2+     +2     +-----6+---o-+5            |
               |             |     |             |     |             |
               +-------------+     +-------------+     +-------------+
                  Egress 1       Ingress 3 - Egress 6     Ingress 5

----------------------------------------------------------------------

               +-------------+     +-------------+     +-------------+
               |  Core AS X  |     |    AS Y     |     |    AS Z     |
               |            1+---o-+3-----------5+---o-+1            |
Path Segment 4 |             |     |             |     |             |
               |            2+     +2           6+     +5            |
               |             |     |             |     |             |
               +-------------+     +-------------+     +-------------+
                  Egress 1       Ingress 3 - Egress 5      Ingress 1

]]></artwork>
            </artset>
          </figure>
          <t>According to <xref target="_figure-3a"/>, <xref target="_figure-3b"/> and <xref target="_figure-3c"/> above, it appears that a PCB represents a single path segment. However, there is a difference between a PCB and a registered path segment as a PCB is a so-called "travelling path segment" that accumulates AS entries when traversing SCION networks. A registered path segment is instead a "snapshot" of a travelling PCB at a given time T and from the vantage point of a particular AS A. This is illustrated by <xref target="_figure-4"/> which shows several possible path segments to reach AS Z, based on the PCBs "g", "h", "i", and "j" from <xref target="_figure-3c"/> above. It is up to AS Z to choose which of these path segments to use.</t>
        </section>
      </section>
      <section anchor="pcbs">
        <name>PCB Message Format</name>
        <t>Each PCB is comprised of a message containing the following top-level fields:</t>
        <figure anchor="_figure-6">
          <name>PCB Top-Level Message Format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="96" width="488" viewBox="0 0 488 96" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                <path d="M 120,32 L 120,64" fill="none" stroke="black"/>
                <path d="M 224,32 L 224,64" fill="none" stroke="black"/>
                <path d="M 328,32 L 328,64" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,64" fill="none" stroke="black"/>
                <path d="M 480,32 L 480,64" fill="none" stroke="black"/>
                <path d="M 8,32 L 480,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 480,64" fill="none" stroke="black"/>
                <g class="text">
                  <text x="40" y="52">Segment</text>
                  <text x="92" y="52">Info</text>
                  <text x="140" y="52">AS</text>
                  <text x="176" y="52">Entry</text>
                  <text x="208" y="52">0</text>
                  <text x="244" y="52">AS</text>
                  <text x="280" y="52">Entry</text>
                  <text x="312" y="52">1</text>
                  <text x="352" y="52">...</text>
                  <text x="396" y="52">AS</text>
                  <text x="432" y="52">Entry</text>
                  <text x="464" y="52">N</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+-------------+------------+------------+-----+------------+
|Segment Info | AS Entry 0 | AS Entry 1 | ... | AS Entry N |
+-------------+------------+------------+-----+------------+

]]></artwork>
          </artset>
        </figure>
        <t>Each PCB <bcp14>MUST</bcp14> consist of at least:</t>
        <ul spacing="normal">
          <li>
            <t>An information field with an identifier and a timestamp.</t>
          </li>
          <li>
            <t>Entries of all ASes on the path segment represented by this PCB.</t>
          </li>
        </ul>
        <t>The PCB top level Protobuf message format is:</t>
        <artwork><![CDATA[
   message PathSegment {
       bytes segment_info = 1;
       repeated ASEntry as_entries = 2;
   }
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>segment_info</tt>: This field is used as input for the PCB signature. It is the encoded version of the <tt>SegmentInformation</tt> component which provides basic information about the PCB. This component is specified in detail in <xref target="seginfo"/>.</t>
          </li>
          <li>
            <t><tt>as_entries</tt>: Contains the <tt>ASEntry</tt> component of all ASes on the path segment represented by this PCB. The order of the AS entries <bcp14>MUST</bcp14> correspond to the path traversal order in the PCB propagation direction.</t>
          </li>
          <li>
            <t><tt>ASEntry</tt>: The <tt>ASEntry</tt> component contains the complete path information of a specific AS that is part of the path segment represented by the PCB. This component is specified in detail in <xref target="as-entry"/>.</t>
          </li>
        </ul>
        <t>The information to be included in each of these fields is described below.</t>
        <section anchor="seginfo">
          <name>Segment Information</name>
          <figure anchor="_figure-7">
            <name>Segment Information Component</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="248" viewBox="0 0 248 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                  <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                  <path d="M 120,64 L 120,80" fill="none" stroke="black"/>
                  <path d="M 120,112 L 120,144" fill="none" stroke="black"/>
                  <path d="M 240,32 L 240,64" fill="none" stroke="black"/>
                  <path d="M 240,112 L 240,144" fill="none" stroke="black"/>
                  <path d="M 8,32 L 240,32" fill="none" stroke="black"/>
                  <path d="M 8,64 L 240,64" fill="none" stroke="black"/>
                  <path d="M 24,96 L 104,96" fill="none" stroke="black"/>
                  <path d="M 136,96 L 224,96" fill="none" stroke="black"/>
                  <path d="M 8,112 L 240,112" fill="none" stroke="black"/>
                  <path d="M 8,144 L 240,144" fill="none" stroke="black"/>
                  <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                  <path d="M 104,96 C 112.83064,96 120,88.83064 120,80" fill="none" stroke="black"/>
                  <path d="M 136,96 C 127.16936,96 120,88.83064 120,80" fill="none" stroke="black"/>
                  <path d="M 224,96 C 232.83064,96 240,103.16936 240,112" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="112" y="52">Segment</text>
                    <text x="164" y="52">Info</text>
                    <text x="64" y="132">Timestamp</text>
                    <text x="168" y="132">Seg</text>
                    <text x="196" y="132">ID</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
+----------------------------+
|         Segment Info       |
+-------------+--------------+
              |
 .-----------' '------------.
+-------------+--------------+
|  Timestamp  |    Seg ID    |
+-------------+--------------+

]]></artwork>
            </artset>
          </figure>
          <t>Each PCB <bcp14>MUST</bcp14> include a <tt>SegmentInformation</tt> message with basic information about the PCB. Its Protobuf message format is:</t>
          <artwork><![CDATA[
   message SegmentInformation {
       int64 timestamp = 1;
       uint32 segment_id = 2;
   }
]]></artwork>
          <ul spacing="normal">
            <li>
              <t><tt>timestamp</tt>: The timestamp indicates the creation time of this PCB. It is set by the originating core AS and the expiration time of each Hop Field in the PCB is computed relative to this timestamp. The timestamp is encoded as the number of seconds elapsed since the POSIX Epoch (1970-01-01 00:00:00 UTC). Note that this timestamp is encoded as a 32-bit unsigned integer in <xref target="I-D.dekater-scion-dataplane"/>.</t>
            </li>
            <li>
              <t><tt>segment_id</tt>: The 16-bit identifier of this PCB and the corresponding path segment. The segment ID is <bcp14>REQUIRED</bcp14> for the computation of the message authentication code (MAC) of an AS's Hop Field. The MAC is used for Hop Field verification in the data plane and the originating core AS <bcp14>MUST</bcp14> fill this field with a cryptographically random number.</t>
            </li>
          </ul>
          <t><strong>Note:</strong> See <xref target="hopfield"/> for more information on the Hop Field message format. <xref target="I-D.dekater-scion-dataplane"/> provides a detailed description of the computation of the MAC and the verification of the Hop Field in the data plane.</t>
        </section>
        <section anchor="as-entry">
          <name>AS Entry</name>
          <figure anchor="_figure-8">
            <name>AS Entry</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="552" viewBox="0 0 552 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                  <path d="M 200,112 L 200,144" fill="none" stroke="black"/>
                  <path d="M 224,32 L 224,64" fill="none" stroke="black"/>
                  <path d="M 280,64 L 280,80" fill="none" stroke="black"/>
                  <path d="M 344,32 L 344,64" fill="none" stroke="black"/>
                  <path d="M 544,112 L 544,144" fill="none" stroke="black"/>
                  <path d="M 224,32 L 344,32" fill="none" stroke="black"/>
                  <path d="M 224,64 L 344,64" fill="none" stroke="black"/>
                  <path d="M 24,96 L 264,96" fill="none" stroke="black"/>
                  <path d="M 296,96 L 528,96" fill="none" stroke="black"/>
                  <path d="M 8,112 L 544,112" fill="none" stroke="black"/>
                  <path d="M 8,144 L 544,144" fill="none" stroke="black"/>
                  <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                  <path d="M 264,96 C 272.83064,96 280,88.83064 280,80" fill="none" stroke="black"/>
                  <path d="M 296,96 C 287.16936,96 280,88.83064 280,80" fill="none" stroke="black"/>
                  <path d="M 528,96 C 536.83064,96 544,103.16936 544,112" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="260" y="52">AS</text>
                    <text x="296" y="52">Entry</text>
                    <text x="60" y="132">Unsigned</text>
                    <text x="136" y="132">Extension</text>
                    <text x="332" y="132">Signed</text>
                    <text x="372" y="132">AS</text>
                    <text x="408" y="132">Entry</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                           +--------------+
                           |   AS Entry   |
                           +------+-------+
                                  |
 .-------------------------------' '------------------------------.
+-----------------------+------------------------------------------+
|  Unsigned Extension   |             Signed AS Entry              |
+-----------------------+------------------------------------------+

]]></artwork>
            </artset>
          </figure>
          <t>Each PCB <bcp14>MUST</bcp14> also contain the entries of all ASes included in the corresponding path segment. This means that the originating core AS <bcp14>MUST</bcp14> add its AS entry to each PCB it creates, and each traversed AS <bcp14>MUST</bcp14> attach its AS entry to the PCB.</t>
          <t>One AS entry contains the complete hop information for this specific AS in this specific path segment. It consists of a signed and an unsigned component.</t>
          <t>The code block below defines an AS entry <tt>ASEntry</tt> in Protobuf message format.</t>
          <artwork><![CDATA[
   message ASEntry {
       SignedMessage signed = 1;
       PathSegmentUnsignedExtensions unsigned = 2;
   }
]]></artwork>
          <t>It includes the following components:</t>
          <ul spacing="normal">
            <li>
              <t><tt>SignedMessage</tt>: The AS entry signed component.</t>
            </li>
            <li>
              <t><tt>PathSegmentUnsignedExtensions</tt>: Optional unsigned PCB extensions, further described in <xref target="pcb-ext"/>.</t>
            </li>
          </ul>
          <figure anchor="_figure-9">
            <name>AS Entry Signed Component</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="576" viewBox="0 0 576 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                  <path d="M 72,32 L 72,64" fill="none" stroke="black"/>
                  <path d="M 176,112 L 176,144" fill="none" stroke="black"/>
                  <path d="M 288,64 L 288,80" fill="none" stroke="black"/>
                  <path d="M 328,112 L 328,144" fill="none" stroke="black"/>
                  <path d="M 512,32 L 512,64" fill="none" stroke="black"/>
                  <path d="M 568,112 L 568,144" fill="none" stroke="black"/>
                  <path d="M 72,32 L 512,32" fill="none" stroke="black"/>
                  <path d="M 72,64 L 512,64" fill="none" stroke="black"/>
                  <path d="M 24,96 L 272,96" fill="none" stroke="black"/>
                  <path d="M 304,96 L 552,96" fill="none" stroke="black"/>
                  <path d="M 8,112 L 568,112" fill="none" stroke="black"/>
                  <path d="M 8,144 L 568,144" fill="none" stroke="black"/>
                  <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                  <path d="M 272,96 C 280.83064,96 288,88.83064 288,80" fill="none" stroke="black"/>
                  <path d="M 304,96 C 295.16936,96 288,88.83064 288,80" fill="none" stroke="black"/>
                  <path d="M 552,96 C 560.83064,96 568,103.16936 568,112" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="252" y="52">Signed</text>
                    <text x="292" y="52">AS</text>
                    <text x="328" y="52">Entry</text>
                    <text x="88" y="132">Signature</text>
                    <text x="252" y="132">Header</text>
                    <text x="452" y="132">Body</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
        +------------------------------------------------------+
        |                   Signed AS Entry                    |
        +--------------------------+---------------------------+
                                   |
 .--------------------------------' '--------------------------------.
+--------------------+------------------+-----------------------------+
|     Signature      |      Header      |             Body            |
+--------------------+------------------+-----------------------------+

]]></artwork>
            </artset>
          </figure>
          <t>Each AS entry of a PCB <bcp14>MUST</bcp14> include a signed component as well as a signature computed over the signed component. Each AS entry <bcp14>MUST</bcp14> be signed with the Control Plane AS Certificate (see <xref target="I-D.dekater-scion-pki"/>).</t>
          <t>The signed component of an AS entry <bcp14>MUST</bcp14> include the following elements:</t>
          <ul spacing="normal">
            <li>
              <t>a header,</t>
            </li>
            <li>
              <t>a body, and</t>
            </li>
            <li>
              <t>a signature.</t>
            </li>
          </ul>
          <t>In the Protobuf message format, the signed component of an AS entry is specified by the <tt>SignedMessage</tt>. It consists of a header-and-body part (<tt>header_and_body</tt>) and a raw signature (<tt>signature</tt>). Their protobuf message formats are:</t>
          <artwork><![CDATA[
   message SignedMessage {
       bytes header_and_body = 1;
       bytes signature = 2;
   }
]]></artwork>
          <t>Protobuf definition of the <tt>HeaderAndBody</tt> message used for signature computation input.</t>
          <artwork><![CDATA[
   message HeaderAndBody {
       bytes header = 1;
       bytes body = 2;
   }
]]></artwork>
          <t>The Signed Header, Signed Body, and Signature Fields are detailed below.</t>
          <section anchor="ase-header">
            <name>AS Entry Signed Header</name>
            <figure anchor="_figure-10">
              <name>AS Entry Signed Header</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="512" viewBox="0 0 512 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                    <path d="M 48,192 L 48,224" fill="none" stroke="black"/>
                    <path d="M 88,112 L 88,160" fill="none" stroke="black"/>
                    <path d="M 128,192 L 128,224" fill="none" stroke="black"/>
                    <path d="M 184,32 L 184,64" fill="none" stroke="black"/>
                    <path d="M 208,192 L 208,224" fill="none" stroke="black"/>
                    <path d="M 248,112 L 248,160" fill="none" stroke="black"/>
                    <path d="M 256,64 L 256,80" fill="none" stroke="black"/>
                    <path d="M 312,192 L 312,224" fill="none" stroke="black"/>
                    <path d="M 328,32 L 328,64" fill="none" stroke="black"/>
                    <path d="M 328,112 L 328,144" fill="none" stroke="black"/>
                    <path d="M 400,112 L 400,144" fill="none" stroke="black"/>
                    <path d="M 432,192 L 432,224" fill="none" stroke="black"/>
                    <path d="M 504,112 L 504,144" fill="none" stroke="black"/>
                    <path d="M 184,32 L 328,32" fill="none" stroke="black"/>
                    <path d="M 184,64 L 328,64" fill="none" stroke="black"/>
                    <path d="M 24,96 L 240,96" fill="none" stroke="black"/>
                    <path d="M 272,96 L 488,96" fill="none" stroke="black"/>
                    <path d="M 8,112 L 504,112" fill="none" stroke="black"/>
                    <path d="M 8,144 L 504,144" fill="none" stroke="black"/>
                    <path d="M 64,176 L 72,176" fill="none" stroke="black"/>
                    <path d="M 264,176 L 416,176" fill="none" stroke="black"/>
                    <path d="M 48,192 L 432,192" fill="none" stroke="black"/>
                    <path d="M 48,224 L 432,224" fill="none" stroke="black"/>
                    <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                    <path d="M 240,96 C 248.83064,96 256,88.83064 256,80" fill="none" stroke="black"/>
                    <path d="M 272,96 C 263.16936,96 256,88.83064 256,80" fill="none" stroke="black"/>
                    <path d="M 488,96 C 496.83064,96 504,103.16936 504,112" fill="none" stroke="black"/>
                    <path d="M 64,176 C 55.16936,176 48,183.16936 48,192" fill="none" stroke="black"/>
                    <path d="M 72,176 C 80.83064,176 88,168.83064 88,160" fill="none" stroke="black"/>
                    <path d="M 264,176 C 255.16936,176 248,168.83064 248,160" fill="none" stroke="black"/>
                    <path d="M 416,176 C 424.83064,176 432,183.16936 432,192" fill="none" stroke="black"/>
                    <g class="text">
                      <text x="252" y="52">Header</text>
                      <text x="28" y="132">Sig.</text>
                      <text x="68" y="132">Alg.</text>
                      <text x="140" y="132">Verification</text>
                      <text x="208" y="132">Key</text>
                      <text x="236" y="132">ID</text>
                      <text x="288" y="132">Timestamp</text>
                      <text x="364" y="132">Metadata</text>
                      <text x="452" y="132">AssocDataLen</text>
                      <text x="84" y="212">ISD-AS</text>
                      <text x="144" y="212">TRC</text>
                      <text x="180" y="212">Base</text>
                      <text x="232" y="212">TRC</text>
                      <text x="276" y="212">Serial</text>
                      <text x="344" y="212">Subject</text>
                      <text x="392" y="212">Key</text>
                      <text x="420" y="212">ID</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art"><![CDATA[
                      +-----------------+
                      |     Header      |
                      +--------+--------+
                               |
 .----------------------------' '----------------------------.
+---------+-------------------+---------+--------+------------+
|Sig. Alg.|Verification Key ID|Timestamp|Metadata|AssocDataLen|
+---------+-------------------+---------+--------+------------+
          |                   |
      .--'                     '--------------------.
     +---------+---------+------------+--------------+
     | ISD-AS  |TRC Base | TRC Serial |Subject Key ID|
     +---------+---------+------------+--------------+

]]></artwork>
              </artset>
            </figure>
            <t>The header part carries information that is relevant to the computation and verification of the signature. It contains the following fields:</t>
            <ul spacing="normal">
              <li>
                <t><tt>signature_algorithm</tt>: Specifies the algorithm to compute the signature. Possible types are defined by the <tt>SignatureAlgorithm</tt> definition and are further discussed in <xref target="I-D.dekater-scion-pki"/>, but an unspecified signature algorithm is never valid. Other signature algorithms or curves <bcp14>MAY</bcp14> be used in the future. This field is <bcp14>REQUIRED</bcp14>.</t>
              </li>
              <li>
                <t><tt>verification_key_id</tt>: Contains a <tt>VerificationKeyID</tt> message, carrying information relevant to signing and verifying PCBs and other control-plane messages. This field is <bcp14>REQUIRED</bcp14>.</t>
              </li>
              <li>
                <t><tt>timestamp</tt>: Defines the signature creation timestamp. This field is <bcp14>OPTIONAL</bcp14>.</t>
              </li>
              <li>
                <t><tt>metadata</tt>: May include metadata. While it is part of the generic <tt>Header</tt> message format, it <bcp14>MUST</bcp14> be empty in an AS entry signed header. This field is <bcp14>OPTIONAL</bcp14>.</t>
              </li>
              <li>
                <t><tt>associated_data_length</tt>: Specifies the length of the data covered by the signature but not included within the header or body. This data contains information about preceding AS entries, as described in <xref target="sign"/>. The value of this field is zero if no associated data is covered by the signature.</t>
              </li>
            </ul>
            <t>The <tt>Header</tt> and <tt>SignatureAlgorithm</tt> protobuf message formats are:</t>
            <artwork><![CDATA[
   message Header {
       SignatureAlgorithm signature_algorithm = 1;
       bytes verification_key_id = 2;
       google.protobuf.Timestamp timestamp = 3;
       bytes metadata = 4;
       int32 associated_data_length = 5;
   }

  enum SignatureAlgorithm {
    SIGNATURE_ALGORITHM_UNSPECIFIED = 0;
    SIGNATURE_ALGORITHM_ECDSA_WITH_SHA256 = 1;
    SIGNATURE_ALGORITHM_ECDSA_WITH_SHA384 = 2;
    SIGNATURE_ALGORITHM_ECDSA_WITH_SHA512 = 3;
  }
]]></artwork>
            <t>The <tt>VerificationKeyID</tt> message contains the following <bcp14>REQUIRED</bcp14> fields:</t>
            <ul spacing="normal">
              <li>
                <t><tt>isd_as</tt>: The ISD-AS number of the current AS.</t>
              </li>
              <li>
                <t><tt>subject_key_id</tt>: Refers to the certificate that contains the public key needed to verify this PCB's signature.</t>
              </li>
              <li>
                <t><tt>trc_base</tt>: Defines the <em>base</em> number of the latest Trust Root Configuration (TRC) available to the signer at the time of the signature creation.</t>
              </li>
              <li>
                <t><tt>trc_serial</tt>: Defines the <em>serial</em> number of the latest TRC available to the signer at the time of the signature creation.</t>
              </li>
            </ul>
            <t>Its protobuf message format is:</t>
            <artwork><![CDATA[
   message VerificationKeyID {
       uint64 isd_as = 1;
       bytes subject_key_id = 2;
       uint64 trc_base = 3;
       uint64 trc_serial = 4;
   }
]]></artwork>
            <t>For more information on signing and verifying control plane messages (such as PCBs), see 'Signing and Verifying Control Plane Messages' in <xref target="I-D.dekater-scion-pki"/>. For more information on the TRC base and serial number, see 'Trust Root Configuration Specification' in <xref target="I-D.dekater-scion-pki"/>.</t>
          </section>
          <section anchor="ase-sign">
            <name>AS Entry Signed Body</name>
            <figure anchor="_figure-11">
              <name>AS Entry Signed Body</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="576" viewBox="0 0 576 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                    <path d="M 64,112 L 64,144" fill="none" stroke="black"/>
                    <path d="M 136,32 L 136,64" fill="none" stroke="black"/>
                    <path d="M 160,112 L 160,144" fill="none" stroke="black"/>
                    <path d="M 240,112 L 240,144" fill="none" stroke="black"/>
                    <path d="M 288,64 L 288,80" fill="none" stroke="black"/>
                    <path d="M 352,112 L 352,144" fill="none" stroke="black"/>
                    <path d="M 384,112 L 384,144" fill="none" stroke="black"/>
                    <path d="M 448,32 L 448,64" fill="none" stroke="black"/>
                    <path d="M 496,112 L 496,144" fill="none" stroke="black"/>
                    <path d="M 528,112 L 528,144" fill="none" stroke="black"/>
                    <path d="M 568,112 L 568,144" fill="none" stroke="black"/>
                    <path d="M 136,32 L 448,32" fill="none" stroke="black"/>
                    <path d="M 136,64 L 448,64" fill="none" stroke="black"/>
                    <path d="M 24,96 L 272,96" fill="none" stroke="black"/>
                    <path d="M 304,96 L 552,96" fill="none" stroke="black"/>
                    <path d="M 8,112 L 568,112" fill="none" stroke="black"/>
                    <path d="M 8,144 L 568,144" fill="none" stroke="black"/>
                    <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                    <path d="M 272,96 C 280.83064,96 288,88.83064 288,80" fill="none" stroke="black"/>
                    <path d="M 304,96 C 295.16936,96 288,88.83064 288,80" fill="none" stroke="black"/>
                    <path d="M 552,96 C 560.83064,96 568,103.16936 568,112" fill="none" stroke="black"/>
                    <g class="text">
                      <text x="292" y="52">Body</text>
                      <text x="36" y="132">ISD-AS</text>
                      <text x="84" y="132">Next</text>
                      <text x="132" y="132">ISD-AS</text>
                      <text x="176" y="132">Hop</text>
                      <text x="216" y="132">Entry</text>
                      <text x="260" y="132">Peer</text>
                      <text x="304" y="132">Entry</text>
                      <text x="336" y="132">0</text>
                      <text x="368" y="132">...</text>
                      <text x="404" y="132">Peer</text>
                      <text x="448" y="132">Entry</text>
                      <text x="480" y="132">N</text>
                      <text x="512" y="132">MTU</text>
                      <text x="548" y="132">Ext.</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art"><![CDATA[
                +--------------------------------------+
                |                 Body                 |
                +------------------+-------------------+
                                   |
 .--------------------------------' '--------------------------------.
+------+-----------+---------+-------------+---+-------------+---+----+
|ISD-AS|Next ISD-AS|Hop Entry|Peer Entry 0 |...|Peer Entry N |MTU|Ext.|
+------+-----------+---------+-------------+---+-------------+---+----+

]]></artwork>
              </artset>
            </figure>
            <t>The body of an AS entry <bcp14>MUST</bcp14> consist of the signed component <tt>ASEntrySignedBody</tt> of all the ASes in the path segment represented by the PCB, up until and including the current AS. Its Protobuf message format is:</t>
            <artwork><![CDATA[
   message ASEntrySignedBody {
       uint64 isd_as = 1;
       uint64 next_isd_as = 2;
       HopEntry hop_entry = 3;
       repeated PeerEntry peer_entries = 4;
       uint32 mtu = 5;
       PathSegmentExtensions extensions = 6;
   }
]]></artwork>
            <ul spacing="normal">
              <li>
                <t><tt>isd_as</tt>: The ISD-AS number of the AS that created this AS entry.</t>
              </li>
              <li>
                <t><tt>next_isd_as</tt>: The ISD-AS number of the downstream AS to which the PCB <bcp14>MUST</bcp14> be forwarded. The presence of this field prevents path hijacking attacks, as further discussed in <xref target="path-hijack"/>.</t>
              </li>
              <li>
                <t><tt>hop_entry</tt>: The hop entry (<tt>HopEntry</tt>) with the information required by the data plane to forward this PCB through the current AS to the next AS. For the specification of the hop entry, see <xref target="hopentry"/>.</t>
              </li>
              <li>
                <t><tt>peer_entries</tt>: The list of optional peer entries (<tt>PeerEntry</tt>). For a specification of one peer entry, see <xref target="peerentry"/>.</t>
              </li>
              <li>
                <t><tt>mtu</tt>: The maximum transmission unit (MTU) in bytes that is supported by all intra-domain links within the current AS. This value is set by the Control Service when adding the AS entry to the beacon. How the Control Service obtains this information is implementation dependent, but current practice is to make it a configuration item.</t>
              </li>
              <li>
                <t><tt>extensions</tt>: List of signed extensions (optional). PCB extensions defined here are part of the signed AS entry. This field <bcp14>SHOULD</bcp14> therefore only contain extensions that include important metadata for which cryptographic protection is required. For more information on PCB extensions, see <xref target="pcb-ext"/>.</t>
              </li>
            </ul>
          </section>
          <section anchor="hopentry">
            <name>Hop Entry</name>
            <figure anchor="_figure-12">
              <name>Hop Entry</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="240" viewBox="0 0 240 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                    <path d="M 72,32 L 72,64" fill="none" stroke="black"/>
                    <path d="M 120,64 L 120,80" fill="none" stroke="black"/>
                    <path d="M 120,112 L 120,144" fill="none" stroke="black"/>
                    <path d="M 168,32 L 168,64" fill="none" stroke="black"/>
                    <path d="M 232,112 L 232,144" fill="none" stroke="black"/>
                    <path d="M 72,32 L 168,32" fill="none" stroke="black"/>
                    <path d="M 72,64 L 168,64" fill="none" stroke="black"/>
                    <path d="M 24,96 L 104,96" fill="none" stroke="black"/>
                    <path d="M 136,96 L 216,96" fill="none" stroke="black"/>
                    <path d="M 8,112 L 232,112" fill="none" stroke="black"/>
                    <path d="M 8,144 L 232,144" fill="none" stroke="black"/>
                    <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                    <path d="M 104,96 C 112.83064,96 120,88.83064 120,80" fill="none" stroke="black"/>
                    <path d="M 136,96 C 127.16936,96 120,88.83064 120,80" fill="none" stroke="black"/>
                    <path d="M 216,96 C 224.83064,96 232,103.16936 232,112" fill="none" stroke="black"/>
                    <g class="text">
                      <text x="96" y="52">Hop</text>
                      <text x="136" y="52">Entry</text>
                      <text x="48" y="132">Ingress</text>
                      <text x="96" y="132">MTU</text>
                      <text x="152" y="132">Hop</text>
                      <text x="192" y="132">Field</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art"><![CDATA[
        +-----------+
        | Hop Entry |
        +-----+-----+
              |
 .-----------' '-----------.
+-------------+-------------+
| Ingress MTU |  Hop Field  |
+-------------+-------------+

]]></artwork>
              </artset>
            </figure>
            <t>Each body of an AS entry <bcp14>MUST</bcp14> contain exactly one hop entry. It specifies forwarding information which the data plane requires to create the hop through the current AS (in the direction of the beaconing).</t>
            <t>The <tt>HopEntry</tt> Protobuf message format is:</t>
            <artwork><![CDATA[
   message HopEntry {
       HopField hop_field = 1;
       uint32 ingress_mtu = 2;
   }
]]></artwork>
            <ul spacing="normal">
              <li>
                <t><tt>hop_field</tt>: Contains the authenticated information about the ingress and egress interfaces in the direction of beaconing. Routers need this information to forward packets through the current AS. For further specifications, see <xref target="hopfield"/>.</t>
              </li>
              <li>
                <t><tt>ingress_mtu</tt>: Specifies the maximum transmission unit (MTU) of the ingress interface (in beaconing direction) of the hop being described. The MTU of paths constructed from the containing beacon is necessarily less than or equal to this value. How the Control Service obtains the MTU of an inter-AS link is implementation dependent. It may be discovered or configured by operators, but current practice to make it a configuration item. Path MTU is further discussed in <xref target="path-mtu"/>.</t>
              </li>
            </ul>
            <t>In this description, MTU and packet size are to be understood in the same sense as in <xref target="RFC1122"/>. That is, exclusive of any layer 2 framing or packet encapsulation (for links using an underlay network).</t>
          </section>
          <section anchor="peerentry">
            <name>Peer Entry</name>
            <figure anchor="_figure-14">
              <name>Peer Entry</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="488" viewBox="0 0 488 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                    <path d="M 120,112 L 120,144" fill="none" stroke="black"/>
                    <path d="M 184,32 L 184,64" fill="none" stroke="black"/>
                    <path d="M 224,112 L 224,144" fill="none" stroke="black"/>
                    <path d="M 248,64 L 248,80" fill="none" stroke="black"/>
                    <path d="M 304,32 L 304,64" fill="none" stroke="black"/>
                    <path d="M 344,112 L 344,144" fill="none" stroke="black"/>
                    <path d="M 480,112 L 480,144" fill="none" stroke="black"/>
                    <path d="M 184,32 L 304,32" fill="none" stroke="black"/>
                    <path d="M 184,64 L 304,64" fill="none" stroke="black"/>
                    <path d="M 24,96 L 232,96" fill="none" stroke="black"/>
                    <path d="M 264,96 L 464,96" fill="none" stroke="black"/>
                    <path d="M 8,112 L 480,112" fill="none" stroke="black"/>
                    <path d="M 8,144 L 480,144" fill="none" stroke="black"/>
                    <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                    <path d="M 232,96 C 240.83064,96 248,88.83064 248,80" fill="none" stroke="black"/>
                    <path d="M 264,96 C 255.16936,96 248,88.83064 248,80" fill="none" stroke="black"/>
                    <path d="M 464,96 C 472.83064,96 480,103.16936 480,112" fill="none" stroke="black"/>
                    <g class="text">
                      <text x="220" y="52">Peer</text>
                      <text x="264" y="52">Entry</text>
                      <text x="40" y="132">Hop</text>
                      <text x="80" y="132">Field</text>
                      <text x="156" y="132">Peer</text>
                      <text x="192" y="132">MTU</text>
                      <text x="252" y="132">Peer</text>
                      <text x="300" y="132">ISD-AS</text>
                      <text x="372" y="132">Peer</text>
                      <text x="432" y="132">Interface</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art"><![CDATA[
                      +--------------+
                      |  Peer Entry  |
                      +-------+------+
                              |
 .---------------------------' '--------------------------.
+-------------+------------+--------------+----------------+
|  Hop Field  |  Peer MTU  | Peer ISD-AS  | Peer Interface |
+-------------+------------+--------------+----------------+

]]></artwork>
              </artset>
            </figure>
            <t>By means of a peer entry, an AS can announce that it has a peering link to another AS. A peer entry is an optional component of a PCB, and is only included if there is a peering link to a peer AS.</t>
            <t>The <tt>PeerEntry</tt> Protobuf message format is:</t>
            <artwork><![CDATA[
   message PeerEntry {
       uint64 peer_isd_as = 1;
       uint64 peer_interface = 2;
       uint32 peer_mtu = 3;
       HopField hop_field = 4;
   }
]]></artwork>
            <ul spacing="normal">
              <li>
                <t><tt>peer_isd_as</tt>: The ISD-AS number of the peer AS. This number is used to match peering segments during path construction.</t>
              </li>
              <li>
                <t><tt>peer_interface</tt>: The 16-bit interface identifier of the peering link on the peer AS side. This identifier is used to match peering segments during path construction.</t>
              </li>
              <li>
                <t><tt>peer_mtu</tt>: Specifies the maximum transmission unit (MTU) of the peering link being described. The MTU of paths via such link is necessarily less than or equal to this value. How the Control Service obtains the MTU of an inter-AS link is implementation dependent. It may be discovered or configured, but current practice is to make it a configuration item.</t>
              </li>
              <li>
                <t><tt>hop_field</tt>: Contains authenticated information about the ingress and egress interfaces in the current AS (coming from the peering link, in the direction of beaconing - see also <xref target="_figure-6"/>). The data plane needs this information to forward packets through the current AS. For further specifications, see <xref target="hopfield"/>.</t>
              </li>
            </ul>
            <t>In this description, MTU and packet size are to be understood in the same sense as in <xref target="RFC1122"/>. That is, exclusive of any layer 2 framing or packet encapsulation (for links using an underlay network).</t>
            <figure anchor="_figure-15">
              <name>Peer entry information, in the direction of beaconing. PE denotes a peer entry, ASE an AS entry, HF an hop field.</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="432" width="432" viewBox="0 0 432 432" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,160 L 8,288" fill="none" stroke="black"/>
                    <path d="M 32,32 L 32,96" fill="none" stroke="black"/>
                    <path d="M 40,352 L 40,416" fill="none" stroke="black"/>
                    <path d="M 80,96 L 80,280" fill="none" stroke="black"/>
                    <path d="M 88,288 L 88,352" fill="none" stroke="black"/>
                    <path d="M 96,208 L 96,280" fill="none" stroke="black"/>
                    <path d="M 128,32 L 128,96" fill="none" stroke="black"/>
                    <path d="M 136,352 L 136,416" fill="none" stroke="black"/>
                    <path d="M 176,160 L 176,288" fill="none" stroke="black"/>
                    <path d="M 328,176 L 328,240" fill="none" stroke="black"/>
                    <path d="M 424,176 L 424,240" fill="none" stroke="black"/>
                    <path d="M 32,32 L 128,32" fill="none" stroke="black"/>
                    <path d="M 32,96 L 128,96" fill="none" stroke="black"/>
                    <path d="M 8,160 L 176,160" fill="none" stroke="black"/>
                    <path d="M 328,176 L 424,176" fill="none" stroke="black"/>
                    <path d="M 96,208 L 176,208" fill="none" stroke="black"/>
                    <path d="M 192,208 L 312,208" fill="none" stroke="black"/>
                    <path d="M 328,240 L 424,240" fill="none" stroke="black"/>
                    <path d="M 8,288 L 176,288" fill="none" stroke="black"/>
                    <path d="M 40,352 L 136,352" fill="none" stroke="black"/>
                    <path d="M 40,416 L 136,416" fill="none" stroke="black"/>
                    <polygon class="arrowhead" points="104,280 92,274.4 92,285.6" fill="black" transform="rotate(90,96,280)"/>
                    <polygon class="arrowhead" points="88,280 76,274.4 76,285.6" fill="black" transform="rotate(90,80,280)"/>
                    <circle cx="80" cy="144" r="6" class="opendot" fill="white" stroke="black"/>
                    <circle cx="88" cy="336" r="6" class="opendot" fill="white" stroke="black"/>
                    <g class="text">
                      <text x="68" y="68">Parent</text>
                      <text x="108" y="68">AS</text>
                      <text x="148" y="148">ASE.HF.ingress</text>
                      <text x="276" y="180">PE.peer_</text>
                      <text x="280" y="196">interface</text>
                      <text x="184" y="212">p</text>
                      <text x="320" y="212">p</text>
                      <text x="364" y="212">Peer</text>
                      <text x="396" y="212">AS</text>
                      <text x="240" y="228">PE.HF.ingress</text>
                      <text x="148" y="308">PE.HF.egress</text>
                      <text x="152" y="324">ASE.HF.egress</text>
                      <text x="72" y="388">Child</text>
                      <text x="108" y="388">AS</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art"><![CDATA[
   +-----------+
   |           |
   | Parent AS |
   |           |
   +-----+-----+
         |
         |
         o ASE.HF.ingress
+--------+-----------+
|        |           |        PE.peer_  +-----------+
|        |           |        interface |           |
|        | +---------+p----------------p+  Peer AS  |
|        | |         | PE.HF.ingress    |           |
|        | |         |                  +-----------+
|        | |         |
|        v v         |
+---------+----------+
          | PE.HF.egress
          | ASE.HF.egress
          o
    +-----+-----+
    |           |
    | Child AS  |
    |           |
    +-----------+
]]></artwork>
              </artset>
            </figure>
          </section>
          <section anchor="hopfield">
            <name>Hop Field</name>
            <figure anchor="_figure-13">
              <name>Hop Field</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="488" viewBox="0 0 488 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                    <path d="M 120,112 L 120,144" fill="none" stroke="black"/>
                    <path d="M 184,32 L 184,64" fill="none" stroke="black"/>
                    <path d="M 232,64 L 232,80" fill="none" stroke="black"/>
                    <path d="M 232,112 L 232,144" fill="none" stroke="black"/>
                    <path d="M 280,32 L 280,64" fill="none" stroke="black"/>
                    <path d="M 392,112 L 392,144" fill="none" stroke="black"/>
                    <path d="M 480,112 L 480,144" fill="none" stroke="black"/>
                    <path d="M 184,32 L 280,32" fill="none" stroke="black"/>
                    <path d="M 184,64 L 280,64" fill="none" stroke="black"/>
                    <path d="M 24,96 L 216,96" fill="none" stroke="black"/>
                    <path d="M 248,96 L 464,96" fill="none" stroke="black"/>
                    <path d="M 8,112 L 480,112" fill="none" stroke="black"/>
                    <path d="M 8,144 L 480,144" fill="none" stroke="black"/>
                    <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
                    <path d="M 216,96 C 224.83064,96 232,88.83064 232,80" fill="none" stroke="black"/>
                    <path d="M 248,96 C 239.16936,96 232,88.83064 232,80" fill="none" stroke="black"/>
                    <path d="M 464,96 C 472.83064,96 480,103.16936 480,112" fill="none" stroke="black"/>
                    <g class="text">
                      <text x="208" y="52">Hop</text>
                      <text x="248" y="52">Entry</text>
                      <text x="64" y="132">Ingress</text>
                      <text x="180" y="132">Egress</text>
                      <text x="292" y="132">Expiration</text>
                      <text x="356" y="132">Time</text>
                      <text x="432" y="132">MAC</text>
                    </g>
                  </svg>
                </artwork>
                <artwork type="ascii-art"><![CDATA[
                      +-----------+
                      | Hop Entry |
                      +-----+-----+
                            |
 .-------------------------' '----------------------------.
+-------------+-------------+-------------------+----------+
|   Ingress   |    Egress   |  Expiration Time  |   MAC    |
+-------------+-------------+-------------------+----------+

]]></artwork>
              </artset>
            </figure>
            <t>The Hop Field, part of both hop and peer entries, is used directly in the data plane for packet forwarding and specifies the incoming and outgoing interfaces of the ASes on the forwarding path. This information is authenticated with a Message Authentication Code (MAC) which is used by the Control Service of an AS to authenticate path segments with its border routers during packet forwarding.</t>
            <t>The algorithm used to compute the Hop Field MAC is an AS-specific choice, although the Control Services and border routers within an AS <bcp14>MUST</bcp14> use the same algorithm. Implementations <bcp14>MUST</bcp14> also support the Default Hop Field MAC algorithm. See <xref target="I-D.dekater-scion-dataplane"/> section "Authorizing Segments through Chained MACs" for more information including configuration. Endpoints do not compute MACs.</t>
            <t>The <tt>HopField</tt> Protobuf message format is:</t>
            <artwork><![CDATA[
   message HopField {
       uint64 ingress = 1;
       uint64 egress = 2;
       uint32 exp_time = 3;
       bytes mac = 4;
   }

]]></artwork>
            <ul spacing="normal">
              <li>
                <t><tt>ingress</tt>: The 16-bit ingress interface identifier (in the direction of the path construction. That is, in the direction of beaconing through the current AS).</t>
              </li>
            </ul>
            <t><strong>Note:</strong> The core AS originating a PCB <bcp14>MUST</bcp14> set the ingress interface identifier to the "unspecified" value (see <xref target="I-D.dekater-scion-dataplane"/> section "Terminology").</t>
            <ul spacing="normal">
              <li>
                <t><tt>egress</tt>: The 16-bit egress interface identifier (in the direction of beaconing).</t>
              </li>
              <li>
                <t><tt>exp_time</tt>: The 8-bit encoded expiration time of the Hop Field, indicating its validity. This field expresses a duration in seconds according to the formula: <tt>duration = (1 + exp_time) * (24*60*60/256)</tt> and the minimum duration is therefore 337.5 seconds. This duration is relative to the PCB creation timestamp set in the PCB's segment information component (see also <xref target="seginfo"/>), so the absolute expiration time of the Hop Field is the sum of these two values.</t>
              </li>
              <li>
                <t><tt>mac</tt>: The message authentication code (MAC) used in the data plane to verify the Hop Field, as described in <xref target="I-D.dekater-scion-dataplane"/>.</t>
              </li>
            </ul>
          </section>
          <section anchor="sign">
            <name>AS Entry Signature</name>
            <t>Each AS entry <bcp14>MUST</bcp14> be signed with the AS certificate's private key K<sub>i</sub>. The certificate <bcp14>MUST</bcp14> have a validity period that is longer than the Hop Field absolute expiration time (described in <xref target="hopfield"/>). The signature Sig<sub>i</sub> of an AS entry ASE<sub>i</sub> is computed over the AS entry's signed component.</t>
            <t>This is the input for the computation of the signature:</t>
            <ul spacing="normal">
              <li>
                <t>The signed header and body of the current AS (<tt>header_and_body</tt>).</t>
              </li>
              <li>
                <t>The <tt>segment_info</tt> component of the current AS. This is the encoded version of the <tt>SegmentInformation</tt> component containing basic information about the path segment represented by the PCB. For the specification of <tt>SegmentInformation</tt>, see <xref target="seginfo"/>.</t>
              </li>
              <li>
                <t>The signed <tt>header_and_body</tt>/<tt>signature</tt> combination of each previous AS on this specific path segment.</t>
              </li>
            </ul>
            <t>The signature Sig<sub>i</sub> of an AS entry ASE<sub>i</sub> is now computed as follows. Symbol <tt>||</tt> represents concatenation.</t>
            <t>Sig<sub>i</sub> =
K<sub>i</sub>( ASE<sub>i</sub><sup>(signed)</sup> || SegInfo || ASE<sub>0</sub><sup>(signed)</sup> || Sig<sub>0</sub> || ... || ASE<sub>i-1</sub><sup>(signed)</sup> || Sig<sub>i-1</sub> )</t>
            <t>The signature metadata minimally contains the ISD-AS number of the signing entity and the key identifier of the public key that other ASes can use to verify the message. For more information on signing and verifying control plane messages, see 'Signing and Verifying Control Plane Messages' in <xref target="I-D.dekater-scion-pki"/>.</t>
            <t>Some of the data used as an input to the signature comes from previous ASes in the path segment. This data is therefore called "associated data" and it gives the signature a nested structure. The content of associated data defined in Protobuf is:</t>
            <artwork><![CDATA[
input(ps, i) = signed.header_and_body || associated_data(ps, i)

associated_data(ps, i) = ps.segment_info ||
                         ps.as_entries[1].signed.header_and_body ||
                         ps.as_entries[1].signed.signature ||
                         ...
                         ps.as_entries[i-1].signed.header_and_body ||
                         ps.as_entries[i-1].signed.signature
]]></artwork>
          </section>
        </section>
        <section anchor="pcb-ext">
          <name>PCB Extensions</name>
          <t>AS entries in PCBs may carry a number of optional extensions that accumulate information while traveling across ASes. Extensions can be:</t>
          <ul spacing="normal">
            <li>
              <t>Unsigned extensions <tt>PathSegmentUnsignedExtensions</tt>. They are part of the AS entry component (the <tt>ASEntry</tt> message, see also <xref target="as-entry"/>).</t>
            </li>
            <li>
              <t>Signed extensions <tt>PathSegmentExtensions</tt>. They are part of the signed body component of an AS entry (the <tt>ASEntrySignedBody</tt> message, see also <xref target="ase-sign"/>).</t>
            </li>
          </ul>
          <t>The Protobuf message format of extensions is below. As an example, it mentions the <tt>StaticInfoExtension</tt>, a signed extension that is used to carry path segment metadata, such as segment latency, bandwidth, router coordinates, link type, number of internal hops. This and other extensions are at time of writing experimental, so definitions of this message format are omitted and <xref target="PCBExtensions"/> should be referred to.</t>
          <artwork><![CDATA[
message PathSegmentUnsignedExtensions {
    }

message PathSegmentExtensions {
    StaticInfoExtension static_info = 1;
  }
]]></artwork>
          <t>If a Control Service receives an unknown PCB extension, it <bcp14>SHOULD</bcp14> skip the extension, but preserve it unmodified in case the PCB is further propagated.</t>
        </section>
        <section anchor="pcb-validity">
          <name>PCB Validity</name>
          <t>To be valid (that is, usable to construct a valid path), a PCB <bcp14>MUST</bcp14>:</t>
          <ul spacing="normal">
            <li>
              <t>Contain valid AS Entry signatures (<xref target="sign"/>).</t>
            </li>
            <li>
              <t>Have a timestamp (<xref target="seginfo"/>) that is not later than the current time at the point of validation, plus an allowance for differences between the clocks of the validator and originator.</t>
            </li>
            <li>
              <t>Contain only unexpired hop fields (<xref target="hopfield"/>).</t>
            </li>
          </ul>
          <t>It is recommend to use the hopfield expiration time (that is 337.5 seconds, see <xref target="hopfield"/>) as the allowance for differences between the clocks of the validator and originator.</t>
          <t>For the purpose of validation, a hop is considered expired if its absolute expiration time (as defined in <xref target="hopfield"/>), is later than the current time + allowance at the point of validation.</t>
        </section>
        <section anchor="configuration">
          <name>Configuration</name>
          <t>For the purpose of constructing and propagating path segments, a network operator needs to configure an AS Control Service with links to neighboring ASes. Such information may be conveyed to the Control Service in an out-of-band fashion (e.g., in a configuration file). For each link, these values <bcp14>MUST</bcp14> be configured:</t>
          <ul spacing="normal">
            <li>
              <t>Local Interface ID. This <bcp14>MUST</bcp14> be unique within each AS.</t>
            </li>
            <li>
              <t>Neighbor type (core, parent, child, peer), depending on link type (see <xref target="paths-links"/>). Link type depends on mutual agreements between operators of the ASes at each end of each link.</t>
            </li>
            <li>
              <t>Neighbor ISD-AS number.</t>
            </li>
            <li>
              <t>Neighbor interface underlay address.</t>
            </li>
            <li>
              <t>For peering links, neighbor Interface ID.</t>
            </li>
          </ul>
          <t>In addition, a network operator needs to configure an AS Control Service with:</t>
          <ul spacing="normal">
            <li>
              <t>the algorithm and forwarding key used to compute the Hop Field MAC, which are also used by routers within the AS. These are further described in <xref target="I-D.dekater-scion-dataplane"/>.</t>
            </li>
            <li>
              <t>registration interval (see <xref target="intra-reg"/>).</t>
            </li>
            <li>
              <t>propagation interval and best PCBs set size (see <xref target="propagation-interval-size"/>).</t>
            </li>
            <li>
              <t>the maximum MTU supported by all intra-AS links may also be configured by the operator.</t>
            </li>
            <li>
              <t>Hop Field expiration time (see <xref target="hopfield"/>). Current implementations default to 63, corresponding to 6 hours.</t>
            </li>
          </ul>
          <t>Optionally, it may configure per-link MTU (see <xref target="hopentry"/>) and PCB selection policies (see <xref target="selection"/>).</t>
        </section>
      </section>
      <section anchor="path-prop">
        <name>Propagation of PCBs</name>
        <t>This section describes how PCBs are received, selected and further propagated in the path exploration process.</t>
        <section anchor="reception">
          <name>Reception of PCBs</name>
          <t>Upon receiving a PCB, the Control Service of an AS performs the following checks:</t>
          <ol spacing="normal" type="1"><li>
              <t>PCB validity: The Control Service <bcp14>MUST</bcp14> check the validity of the PCB (see <xref target="pcb-validity"/>) and it <bcp14>MUST</bcp14> discard invalid PCBs. The PCB contains the version numbers of the TRC(s) and certificate(s) that <bcp14>MUST</bcp14> be used to verify its signatures which enables the Control Service to check whether it has the relevant TRC(s) and certificate(s). If not, they can be requested from the Control Service of the sending AS through the API described in <xref target="crypto-api"/>.</t>
            </li>
            <li>
              <t>Loop avoidance: The Control Service <bcp14>MUST</bcp14> check whether the PCB is from a core AS and whether it includes duplicate hop entries created by the core AS itself or by other ASes. If so, it <bcp14>MUST</bcp14> discard the PCB in order to avoid loops. This is necessary because core beaconing is based on propagating PCBs to all AS neighbors. Additionally, core ASes <bcp14>SHOULD</bcp14> discard PCBs that were propagated at any point by a non-core AS. Ultimately, core ASes <bcp14>MAY</bcp14> make a policy decision to propagate beacons containing path segments that traverse the same ISD more than once as this can be legitimate - e.g., if the ISD spans a large geographical area, a path between different ASes transiting another ISD may constitute a shortcut.</t>
            </li>
            <li>
              <t>Incoming Interface: The Control Service <bcp14>MUST</bcp14> check that the last ISD-AS entry in a received PCB (in its AS Entry Signed Body) corresponds with the ISD-AS neighbor of the interface where the PCB was received. In addition, the corresponding link <bcp14>MUST</bcp14> be core or parent, otherwise the PCB <bcp14>MUST</bcp14> be discarded.</t>
            </li>
            <li>
              <t>Continuity: When the Control Service receives a PCB containing two or more AS entries, it <bcp14>MUST</bcp14> check every AS entry except the last and discard beacons where the <tt>next_isd_as</tt> of an entry does not equal the <tt>isd_as</tt> of the next entry.</t>
            </li>
          </ol>
          <t>If the PCB verification is successful, the Control Service decides whether to store the PCB as a candidate for propagation based on selection criteria and polices specific for each AS.</t>
        </section>
        <section anchor="storing">
          <name>Storing Candidate PCBs</name>
          <t>An AS Control Service stores candidate PCBs in a temporary storage called the <em>Beacon Store</em>. The management of this storage is implementation specific, but current practice is to retain all PCBs until expired or replaced by one describing the same path with a later origination time.</t>
        </section>
        <section anchor="selection">
          <name>PCB Selection Policies</name>
          <t>The Control Service of an AS <bcp14>MUST</bcp14> select which PCBs to propagate further. The selection process can inspect and compare the properties of the candidate PCBs (e.g., length, disjointness across different paths, age, expiration time) and/or take into account which PCBs have been propagated in the past. The PCBs to select or eliminate is determined by the policy of the AS.</t>
          <t>In order to avoid excessive overhead on the path discovery system in bigger networks, an AS Control Service should only propagate those candidate PCBs with the highest probability of meeting the needs of the endpoints that will perform path construction, in accordance with <xref target="propagation-interval-size"/>.</t>
          <t>As SCION does not provide any in-band signal about the intentions of endpoints nor about the policies of downstream ASes, the policy will typically select a somewhat diverse set optimized for multiple, generic parameters. Selection may be based on criteria such as:</t>
          <ul spacing="normal">
            <li>
              <t>AS path length: from the originator core AS to the child (non-core) AS.</t>
            </li>
            <li>
              <t>Expiration time: the maximum value for the expiration time when extending the segment.</t>
            </li>
            <li>
              <t>ISD or AS exclusion lists: certain ASes or ISD that may not appear in a segment.</t>
            </li>
            <li>
              <t>ISD loops: if permitted, they allow core AS to reach other core ASes in the same ISD via a third party ISDs.</t>
            </li>
            <li>
              <t>Availability of peering links: that is the number of different peering ASes from all non-core ASes on the PCB or path segment. A greater number of peering ASes increases the likelihood of finding a shortcut on the path segment.</t>
            </li>
            <li>
              <t>Path disjointness: Paths can be either AS disjointed or link disjointed. AS disjointed paths have no common upstream/core AS for the current AS, whereas link disjointed paths do not share any AS-to-AS link. AS disjointness allows path diversity in the event that an AS becomes unresponsive, and link disjointness provides resilience in case of link failure. Both criteria can be used depending on the objective of the AS.  </t>
              <t>
The relative disjointness of two PCBs A and B may be calculated by assigning a disjointness score, calculated as the number of links in A that don't appear in B. For example, the beacon that has the highest disjointness score and is not the shortest path should be selected, but if this not better than what has already been selected, then the beacon with the shortest path yet to be selected should be chosen instead.</t>
            </li>
          </ul>
          <t>A PCB Selection Policy can be expressed as a stateful filter of segments, i.e., a function which indicates whether to accept or deny a given segment. This filter is stateful in that it can be updated each time its AS registers a new segment.
It is expected that an AS's policy will select PCBs corresponding to paths that are commercially or otherwise operationally viable.</t>
          <t>To ensure reachability, PCB selection policies should forward as many PCBs as possible as PCB selection is not intended as a mechanism for traffic engineering (e.g., by excluding specific PCBs for that purpose).</t>
        </section>
        <section anchor="propagation-interval-size">
          <name>Propagation Interval and Best PCBs Set Size</name>
          <t>PCBs are propagated in batches to each neighboring AS at a fixed frequency known as the <em>propagation interval</em> which happens for both intra-ISD beaconing (<xref target="intra-isd-beaconing"/>) and core beaconing (<xref target="core-beaconing"/>). At each propagation event, the AS Control Service selects a set of the best PCBs from the candidates in the Beacon Store according to the AS's selection policy.</t>
          <t>The size of this set is called the <em>best PCBs set size</em>. It should be:</t>
          <ul spacing="normal">
            <li>
              <t>For intra-ISD beaconing (i.e., propagating to children ASes): at most 50.</t>
            </li>
            <li>
              <t>For core beaconing (i.e., propagation between core ASes): at most 5 per immediate neighbor core AS. Current practice is for the set to contain an equal amount of PCBs from each neighbor.</t>
            </li>
          </ul>
          <t>These values reflect a tradeoff between scalability — limited by the computational overhead of signature verification — and the number of paths discovered. The PCBs set size should not be too low to ensure that beaconing can discover a significant number of paths. Further discussion on these trade-offs is provided in <xref target="scalability"/>.</t>
          <t>In current practice the intra-ISD set size is typically 20. Current practice also showed that in small SCION core networks, higher values of the core best PCBs set size (e.g., 20) can be used.</t>
          <t>Depending on the selection criteria, it may be necessary to keep more candidate PCBs than the <em>best PCBs set size</em> in the Beacon Store in order to determine the best set of PCBs. If this is the case, an AS Control Service should have a suitable pre-selection of candidate PCBs in place in order to keep the Beacon Store capacity limited.</t>
          <ul spacing="normal">
            <li>
              <t>The <em>propagation interval</em> should be at least 5 seconds for intra-ISD beaconing and at least 60 seconds for core beaconing.</t>
            </li>
          </ul>
          <t>Note that to quickly (re-)establish connectivity, an AS Control Service <bcp14>MAY</bcp14> attempt to forward a PCB more frequently ("fast recovery"). Current practice is to increase the frequency of attempts if no PCB propagation is known to have succeeded within the last propagation interval:</t>
          <ul spacing="normal">
            <li>
              <t>because the corresponding RPC failed;</t>
            </li>
            <li>
              <t>or because no beacon was available to propagate.</t>
            </li>
          </ul>
        </section>
        <section anchor="path-segment-prop">
          <name>Propagation of Selected PCBs</name>
          <t>The propagation process includes the following steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>From the candidate PCBs stored in the Beacon Store, the Control Service of an AS selects the best PCBs to propagate to its neighboring ASes, according to the AS selection policy (see <xref target="selection"/>). Core ASes propagate PCBs over both core and parent-child links; additionally, they originate new PCBs over these same links. Non-core ASes propagate PCBs exclusively over parent-child links.</t>
            </li>
            <li>
              <t>The Control Service <bcp14>MUST</bcp14> add a new AS entry (see <xref target="as-entry"/>) including any Peer Entry information (see <xref target="peerentry"/>) the AS is configured to advertise to every selected PCB.</t>
            </li>
            <li>
              <t>The Control Service <bcp14>MUST</bcp14> sign each selected, extended PCB and append the computed signature.</t>
            </li>
            <li>
              <t>As a final step, the Control Service propagates each extended PCB to the neighboring AS specified in the new AS entry by invoking the <tt>SegmentCreationService.Beacon</tt> remote procedure call (RPC) in the Control Services of the neighboring ASes (see also <xref target="prop-proto"/>).</t>
            </li>
          </ol>
          <t>To bootstrap initial communication with a neighboring beacon service, ASes use one-hop paths. This special kind of path handles beaconing between neighboring ASes for which no forwarding path may be available yet. It is the task of beaconing to discover such forwarding paths and the purpose of one-hop paths is to break this circular dependency. The One-Hop Path Type is described in more detail in <xref target="I-D.dekater-scion-dataplane"/>.</t>
          <section anchor="prop-proto">
            <name>Propagation of PCBs in Protobuf Message Format</name>
            <t>The last step of the above described core and intra-ISD propagation procedures is implemented as follows in Protobuf message format:</t>
            <artwork><![CDATA[
   service SegmentCreationService {
       rpc Beacon(BeaconRequest) returns (BeaconResponse) {}
   }

   message BeaconRequest {
       PathSegment segment = 1;
   }

   message BeaconResponse {}
]]></artwork>
            <t>The propagation procedure includes the following elements:</t>
            <ul spacing="normal">
              <li>
                <t><tt>SegmentCreationService</tt>: Specifies the service via which the extended PCB is propagated to the Control Service of the neighboring AS.
                </t>
                <ul spacing="normal">
                  <li>
                    <t><tt>Beacon</tt>: Specifies the method that calls the Control Service at the neighboring AS in order to propagate the extended PCB.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>BeaconRequest</tt>: Specifies the request message sent by the <tt>Beacon</tt> method to the Control Service of the neighboring AS. It contains the following element:
                </t>
                <ul spacing="normal">
                  <li>
                    <t><tt>PathSegment</tt>: Specifies the path segment to propagate to the neighboring AS. For more information on the Protobuf message type <tt>PathSegment</tt>, see <xref target="pcbs"/>.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>BeaconResponse</tt>: An empty message returned as an acknowledgement upon success.</t>
              </li>
            </ul>
          </section>
        </section>
      </section>
      <section anchor="crypto-api">
        <name>Distribution of Cryptographic Material</name>
        <t>Control Services distribute cryptographic material for the PKI (see <xref target="I-D.dekater-scion-pki"/>) using the following protobuf messages through the <tt>TrustMaterialService</tt> RPCs:</t>
        <artwork><![CDATA[
service TrustMaterialService {
    rpc Chains(ChainsRequest) returns (ChainsResponse) {}
    rpc TRC(TRCRequest) returns (TRCResponse) {}
}
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>Chains(ChainsRequest)</tt>: Returns the certificate chains that match the request.</t>
          </li>
          <li>
            <t><tt>TRC(TRCRequest)</tt>: Returns a specific TRC that matches the request.</t>
          </li>
        </ul>
        <t>The corresponding protobuf message formats are:</t>
        <artwork><![CDATA[
message ChainsRequest {
    uint64 isd_as = 1;
    bytes subject_key_id = 2;
    google.protobuf.Timestamp at_least_valid_until = 3;
    google.protobuf.Timestamp at_least_valid_since = 4;
}

message ChainsResponse {
    repeated Chain chains = 1;
}

message Chain {
    bytes as_cert = 1;
    bytes ca_cert = 2;
}
]]></artwork>
        <t>A <tt>ChainsRequest</tt> message includes the following fields:</t>
        <ul spacing="normal">
          <li>
            <t><tt>isd_as</tt>: Returns ISD-AS of Subject in the AS certificate.</t>
          </li>
          <li>
            <t><tt>subject_key_id</tt>: Returns SubjectKeyID in the AS certificate.</t>
          </li>
          <li>
            <t><tt>at_least_valid_until</tt>: Point in time at which the AS certificate must still be valid - in seconds since Epoch according to <xref target="POSIX.1-2024"/> Section 4.19, encoded as a 32-bit unsigned integer.</t>
          </li>
          <li>
            <t><tt>at_least_valid_since</tt>: Point in time at which the AS certificate must be or must have been valid - in seconds since Epoch according to <xref target="POSIX.1-2024"/> Section 4.19, encoded as a 32-bit unsigned integer.</t>
          </li>
        </ul>
        <t>A <tt>ChainsResponse</tt> includes the following fields:</t>
        <ul spacing="normal">
          <li>
            <t><tt>chains</tt>: Lists the certificate chains that match the request. A <tt>Chain</tt> contains:
            </t>
            <ul spacing="normal">
              <li>
                <t><tt>as_cert</tt>: Returns the AS certificate in the chain.</t>
              </li>
              <li>
                <t><tt>ca_cert</tt>: Returns the CA certificate in the chain.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>Certificates are ASN.1 DER encoded.</t>
        <t>For requesting TRCs, the protobuf messages are:</t>
        <artwork><![CDATA[
message TRCRequest {
    uint32 isd = 1;
    uint64 base = 2;
    uint64 serial = 3;
}

message TRCResponse {
    bytes trc = 1;
}
]]></artwork>
        <t>A <tt>TRCRequest</tt> includes the following fields:</t>
        <ul spacing="normal">
          <li>
            <t><tt>isd</tt>: Returns the ISD number of the TRC.</t>
          </li>
          <li>
            <t><tt>base</tt>: Returns the base number of the TRC.</t>
          </li>
          <li>
            <t><tt>serial</tt>: Returns the serial number of the TRC.</t>
          </li>
        </ul>
        <t>The returned <tt>trc</tt> contains the ASN.1 DER encoded CMS SignedData structure containing the TRC.</t>
      </section>
      <section anchor="crypto-renewal">
        <name>Renewal of Cryptographic Material</name>
        <t>To renew PKI cryptographic material (see <xref target="I-D.dekater-scion-pki"/>), Control Services <bcp14>MAY</bcp14> employ out-of-band mechanisms or utilize the <tt>ChainRenewalService</tt> RPC to exchange the Protobuf messages defined below.</t>
        <artwork><![CDATA[
service ChainRenewalService {
    rpc ChainRenewal(ChainRenewalRequest) returns (
      ChainRenewalResponse) {}
}
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>ChainRenewal(ChainRenewalRequest)</tt>: returns a renewed certificate chain.</t>
          </li>
        </ul>
        <t>The corresponding protobuf message format for requests is:</t>
        <artwork><![CDATA[
message ChainRenewalRequest {
    reserved 1;
    bytes cms_signed_request = 2;
}
]]></artwork>
        <t>A <tt>ChainRenewalRequest</tt> message includes the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Field number 1 is legacy and it is not in use.</t>
          </li>
          <li>
            <t><tt>cms_signed_request</tt>: it contains the ASN.1 DER encoded CMS SignedData structure that contains an ASN.1 DER encoded PKCS #10 request.</t>
          </li>
        </ul>
        <t>The  protobuf message format for responses is:</t>
        <artwork><![CDATA[
message ChainRenewalResponse {
    reserved 1;
    bytes cms_signed_response = 2;
}
]]></artwork>
        <t>A <tt>ChainRenewalResponse</tt> message includes the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Field number 1 is legacy and it is not in use.</t>
          </li>
          <li>
            <t><tt>cms_signed_response</tt>: it contains an ASN.1 DER encoded CMS SignedData structure containing a two-certificate chain. The chain comprises the AS certificate followed by the CA certificate, both encoded in ASN.1 DER.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="path-segment-reg">
      <name>Registration of Path Segments</name>
      <t><strong>Path registration</strong> is the process where a SCION AS transforms selected PCBs into path segments, and adding these segments to the relevant path databases thereby making them available to other ASes.</t>
      <t>A non-core AS typically receives several PCBs representing several path segments to the core ASes of the ISD the AS belongs to. Out of these PCBs, the non-core AS selects those down path segments through which it wants to be reached, based on AS-specific selection criteria.</t>
      <t>The next step is to register the selected down segments with the Control Service of the relevant core ASes in accordance with a process called <em>intra-ISD path segment registration</em>. In addition, each core AS Control Service also stores the preferred core path segments to other core ASes during the <em>core segment registration</em> process.</t>
      <t>Both processes are described below.</t>
      <section anchor="intra-reg">
        <name>Intra-ISD Path Segment Registration</name>
        <t>Every <em>registration interval</em> (configured by each AS) the AS's Control Service selects two sets of PCBs to transform into two types of path segments:</t>
        <ul spacing="normal">
          <li>
            <t>Up segments, which allow the infrastructure entities and endpoints in this AS to communicate with core ASes; and</t>
          </li>
          <li>
            <t>Down segments, which allow remote entities to reach this AS.</t>
          </li>
        </ul>
        <t>The up segments and down segments do not have to be equal as an AS may want to communicate with core ASes via one or more up segments that differ from the down segment(s) through which it wants to be reached. Therefore, an AS operator can define different selection policies for the up segment and down segment sets. In addition, the processes of transforming a PCB in an up segment or a down segment differ slightly.</t>
        <section anchor="term-pcb">
          <name>Terminating a PCB</name>
          <t>Both the up segments and down segments end at the AS, so by transforming a PCB into a path segment, an AS Control Service "terminates" the PCB for this AS ingress interface and at that moment in time.</t>
          <t>The Control Service of a non-core performs the following steps to "terminate" a PCB:</t>
          <ol spacing="normal" type="1"><li>
              <t>The Control Service adds a new AS entry to the PCB which <bcp14>MUST</bcp14> be defined as follows:
              </t>
              <ul spacing="normal">
                <li>
                  <t>The next AS <bcp14>MUST NOT</bcp14> be specified.
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>In Protobuf message format, this means that the value of the <tt>next_isd_as</tt> field in the <tt>ASEntrySignedBody</tt> component <bcp14>MUST</bcp14> be "0".</t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t>The egress interface in the Hop Field component <bcp14>MUST NOT</bcp14> be specified.
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>In Protobuf message format, this means that the value of the <tt>egress</tt> field in the <tt>HopField</tt> component <bcp14>MUST</bcp14> be "0".</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>
              <t>If the AS has peering links, the Control Service <bcp14>MAY</bcp14> add corresponding peer entry components to the signed body of the AS entry - one peer entry component for each peering link that the AS wants to advertise. The Control Service <bcp14>MUST NOT</bcp14> specify the egress Interface ID in the Hop Field component of each added peer entry.
              </t>
              <ul spacing="normal">
                <li>
                  <t>In Protobuf message format, this means that the value of the <tt>egress</tt> field in the <tt>HopField</tt> component <bcp14>MUST</bcp14> be "0".</t>
                </li>
              </ul>
            </li>
            <li>
              <t>The Control Service <bcp14>MUST</bcp14> sign the modified PCB and append the computed signature.</t>
            </li>
          </ol>
          <t><strong>Note:</strong></t>
          <ul spacing="normal">
            <li>
              <t>For more information on the signed body component of an AS entry, see <xref target="ase-sign"/>.</t>
            </li>
            <li>
              <t>For more information on a peer entry, see <xref target="peerentry"/>.</t>
            </li>
            <li>
              <t>For more information on the Hop Field component, see <xref target="hopfield"/>.</t>
            </li>
            <li>
              <t>For more information on signing an AS entry, see <xref target="sign"/>.</t>
            </li>
          </ul>
        </section>
        <section anchor="transforming-a-pcb-into-an-up-segment">
          <name>Transforming a PCB into an Up Segment</name>
          <t>Every registration interval, the Control Service of a non-core AS performs the following steps to transform PCBs into up segments:</t>
          <ol spacing="normal" type="1"><li>
              <t>The Control Service selects the PCBs that it wants to transform into up segments from the candidate PCBs in the Beacon Store.</t>
            </li>
            <li>
              <t>The Control Service "terminates" the selected PCBs by performing the steps described in <xref target="term-pcb"/>. From this moment on, the modified PCBs are called <strong>up segments</strong>.</t>
            </li>
            <li>
              <t>The Control Service adds the newly created up segments to its own path database.</t>
            </li>
          </ol>
          <t><strong>Note:</strong> For more information on possible selection strategies of PCBs, see <xref target="selection"/>.</t>
        </section>
        <section anchor="transforming-a-pcb-into-a-down-segment">
          <name>Transforming a PCB into a Down Segment</name>
          <t>Every registration interval, the Control Service of a non-core AS performs the following steps to transform PCBs into down segments:</t>
          <ol spacing="normal" type="1"><li>
              <t>The Control Service selects the PCBs that it wants to transform into down segments from the candidate PCBs in the Beacon Store.</t>
            </li>
            <li>
              <t>The Control Service "terminates" the selected PCBs by performing the steps described in <xref target="term-pcb"/>. From this moment on, the modified PCBs are called <strong>down segments</strong>.</t>
            </li>
            <li>
              <t>The Control Service registers the newly created down segments with the Control Services of the core ASes that originated the corresponding PCBs. This is done by invoking the <tt>SegmentRegistrationService.SegmentsRegistration</tt> remote procedure call (RPC) in the Control Services of the relevant core ASes (see also <xref target="reg-proto"/>). The first ISD-AS entry of the path segment <bcp14>SHOULD</bcp14> be equal to the core ISD-AS where the segment is being registered, otherwise the core AS <bcp14>MUST</bcp14> reject the segment. As a result, a core AS’s Control Service contains all down segments registered by its direct or indirect customer ASes.</t>
            </li>
          </ol>
          <t><strong>Note:</strong> For more information on possible selection strategies of PCBs, see <xref target="selection"/>.</t>
        </section>
      </section>
      <section anchor="core-path-segment-registration">
        <name>Core Path Segment Registration</name>
        <t>The core beaconing process creates path segments from core AS to core AS. These core segments are then added to the Control Service path database of the core AS that created the segment so that local and remote endpoints can obtain and use these core segments. In contrast to the intra-ISD registration procedure, there is no need to register core segments with other core ASes as each core AS will receive PCBs originated from every other core AS.</t>
        <t>In every registration interval, the Control Service of a core AS performs the following operations:</t>
        <ol spacing="normal" type="1"><li>
            <t>The core Control Service selects the best PCBs towards each core AS observed so far.</t>
          </li>
          <li>
            <t>The core Control Service "terminates" the selected PCBs by performing the steps described in <xref target="term-pcb"/>. From this moment on, the modified PCBs are called <strong>core segments</strong>.</t>
          </li>
          <li>
            <t>The Control Service adds the newly created core segments to its own path database.</t>
          </li>
        </ol>
        <t><strong>Note:</strong> For more information on possible selection strategies of PCBs, see <xref target="selection"/>.</t>
      </section>
      <section anchor="reg-proto">
        <name>Path Segment Registration RPC API</name>
        <t>The Control Service of a non-core AS has to register the newly created down segments with the Control Services of the core ASes that originated the corresponding PCBs. This registration step is implemented as follows in Protobuf message format:</t>
        <artwork><![CDATA[
   enum SegmentType {
       SEGMENT_TYPE_UNSPECIFIED = 0;
       SEGMENT_TYPE_UP = 1;
       SEGMENT_TYPE_DOWN = 2;
       SEGMENT_TYPE_CORE = 3;
   }

   service SegmentRegistrationService {
       rpc SegmentsRegistration(SegmentsRegistrationRequest) returns (
         SegmentsRegistrationResponse) {}
   }

   message SegmentsRegistrationRequest {
       message Segments {
           repeated PathSegment segments = 1;
       }

       map<int32, Segments> segments = 1;
   }

   message SegmentsRegistrationResponse {}
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>SegmentType</tt>: Specifies the type of the path segment to be registered. Currently, only the following type is used:
            </t>
            <ul spacing="normal">
              <li>
                <t><tt>SEGMENT_TYPE_DOWN</tt>: Specifies a down segment.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><tt>map&lt;int32, Segments&gt; segments</tt>: Represents a separate list of segments for each path segment type. The key is the integer representation of the corresponding <tt>SegmentType</tt>.</t>
          </li>
          <li>
            <t><tt>SegmentRegistrationResponse</tt>: an empty message returned as an acknowledgement upon success.</t>
          </li>
        </ul>
      </section>
      <section anchor="path-mtu">
        <name>Path MTU</name>
        <t>SCION paths represent a sequence of ASes and inter-AS links, each with possibly different MTUs. As a result, the path MTU is the minimum of the MTUs of each inter-AS link and intra-AS network it traverses. Such MTU information is disseminated during path construction:</t>
        <ul spacing="normal">
          <li>
            <t>The MTU of each intra-AS network traversed (represented by the MTU field of the corresponding <xref target="ase-sign">AS Entries</xref>)</t>
          </li>
          <li>
            <t>The MTU of each inter-AS link or peering link (indicated by the ingress_mtu field of each <xref target="hopentry"/> or the peer_mtu field of each <xref target="peerentry"/> used)</t>
          </li>
        </ul>
        <t>Such information is then made available to source endpoints during the path lookup process (see <xref target="lookup"/>). Note that the destination endpoint does not receive such information, so when using path reversibility it should use mechanisms to estimate the reverse path MTU (e.g.,, MTU discovery or estimate MTU from the largest packet received). SCION endpoints are oblivious to the internal topology of intermediate ASes, so when looking up a path they should assume that all hops are also constrained by the intra-AS MTU of each AS traversed.</t>
      </section>
    </section>
    <section anchor="lookup">
      <name>Path Lookup</name>
      <t>The <em>path lookup</em> is a fundamental building block of SCION's path management as it enables endpoints to obtain path segments found during path exploration and registered during path registration. This allows the endpoints to construct end-to-end paths from the set of possible path segments returned by the path lookup process. The lookup of paths still happens in the control plane, whereas the construction of the actual end-to-end paths happens in the data plane.</t>
      <section anchor="lookup-process">
        <name>Lookup Process</name>
        <t>An endpoint (source) that wants to start communication with another endpoint (destination) requires up to three path segments:</t>
        <ul spacing="normal">
          <li>
            <t>An up segment to reach the core of the source ISD (only if the source endpoint is a non-core AS);</t>
          </li>
          <li>
            <t>a core segment to reach
            </t>
            <ul spacing="normal">
              <li>
                <t>another core AS in the source ISD, in case the destination AS is in the same source ISD, or;</t>
              </li>
              <li>
                <t>a core AS in a remote ISD, if the destination AS is in another ISD, and;</t>
              </li>
            </ul>
          </li>
          <li>
            <t>a down segment to reach the destination AS.</t>
          </li>
        </ul>
        <t>The actual number of required path segments depends on the location of the destination AS as well as on the availability of shortcuts and peering links. More information on combining and constructing paths is provided by <xref target="I-D.dekater-scion-dataplane"/>.</t>
        <t>The process to look up and fetch path segments consists of the following steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>The source endpoint queries the Control Service in its own AS (i.e., the source AS) for the required segments by sending up to three <tt>SegmentsRequest</tt> messages, respectively for up, core and down segments.</t>
          </li>
          <li>
            <t>The Control Service of the source AS answers each request with  a <tt>SegmentsResponse</tt> message. Specifically, for each segment type:  </t>
            <ul spacing="normal">
              <li>
                <t>up segments: The local Control Service has up segments stored in the path database and returns them immediately.</t>
              </li>
              <li>
                <t>core segments: The local Control Service may return locally cached core segments or query the Control Services of the reachable core ASes in the source ISD. These core ASes return core segments to core ASes in the destination ISD. To reach the core Control Services, the Control Service of the source AS uses the locally stored up segments. Once obtained, it returns the core segments and adds them to the local cache for future request.</t>
              </li>
              <li>
                <t>down segments: The local Control Service may return locally cached core segments or query the Control Services of the remote core ASes in the destination ISD. These remote core ASes return down segments to the destination AS. To reach the remote core ASes, the Control Service of the source AS uses the previously obtained and combined up and core segments. Once obtained, it returns the down segments.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>As the source endpoint receives each path segment, it verifies the <tt>SegmentInformation</tt> timestamp validity (see <xref target="pcb-validity"/>), the AS entry signature for each AS entry (see <xref target="sign"/>), and requests any missing AS or intermediate certificates from the Control Service (see <xref target="crypto-api"/>).</t>
          </li>
          <li>
            <t>Once it has obtained some valid path segments, the source endpoint combines them into an end-to-end path in the data plane.</t>
          </li>
          <li>
            <t>The destination endpoint, once it receives the first packet, <bcp14>MAY</bcp14> reverse the path in the received packet in order to construct a response. This ensures that traffic flows on the same path bidirectionally.</t>
          </li>
        </ol>
        <t><xref target="_table-3"/> below shows which Control Service provides the source endpoint with which type of path segment.</t>
        <table anchor="_table-3">
          <name>Control services responsible for different types of path segments</name>
          <thead>
            <tr>
              <th align="left">Segment Type</th>
              <th align="left">Responsible Control Service(s)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Up-segment</td>
              <td align="left">Control service of the source AS</td>
            </tr>
            <tr>
              <td align="left">Core-segment</td>
              <td align="left">Control service of core ASes in source ISD</td>
            </tr>
            <tr>
              <td align="left">Down-segment</td>
              <td align="left">Control service of core ASes in destination ISD (either the local ISD or a remote ISD)</td>
            </tr>
          </tbody>
        </table>
        <section anchor="sequence-of-lookup-requests">
          <name>Sequence of Lookup Requests</name>
          <t>The overall sequence of requests to resolve a path <bcp14>SHOULD</bcp14> be as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>Request up segments for the source endpoint at the Control Service of the source AS.</t>
            </li>
            <li>
              <t>Request core segments, which start at the core ASes that are reachable with up segments and end at the core ASes in the destination ISD. If the destination ISD coincides with the source ISD, this step requests core segments to core ASes that the source endpoint cannot directly reach with an up segment.</t>
            </li>
            <li>
              <t>Request down segments starting at core ASes in the destination ISD.</t>
            </li>
          </ol>
        </section>
        <section anchor="lookup-requests-message-format">
          <name>Lookup Requests Message Format</name>
          <t>Control Services provide path segments through the <tt>SegmentLookupService</tt> RPC. This API is exposed:</t>
          <ul spacing="normal">
            <li>
              <t>for core ASes, on the SCION dataplane to other ASes</t>
            </li>
            <li>
              <t>for all ASes, on the intra-AS network to endpoints.</t>
            </li>
          </ul>
          <artwork><![CDATA[
service SegmentLookupService {
    rpc Segments(SegmentsRequest) returns (SegmentsResponse) {}
}
]]></artwork>
          <t>They use the following protobuf messages: a <tt>SegmentsRequest</tt>, which includes:</t>
          <ul spacing="normal">
            <li>
              <t><tt>src_isd_as</tt>: The source ISD-AS of the segment.</t>
            </li>
            <li>
              <t><tt>dst_isd_as</tt>: The destination ISD-AS of the segment.</t>
            </li>
          </ul>
          <t>The corresponding <tt>SegmentsResponse</tt> returns:</t>
          <ul spacing="normal">
            <li>
              <t><tt>segments</tt>: a list of <tt>PathSegment</tt> matching the request.</t>
            </li>
            <li>
              <t>a mapping from path segment type to path segments, where the key is the integer representation of the <tt>SegmentType</tt> enum defined in <xref target="reg-proto"/>.</t>
            </li>
          </ul>
          <artwork><![CDATA[
message SegmentsRequest {
    uint64 src_isd_as = 1;
    uint64 dst_isd_as = 2;
}

message SegmentsResponse {
    message Segments {
        repeated PathSegment segments = 1;
    }
    map<int32, Segments> segments = 1;
}
]]></artwork>
        </section>
        <section anchor="caching">
          <name>Caching</name>
          <t>For the sake of efficiency, the Control Service of the source AS <bcp14>SHOULD</bcp14> cache each returned path segment request. Caching ensures that path lookups are fast for frequently used destinations and is also essential to ensure that the path lookup process is scalable and that endpoints can perform it with low latency.</t>
          <t>In general, to improve overall efficiency, the Control Services of all ASes <bcp14>SHOULD</bcp14> do the following:</t>
          <ul spacing="normal">
            <li>
              <t>Cache the returned path segments.</t>
            </li>
            <li>
              <t>Send requests in parallel when requesting path segments from other Control Services.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="behavior-of-actors-in-the-lookup-process">
        <name>Behavior of Actors in the Lookup Process</name>
        <t>The source endpoint resolves paths with a sequence of segment requests to the Control Service of the source AS. The Control Service in the source AS either answers directly or forwards these requests to the responsible Control Services of core ASes. In SCION, the instances that handle these segment requests at the Control Services are called <em>source AS segment-request handler</em> and <em>core AS segment-request handler</em>, respectively.</t>
        <t>This section specifies the behavior of the segment request handlers in the lookup process.</t>
        <section anchor="wildcard">
          <name>Use of Wildcard Addresses in the Lookup Process</name>
          <t>Endpoints can use wildcard addresses to designate any core AS in path segment requests. The segment request handlers <bcp14>MUST</bcp14> expand these wildcard addresses and translate them into one or more actual addresses. <xref target="_table-4"/> below shows who is responsible for what.</t>
          <t><strong>Note:</strong> For general information on the use of wildcard addresses in SCION, see <xref target="serv-disc"/>.</t>
          <table anchor="_table-4">
            <name>Use of wildcards in path segments requests</name>
            <thead>
              <tr>
                <th align="left">Segment Request</th>
                <th align="left">Wildcard Represents</th>
                <th align="left">Expanded/Translated By</th>
                <th align="left">Translated Into</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Up segment</td>
                <td align="left">"Destination" core AS (where up segment ends)</td>
                <td align="left">Control service of the <em>source AS</em></td>
                <td align="left">Actual address destination core AS in source ISD</td>
              </tr>
              <tr>
                <td align="left">Core segment</td>
                <td align="left">Source core AS (where core segment starts)<sup>1</sup></td>
                <td align="left">Control service of the <em>source AS</em></td>
                <td align="left">Actual address source core AS in source ISD</td>
              </tr>
              <tr>
                <td align="left">Core segment</td>
                <td align="left">Destination core AS (where core segment ends)</td>
                <td align="left">Control service of the <em>source core AS</em></td>
                <td align="left">Actual address destination core AS in destination ISD</td>
              </tr>
              <tr>
                <td align="left">Down segment</td>
                <td align="left">"Source" core AS (where down segment starts)<sup>2</sup></td>
                <td align="left">Control service of the <em>source AS</em></td>
                <td align="left">Actual address source core AS in destination ISD</td>
              </tr>
            </tbody>
          </table>
          <t>1) Includes all core ASes for which an up segment from the source AS exists.<br/>
2) Includes all core ASes in destination ISD with a down segment to destination AS.</t>
        </section>
        <section anchor="segment-request-handler-of-a-non-core-source-as">
          <name>Segment-Request Handler of a Non-Core Source AS</name>
          <t>When the segment request handler of the Control Service of a <em>non-core</em> source AS receives a path segment request, it <bcp14>MUST</bcp14> proceed as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>Determine the requested segment type.</t>
            </li>
            <li>
              <t>In the case of an up segment request, look up matching up segments in the path database and return them.</t>
            </li>
            <li>
              <t>In the case of a core segment request from a source core AS to a destination core AS:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Expand the source wildcard into separate requests for each reachable core AS in the source ISD.</t>
                </li>
                <li>
                  <t>For each core segment request;
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>If possible, return matching core segments from cache;</t>
                    </li>
                    <li>
                      <t>Otherwise, request the core segments from the Control Services of each reachable core AS at the source of the core segment, and then add the retrieved core segments to the cache.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>
              <t>In the case of a down segment request:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Expand the source wildcard into separate requests for every core AS in the destination ISD (referring to the ISD to which the destination endpoint belongs).</t>
                </li>
                <li>
                  <t>For each segment request;
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>If possible, return matching down segments from cache;</t>
                    </li>
                    <li>
                      <t>Otherwise, request the down segment from the Control Services of the core ASes at the source of the down segment. Sending the request may require looking up core segments to the source core AS of the down segment, and then adding the retrieved down segments to the cache.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="segment-request-handler-of-a-core-as">
          <name>Segment-Request Handler of a Core AS</name>
          <t>When the segment request handler of a <em>core AS</em> Control Service receives a path segment request, it <bcp14>MUST</bcp14> proceed as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>Validate the request:
              </t>
              <ul spacing="normal">
                <li>
                  <t>The source of the path segment <bcp14>MUST</bcp14> be this core AS.</t>
                </li>
                <li>
                  <t>The request <bcp14>MUST</bcp14> either be;
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>for a core segment to a core AS in this ISD or another ISD, or;</t>
                    </li>
                    <li>
                      <t>for a down segment to an AS in this ISD.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>
              <t>If the destination is a core or wildcard address, then load matching core segments from the path database and return.</t>
            </li>
            <li>
              <t>Otherwise, load the matching down segments from the path database and return.</t>
            </li>
          </ol>
          <t><xref target="app-c"/> shows by means of an illustration how the lookup of path segments in SCION works.</t>
        </section>
      </section>
    </section>
    <section anchor="service-discovery">
      <name>Control Service Discovery</name>
      <t>The Control Plane RPC APIs rely on QUIC connections over UDP/SCION (see <xref target="I-D.dekater-scion-dataplane"/>. Establishing such connection requires the initiator to identify the relevant peer (service resolution) and to select a path to it. Since the Control Service is itself the source of path segment information, the following bootstrapping processes apply:</t>
      <ul spacing="normal">
        <li>
          <t>Neighboring ASes communicate using one-hop paths, as described in <xref target="I-D.dekater-scion-dataplane"/>. Core ASes leverage this mechanism when originating new PCBs.</t>
        </li>
        <li>
          <t>Paths to non-neighboring ASes are constructed from PCBs that are received from neighbors via these one-hop paths.</t>
        </li>
        <li>
          <t>The resulting multi-hop path segments are registered with the Control Service of the origin Core AS (see <xref target="intra-reg"/>).</t>
        </li>
        <li>
          <t>Control Services respond to requests from remote ASes by reversing the path carried in the request packet.</t>
        </li>
      </ul>
      <t>Clients find the relevant Control Service at a given AS by resolving a 'service address' as follows:</t>
      <ol spacing="normal" type="1"><li>
          <t>A client sends a <tt>ServiceResolutionRequest</tt> RPC (which has no parameters) to an endpoint address in the format:
          </t>
          <ul spacing="normal">
            <li>
              <t>Common Header:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Path type: SCION (0x01)</t>
                </li>
                <li>
                  <t>DT/DL: "Service" (0b0100)</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Address Header:
              </t>
              <ul spacing="normal">
                <li>
                  <t>DstHostAddr: "SVC_CS" (0x0002)</t>
                </li>
              </ul>
            </li>
            <li>
              <t>UDP Header:
              </t>
              <ul spacing="normal">
                <li>
                  <t>DstPort: 0</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>
A <tt>ServiceResolutionRequest</tt> <bcp14>MUST</bcp14> fit within a UDP datagram, otherwise clients and servers won't be able to establish control-plane reachability.</t>
        </li>
        <li>
          <t>The ingress border router at the destination AS resolves the service destination to an actual endpoint address. This document does not mandate any specific method for this resolution.</t>
        </li>
        <li>
          <t>The ingress border router forwards the message to the resolved address.</t>
        </li>
        <li>
          <t>The destination service responds to the client with a <tt>ServiceResolutionResponse</tt>. It contains one or more transport options and it <bcp14>MUST</bcp14> fit within a UDP datagram.
  Known transports are "QUIC". Clients <bcp14>MUST</bcp14> ignore unknown values. The response includes a <tt>Transport</tt> message containing supported addresses and port to reach the service.
  Supported address formats for QUIC are IPv4 and IPv6. An example of the corresponding address format is:
  <tt>192.0.2.1:80</tt> and <tt>[2001:db8::1]:80</tt>. Clients <bcp14>MUST</bcp14> treat a missing, zero or non-existent port value as an error.</t>
        </li>
        <li>
          <t>The client uses the address and port from the "QUIC" option to establish a QUIC connection, which can then be used for other RPCs.</t>
        </li>
      </ol>
      <t>The service resolution API Protobuf message format is:</t>
      <artwork><![CDATA[
message ServiceResolutionRequest {}

message ServiceResolutionResponse {
    map<string, Transport> transports = 1;
}

message Transport {
    string address = 1;
}
]]></artwork>
    </section>
    <section anchor="scmp">
      <name>SCMP</name>
      <t>The SCION Control Message Protocol (SCMP) provides functionality for network diagnostics, such as traceroute and error messages that signal packet processing or network layer problems. SCMP is a helpful tool for network diagnostics and - in the case of External Interface Down and Internal Connectivity Down messages - a signal for endpoints to detect network failures more rapidly and fail-over to different paths. However, SCION nodes should not strictly rely on the availability of SCMP, as this protocol may not be supported by all devices and/or may be subject to rate limiting.</t>
      <t>This document only specifies the messages used for the purposes of path diagnosis and recovery. An extended specification can be found in <xref target="SCMP"/>. Its security considerations are discussed in <xref target="manipulate-selection"/>.</t>
      <t>The logic, some message formats, and processing rules are derived from <xref target="RFC4443"/> and adapted for the SCION architecture.
Note that there is not currently a defined mechanism for converting ICMP messages to SCMP messages, or vice-versa.</t>
      <section anchor="general-format">
        <name>General Format</name>
        <t>Every SCMP message is preceded by a SCION header and zero or more SCION extension headers (see <xref target="I-D.dekater-scion-dataplane"/> section "SCION Header Specification"). The SCMP header is identified by a <tt>NextHdr</tt> value of <tt>202</tt> in the immediately preceding header.</t>
        <t>The messages have the following general format:</t>
        <figure anchor="scmp-format">
          <name>SCMP message format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="528" viewBox="0 0 528 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,160" fill="none" stroke="black"/>
                <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
                <g class="text">
                  <text x="16" y="36">0</text>
                  <text x="176" y="36">1</text>
                  <text x="336" y="36">2</text>
                  <text x="496" y="36">3</text>
                  <text x="16" y="52">0</text>
                  <text x="32" y="52">1</text>
                  <text x="48" y="52">2</text>
                  <text x="64" y="52">3</text>
                  <text x="80" y="52">4</text>
                  <text x="96" y="52">5</text>
                  <text x="112" y="52">6</text>
                  <text x="128" y="52">7</text>
                  <text x="144" y="52">8</text>
                  <text x="160" y="52">9</text>
                  <text x="176" y="52">0</text>
                  <text x="192" y="52">1</text>
                  <text x="208" y="52">2</text>
                  <text x="224" y="52">3</text>
                  <text x="240" y="52">4</text>
                  <text x="256" y="52">5</text>
                  <text x="272" y="52">6</text>
                  <text x="288" y="52">7</text>
                  <text x="304" y="52">8</text>
                  <text x="320" y="52">9</text>
                  <text x="336" y="52">0</text>
                  <text x="352" y="52">1</text>
                  <text x="368" y="52">2</text>
                  <text x="384" y="52">3</text>
                  <text x="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="68" y="84">Type</text>
                  <text x="196" y="84">Code</text>
                  <text x="388" y="84">Checksum</text>
                  <text x="252" y="116">Type-dependent</text>
                  <text x="336" y="116">Block</text>
                  <text x="208" y="148">(</text>
                  <text x="252" y="148">variable</text>
                  <text x="316" y="148">length</text>
                  <text x="352" y="148">)</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |           Checksum            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Type-dependent Block                    |
+                                                               +
|                        ( variable length )                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </artset>
        </figure>
        <ul spacing="normal">
          <li>
            <t><tt>Type</tt>: it indicates the type of SCMP message. Its value determines the format of the type-dependent block.</t>
          </li>
          <li>
            <t><tt>Code</tt>: it provides additional granularity to the SCMP type.</t>
          </li>
          <li>
            <t><tt>Checksum</tt>: it is used to detect data corruption.</t>
          </li>
          <li>
            <t><tt>Type-dependent Block</tt>: optional field of variable length which format is dependent on the message type.</t>
          </li>
        </ul>
      </section>
      <section anchor="message-types">
        <name>Message Types</name>
        <t>SCMP messages are grouped into two classes: error messages and informational messages. Error messages are identified by a zero in the high-order bit of the type value - i.e., error messages have a type value in the range of 0-127. Informational messages have type values in the range of 128-255.</t>
        <t>This specification defines the message formats for the following SCMP messages:</t>
        <table>
          <name>Error Message Types</name>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">2</td>
              <td align="left">
                <xref target="packet-too-big">Packet Too Big</xref></td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">
                <xref target="external-interface-down">External Interface Down</xref></td>
            </tr>
            <tr>
              <td align="left">6</td>
              <td align="left">
                <xref target="internal-connectivity-down">Internal Connectivity Down</xref></td>
            </tr>
          </tbody>
        </table>
        <table>
          <name>Informational Message Types</name>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">128</td>
              <td align="left">
                <xref target="echo-request">Echo Request</xref></td>
            </tr>
            <tr>
              <td align="left">129</td>
              <td align="left">
                <xref target="echo-reply">Echo Reply</xref></td>
            </tr>
            <tr>
              <td align="left">130</td>
              <td align="left">
                <xref target="traceroute-request">Traceroute Request</xref></td>
            </tr>
            <tr>
              <td align="left">131</td>
              <td align="left">
                <xref target="traceroute-reply">Traceroute Reply</xref></td>
            </tr>
          </tbody>
        </table>
        <t>Further SCMP errors are covered in <xref target="SCMP"/>.</t>
      </section>
      <section anchor="checksum-calculation">
        <name>Checksum Calculation</name>
        <t>The checksum is calculated as the 16-bit one's complement of the one's complement sum of the entire SCMP message. This is starting with the SCMP message type field, and prepended with a "pseudo-header" consisting of the SCION address header and the Layer 4 protocol type as defined in <xref target="I-D.dekater-scion-dataplane"/> section "SCION Header Specification/Pseudo Header for Upper-Layer Checksum".</t>
      </section>
      <section anchor="processing-rules">
        <name>Processing Rules</name>
        <t>The following rules apply to SCMP messages.</t>
        <ul spacing="normal">
          <li>
            <t>If an SCMP error message of unknown type is received at its destination, it <bcp14>MUST</bcp14> be passed to the upper-layer process that originated the packet that caused the error, if it can be identified.</t>
          </li>
          <li>
            <t>If an SCMP informational message of unknown type is received, it <bcp14>MUST</bcp14> be silently dropped.</t>
          </li>
          <li>
            <t>Every SCMP error message <bcp14>MUST</bcp14> include as much of the offending SCION packet as possible. The error message packet - including the SCION header and all extension headers <bcp14>MUST NOT</bcp14> exceed <strong>1232 bytes</strong> in order to fit into the minimum MTU (see <xref target="I-D.dekater-scion-dataplane"/> section "Deployment Considerations/MTU").</t>
          </li>
          <li>
            <t>Implementations <bcp14>MUST</bcp14> attempt to pass SCMP error messages to the originator when possible. When using an UDP/IP underlay, implementations extract the upper-layer protocol type and port from the quoted offending packet in the body of the SCMP error message and use it to determine the address of the originator to handle the error. Considerations related to port selection when using an UDP/IP underlay are described in <xref target="SCION-UDP"/>.
In case of an unknown error type, implementations should assume a SCMP header length of 8 bytes, verify that the subsequent bytes represent a SCION header, and attempt to extract the offending packet.
In case the origin address cannot be extracted from the SCMP error message, the SCMP message <bcp14>MUST</bcp14> be silently dropped.</t>
          </li>
          <li>
            <t>An SCMP error message <bcp14>MUST NOT</bcp14> be originated in response to any of the following:
            </t>
            <ul spacing="normal">
              <li>
                <t>An SCMP error message.</t>
              </li>
              <li>
                <t>A packet which source address does not uniquely identify a single node. E.g., an IPv4 or IPv6 multicast address.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>A SCION node <bcp14>MUST</bcp14> limit the rate of SCMP error messages it originates. Similar considerations to <xref target="RFC4443"/> section 2.4 point (f) apply.
<xref target="SCION-UDP"/> specifies the forwarding behavior of SCMP messages over an IP/UDP underlay.</t>
          </li>
        </ul>
        <t>The maximum size 1232 bytes is chosen so that the entire datagram, if encapsulated in UDP and IPv6, does not exceed 1280 bytes (L2 Header excluded). 1280 bytes is the minimum MTU required by IPv6 and it is assumed that this MTU can also be safely expected when using IPv4.</t>
      </section>
      <section anchor="scmp-notification">
        <name>Error Messages</name>
        <section anchor="packet-too-big">
          <name>Packet Too Big</name>
          <figure anchor="_figure-21">
            <name>Packet Too Big format</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="528" viewBox="0 0 528 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,192" fill="none" stroke="black"/>
                  <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,192" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
                  <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="16" y="36">0</text>
                    <text x="176" y="36">1</text>
                    <text x="336" y="36">2</text>
                    <text x="496" y="36">3</text>
                    <text x="16" y="52">0</text>
                    <text x="32" y="52">1</text>
                    <text x="48" y="52">2</text>
                    <text x="64" y="52">3</text>
                    <text x="80" y="52">4</text>
                    <text x="96" y="52">5</text>
                    <text x="112" y="52">6</text>
                    <text x="128" y="52">7</text>
                    <text x="144" y="52">8</text>
                    <text x="160" y="52">9</text>
                    <text x="176" y="52">0</text>
                    <text x="192" y="52">1</text>
                    <text x="208" y="52">2</text>
                    <text x="224" y="52">3</text>
                    <text x="240" y="52">4</text>
                    <text x="256" y="52">5</text>
                    <text x="272" y="52">6</text>
                    <text x="288" y="52">7</text>
                    <text x="304" y="52">8</text>
                    <text x="320" y="52">9</text>
                    <text x="336" y="52">0</text>
                    <text x="352" y="52">1</text>
                    <text x="368" y="52">2</text>
                    <text x="384" y="52">3</text>
                    <text x="400" y="52">4</text>
                    <text x="416" y="52">5</text>
                    <text x="432" y="52">6</text>
                    <text x="448" y="52">7</text>
                    <text x="464" y="52">8</text>
                    <text x="480" y="52">9</text>
                    <text x="496" y="52">0</text>
                    <text x="512" y="52">1</text>
                    <text x="68" y="84">Type</text>
                    <text x="196" y="84">Code</text>
                    <text x="380" y="84">Checksum</text>
                    <text x="140" y="116">Reserved</text>
                    <text x="384" y="116">MTU</text>
                    <text x="148" y="148">As</text>
                    <text x="180" y="148">much</text>
                    <text x="212" y="148">of</text>
                    <text x="240" y="148">the</text>
                    <text x="296" y="148">offending</text>
                    <text x="364" y="148">packet</text>
                    <text x="132" y="164">as</text>
                    <text x="180" y="164">possible</text>
                    <text x="248" y="164">without</text>
                    <text x="296" y="164">the</text>
                    <text x="332" y="164">SCMP</text>
                    <text x="380" y="164">packet</text>
                    <text x="208" y="180">exceeding</text>
                    <text x="268" y="180">1232</text>
                    <text x="316" y="180">bytes.</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Reserved           |             MTU               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                As much of the offending packet                |
+              as possible without the SCMP packet              +
|                    exceeding 1232 bytes.                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <table>
            <name>Error Message field values</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Type</td>
                <td align="left">2</td>
              </tr>
              <tr>
                <td align="left">Code</td>
                <td align="left">0</td>
              </tr>
              <tr>
                <td align="left">MTU</td>
                <td align="left">The Maximum Transmission Unit of the next-hop link.</td>
              </tr>
            </tbody>
          </table>
          <t>A <strong>Packet Too Big</strong> message <bcp14>SHOULD</bcp14> be originated by a router in response to a
packet that cannot be forwarded because the packet is larger than the MTU of the
outgoing link. The router sets the MTU value to the maximum size a SCION packet can have
to still fit on the next-hop link, as the sender has no knowledge of the
underlay.</t>
        </section>
        <section anchor="external-interface-down">
          <name>External Interface Down</name>
          <figure anchor="_figure-22">
            <name>External Interface Down format</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="528" viewBox="0 0 528 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,288" fill="none" stroke="black"/>
                  <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,288" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 264,128" fill="none" stroke="black"/>
                  <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
                  <path d="M 8,224 L 520,224" fill="none" stroke="black"/>
                  <path d="M 8,288 L 520,288" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="16" y="36">0</text>
                    <text x="176" y="36">1</text>
                    <text x="336" y="36">2</text>
                    <text x="496" y="36">3</text>
                    <text x="16" y="52">0</text>
                    <text x="32" y="52">1</text>
                    <text x="48" y="52">2</text>
                    <text x="64" y="52">3</text>
                    <text x="80" y="52">4</text>
                    <text x="96" y="52">5</text>
                    <text x="112" y="52">6</text>
                    <text x="128" y="52">7</text>
                    <text x="144" y="52">8</text>
                    <text x="160" y="52">9</text>
                    <text x="176" y="52">0</text>
                    <text x="192" y="52">1</text>
                    <text x="208" y="52">2</text>
                    <text x="224" y="52">3</text>
                    <text x="240" y="52">4</text>
                    <text x="256" y="52">5</text>
                    <text x="272" y="52">6</text>
                    <text x="288" y="52">7</text>
                    <text x="304" y="52">8</text>
                    <text x="320" y="52">9</text>
                    <text x="336" y="52">0</text>
                    <text x="352" y="52">1</text>
                    <text x="368" y="52">2</text>
                    <text x="384" y="52">3</text>
                    <text x="400" y="52">4</text>
                    <text x="416" y="52">5</text>
                    <text x="432" y="52">6</text>
                    <text x="448" y="52">7</text>
                    <text x="464" y="52">8</text>
                    <text x="480" y="52">9</text>
                    <text x="496" y="52">0</text>
                    <text x="512" y="52">1</text>
                    <text x="68" y="84">Type</text>
                    <text x="196" y="84">Code</text>
                    <text x="380" y="84">Checksum</text>
                    <text x="136" y="116">ISD</text>
                    <text x="380" y="132">AS</text>
                    <text x="240" y="196">Interface</text>
                    <text x="292" y="196">ID</text>
                    <text x="148" y="244">As</text>
                    <text x="180" y="244">much</text>
                    <text x="212" y="244">of</text>
                    <text x="240" y="244">the</text>
                    <text x="296" y="244">offending</text>
                    <text x="364" y="244">packet</text>
                    <text x="132" y="260">as</text>
                    <text x="180" y="260">possible</text>
                    <text x="248" y="260">without</text>
                    <text x="296" y="260">the</text>
                    <text x="332" y="260">SCMP</text>
                    <text x="380" y="260">packet</text>
                    <text x="208" y="276">exceeding</text>
                    <text x="268" y="276">1232</text>
                    <text x="316" y="276">bytes.</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              ISD              |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+             AS                +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                        Interface ID                           +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                As much of the offending packet                |
+              as possible without the SCMP packet              +
|                    exceeding 1232 bytes.                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <table>
            <name>Error Message field values</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Type</td>
                <td align="left">5</td>
              </tr>
              <tr>
                <td align="left">Code</td>
                <td align="left">0</td>
              </tr>
              <tr>
                <td align="left">ISD</td>
                <td align="left">The 16-bit ISD identifier of the SCMP originator</td>
              </tr>
              <tr>
                <td align="left">AS</td>
                <td align="left">The 48-bit AS identifier of the SCMP originator</td>
              </tr>
              <tr>
                <td align="left">Interface ID</td>
                <td align="left">The interface ID of the external link with connectivity issue.</td>
              </tr>
            </tbody>
          </table>
          <t>A <strong>External Interface Down</strong> message <bcp14>SHOULD</bcp14> be originated by a router in response
to a packet that cannot be forwarded because the link to an external AS is broken.
The ISD and AS identifier are set to the ISD-AS of the originating router.
The Interface ID identifies the link of the originating AS that is down.
Recipients can use this information to route around broken data-plane links.</t>
        </section>
        <section anchor="internal-connectivity-down">
          <name>Internal Connectivity Down</name>
          <figure anchor="_figure-23">
            <name>Internal Connectivity Down format</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="528" viewBox="0 0 528 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,352" fill="none" stroke="black"/>
                  <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,352" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 264,128" fill="none" stroke="black"/>
                  <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
                  <path d="M 8,224 L 520,224" fill="none" stroke="black"/>
                  <path d="M 8,288 L 520,288" fill="none" stroke="black"/>
                  <path d="M 8,352 L 520,352" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="16" y="36">0</text>
                    <text x="176" y="36">1</text>
                    <text x="336" y="36">2</text>
                    <text x="496" y="36">3</text>
                    <text x="16" y="52">0</text>
                    <text x="32" y="52">1</text>
                    <text x="48" y="52">2</text>
                    <text x="64" y="52">3</text>
                    <text x="80" y="52">4</text>
                    <text x="96" y="52">5</text>
                    <text x="112" y="52">6</text>
                    <text x="128" y="52">7</text>
                    <text x="144" y="52">8</text>
                    <text x="160" y="52">9</text>
                    <text x="176" y="52">0</text>
                    <text x="192" y="52">1</text>
                    <text x="208" y="52">2</text>
                    <text x="224" y="52">3</text>
                    <text x="240" y="52">4</text>
                    <text x="256" y="52">5</text>
                    <text x="272" y="52">6</text>
                    <text x="288" y="52">7</text>
                    <text x="304" y="52">8</text>
                    <text x="320" y="52">9</text>
                    <text x="336" y="52">0</text>
                    <text x="352" y="52">1</text>
                    <text x="368" y="52">2</text>
                    <text x="384" y="52">3</text>
                    <text x="400" y="52">4</text>
                    <text x="416" y="52">5</text>
                    <text x="432" y="52">6</text>
                    <text x="448" y="52">7</text>
                    <text x="464" y="52">8</text>
                    <text x="480" y="52">9</text>
                    <text x="496" y="52">0</text>
                    <text x="512" y="52">1</text>
                    <text x="68" y="84">Type</text>
                    <text x="196" y="84">Code</text>
                    <text x="380" y="84">Checksum</text>
                    <text x="136" y="116">ISD</text>
                    <text x="380" y="132">AS</text>
                    <text x="192" y="196">Ingress</text>
                    <text x="264" y="196">Interface</text>
                    <text x="316" y="196">ID</text>
                    <text x="188" y="260">Egress</text>
                    <text x="256" y="260">Interface</text>
                    <text x="308" y="260">ID</text>
                    <text x="148" y="308">As</text>
                    <text x="180" y="308">much</text>
                    <text x="212" y="308">of</text>
                    <text x="240" y="308">the</text>
                    <text x="296" y="308">offending</text>
                    <text x="364" y="308">packet</text>
                    <text x="132" y="324">as</text>
                    <text x="180" y="324">possible</text>
                    <text x="248" y="324">without</text>
                    <text x="296" y="324">the</text>
                    <text x="332" y="324">SCMP</text>
                    <text x="380" y="324">packet</text>
                    <text x="208" y="340">exceeding</text>
                    <text x="268" y="340">1232</text>
                    <text x="316" y="340">bytes.</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              ISD              |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+             AS                +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                   Ingress Interface ID                        +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                   Egress Interface ID                         +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                As much of the offending packet                |
+              as possible without the SCMP packet              +
|                    exceeding 1232 bytes.                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <table>
            <name>Error Message field values</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Type</td>
                <td align="left">6</td>
              </tr>
              <tr>
                <td align="left">Code</td>
                <td align="left">0</td>
              </tr>
              <tr>
                <td align="left">ISD</td>
                <td align="left">The 16-bit ISD identifier of the SCMP originator</td>
              </tr>
              <tr>
                <td align="left">AS</td>
                <td align="left">The 48-bit SCION AS identifier of the SCMP originator</td>
              </tr>
              <tr>
                <td align="left">Ingress ID</td>
                <td align="left">The interface ID of the ingress link.</td>
              </tr>
              <tr>
                <td align="left">Egress ID</td>
                <td align="left">The interface ID of the egress link.</td>
              </tr>
            </tbody>
          </table>
          <t>A <strong>Internal Connectivity Down</strong> message <bcp14>SHOULD</bcp14> be originated by a router in
response to a packet that cannot be forwarded inside the AS because the
connectivity between the ingress and egress routers is broken.
The ISD and AS identifier are set to the ISD-AS of the originating router.
The ingress Interface ID identifies the interface on which the packet enters the AS.
The egress Interface ID identifies the interface on which the packet is destined to
leave the AS, but the connection to which is broken.</t>
          <t>Recipients can use this information to route around a broken data plane inside an
AS.</t>
        </section>
      </section>
      <section anchor="scmp-information">
        <name>Informational Messages</name>
        <section anchor="echo-request">
          <name>Echo Request</name>
          <figure anchor="_figure-24">
            <name>Echo Request format</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="528" viewBox="0 0 528 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,160" fill="none" stroke="black"/>
                  <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,160" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
                  <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="16" y="36">0</text>
                    <text x="176" y="36">1</text>
                    <text x="336" y="36">2</text>
                    <text x="496" y="36">3</text>
                    <text x="16" y="52">0</text>
                    <text x="32" y="52">1</text>
                    <text x="48" y="52">2</text>
                    <text x="64" y="52">3</text>
                    <text x="80" y="52">4</text>
                    <text x="96" y="52">5</text>
                    <text x="112" y="52">6</text>
                    <text x="128" y="52">7</text>
                    <text x="144" y="52">8</text>
                    <text x="160" y="52">9</text>
                    <text x="176" y="52">0</text>
                    <text x="192" y="52">1</text>
                    <text x="208" y="52">2</text>
                    <text x="224" y="52">3</text>
                    <text x="240" y="52">4</text>
                    <text x="256" y="52">5</text>
                    <text x="272" y="52">6</text>
                    <text x="288" y="52">7</text>
                    <text x="304" y="52">8</text>
                    <text x="320" y="52">9</text>
                    <text x="336" y="52">0</text>
                    <text x="352" y="52">1</text>
                    <text x="368" y="52">2</text>
                    <text x="384" y="52">3</text>
                    <text x="400" y="52">4</text>
                    <text x="416" y="52">5</text>
                    <text x="432" y="52">6</text>
                    <text x="448" y="52">7</text>
                    <text x="464" y="52">8</text>
                    <text x="480" y="52">9</text>
                    <text x="496" y="52">0</text>
                    <text x="512" y="52">1</text>
                    <text x="68" y="84">Type</text>
                    <text x="196" y="84">Code</text>
                    <text x="380" y="84">Checksum</text>
                    <text x="140" y="116">Identifier</text>
                    <text x="364" y="116">Sequence</text>
                    <text x="428" y="116">Number</text>
                    <text x="196" y="148">Data</text>
                    <text x="224" y="148">(</text>
                    <text x="268" y="148">variable</text>
                    <text x="324" y="148">Len.</text>
                    <text x="352" y="148">)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Identifier          |        Sequence Number        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Data ( variable Len. )                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <table>
            <name>Informational Message field values</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Type</td>
                <td align="left">128</td>
              </tr>
              <tr>
                <td align="left">Code</td>
                <td align="left">0</td>
              </tr>
              <tr>
                <td align="left">Identifier</td>
                <td align="left">A 16-bit identifier to aid matching replies with requests</td>
              </tr>
              <tr>
                <td align="left">Sequence Nr.</td>
                <td align="left">A 16-bit sequence number to aid matching replies with requests</td>
              </tr>
              <tr>
                <td align="left">Data</td>
                <td align="left">Variable length of arbitrary data</td>
              </tr>
            </tbody>
          </table>
          <t>Every node <bcp14>SHOULD</bcp14> implement a SCMP Echo responder function that receives Echo Requests and originates corresponding Echo replies.</t>
        </section>
        <section anchor="echo-reply">
          <name>Echo Reply</name>
          <figure anchor="_figure-25">
            <name>Echo Reply format</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="528" viewBox="0 0 528 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,160" fill="none" stroke="black"/>
                  <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,160" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
                  <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="16" y="36">0</text>
                    <text x="176" y="36">1</text>
                    <text x="336" y="36">2</text>
                    <text x="496" y="36">3</text>
                    <text x="16" y="52">0</text>
                    <text x="32" y="52">1</text>
                    <text x="48" y="52">2</text>
                    <text x="64" y="52">3</text>
                    <text x="80" y="52">4</text>
                    <text x="96" y="52">5</text>
                    <text x="112" y="52">6</text>
                    <text x="128" y="52">7</text>
                    <text x="144" y="52">8</text>
                    <text x="160" y="52">9</text>
                    <text x="176" y="52">0</text>
                    <text x="192" y="52">1</text>
                    <text x="208" y="52">2</text>
                    <text x="224" y="52">3</text>
                    <text x="240" y="52">4</text>
                    <text x="256" y="52">5</text>
                    <text x="272" y="52">6</text>
                    <text x="288" y="52">7</text>
                    <text x="304" y="52">8</text>
                    <text x="320" y="52">9</text>
                    <text x="336" y="52">0</text>
                    <text x="352" y="52">1</text>
                    <text x="368" y="52">2</text>
                    <text x="384" y="52">3</text>
                    <text x="400" y="52">4</text>
                    <text x="416" y="52">5</text>
                    <text x="432" y="52">6</text>
                    <text x="448" y="52">7</text>
                    <text x="464" y="52">8</text>
                    <text x="480" y="52">9</text>
                    <text x="496" y="52">0</text>
                    <text x="512" y="52">1</text>
                    <text x="68" y="84">Type</text>
                    <text x="196" y="84">Code</text>
                    <text x="380" y="84">Checksum</text>
                    <text x="140" y="116">Identifier</text>
                    <text x="364" y="116">Sequence</text>
                    <text x="428" y="116">Number</text>
                    <text x="196" y="148">Data</text>
                    <text x="224" y="148">(</text>
                    <text x="268" y="148">variable</text>
                    <text x="324" y="148">Len.</text>
                    <text x="352" y="148">)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Identifier          |        Sequence Number        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Data ( variable Len. )                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <table>
            <name>Informational Message field values</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Type</td>
                <td align="left">129</td>
              </tr>
              <tr>
                <td align="left">Code</td>
                <td align="left">0</td>
              </tr>
              <tr>
                <td align="left">Identifier</td>
                <td align="left">The identifier of the Echo Request</td>
              </tr>
              <tr>
                <td align="left">Sequence Nr.</td>
                <td align="left">The sequence number of the Echo Request</td>
              </tr>
              <tr>
                <td align="left">Data</td>
                <td align="left">The data of the Echo Request</td>
              </tr>
            </tbody>
          </table>
          <t>Every node <bcp14>SHOULD</bcp14> implement a SCMP Echo responder function that receives Echo Requests and originates corresponding Echo replies.</t>
          <t>The data received in the SCMP Echo Request message <bcp14>MUST</bcp14> be returned entirely and unmodified in the SCMP Echo Reply message.</t>
        </section>
        <section anchor="traceroute-request">
          <name>Traceroute Request</name>
          <figure anchor="_figure-26">
            <name>Traceroute Request format</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="528" viewBox="0 0 528 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,256" fill="none" stroke="black"/>
                  <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,160" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,256" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
                  <path d="M 8,160 L 264,160" fill="none" stroke="black"/>
                  <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
                  <path d="M 8,256 L 520,256" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="16" y="36">0</text>
                    <text x="176" y="36">1</text>
                    <text x="336" y="36">2</text>
                    <text x="496" y="36">3</text>
                    <text x="16" y="52">0</text>
                    <text x="32" y="52">1</text>
                    <text x="48" y="52">2</text>
                    <text x="64" y="52">3</text>
                    <text x="80" y="52">4</text>
                    <text x="96" y="52">5</text>
                    <text x="112" y="52">6</text>
                    <text x="128" y="52">7</text>
                    <text x="144" y="52">8</text>
                    <text x="160" y="52">9</text>
                    <text x="176" y="52">0</text>
                    <text x="192" y="52">1</text>
                    <text x="208" y="52">2</text>
                    <text x="224" y="52">3</text>
                    <text x="240" y="52">4</text>
                    <text x="256" y="52">5</text>
                    <text x="272" y="52">6</text>
                    <text x="288" y="52">7</text>
                    <text x="304" y="52">8</text>
                    <text x="320" y="52">9</text>
                    <text x="336" y="52">0</text>
                    <text x="352" y="52">1</text>
                    <text x="368" y="52">2</text>
                    <text x="384" y="52">3</text>
                    <text x="400" y="52">4</text>
                    <text x="416" y="52">5</text>
                    <text x="432" y="52">6</text>
                    <text x="448" y="52">7</text>
                    <text x="464" y="52">8</text>
                    <text x="480" y="52">9</text>
                    <text x="496" y="52">0</text>
                    <text x="512" y="52">1</text>
                    <text x="68" y="84">Type</text>
                    <text x="196" y="84">Code</text>
                    <text x="380" y="84">Checksum</text>
                    <text x="140" y="116">Identifier</text>
                    <text x="364" y="116">Sequence</text>
                    <text x="428" y="116">Number</text>
                    <text x="136" y="148">ISD</text>
                    <text x="388" y="164">AS</text>
                    <text x="256" y="228">Interface</text>
                    <text x="308" y="228">ID</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Identifier          |        Sequence Number        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              ISD              |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+              AS               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                          Interface ID                         +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <t>Given a SCION path constituted of hop fields, traceroute allows to identify the corresponding on-path ISD-ASes.</t>
          <table>
            <name>Informational Message field values</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Type</td>
                <td align="left">130</td>
              </tr>
              <tr>
                <td align="left">Code</td>
                <td align="left">0</td>
              </tr>
              <tr>
                <td align="left">Identifier</td>
                <td align="left">A 16-bit identifier to aid matching replies with requests</td>
              </tr>
              <tr>
                <td align="left">Sequence Nr.</td>
                <td align="left">A 16-bit sequence number to aid matching replies with request</td>
              </tr>
              <tr>
                <td align="left">ISD</td>
                <td align="left">Place holder set to zero by SCMP sender</td>
              </tr>
              <tr>
                <td align="left">AS</td>
                <td align="left">Place holder set to zero by SCMP sender</td>
              </tr>
              <tr>
                <td align="left">Interface ID</td>
                <td align="left">Place holder set to zero by SCMP sender</td>
              </tr>
            </tbody>
          </table>
          <t>A border router is alerted of a Traceroute Request message through the Ingress or Egress Router Alert flag set to 1 in the hop field that describes the traversal of that router in a packet's path (see <xref target="I-D.dekater-scion-dataplane"/> section "SCION Header Specification"). When such a packet is received, the border router <bcp14>SHOULD</bcp14> reply with a <xref target="traceroute-reply">Traceroute Reply message</xref>.</t>
        </section>
        <section anchor="traceroute-reply">
          <name>Traceroute Reply</name>
          <figure anchor="_figure-27">
            <name>Traceroute Reply format</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="528" viewBox="0 0 528 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,256" fill="none" stroke="black"/>
                  <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,160" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,256" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
                  <path d="M 8,160 L 264,160" fill="none" stroke="black"/>
                  <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
                  <path d="M 8,256 L 520,256" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="16" y="36">0</text>
                    <text x="176" y="36">1</text>
                    <text x="336" y="36">2</text>
                    <text x="496" y="36">3</text>
                    <text x="16" y="52">0</text>
                    <text x="32" y="52">1</text>
                    <text x="48" y="52">2</text>
                    <text x="64" y="52">3</text>
                    <text x="80" y="52">4</text>
                    <text x="96" y="52">5</text>
                    <text x="112" y="52">6</text>
                    <text x="128" y="52">7</text>
                    <text x="144" y="52">8</text>
                    <text x="160" y="52">9</text>
                    <text x="176" y="52">0</text>
                    <text x="192" y="52">1</text>
                    <text x="208" y="52">2</text>
                    <text x="224" y="52">3</text>
                    <text x="240" y="52">4</text>
                    <text x="256" y="52">5</text>
                    <text x="272" y="52">6</text>
                    <text x="288" y="52">7</text>
                    <text x="304" y="52">8</text>
                    <text x="320" y="52">9</text>
                    <text x="336" y="52">0</text>
                    <text x="352" y="52">1</text>
                    <text x="368" y="52">2</text>
                    <text x="384" y="52">3</text>
                    <text x="400" y="52">4</text>
                    <text x="416" y="52">5</text>
                    <text x="432" y="52">6</text>
                    <text x="448" y="52">7</text>
                    <text x="464" y="52">8</text>
                    <text x="480" y="52">9</text>
                    <text x="496" y="52">0</text>
                    <text x="512" y="52">1</text>
                    <text x="68" y="84">Type</text>
                    <text x="196" y="84">Code</text>
                    <text x="380" y="84">Checksum</text>
                    <text x="140" y="116">Identifier</text>
                    <text x="364" y="116">Sequence</text>
                    <text x="428" y="116">Number</text>
                    <text x="136" y="148">ISD</text>
                    <text x="388" y="164">AS</text>
                    <text x="256" y="228">Interface</text>
                    <text x="308" y="228">ID</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Identifier          |        Sequence Number        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              ISD              |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+              AS               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                          Interface ID                         +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <table>
            <name>Informational Message field values</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Value</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Type</td>
                <td align="left">131</td>
              </tr>
              <tr>
                <td align="left">Code</td>
                <td align="left">0</td>
              </tr>
              <tr>
                <td align="left">Identifier</td>
                <td align="left">The identifier set in the Traceroute Request</td>
              </tr>
              <tr>
                <td align="left">Sequence Nr.</td>
                <td align="left">The sequence number of the Tracroute Request</td>
              </tr>
              <tr>
                <td align="left">ISD</td>
                <td align="left">The 16-bit ISD identifier of the SCMP originator</td>
              </tr>
              <tr>
                <td align="left">AS</td>
                <td align="left">The 48-bit AS identifier of the SCMP originator</td>
              </tr>
              <tr>
                <td align="left">Interface ID</td>
                <td align="left">The interface ID of the SCMP originating router</td>
              </tr>
            </tbody>
          </table>
          <t>The identifier is set to the identifier value from the <xref target="traceroute-request">Traceroute Request message</xref>. The ISD and AS identifiers are set to the ISD-AS of the originating border router.</t>
        </section>
      </section>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <section anchor="destination-mapping">
        <name>Destination Mapping</name>
        <t>The mechanism by which endpoints determine the destination ISD-AS corresponding to a given destination address is outside the scope of this document. One option, still experimental in existing deployments, is that SCION-aware endpoints may resolve destination SCION addresses using a naming system (e.g., DNS).</t>
        <t>SCION-unaware endpoints may interface with a SCION network through a SCION IP Gateway (SIG), which tunnels IP traffic over SCION. In such cases, the source SIG is responsible for mapping destination IPs to the appropriate destination ISD-AS and gateway. More information can be found at <xref target="SIG"/>.</t>
      </section>
      <section anchor="monitoring-considerations">
        <name>Monitoring Considerations</name>
        <t>In order to maintain service availability, an AS operator <bcp14>SHOULD</bcp14> monitor the following aspects when deploying the SCION control plane:</t>
        <ul spacing="normal">
          <li>
            <t>For routers (to enable correlation with link states): state of configured links (core, child, parent).</t>
          </li>
          <li>
            <t>For any Control Service:
            </t>
            <ul spacing="normal">
              <li>
                <t>Fraction of path lookups served successfully (see <xref target="lookup"/>).</t>
              </li>
              <li>
                <t>Time synchronization offset with other ASes (see <xref target="clock-inaccuracy"/>).</t>
              </li>
              <li>
                <t>Fraction of ASes found in non-expired segments for which a non-expired certificate exists.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>For a core AS:
            </t>
            <ul spacing="normal">
              <li>
                <t>Fraction of core ASes (preferably only those to which the link is up) that can be found in non-expired core segments.</t>
              </li>
              <li>
                <t>Fraction of ASes, core or children, (preferably only those to which the link is up) to where a beacon was originated during the last propagation interval.</t>
              </li>
              <li>
                <t>Fraction of freshly propagated beacons for which at least one corresponding down segment has been registered (see <xref target="path-segment-reg"/>).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>For a non-core AS:
            </t>
            <ul spacing="normal">
              <li>
                <t>Number of up segments available (may be just 0/non-0) younger than the propagation interval (or some multiple thereof).</t>
              </li>
              <li>
                <t>Fraction of up segments that were successfully registered as down segments (see <xref target="path-segment-reg"/>).</t>
              </li>
              <li>
                <t>Fraction of children ASes (preferably only those to which the link is up) to where a beacon was propagated during the last propagation interval.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="clock-inaccuracy">
        <name>Effects of Clock Inaccuracy</name>
        <t>A PCB originated by a given core AS Control Service is validated by all the Control Services that receive it. All have different clocks and their differences affect the validation process:</t>
        <ul spacing="normal">
          <li>
            <t>A fast clock at origination or a slow clock at reception will yield a lengthened expiration time for hops, and possibly an origination time in the future.</t>
          </li>
          <li>
            <t>A slow clock at origination or a fast clock at reception will yield a shortened expiration time for hops, and possibly an expiration time in the past.</t>
          </li>
        </ul>
        <t>This bias comes in addition to a structural delay: PCBs are propagated at a configurable interval, typically around one minute. As a result of this and the manner in which they are iteratively constructed, PCBs with N hops may be validated up to N intervals (so maximally N minutes) after origination which creates a constraint on the expiration of hops. Hops of the minimal expiration time (337.5 seconds - see <xref target="hopfield"/>) would make any PCB describing a path longer than 5 hops expire. For this reason it is unadvisable to create hops with a short expiration time - i.e., they <bcp14>SHOULD</bcp14> be around 6 hours.</t>
        <t>The Control Service and its clients authenticate each other in accordance with their respective AS's certificate. Path segments are authenticated based on the certificates of the ASes that they refer to. The <bcp14>RECOMMENDED</bcp14> expiration time of a SCION AS certificate is between 3h and 3 days, although some deployments use up to 5 days. In comparison to these time scales, clock offsets in the order of minutes are immaterial.</t>
        <t>Each administrator of a SCION Control Service is responsible for maintaining coarse time synchronization with SCION routers within the AS, neighbor ASes Control Services, and endpoints within the AS. In typical deployments, clock deviations on the order of several minutes are acceptable.</t>
        <t>The specific methods used to achieve this synchronization are outside the scope of this document. Security considerations on time synchronization are discussed in <xref target="time-security"/>.</t>
      </section>
      <section anchor="scalability">
        <name>Path Discovery Time and Scalability</name>
        <t>The path discovery mechanism balances the number of discovered paths and the time it takes to discover them versus resource overhead of the discovery.</t>
        <t>The resource costs for path discovery are as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Communication overhead is transmitting the PCBs and occasionally obtaining the required PKI material.</t>
          </li>
          <li>
            <t>Processing overhead is validating the signatures of the AS entries, signing new AS entries, and to a lesser extent, evaluating the PCB selection policies.</t>
          </li>
          <li>
            <t>Storage overhead is both the temporary storage of PCBs before the next propagation interval, and the storage of complete discovered path segments.</t>
          </li>
        </ul>
        <t>All of these are dependent on the number and length of the discovered path segments, i.e., the total number of AS entries of the discovered path segments. These in turn depend on the configured best PCBs set size (<xref target="propagation-interval-size"/>).</t>
        <t>Relevant metrics for scalability and speed of path discovery are the time until all discoverable path segments have been discovered after a network bootstrap, and the time until a new link is usable. In general, the time until a specific PCB is built depends on its length, the propagation interval, and whether on-path ASes use "fast recovery" (see <xref target="propagation-interval-size"/>).</t>
        <t>At each AS, the Control Service will process and propagate the PCB at the subsequent propagation event. As propagation events are not synchronized between different ASes, a PCB arrives at a random point in time during the interval and may be buffered before potentially being propagated. With a propagation interval T at each AS, the mean time until the PCB is propagated in one AS therefore is T / 2 and the mean total time for the propagation steps of a PCB of length L is at worst L * T / 2 (with a variance of L * T^2 / 12).</t>
        <t>Note that link removal is not part of path discovery in SCION. For scheduled removal of links, operators let path segments expire. On link failures, endpoints route around the failed link by switching to different paths in the data plane (see <xref target="I-D.dekater-scion-dataplane"/> section "Handling Link Failures").</t>
        <t>To achieve scalability, SCION ASes are partitioned into ISDs and in an ideal topology the inter-ISD core network should be kept to a moderate size. More specific observations require a distinction between intra-ISD and core beaconing.</t>
        <section anchor="intra-isd-beaconing">
          <name>Intra-ISD Beaconing</name>
          <t>In the intra-ISD beaconing, PCBs are propagated top down along parent-child links from core to downstream ASes. Each AS discovers path segments from itself to the core ASes of its ISD.</t>
          <t>This produces an acyclic graph which is typically narrow at the top, widens towards downstream ASes, and is relatively shallow. Intermediate provider ASes will typically have a large number of children whilst only having a small number of parents. Therefore the chain of intermediate providers from a downstream AS to a core AS is typically not long (e.g., local, regional, national provider, then core).</t>
          <t>Each AS potentially receives PCBs for all down path segments from the core to itself. While the number of distinct provider chains to the core is typically moderate, the multiplicity of links between provider ASes has multiplicative effect on the number of PCBs. Once this number grows above the maximum recommended best PCB set size of 50, ASes <bcp14>SHOULD</bcp14> trim the set of PCBs propagated.</t>
          <t>Ultimately, the number of PCBs received by an AS per propagation interval remains bounded by 50 for each parent link of an AS, and at most 50 PCBs per child link are propagated. The length of these PCBs and thus the number of AS entries to be processed and stored, is expected to be moderate and not grow considerably with network size. The total resource overhead for beacon propagation is easily manageable even for highly connected ASes.</t>
          <t>To illustrate this, an AS with a rather large number of 100 parent links receives at most 5,000 PCBs during a propagation interval. Assuming a generous average length of 10 AS entries for these PCBs, this corresponds to 50,000 AS entries.</t>
          <t>Due to the variable length fields in AS entries, the sizes for storage and transmission cannot be predicted exactly, but assume an average of 250 bytes per AS entry. At the shortest recommended propagation interval of 5 seconds, this corresponds to an average bandwidth of around 2.5 MB/s and the processing of 10,000 signature verifications per second.</t>
          <t>If the same AS has 1,000 child links, the propagation of the beacons will require signing one new AS entry for each of the propagated PCBs for each link (at most 50 per link) - i.e., at most 50,000 signatures per propagation event. The total bandwidth for the propagation of the PCBs for all 1,000 child links would be roughly around 25 MB/s which is manageable with even modest consumer hardware.</t>
          <t>On a network bootstrap, path segments to each AS are discovered within a number of propagation steps proportional to the longest path. With a 5 second propagation interval and a generous longest path of length 10, all path segments are discovered after 25 seconds on average. When all ASes start propagation just after they've received the first PCBs from any of their upstreams (see "fast recovery" in <xref target="propagation-interval-size"/>), the construction of a first path to connect each AS to the ISD core is accelerated.</t>
          <t>When a new parent-child link is added to the network, the parent AS will propagate the available PCBs in the next propagation event. If the AS on the child side of the new link has no children of its own, path discovery is complete after at most one propagation interval. Otherwise, child ASes at distance D below the new link, learn of the new link after at worst D further propagation intervals.</t>
        </section>
        <section anchor="core-beaconing">
          <name>Core Beaconing</name>
          <t>In core beaconing (typically inter-ISD), PCBs are propagated omnidirectionally along core links. Each AS discovers path segments from itself to any other core AS.</t>
          <t>The number of distinct paths through the core network is typically very large. To keep the overhead manageable, at most 5 path segments to every destination AS are discovered and the propagation frequency is slower than in the intra-ISD beaconing (at least 60 seconds between propagation events).</t>
          <t>Without making strong assumptions on the topology of the core network, it can be assumed that shortest paths through real world networks are relatively short - e.g., the Barabási-Albert random graph model predicts a diameter of log(N)/log(log(N)) for a network with N nodes <xref target="BollRio-2000"/> and the average distance scales in the same way. Whilst it cannot be assumed that the selected PCBs are strictly the shortest paths through the network, they are likely to be not very much longer than the shortest paths either.</t>
          <t>With N the number of participating core ASes, an AS receives up to 5 * N PCBs per propagation interval per core link interface. For highly connected ASes, the number of PCBs received thus becomes rather large and in a network of 1,000 ASes, an AS with 300 core links receives up to 1.5 million PCBs per propagation interval.</t>
          <t>Assuming an average PCB length of 6 and the shortest propagation interval of 60 seconds, this corresponds to roughly 150,000 signature validations per second or roughly 38 MB/s. For much larger, more highly connected ASes, the path discovery tasks of the Control Service can be distributed over many instances in order to increase the PCB throughput.</t>
          <t>On a network bootstrap, full connectivity is obtained after a number of propagation steps corresponding to the diameter of the network. Assuming a network diameter of 6, this corresponds to roughly 3 minutes on average. When a new link is added to the network, it will be available to connect two ASes at distances D1 and D2 from the link respectively, at worst after a mean time (D1+D2)*T/2.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>As described previously, the goal of SCION’s beaconing process in the control plane is to securely discover and disseminate paths between any two ASes. This section describes security considerations for SCION's Control Plane that focuses on <em>inter</em>-domain routing. SCION does not provide intra-domain routing, nor does it provide end-to-end payload encryption so these topics lie outside the scope of this section.</t>
      <t>This section discusses three kinds of threats to the control plane:</t>
      <ol spacing="normal" type="1"><li>
          <t>When an adversary controls one or all core ASes of an ISD and tries to manipulate the beaconing process from the top down (see <xref target="topdown-manipulate"/>).</t>
        </li>
        <li>
          <t>When "ordinary" (non-core) adversaries try to manipulate the beaconing process (see <xref target="manipulate-beaconing"/>).</t>
        </li>
        <li>
          <t>Denial of Services (DoS) attacks where attackers overload different parts of the infrastructure (see <xref target="dos-cp"/>).</t>
        </li>
      </ol>
      <section anchor="security-properties">
        <name>Security Properties</name>
        <t>The SCION control plane provides various security properties, as discussed below. Here a SCION AS is described as 'honest' if its private keys are unknown to the attacker and it correctly performs operations in accordance with this specification (e.g., uses a unique interface identifier for each link). An honest path is one that only traverses honest ASes. An honest segment is one created by an honest AS.</t>
        <t>Security properties are:</t>
        <ul spacing="normal">
          <li>
            <t>Connectivity - For every pair of honest ASes X and Y, X will eventually register enough segments to build at least one path (of any length) leading to Y.</t>
          </li>
          <li>
            <t>Forwarding Path Consistency - For every honest path segment registered in any AS
            </t>
            <ul spacing="normal">
              <li>
                <t>its sequence of AS entries corresponds to a continuous SCION forwarding path in the network of inter-domain links</t>
              </li>
              <li>
                <t>the inter-domain network topology remains unchanged since the segment was first generated.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Loop Freedom - For every honest path segment registered in any AS, its sequence of AS entries contains no duplicates, including current and next ISD-AS and Interface IDs.</t>
          </li>
          <li>
            <t>Path Authorization - For every honest path segment registered in any AS and any AS X appearing on that segment (except for the previous one), AS X propagated a PCB corresponding to the segment portion ending in its own entry to its successor AS on the segment.</t>
          </li>
        </ul>
        <t>To ensure that the properties hold across the overall SCION network, these are the prerequisites to follow:
  - all core ASes <bcp14>MUST</bcp14> be able to reach each other with some sequence of core links;
  - and all non-core ASes <bcp14>MUST</bcp14> have at least one path up to a core AS.</t>
        <t>Furthermore, to ensure that the properties hold within a single ISD, all core ASes of the ISD <bcp14>MUST</bcp14> be able to reach each other without leaving the ISD - i.e, for every pair of cores in an ISD there is a sequence of SCION links that only traverse the ISD members.</t>
        <t>A core AS may reach other core ASes in the same ISD via other ISDs, depending on the ISD's policies.</t>
      </section>
      <section anchor="topdown-manipulate">
        <name>Manipulation of the Beaconing Process by a Core Adversary</name>
        <t>The first risk to the beaconing process comes from an adversary controlling one or more core ASes in an ISD. Non-core ASes depend on core ASes for beaconing. If an adversary compromises all upstream core ASes of a target AS and suppresses PCB propagation, the discovery of new paths for will halt. Although the downstream AS will no longer receive new PCBs, previously discovered and still valid paths remain usable for data plane forwarding until they expire. This is an unlikely attack scenario, as it would require compromise of all core ASes of a given downstream AS to be effective.</t>
      </section>
      <section anchor="manipulate-beaconing">
        <name>Manipulation of the Beaconing Process by a Non-Core Adversary</name>
        <t>This section examines several possible approaches that could be taken by an "ordinary" non-core adversary to manipulate the beaconing process in the Control Plane. For each case it shows to what extent SCION's design can prevent the corresponding attack or help mitigate it.</t>
        <section anchor="path-hijack">
          <name>Path Hijacking through Interposition</name>
          <t>A malicious AS M might try to manipulate the beaconing process between two neighbor ASes A and B, with the goal to hijack traffic to flow via AS M. If AS M can interpose itself on the path between A and B, then it could attempt several potential attacks:</t>
          <ul spacing="normal">
            <li>
              <t>The adversary AS M could intercept and disseminate a PCB on its way from A to the neighboring AS B, and inject its own AS entry into the PCB toward downstream ASes.</t>
            </li>
            <li>
              <t>The adversary could modify the Hop Fields of an already existing path in order to insert its own AS in the path.</t>
            </li>
            <li>
              <t>The adversary could fully block traffic between AS A and AS B in order to force traffic redirection through an alternate path that includes its own AS.</t>
            </li>
          </ul>
          <t>The first type of attack is detectable and blocked by downstream ASes (e.g., AS B) because a PCB disseminated by AS A towards AS B contains the "Next ISD AS" field in the entry of AS A, pointing to AS B and protected by A's signature. If AS M manipulates the PCB while in flight from AS A to AS B, then verification of the manipulated inbound PCBs will fail at AS B, as the adversary's PCBs cannot contain AS A's correct signature (see <xref target="reception"/>).</t>
          <t>The second type of attack is made impossible by the Hop Field's MAC which protects the Hop Field's integrity and chains it with the previous Hop Fields on the path.</t>
          <t>The third type of attack generally cannot be prevented. However the alternate path would be immediately visible to endpoints as traffic <bcp14>MUST</bcp14> include Hop Fields from AS M.</t>
        </section>
        <section anchor="fake-ases">
          <name>Creation of Spurious ASes and ISDs</name>
          <t>An alternative scenario is when an adversary tries to introduce and spoof a non-existent AS. This would enable the adversary to send traffic with the spoofed AS as a source, allowing the adversary to complicate the detection of its attack and to plausibly deny the misbehavior.</t>
          <t>However, spoofing a new AS requires a registration of that AS with the ISD core to obtain a valid AS certificate, otherwise the adversary cannot construct valid PCBs. As this registration should include a thorough check and authentication by a CA, this cannot be done stealthily which defeats the original purpose.</t>
          <t>Similarly to creating a fake AS, an adversary could try to introduce a new malicious ISD. This involves the generation of its own TRC, finding core ASes to peer with, and convincing other ISDs of its legitimacy to accept the new TRC. Although this setup is not entirely impossible, it requires substantial time and effort and may need the involvement of more than one malicious entity. Here the "costs" of setting up the fake ISD may outweigh the benefits.</t>
        </section>
        <section anchor="peer-link-misuse">
          <name>Peering Link Misuse</name>
          <t>The misuse of a peering link by an adversary represents another type of attack. Consider the case where AS A wants to share its peering link only with one of its downstream neighbors AS B, and therefore selectively includes the peering link only in PCBs sent to AS B. An adversary may now try to gain access to this peering link by prepending the relevant PCBs to its own path. For this, the adversary needs to be able to (1) eavesdrop on the link from AS A to AS B, and (2) obtain the necessary Hop Fields by querying a Control Service and extracting the Hop Fields from registered paths.</t>
          <t>Even if an adversary succeeds in misusing a peering link as described above, SCION is able to mitigate this kind of attack. Each AS includes an egress interface as well as specific “next hop” information to the PCB before disseminating it further downstream. If a malicious entity tries to misuse a stolen PCB by adding it to its own segments, verification will fail upstream as the egress interface mismatches. Therefore, the peering link can only be used by the intended AS.</t>
        </section>
        <section anchor="manipulate-selection">
          <name>Manipulation of the Path-Selection Process</name>
          <t>SCION endpoints select inter-domain forwarding paths and this section discusses some mechanisms by which an adversary can attempt to trick endpoints downstream (in the direction of beaconing) into choosing non-optimal paths. The goal of such attacks is to make paths that are controlled by the adversary more attractive than other available paths.</t>
          <t>In SCION, overall path selection is the result of three steps. Firstly, each AS selects which PCBs are further forwarded to its neighbors. Secondly, each AS chooses the paths it wants to register at the local Control Service (as up segments) and at the core Control Service (as down segments). Thirdly, the endpoint performs path selection among all available paths resulting from a path lookup process.</t>
          <t>These attacks are only successful if the adversary is located within the same ISD and upstream relative to the victim AS. It is not possible to attract traffic away from the core as traffic travels upstream towards the core. Furthermore, the attack may either be discovered downstream (e.g., by seeing large numbers of paths becoming available), or during path registrations. After detection, non-core ASes will be able to identify paths traversing the adversary AS and avoid these paths.</t>
          <t><strong>Announcing Large Numbers of Path Segments</strong> <br/>
This attack is possible if the adversary controls at least two ASes. The adversary can create a large number of links between the ASes under its control which do not necessarily correspond to physical links. This allows the adversary to multiply the number of PCBs forwarded to its downstream neighbor ASes and in turn increases the chance that one or several of these forwarded PCBs are selected by the downstream ASes.</t>
          <t>In general, the number of PCBs that an adversary can announce this way scales exponentially with the number of consecutive ASes the adversary controls. However, this also decreases their chance of being chosen by a downstream AS for PCB dissemination or by an endpoint for path construction as these relatively long paths have to compete with other shorter paths. Furthermore, both endpoints and downstream ASes can detect poorer quality paths in the data plane and switch to better paths.</t>
          <t><strong>Wormhole Attack</strong> <br/>
A malicious AS M1 can send a PCB not only to their downstream neighbor ASes, but also out-of-band to another non-neighbor colluding malicious AS M2. This creates new segments to M2 and M2's downstream neighbor ASes, simulating a link between M1 and M2 which may not correspond to an actual link in the network topology.</t>
          <t>Similarly, two colluding ASes could announce a path through a fake peering link between them, even if in different ISDs, thus offering short paths to many destination ASes. Downstream ASes might have a policy of preferring paths with many peering links and thus are more likely to disseminate PCBs from the adversary. Endpoints are also more likely to choose short paths that make use of peering links.</t>
          <t>In the data plane, whenever the adversary receives a packet containing a fake peering link, it can transparently exchange the fake peering Hop Fields with valid Hop Fields to the colluding AS. To avoid detection of the path alteration by the receiver, the colluding AS can replace the added Hop Fields with the fake peering link Hop Fields the sender inserted.</t>
          <t>To defend against this attack, methods to detect the wormhole attack are needed. Per link or path latency measurements can help reveal the wormhole and render the fake peering link suspicious or unattractive. Without specific detection mechanisms these so-called wormhole attacks are unavoidable in routing.</t>
          <t><strong>Rogue SCMP Error Messages</strong>  <br/>
SCMP External Interface Down (<xref target="external-interface-down"/>) and Internal Connectivity Down (<xref target="internal-connectivity-down"/>) can potentially be abused by an attacker to disrupt forwarding of information and/or force the traffic through a different paths. Endpoints should therefore consider them weak hints and apply heuristics to detect fraudulent SCMP messages (e.g., by actively probing whether the affected path is actually down).</t>
          <t>Note that this would be mitigated through authentication of SCMP messages. Authentication is not specified here since it is currently still experimental.</t>
        </section>
      </section>
      <section anchor="time-security">
        <name>Attacks on time sources</name>
        <t>Operators should maintain coarse time synchronization among Control Service instances and other system components, as discussed in <xref target="clock-inaccuracy"/>. An adversary that significantly alters the system time of a component can disrupt SCION operations:</t>
        <ul spacing="normal">
          <li>
            <t>A Control Service instance: its beaconing process may halt as it cannot verify the validity of received PCBs (see <xref target="pcb-validity"/>) or correctly add timestamps to propagated PCBs (see <xref target="pcb-appending"/>).</t>
          </li>
          <li>
            <t>An endpoint: it may fail to verify path segments during path lookup (see <xref target="lookup-process"/>).</t>
          </li>
          <li>
            <t>A router: packets may be dropped ahead of the Control Service intended expiration time (see <xref target="hopfield"/>).</t>
          </li>
          <li>
            <t>A Certificate Authority (see <xref target="I-D.dekater-scion-pki"/>): it may issue AS certificates with incorrect validity periods, causing them to be rejected by verifiers.</t>
          </li>
        </ul>
        <t>It is therefore recommended to leverage secure time synchronization mechanisms, such as NTS <xref target="RFC8915"/>, <xref target="BCP223"/>, or Khronos <xref target="RFC9523"/>, or to leverage multiple diverse time sources (e.g., GNSS and network-based).</t>
      </section>
      <section anchor="dos-cp">
        <name>Denial of Service Attacks</name>
        <t>The beaconing process in the SCION Control Plane relies on control plane communication. ASes exchange control plane messages within each other when propagating PCBs to downstream neighbors, when registering PCBs as path segments, or during core path lookup. Volumetric DoS attacks, where attackers overload a link may make it difficult to exchange these messages.</t>
        <t>SCION limits the impact of such attacks which aim to exhaust network bandwidth on links as ASes can switch to alternative paths that do not contain the congested links. Reflection-based attacks are also prevented as response packets are returned on the same path to the actual sender.</t>
        <t>Other mechanisms are required to avoid transport protocol attacks where the attacker tries to exhaust the resources on a target server, such as for the Control Services, by opening many connections to this. The means to mitigate these kind of DoS attacks are basically the same as for the current Internet - e.g., filtering, geo-blocking or using cookies.</t>
        <t>Thanks to its path awareness, SCION enables more fine-grained filtering mechanisms based on certain path properties. For example, control plane RPC methods that are available to endpoints within an AS are strictly separate from methods available to endpoints from other ASes. Specifically, expensive recursive path segment and trust material lookups are thus shielded from abuse by unauthorized entities.</t>
        <t>For RPC methods exposed to other ASes, the Control Service implementation minimizes its attack surface by rejecting illegitimate callers based on ISD/AS, path type and length and any other available data points as soon as possible, i.e., immediately after determining the request type. For example:</t>
        <ul spacing="normal">
          <li>
            <t><tt>SegmentCreationService.Beacon</tt> can only be called by direct neighbors and thus calls from peers with a path length greater than one can immediately be discarded.</t>
          </li>
          <li>
            <t><tt>SegmentRegistrationService.SegmentsRegistration</tt> can only be called from within the same ISD, thus the source address <bcp14>MUST</bcp14> match the local ISD and the number of path segments <bcp14>MUST</bcp14> be 1.</t>
          </li>
        </ul>
        <t>A combination of the mechanism above is used to prevent flooding attacks on the Control Service. In addition, operators <bcp14>SHOULD</bcp14> deploy the Control Service in a distributed and replicated manner so that requests can be balanced and a single instance failure does not result in a complete failure of the control plane of a SCION AS.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
      <t>The ISD and SCION AS number are SCION-specific numbers. They are allocated by the SCION Association (see <xref target="ISD-AS-assignments"/>).</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.dekater-scion-dataplane">
          <front>
            <title>SCION Data Plane</title>
            <author fullname="Corine de Kater" initials="C." surname="de Kater">
              <organization>Independent</organization>
            </author>
            <author fullname="Nicola Rustignoli" initials="N." surname="Rustignoli">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Jean-Christophe Hugly" initials="J." surname="Hugly">
              <organization>Independent</organization>
            </author>
            <author fullname="Samuel Hitz" initials="S." surname="Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <date day="2" month="April" year="2026"/>
            <abstract>
              <t>   This document describes the Data Plane of SCION (Scalability,
   Control, and Isolation On Next-generation networks), a path-aware,
   inter-domain network architecture.

   Unlike IP-based forwarding, SCION embeds inter-domain forwarding
   directives in the packet header, enabling endpoints to construct and
   select end-to-end paths from segments discovered by the Control
   Plane.  The role of the Data Plane is to combine such segments into
   end-to-end paths, and to forward data according to the specified
   path.

   This document describes the SCION packet format, header structure,
   and extension headers.  It also describes the cryptographic
   mechanisms used for path authorization, processing at routers
   including a life of a packet example.

   This document contains new approaches to secure path aware
   networking.  It is not an Internet Standard, has not received any
   formal review of the IETF, nor was the work developed through the
   rough consensus process.  The approaches offered in this work are
   offered to the community for its consideration in the further
   evolution of the Internet.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekater-scion-dataplane-13"/>
        </reference>
        <reference anchor="I-D.dekater-scion-pki">
          <front>
            <title>SCION Control Plane PKI</title>
            <author fullname="Corine de Kater" initials="C." surname="de Kater">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Nicola Rustignoli" initials="N." surname="Rustignoli">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Samuel Hitz" initials="S." surname="Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <date day="16" month="January" year="2026"/>
            <abstract>
              <t>   This document presents the trust concept and design of the SCION
   _Control Plane Public Key Infrastructure (CP-PKI)_. SCION
   (Scalability, Control, and Isolation On Next-generation networks) is
   a path-aware, inter-domain network architecture where the Control
   Plane PKI handles cryptographic material and is the foundation of the
   authentication procedures in SCION.  It is used by SCION's Control
   Plane ([I-D.dekater-scion-controlplane]) to authenticate and verify
   path information, and provisions SCION's trust model based on
   Isolation Domains.

   This document describes the trust model behind the SCION Control
   Plane PKI, including the specifications of the different types of
   certificates and the Trust Root Configuration.  It also describes how
   to deploy the Control Plane PKI infrastructure.

   This document contains new approaches to secure path aware
   networking.  It is not an Internet Standard, has not received any
   formal review of the IETF, nor was the work developed through the
   rough consensus process.  The approaches offered in this work are
   offered to the community for its consideration in the further
   evolution of the Internet.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekater-scion-pki-11"/>
        </reference>
        <reference anchor="RFC4632">
          <front>
            <title>Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan</title>
            <author fullname="V. Fuller" initials="V." surname="Fuller"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This memo discusses the strategy for address assignment of the existing 32-bit IPv4 address space with a view toward conserving the address space and limiting the growth rate of global routing state. This document obsoletes the original Classless Inter-domain Routing (CIDR) spec in RFC 1519, with changes made both to clarify the concepts it introduced and, after more than twelve years, to update the Internet community on the results of deploying the technology described. 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="122"/>
          <seriesInfo name="RFC" value="4632"/>
          <seriesInfo name="DOI" value="10.17487/RFC4632"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="gRPC" target="https://grpc.io/">
          <front>
            <title>gRPC, an open-source universal RPC framework</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="proto3" target="https://protobuf.dev/programming-guides/proto3/">
          <front>
            <title>Protocol Buffers Language Guide version 3</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="Connect" target="https://connectrpc.com/docs/protocol/">
          <front>
            <title>Connect Protocol Reference</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="POSIX.1-2024" target="https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap04.html">
          <front>
            <title>Standard for Information Technology--Portable Operating System Interface (POSIX™) Base Specifications, Issue 8</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <referencegroup anchor="BCP223" target="https://www.rfc-editor.org/info/bcp223">
          <reference anchor="RFC8633" target="https://www.rfc-editor.org/info/rfc8633">
            <front>
              <title>Network Time Protocol Best Current Practices</title>
              <author fullname="D. Reilly" initials="D." surname="Reilly"/>
              <author fullname="H. Stenn" initials="H." surname="Stenn"/>
              <author fullname="D. Sibold" initials="D." surname="Sibold"/>
              <date month="July" year="2019"/>
              <abstract>
                <t>The Network Time Protocol (NTP) is one of the oldest protocols on the Internet and has been widely used since its initial publication. This document is a collection of best practices for the general operation of NTP servers and clients on the Internet. It includes recommendations for the stable, accurate, and secure operation of NTP infrastructure. This document is targeted at NTP version 4 as described in RFC 5905.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="223"/>
            <seriesInfo name="RFC" value="8633"/>
            <seriesInfo name="DOI" value="10.17487/RFC8633"/>
          </reference>
        </referencegroup>
        <reference anchor="ISD-AS-assignments" target="http://scion.org/registry/">
          <front>
            <title>SCION Registry</title>
            <author>
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="CHUAT22" target="https://doi.org/10.1007/978-3-031-05288-0">
          <front>
            <title>The Complete Guide to SCION</title>
            <author initials="L." surname="Chuat" fullname="Laurent Chuat">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="M." surname="Legner" fullname="Markus Legner">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="D." surname="Basin" fullname="David Basin">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="D." surname="Hausheer" fullname="David Hausheer">
              <organization>Otto von Guericke University Magdeburg</organization>
            </author>
            <author initials="S." surname="Hitz" fullname="Samuel Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <author initials="P." surname="Mueller" fullname="Peter Mueller">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="A." surname="Perrig" fullname="Adrian Perrig">
              <organization>ETH Zuerich</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="ISBN" value="978-3-031-05287-3"/>
        </reference>
        <reference anchor="RFC1122">
          <front>
            <title>Requirements for Internet Hosts - Communication Layers</title>
            <author fullname="R. Braden" initials="R." role="editor" surname="Braden"/>
            <date month="October" year="1989"/>
            <abstract>
              <t>This RFC is an official specification for the Internet community. It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="3"/>
          <seriesInfo name="RFC" value="1122"/>
          <seriesInfo name="DOI" value="10.17487/RFC1122"/>
        </reference>
        <reference anchor="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="RFC4443">
          <front>
            <title>Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification</title>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="M. Gupta" initials="M." role="editor" surname="Gupta"/>
            <date month="March" year="2006"/>
            <abstract>
              <t>This document describes the format of a set of control messages used in ICMPv6 (Internet Control Message Protocol). ICMPv6 is the Internet Control Message Protocol for Internet Protocol version 6 (IPv6). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="89"/>
          <seriesInfo name="RFC" value="4443"/>
          <seriesInfo name="DOI" value="10.17487/RFC4443"/>
        </reference>
        <reference anchor="RFC5398">
          <front>
            <title>Autonomous System (AS) Number Reservation for Documentation Use</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <date month="December" year="2008"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, two blocks of Autonomous System numbers (ASNs) are reserved for use in examples in RFCs, books, documentation, and the like. This document describes the reservation of two blocks of ASNs as reserved numbers for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5398"/>
          <seriesInfo name="DOI" value="10.17487/RFC5398"/>
        </reference>
        <reference anchor="RFC6996">
          <front>
            <title>Autonomous System (AS) Reservation for Private Use</title>
            <author fullname="J. Mitchell" initials="J." surname="Mitchell"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document describes the reservation of Autonomous System Numbers (ASNs) that are for Private Use only, known as Private Use ASNs, and provides operational guidance on their use. This document enlarges the total space available for Private Use ASNs by documenting the reservation of a second, larger range and updates RFC 1930 by replacing Section 10 of that document.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="6"/>
          <seriesInfo name="RFC" value="6996"/>
          <seriesInfo name="DOI" value="10.17487/RFC6996"/>
        </reference>
        <reference anchor="RFC8915">
          <front>
            <title>Network Time Security for the Network Time Protocol</title>
            <author fullname="D. Franke" initials="D." surname="Franke"/>
            <author fullname="D. Sibold" initials="D." surname="Sibold"/>
            <author fullname="K. Teichel" initials="K." surname="Teichel"/>
            <author fullname="M. Dansarie" initials="M." surname="Dansarie"/>
            <author fullname="R. Sundblad" initials="R." surname="Sundblad"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>This memo specifies Network Time Security (NTS), a mechanism for using Transport Layer Security (TLS) and Authenticated Encryption with Associated Data (AEAD) to provide cryptographic security for the client-server mode of the Network Time Protocol (NTP).</t>
              <t>NTS is structured as a suite of two loosely coupled sub-protocols. The first (NTS Key Establishment (NTS-KE)) handles initial authentication and key establishment over TLS. The second (NTS Extension Fields for NTPv4) handles encryption and authentication during NTP time synchronization via extension fields in the NTP packets, and holds all required state only on the client via opaque cookies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8915"/>
          <seriesInfo name="DOI" value="10.17487/RFC8915"/>
        </reference>
        <reference anchor="RFC9217">
          <front>
            <title>Current Open Questions in Path-Aware Networking</title>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>In contrast to the present Internet architecture, a path-aware internetworking architecture has two important properties: it exposes the properties of available Internet paths to endpoints, and it provides for endpoints and applications to use these properties to select paths through the Internet for their traffic. While this property of "path awareness" already exists in many Internet-connected networks within single domains and via administrative interfaces to the network layer, a fully path-aware internetwork expands these concepts across layers and across the Internet.</t>
              <t>This document poses questions in path-aware networking, open as of 2021, that must be answered in the design, development, and deployment of path-aware internetworks. It was originally written to frame discussions in the Path Aware Networking Research Group (PANRG), and has been published to snapshot current thinking in this space.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9217"/>
          <seriesInfo name="DOI" value="10.17487/RFC9217"/>
        </reference>
        <reference anchor="RFC9473">
          <front>
            <title>A Vocabulary of Path Properties</title>
            <author fullname="R. Enghardt" initials="R." surname="Enghardt"/>
            <author fullname="C. Krähenbühl" initials="C." surname="Krähenbühl"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>Path properties express information about paths across a network and the services provided via such paths. In a path-aware network, path properties may be fully or partially available to entities such as endpoints. This document defines and categorizes path properties. Furthermore, the document identifies several path properties that might be useful to endpoints or other entities, e.g., for selecting between paths or for invoking some of the provided services. This document is a product of the Path Aware Networking Research Group (PANRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9473"/>
          <seriesInfo name="DOI" value="10.17487/RFC9473"/>
        </reference>
        <reference anchor="RFC9523">
          <front>
            <title>A Secure Selection and Filtering Mechanism for the Network Time Protocol with Khronos</title>
            <author fullname="N. Rozen-Schiff" initials="N." surname="Rozen-Schiff"/>
            <author fullname="D. Dolev" initials="D." surname="Dolev"/>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi"/>
            <author fullname="M. Schapira" initials="M." surname="Schapira"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>The Network Time Protocol version 4 (NTPv4), as defined in RFC 5905, is the mechanism used by NTP clients to synchronize with NTP servers across the Internet. This document describes a companion application to the NTPv4 client, named "Khronos", that is used as a "watchdog" alongside NTPv4 and that provides improved security against time-shifting attacks. Khronos involves changes to the NTP client's system process only. Since it does not affect the wire protocol, the Khronos mechanism is applicable to current and future time protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9523"/>
          <seriesInfo name="DOI" value="10.17487/RFC9523"/>
        </reference>
        <reference anchor="PCBExtensions" target="https://docs.scion.org/en/latest/beacon-metadata.html">
          <front>
            <title>PCB Path Metadata Extension</title>
            <author initials="" surname="Anapaya">
              <organization>Anapaya Systems</organization>
            </author>
            <author initials="" surname="ETH">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="" surname="SCION Association">
              <organization>SCION Association</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="BollRio-2000" target="https://kam.mff.cuni.cz/~ksemweb/clanky/BollobasR-scale_free_random.pdf">
          <front>
            <title>The diameter of a scale-free random graph</title>
            <author initials="B." surname="Bollobás" fullname="Béla Bollobás">
              <organization/>
            </author>
            <author initials="O." surname="Riordan" fullname="Oliver Riordan">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SCMP" target="https://docs.scion.org/en/latest/protocols/scmp.html">
          <front>
            <title>SCMP Documentation</title>
            <author initials="" surname="Anapaya">
              <organization>Anapaya Systems</organization>
            </author>
            <author initials="" surname="ETH Zuerich">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="" surname="SCION Association">
              <organization>SCION Association</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="SIG" target="https://docs.scion.org/en/latest/sig.html">
          <front>
            <title>SCION IP Gateway Documentation</title>
            <author initials="" surname="Anapaya">
              <organization>Anapaya Systems</organization>
            </author>
            <author initials="" surname="ETH Zuerich">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="" surname="SCION">
              <organization>SCION Association</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="SCION-UDP" target="https://docs.scion.org/en/latest/protocols/underlay.html">
          <front>
            <title>SCION IP/UDP underlay</title>
            <author initials="" surname="Anapaya">
              <organization>Anapaya Systems</organization>
            </author>
            <author initials="" surname="ETH">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="" surname="SCION">
              <organization>SCION Association</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 2190?>

<section numbered="false" anchor="app-c">
      <name>Path-Lookup Examples</name>
      <t>To illustrate how the path lookup works, two path-lookup examples are shown in sequence diagrams. The network topology of the examples is represented in <xref target="_figure-41"/> below, where in both the source endpoint is in AS A.</t>
      <t><xref target="_figure-42"/> shows the sequence diagram for the path lookup process in case the destination is in AS D, whereas <xref target="_figure-43"/> shows the path lookup sequence diagram if the destination is in AS G. ASes B and C are core ASes in the source ISD, while E and F are core ASes in a remote ISD. Core AS B is a provider of the local AS, but AS C is not - i.e., there is no up-segment from A to C. "CS" stands for Control Service.</t>
      <figure anchor="_figure-41">
        <name>Topology used in the path lookup examples</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="416" width="528" viewBox="0 0 528 416" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,400" fill="none" stroke="black"/>
              <path d="M 32,80 L 32,224" fill="none" stroke="black"/>
              <path d="M 48,128 L 48,160" fill="none" stroke="black"/>
              <path d="M 64,320 L 64,352" fill="none" stroke="black"/>
              <path d="M 80,160 L 80,320" fill="none" stroke="black"/>
              <path d="M 96,128 L 96,160" fill="none" stroke="black"/>
              <path d="M 96,272 L 96,320" fill="none" stroke="black"/>
              <path d="M 112,320 L 112,352" fill="none" stroke="black"/>
              <path d="M 128,192 L 128,272" fill="none" stroke="black"/>
              <path d="M 144,128 L 144,160" fill="none" stroke="black"/>
              <path d="M 144,320 L 144,352" fill="none" stroke="black"/>
              <path d="M 168,160 L 168,320" fill="none" stroke="black"/>
              <path d="M 192,128 L 192,160" fill="none" stroke="black"/>
              <path d="M 192,320 L 192,352" fill="none" stroke="black"/>
              <path d="M 208,80 L 208,136" fill="none" stroke="black"/>
              <path d="M 208,152 L 208,184" fill="none" stroke="black"/>
              <path d="M 208,200 L 208,224" fill="none" stroke="black"/>
              <path d="M 240,32 L 240,136" fill="none" stroke="black"/>
              <path d="M 240,152 L 240,184" fill="none" stroke="black"/>
              <path d="M 240,200 L 240,400" fill="none" stroke="black"/>
              <path d="M 288,32 L 288,136" fill="none" stroke="black"/>
              <path d="M 288,152 L 288,184" fill="none" stroke="black"/>
              <path d="M 288,200 L 288,400" fill="none" stroke="black"/>
              <path d="M 328,80 L 328,136" fill="none" stroke="black"/>
              <path d="M 328,152 L 328,184" fill="none" stroke="black"/>
              <path d="M 328,200 L 328,224" fill="none" stroke="black"/>
              <path d="M 344,176 L 344,208" fill="none" stroke="black"/>
              <path d="M 352,320 L 352,352" fill="none" stroke="black"/>
              <path d="M 368,208 L 368,320" fill="none" stroke="black"/>
              <path d="M 376,128 L 376,144" fill="none" stroke="black"/>
              <path d="M 384,272 L 384,320" fill="none" stroke="black"/>
              <path d="M 392,176 L 392,208" fill="none" stroke="black"/>
              <path d="M 400,320 L 400,352" fill="none" stroke="black"/>
              <path d="M 416,112 L 416,144" fill="none" stroke="black"/>
              <path d="M 432,176 L 432,192" fill="none" stroke="black"/>
              <path d="M 448,144 L 448,272" fill="none" stroke="black"/>
              <path d="M 464,112 L 464,144" fill="none" stroke="black"/>
              <path d="M 480,80 L 480,224" fill="none" stroke="black"/>
              <path d="M 520,32 L 520,400" fill="none" stroke="black"/>
              <path d="M 8,32 L 240,32" fill="none" stroke="black"/>
              <path d="M 288,32 L 520,32" fill="none" stroke="black"/>
              <path d="M 32,80 L 208,80" fill="none" stroke="black"/>
              <path d="M 328,80 L 480,80" fill="none" stroke="black"/>
              <path d="M 416,112 L 464,112" fill="none" stroke="black"/>
              <path d="M 48,128 L 96,128" fill="none" stroke="black"/>
              <path d="M 144,128 L 192,128" fill="none" stroke="black"/>
              <path d="M 376,128 L 400,128" fill="none" stroke="black"/>
              <path d="M 112,144 L 128,144" fill="none" stroke="black"/>
              <path d="M 208,144 L 376,144" fill="none" stroke="black"/>
              <path d="M 416,144 L 464,144" fill="none" stroke="black"/>
              <path d="M 48,160 L 96,160" fill="none" stroke="black"/>
              <path d="M 144,160 L 192,160" fill="none" stroke="black"/>
              <path d="M 344,176 L 392,176" fill="none" stroke="black"/>
              <path d="M 200,192 L 328,192" fill="none" stroke="black"/>
              <path d="M 408,192 L 432,192" fill="none" stroke="black"/>
              <path d="M 344,208 L 392,208" fill="none" stroke="black"/>
              <path d="M 32,224 L 72,224" fill="none" stroke="black"/>
              <path d="M 88,224 L 120,224" fill="none" stroke="black"/>
              <path d="M 136,224 L 160,224" fill="none" stroke="black"/>
              <path d="M 176,224 L 208,224" fill="none" stroke="black"/>
              <path d="M 328,224 L 360,224" fill="none" stroke="black"/>
              <path d="M 376,224 L 440,224" fill="none" stroke="black"/>
              <path d="M 456,224 L 480,224" fill="none" stroke="black"/>
              <path d="M 96,272 L 128,272" fill="none" stroke="black"/>
              <path d="M 384,272 L 448,272" fill="none" stroke="black"/>
              <path d="M 64,320 L 112,320" fill="none" stroke="black"/>
              <path d="M 144,320 L 192,320" fill="none" stroke="black"/>
              <path d="M 352,320 L 400,320" fill="none" stroke="black"/>
              <path d="M 64,352 L 112,352" fill="none" stroke="black"/>
              <path d="M 144,352 L 192,352" fill="none" stroke="black"/>
              <path d="M 352,352 L 400,352" fill="none" stroke="black"/>
              <path d="M 8,400 L 240,400" fill="none" stroke="black"/>
              <path d="M 288,400 L 520,400" fill="none" stroke="black"/>
              <path d="M 188,168 L 200,192" fill="none" stroke="black"/>
              <path d="M 128,192 L 144,160" fill="none" stroke="black"/>
              <circle cx="80" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="96" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="168" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="368" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="384" cy="304" r="6" class="opendot" fill="white" stroke="black"/>
              <g class="text">
                <text x="124" y="100">Core</text>
                <text x="404" y="100">Core</text>
                <text x="408" y="132">c</text>
                <text x="428" y="132">AS</text>
                <text x="448" y="132">F</text>
                <text x="60" y="148">AS</text>
                <text x="80" y="148">C</text>
                <text x="104" y="148">c</text>
                <text x="136" y="148">c</text>
                <text x="156" y="148">AS</text>
                <text x="176" y="148">B</text>
                <text x="200" y="148">c</text>
                <text x="432" y="164">c</text>
                <text x="184" y="180">c</text>
                <text x="336" y="196">c</text>
                <text x="356" y="196">AS</text>
                <text x="376" y="196">E</text>
                <text x="400" y="196">c</text>
                <text x="76" y="340">AS</text>
                <text x="96" y="340">D</text>
                <text x="156" y="340">AS</text>
                <text x="176" y="340">A</text>
                <text x="364" y="340">AS</text>
                <text x="384" y="340">G</text>
                <text x="120" y="388">ISD</text>
                <text x="144" y="388">1</text>
                <text x="400" y="388">ISD</text>
                <text x="424" y="388">2</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+----------------------------+     +----------------------------+
|                            |     |                            |
|                            |     |                            |
|  +---------------------+   |     |    +------------------+    |
|  |         Core        |   |     |    |       Core       |    |
|  |                     |   |     |    |          +-----+ |    |
|  | +-----+     +-----+ |   |     |    |     +---c+AS F | |    |
|  | |AS C +c---c+AS B +c---------------------+    +-+-+-+ |    |
|  | +---+-+     +--+--+ |   |     |    |            c |   |    |
|  |     |      /   | c\ |   |     |    | +-----+    | |   |    |
|  |     |     |    |   '----------------c+AS E +c---+ |   |    |
|  |     |     |    |    |   |     |    | +--+--+      |   |    |
|  +-----|-----|----|----+   |     |    +----|---------|---+    |
|        |     |    |        |     |         |         |        |
|        |     |    |        |     |         |         |        |
|        | +---+    |        |     |         | +-------+        |
|        | |        |        |     |         | |                |
|        o o        o        |     |         o o                |
|      +-+-+-+   +--+--+     |     |       +-+-+-+              |
|      |AS D |   |AS A |     |     |       |AS G |              |
|      +-----+   +-----+     |     |       +-----+              |
|                            |     |                            |
|            ISD 1           |     |            ISD 2           |
+----------------------------+     +----------------------------+
]]></artwork>
        </artset>
      </figure>
      <figure anchor="_figure-42">
        <name>Sequence diagram illustrating a path lookup for a destination D in the source ISD. The request (core, 0, 0) is for all pairs of core ASes in the source ISD. Similarly, (down, 0, D) is for down segments between any core AS in the source ISD and destination D.</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="864" width="592" viewBox="0 0 592 864" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 8,176" fill="none" stroke="black"/>
              <path d="M 8,768 L 8,800" fill="none" stroke="black"/>
              <path d="M 32,80 L 32,128" fill="none" stroke="black"/>
              <path d="M 32,176 L 32,768" fill="none" stroke="black"/>
              <path d="M 48,80 L 48,128" fill="none" stroke="black"/>
              <path d="M 48,176 L 48,216" fill="none" stroke="black"/>
              <path d="M 48,248 L 48,768" fill="none" stroke="black"/>
              <path d="M 48,800 L 48,848" fill="none" stroke="black"/>
              <path d="M 64,80 L 64,128" fill="none" stroke="black"/>
              <path d="M 64,176 L 64,216" fill="none" stroke="black"/>
              <path d="M 64,256 L 64,312" fill="none" stroke="black"/>
              <path d="M 64,328 L 64,392" fill="none" stroke="black"/>
              <path d="M 64,408 L 64,768" fill="none" stroke="black"/>
              <path d="M 88,32 L 88,80" fill="none" stroke="black"/>
              <path d="M 120,128 L 120,176" fill="none" stroke="black"/>
              <path d="M 144,768 L 144,800" fill="none" stroke="black"/>
              <path d="M 160,480 L 160,528" fill="none" stroke="black"/>
              <path d="M 176,32 L 176,80" fill="none" stroke="black"/>
              <path d="M 208,528 L 208,720" fill="none" stroke="black"/>
              <path d="M 216,80 L 216,400" fill="none" stroke="black"/>
              <path d="M 216,432 L 216,480" fill="none" stroke="black"/>
              <path d="M 216,752 L 216,848" fill="none" stroke="black"/>
              <path d="M 224,528 L 224,568" fill="none" stroke="black"/>
              <path d="M 224,600 L 224,720" fill="none" stroke="black"/>
              <path d="M 256,32 L 256,80" fill="none" stroke="black"/>
              <path d="M 272,480 L 272,528" fill="none" stroke="black"/>
              <path d="M 344,32 L 344,80" fill="none" stroke="black"/>
              <path d="M 384,80 L 384,648" fill="none" stroke="black"/>
              <path d="M 384,680 L 384,848" fill="none" stroke="black"/>
              <path d="M 424,32 L 424,80" fill="none" stroke="black"/>
              <path d="M 504,32 L 504,80" fill="none" stroke="black"/>
              <path d="M 544,80 L 544,848" fill="none" stroke="black"/>
              <path d="M 584,32 L 584,80" fill="none" stroke="black"/>
              <path d="M 8,32 L 88,32" fill="none" stroke="black"/>
              <path d="M 176,32 L 256,32" fill="none" stroke="black"/>
              <path d="M 344,32 L 424,32" fill="none" stroke="black"/>
              <path d="M 504,32 L 584,32" fill="none" stroke="black"/>
              <path d="M 8,80 L 88,80" fill="none" stroke="black"/>
              <path d="M 176,80 L 256,80" fill="none" stroke="black"/>
              <path d="M 344,80 L 424,80" fill="none" stroke="black"/>
              <path d="M 504,80 L 584,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 120,128" fill="none" stroke="black"/>
              <path d="M 8,176 L 120,176" fill="none" stroke="black"/>
              <path d="M 32,224 L 208,224" fill="none" stroke="black"/>
              <path d="M 40,240 L 56,240" fill="none" stroke="black"/>
              <path d="M 48,320 L 208,320" fill="none" stroke="black"/>
              <path d="M 216,352 L 376,352" fill="none" stroke="black"/>
              <path d="M 224,368 L 240,368" fill="none" stroke="black"/>
              <path d="M 56,400 L 72,400" fill="none" stroke="black"/>
              <path d="M 160,480 L 272,480" fill="none" stroke="black"/>
              <path d="M 64,496 L 152,496" fill="none" stroke="black"/>
              <path d="M 160,528 L 272,528" fill="none" stroke="black"/>
              <path d="M 208,576 L 376,576" fill="none" stroke="black"/>
              <path d="M 216,592 L 232,592" fill="none" stroke="black"/>
              <path d="M 368,592 L 384,592" fill="none" stroke="black"/>
              <path d="M 224,656 L 536,656" fill="none" stroke="black"/>
              <path d="M 232,672 L 248,672" fill="none" stroke="black"/>
              <path d="M 528,672 L 544,672" fill="none" stroke="black"/>
              <path d="M 72,720 L 96,720" fill="none" stroke="black"/>
              <path d="M 208,720 L 224,720" fill="none" stroke="black"/>
              <path d="M 8,768 L 144,768" fill="none" stroke="black"/>
              <path d="M 8,800 L 144,800" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="544,656 532,650.4 532,661.6" fill="black" transform="rotate(0,536,656)"/>
              <polygon class="arrowhead" points="384,576 372,570.4 372,581.6" fill="black" transform="rotate(0,376,576)"/>
              <polygon class="arrowhead" points="384,352 372,346.4 372,357.6" fill="black" transform="rotate(0,376,352)"/>
              <polygon class="arrowhead" points="240,672 228,666.4 228,677.6" fill="black" transform="rotate(180,232,672)"/>
              <polygon class="arrowhead" points="232,368 220,362.4 220,373.6" fill="black" transform="rotate(180,224,368)"/>
              <polygon class="arrowhead" points="224,592 212,586.4 212,597.6" fill="black" transform="rotate(180,216,592)"/>
              <polygon class="arrowhead" points="216,320 204,314.4 204,325.6" fill="black" transform="rotate(0,208,320)"/>
              <polygon class="arrowhead" points="216,224 204,218.4 204,229.6" fill="black" transform="rotate(0,208,224)"/>
              <polygon class="arrowhead" points="160,496 148,490.4 148,501.6" fill="black" transform="rotate(0,152,496)"/>
              <polygon class="arrowhead" points="80,720 68,714.4 68,725.6" fill="black" transform="rotate(180,72,720)"/>
              <polygon class="arrowhead" points="64,400 52,394.4 52,405.6" fill="black" transform="rotate(180,56,400)"/>
              <polygon class="arrowhead" points="48,240 36,234.4 36,245.6" fill="black" transform="rotate(180,40,240)"/>
              <g class="text">
                <text x="44" y="52">Endpoint</text>
                <text x="204" y="52">Source</text>
                <text x="244" y="52">AS</text>
                <text x="372" y="52">Core</text>
                <text x="404" y="52">AS</text>
                <text x="532" y="52">Core</text>
                <text x="564" y="52">AS</text>
                <text x="196" y="68">CS</text>
                <text x="232" y="68">(A)</text>
                <text x="364" y="68">CS</text>
                <text x="400" y="68">(B)</text>
                <text x="524" y="68">CS</text>
                <text x="560" y="68">(C)</text>
                <text x="28" y="148">Send</text>
                <text x="84" y="148">Requests</text>
                <text x="28" y="164">in</text>
                <text x="76" y="164">parallel</text>
                <text x="96" y="212">request</text>
                <text x="148" y="212">(up)</text>
                <text x="76" y="244">--</text>
                <text x="100" y="244">--</text>
                <text x="124" y="244">--</text>
                <text x="148" y="244">--</text>
                <text x="172" y="244">--</text>
                <text x="196" y="244">--</text>
                <text x="96" y="260">reply</text>
                <text x="168" y="260">(up,[A-&gt;B])</text>
                <text x="96" y="308">request</text>
                <text x="172" y="308">(core,0,0)</text>
                <text x="248" y="340">request</text>
                <text x="324" y="340">(core,B,0)</text>
                <text x="260" y="372">--</text>
                <text x="284" y="372">--</text>
                <text x="308" y="372">--</text>
                <text x="332" y="372">--</text>
                <text x="356" y="372">--</text>
                <text x="376" y="372">-</text>
                <text x="308" y="388">reply(core,[B-&gt;C])</text>
                <text x="92" y="404">--</text>
                <text x="116" y="404">--</text>
                <text x="140" y="404">--</text>
                <text x="164" y="404">--</text>
                <text x="188" y="404">--</text>
                <text x="208" y="404">-</text>
                <text x="96" y="420">reply</text>
                <text x="176" y="420">(core,[B-&gt;C])</text>
                <text x="96" y="468">request</text>
                <text x="172" y="468">(down,0,D)</text>
                <text x="180" y="500">send</text>
                <text x="236" y="500">requests</text>
                <text x="180" y="516">in</text>
                <text x="228" y="516">parallel</text>
                <text x="256" y="564">request</text>
                <text x="332" y="564">(down,B,D)</text>
                <text x="252" y="596">--</text>
                <text x="276" y="596">--</text>
                <text x="300" y="596">--</text>
                <text x="324" y="596">--</text>
                <text x="348" y="596">--</text>
                <text x="308" y="612">reply(down,[B-&gt;D])</text>
                <text x="416" y="644">request</text>
                <text x="492" y="644">(down,C,D)</text>
                <text x="268" y="676">--</text>
                <text x="292" y="676">--</text>
                <text x="316" y="676">--</text>
                <text x="340" y="676">--</text>
                <text x="364" y="676">--</text>
                <text x="388" y="676">--</text>
                <text x="412" y="676">--</text>
                <text x="436" y="676">--</text>
                <text x="460" y="676">--</text>
                <text x="484" y="676">--</text>
                <text x="508" y="676">--</text>
                <text x="468" y="692">reply(down,[C-&gt;D])</text>
                <text x="116" y="724">--</text>
                <text x="140" y="724">--</text>
                <text x="164" y="724">--</text>
                <text x="188" y="724">--</text>
                <text x="104" y="740">reply</text>
                <text x="180" y="740">(down,[B-&gt;D,</text>
                <text x="260" y="740">C-&gt;D])</text>
                <text x="40" y="788">Combine</text>
                <text x="108" y="788">Segments</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+---------+          +---------+          +---------+         +---------+
|Endpoint |          |Source AS|          | Core AS |         | Core AS |
|         |          | CS  (A) |          | CS  (B) |         | CS  (C) |
+--+-+-+--+          +----+----+          +----+----+         +----+----+
   | | |                  |                    |                   |
   | | |                  |                    |                   |
+--+-+-+------+           |                    |                   |
|Send Requests|           |                    |                   |
| in parallel |           |                    |                   |
+--+-+-+------+           |                    |                   |
   | | |                  |                    |                   |
   | | |request (up)      |                    |                   |
   +--------------------->|                    |                   |
   |<-- -- -- -- -- -- -- +                    |                   |
   | | | reply (up,[A->B])|                    |                   |
   | | |                  |                    |                   |
   | | |                  |                    |                   |
   | | |request (core,0,0)|                    |                   |
   | +------------------->|                    |                   |
   | | |                  |request (core,B,0)  |                   |
   | | |                  +------------------->|                   |
   | | |                  |<-- -- -- -- -- -- -+                   |
   | | |                  |  reply(core,[B->C])|                   |
   | |<-- -- -- -- -- -- -+                    |                   |
   | | | reply (core,[B->C])                   |                   |
   | | |                  |                    |                   |
   | | |                  |                    |                   |
   | | |request (down,0,D)|                    |                   |
   | | |           +------+------+             |                   |
   | | +---------->|send requests|             |                   |
   | | |           | in parallel |             |                   |
   | | |           +-----+-+-----+             |                   |
   | | |                 | |                   |                   |
   | | |                 | |request (down,B,D) |                   |
   | | |                 +-------------------->|                   |
   | | |                 |<-- -- -- -- -- -- --+                   |
   | | |                 | | reply(down,[B->D])|                   |
   | | |                 | |                   |                   |
   | | |                 | |                   |request (down,C,D) |
   | | |                 | +-------------------------------------->|
   | | |                 | |<-- -- -- -- -- -- -- -- -- -- -- -- --+
   | | |                 | |                   | reply(down,[C->D])|
   | | |                 | |                   |                   |
   | | |<--- -- -- -- -- +-+                   |                   |
   | | |  reply (down,[B->D, C->D])            |                   |
   | | |                  |                    |                   |
+--+-+-+---------+        |                    |                   |
|Combine Segments|        |                    |                   |
+----+-----------+        |                    |                   |
     |                    |                    |                   |
     |                    |                    |                   |
     |                    |                    |                   |
]]></artwork>
        </artset>
      </figure>
      <figure anchor="_figure-43">
        <name>Sequence diagram illustrating a path lookup for a destination G in a remote ISD. The request (core, 0, (2, 0)) is for all path segments between a core AS in the source ISD and a core AS in ISD 2. Similarly, (down, (2, 0), G) is for down segments between any core AS in ISD 2 and destination G.</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="864" width="608" viewBox="0 0 608 864" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 8,176" fill="none" stroke="black"/>
              <path d="M 8,768 L 8,800" fill="none" stroke="black"/>
              <path d="M 32,80 L 32,128" fill="none" stroke="black"/>
              <path d="M 32,176 L 32,768" fill="none" stroke="black"/>
              <path d="M 48,80 L 48,128" fill="none" stroke="black"/>
              <path d="M 48,176 L 48,216" fill="none" stroke="black"/>
              <path d="M 48,264 L 48,768" fill="none" stroke="black"/>
              <path d="M 48,800 L 48,848" fill="none" stroke="black"/>
              <path d="M 64,80 L 64,128" fill="none" stroke="black"/>
              <path d="M 64,176 L 64,216" fill="none" stroke="black"/>
              <path d="M 64,272 L 64,328" fill="none" stroke="black"/>
              <path d="M 64,344 L 64,408" fill="none" stroke="black"/>
              <path d="M 64,424 L 64,768" fill="none" stroke="black"/>
              <path d="M 88,32 L 88,80" fill="none" stroke="black"/>
              <path d="M 120,128 L 120,176" fill="none" stroke="black"/>
              <path d="M 120,496 L 120,544" fill="none" stroke="black"/>
              <path d="M 136,32 L 136,80" fill="none" stroke="black"/>
              <path d="M 144,768 L 144,800" fill="none" stroke="black"/>
              <path d="M 168,544 L 168,720" fill="none" stroke="black"/>
              <path d="M 176,80 L 176,256" fill="none" stroke="black"/>
              <path d="M 176,280 L 176,416" fill="none" stroke="black"/>
              <path d="M 176,448 L 176,464" fill="none" stroke="black"/>
              <path d="M 176,752 L 176,848" fill="none" stroke="black"/>
              <path d="M 184,544 L 184,568" fill="none" stroke="black"/>
              <path d="M 184,600 L 184,720" fill="none" stroke="black"/>
              <path d="M 216,32 L 216,80" fill="none" stroke="black"/>
              <path d="M 232,496 L 232,544" fill="none" stroke="black"/>
              <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
              <path d="M 304,80 L 304,384" fill="none" stroke="black"/>
              <path d="M 304,408 L 304,568" fill="none" stroke="black"/>
              <path d="M 304,600 L 304,664" fill="none" stroke="black"/>
              <path d="M 304,704 L 304,848" fill="none" stroke="black"/>
              <path d="M 344,32 L 344,80" fill="none" stroke="black"/>
              <path d="M 392,32 L 392,80" fill="none" stroke="black"/>
              <path d="M 432,80 L 432,592" fill="none" stroke="black"/>
              <path d="M 432,616 L 432,664" fill="none" stroke="black"/>
              <path d="M 432,696 L 432,848" fill="none" stroke="black"/>
              <path d="M 472,32 L 472,80" fill="none" stroke="black"/>
              <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
              <path d="M 560,80 L 560,688" fill="none" stroke="black"/>
              <path d="M 560,712 L 560,848" fill="none" stroke="black"/>
              <path d="M 600,32 L 600,80" fill="none" stroke="black"/>
              <path d="M 8,32 L 88,32" fill="none" stroke="black"/>
              <path d="M 136,32 L 216,32" fill="none" stroke="black"/>
              <path d="M 264,32 L 344,32" fill="none" stroke="black"/>
              <path d="M 392,32 L 472,32" fill="none" stroke="black"/>
              <path d="M 520,32 L 600,32" fill="none" stroke="black"/>
              <path d="M 8,80 L 88,80" fill="none" stroke="black"/>
              <path d="M 136,80 L 216,80" fill="none" stroke="black"/>
              <path d="M 264,80 L 344,80" fill="none" stroke="black"/>
              <path d="M 392,80 L 472,80" fill="none" stroke="black"/>
              <path d="M 520,80 L 600,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 120,128" fill="none" stroke="black"/>
              <path d="M 8,176 L 120,176" fill="none" stroke="black"/>
              <path d="M 32,224 L 168,224" fill="none" stroke="black"/>
              <path d="M 40,256 L 56,256" fill="none" stroke="black"/>
              <path d="M 48,336 L 168,336" fill="none" stroke="black"/>
              <path d="M 176,368 L 296,368" fill="none" stroke="black"/>
              <path d="M 120,496 L 232,496" fill="none" stroke="black"/>
              <path d="M 64,512 L 112,512" fill="none" stroke="black"/>
              <path d="M 120,544 L 232,544" fill="none" stroke="black"/>
              <path d="M 168,576 L 424,576" fill="none" stroke="black"/>
              <path d="M 176,592 L 192,592" fill="none" stroke="black"/>
              <path d="M 184,672 L 552,672" fill="none" stroke="black"/>
              <path d="M 168,720 L 184,720" fill="none" stroke="black"/>
              <path d="M 8,768 L 144,768" fill="none" stroke="black"/>
              <path d="M 8,800 L 144,800" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="560,672 548,666.4 548,677.6" fill="black" transform="rotate(0,552,672)"/>
              <polygon class="arrowhead" points="432,576 420,570.4 420,581.6" fill="black" transform="rotate(0,424,576)"/>
              <polygon class="arrowhead" points="304,368 292,362.4 292,373.6" fill="black" transform="rotate(0,296,368)"/>
              <polygon class="arrowhead" points="184,592 172,586.4 172,597.6" fill="black" transform="rotate(180,176,592)"/>
              <polygon class="arrowhead" points="176,336 164,330.4 164,341.6" fill="black" transform="rotate(0,168,336)"/>
              <polygon class="arrowhead" points="176,224 164,218.4 164,229.6" fill="black" transform="rotate(0,168,224)"/>
              <polygon class="arrowhead" points="120,512 108,506.4 108,517.6" fill="black" transform="rotate(0,112,512)"/>
              <polygon class="arrowhead" points="48,256 36,250.4 36,261.6" fill="black" transform="rotate(180,40,256)"/>
              <g class="text">
                <text x="44" y="52">Endpoint</text>
                <text x="164" y="52">Source</text>
                <text x="204" y="52">AS</text>
                <text x="292" y="52">Core</text>
                <text x="324" y="52">AS</text>
                <text x="420" y="52">Core</text>
                <text x="452" y="52">AS</text>
                <text x="548" y="52">Core</text>
                <text x="580" y="52">AS</text>
                <text x="156" y="68">CS</text>
                <text x="192" y="68">(A)</text>
                <text x="284" y="68">CS</text>
                <text x="320" y="68">(B)</text>
                <text x="412" y="68">CS</text>
                <text x="448" y="68">(E)</text>
                <text x="540" y="68">CS</text>
                <text x="576" y="68">(F)</text>
                <text x="28" y="148">Send</text>
                <text x="84" y="148">Requests</text>
                <text x="28" y="164">in</text>
                <text x="76" y="164">parallel</text>
                <text x="96" y="212">request</text>
                <text x="148" y="212">(up)</text>
                <text x="48" y="244">|</text>
                <text x="64" y="244">|</text>
                <text x="76" y="260">--</text>
                <text x="100" y="260">--</text>
                <text x="124" y="260">--</text>
                <text x="148" y="260">--</text>
                <text x="168" y="260">-</text>
                <text x="96" y="276">reply</text>
                <text x="168" y="276">(up,[A-&gt;B])</text>
                <text x="96" y="324">request</text>
                <text x="152" y="324">(core</text>
                <text x="212" y="324">0,(2,0))</text>
                <text x="208" y="356">request</text>
                <text x="272" y="356">(core,0</text>
                <text x="332" y="356">(2,0))</text>
                <text x="188" y="388">&lt;-</text>
                <text x="212" y="388">--</text>
                <text x="236" y="388">--</text>
                <text x="260" y="388">--</text>
                <text x="284" y="388">--</text>
                <text x="208" y="404">reply</text>
                <text x="308" y="404">(core,[B-&gt;E,B-&gt;F])</text>
                <text x="60" y="420">&lt;-</text>
                <text x="84" y="420">--</text>
                <text x="108" y="420">--</text>
                <text x="132" y="420">--</text>
                <text x="156" y="420">--</text>
                <text x="96" y="436">reply</text>
                <text x="196" y="436">(core,[B-&gt;E,B-&gt;F])</text>
                <text x="104" y="484">request</text>
                <text x="196" y="484">(down,(2,0),G)</text>
                <text x="140" y="516">send</text>
                <text x="196" y="516">requests</text>
                <text x="140" y="532">in</text>
                <text x="188" y="532">parallel</text>
                <text x="336" y="564">request</text>
                <text x="400" y="564">(down,E</text>
                <text x="444" y="564">G)</text>
                <text x="212" y="596">--</text>
                <text x="236" y="596">--</text>
                <text x="260" y="596">--</text>
                <text x="284" y="596">--</text>
                <text x="308" y="596">--</text>
                <text x="332" y="596">--</text>
                <text x="356" y="596">--</text>
                <text x="380" y="596">--</text>
                <text x="404" y="596">--</text>
                <text x="424" y="596">-</text>
                <text x="336" y="612">reply</text>
                <text x="416" y="612">(down,[E-&gt;G])</text>
                <text x="464" y="660">request</text>
                <text x="528" y="660">(down,F</text>
                <text x="572" y="660">G)</text>
                <text x="196" y="692">&lt;-</text>
                <text x="220" y="692">--</text>
                <text x="244" y="692">--</text>
                <text x="268" y="692">--</text>
                <text x="292" y="692">--</text>
                <text x="316" y="692">--</text>
                <text x="340" y="692">--</text>
                <text x="364" y="692">--</text>
                <text x="388" y="692">--</text>
                <text x="412" y="692">--</text>
                <text x="436" y="692">--</text>
                <text x="460" y="692">--</text>
                <text x="484" y="692">--</text>
                <text x="508" y="692">--</text>
                <text x="532" y="692">--</text>
                <text x="552" y="692">-</text>
                <text x="464" y="708">reply</text>
                <text x="544" y="708">(down,[F-&gt;G])</text>
                <text x="76" y="724">&lt;-</text>
                <text x="100" y="724">--</text>
                <text x="124" y="724">--</text>
                <text x="148" y="724">--</text>
                <text x="96" y="740">reply</text>
                <text x="196" y="740">(down,[E-&gt;G,F-&gt;G])</text>
                <text x="40" y="788">Combine</text>
                <text x="108" y="788">Segments</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+---------+     +---------+     +---------+     +---------+     +---------+
|Endpoint |     |Source AS|     | Core AS |     | Core AS |     | Core AS |
|         |     | CS  (A) |     | CS  (B) |     | CS  (E) |     | CS  (F) |
+--+-+-+--+     +----+----+     +----+----+     +----+----+     +----+----+
   | | |             |               |               |               |
   | | |             |               |               |               |
+--+-+-+------+      |               |               |               |
|Send Requests|      |               |               |               |
| in parallel |      |               |               |               |
+--+-+-+------+      |               |               |               |
   | | |             |               |               |               |
   | | |request (up) |               |               |               |
   +---------------->|               |               |               |
   | | |             |               |               |               |
   |<-- -- -- -- -- -+               |               |               |
   | | | reply (up,[A->B])           |               |               |
   | | |             |               |               |               |
   | | |             |               |               |               |
   | | |request (core,0,(2,0))       |               |               |
   | +-------------->|               |               |               |
   | | |             |request (core,0,(2,0))         |               |
   | | |             +-------------->|               |               |
   | | |             |<- -- -- -- -- +               |               |
   | | |             | reply (core,[B->E,B->F])      |               |
   | |<- -- -- -- -- +               |               |               |
   | | | reply (core,[B->E,B->F])    |               |               |
   | | |             |               |               |               |
   | | |             |               |               |               |
   | | | request (down,(2,0),G)      |               |               |
   | | |      +-------------.        |               |               |
   | | +----->|send requests|        |               |               |
   | | |      | in parallel |        |               |               |
   | | |      +-----+-+-----+        |               |               |
   | | |            | |              |request (down,E,G)             |
   | | |            +------------------------------->|               |
   | | |            |<-- -- -- -- -- -- -- -- -- -- -+               |
   | | |            | |              | reply (down,[E->G])           |
   | | |            | |              |               |               |
   | | |            | |              |               |               |
   | | |            | |              |               |request (down,F,G)
   | | |            | +--------------------------------------------->|
   | | |            | |<- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+
   | | |            | |              |               | reply (down,[F->G])
   | | |<- -- -- -- +-+              |               |               |
   | | | reply (down,[E->G,F->G])    |               |               |
   | | |             |               |               |               |
+--+-+-+---------+   |               |               |               |
|Combine Segments|   |               |               |               |
+----+-----------+   |               |               |               |
     |               |               |               |               |
     |               |               |               |               |
     |               |               |               |               |
]]></artwork>
        </artset>
      </figure>
    </section>
    <section numbered="false" anchor="change-log">
      <name>Change Log</name>
      <t>Changes made to drafts since ISE submission. This section is to be removed before publication.</t>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-17">
        <name>draft-dekater-scion-controlplane-17</name>
        <ul spacing="normal">
          <li>
            <t>SCMP: add normative language on rate limiting, mention congestion control when discussing QUIC transport for RPCs</t>
          </li>
          <li>
            <t>Peering links: clarify they are established in an up or down segment.</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-16">
        <name>draft-dekater-scion-controlplane-16</name>
        <ul spacing="normal">
          <li>
            <t>Final read, wording</t>
          </li>
          <li>
            <t>"originating/initiating" PCBs --&gt; consistently use originating</t>
          </li>
          <li>
            <t>2.2.  PCB Message Format: clarify order of as_entries</t>
          </li>
          <li>
            <t>Section 2.3.5. Propagation of Selected PCBs: unify core and intra-ISD propagation, since steps are the same</t>
          </li>
          <li>
            <t>Distribution of Cryptographic Material: clarify certificate encoding</t>
          </li>
          <li>
            <t>SCMP: clarify relationship with RFC4443, clarify error processing rules and add informative reference to the SCION-UDP underlay</t>
          </li>
          <li>
            <t>Appendix: remove SCIONLab</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-15">
        <name>draft-dekater-scion-controlplane-15</name>
        <ul spacing="normal">
          <li>
            <t>Wording polish following ISE Editor's feedback.</t>
          </li>
          <li>
            <t>Reduce use of passive tense and clarify subject (e.g., an AS --&gt; An AS operator)</t>
          </li>
          <li>
            <t>ISD and AS numbers: clarify that identifiers in public ranges must be unique</t>
          </li>
          <li>
            <t>Remove redundant section 1.7. Resistance to partitioning</t>
          </li>
          <li>
            <t>Section 1.7.  Communication Protocol: Clarify DNS resolution is not needed</t>
          </li>
          <li>
            <t>Figures 2, 3, 4: improve arrows in SVG version, move description text to after the figures</t>
          </li>
          <li>
            <t>PCB Extensions: clarify behavior in case of unknown extensions</t>
          </li>
          <li>
            <t>Configuration: ensure all items are mentioned and cross referenced.</t>
          </li>
          <li>
            <t>Rename "registration period" to "registration interval" to ensure consistency with "propagation interval"</t>
          </li>
          <li>
            <t>Timestamps: add normative reference to POSIX.1-2024 to clarify counting of leap seconds</t>
          </li>
          <li>
            <t>Registration of Path Segments: clarify that a core AS has down segments registered by its direct or indirect customer ASes</t>
          </li>
          <li>
            <t>Path Lookup Process: reformat and reword steps to clarify how an endpoint requests path segments</t>
          </li>
          <li>
            <t>SCMP: remove experimental values from table and mention more error messages are in referenced spec</t>
          </li>
          <li>
            <t>Move "Deployment Considerations" from section 3 to 7</t>
          </li>
          <li>
            <t>Attacks on time sources: recommend use of secure time synchronization and mention CAs</t>
          </li>
          <li>
            <t>Acknowledgements: ensure all reviewers are there</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-14">
        <name>draft-dekater-scion-controlplane-14</name>
        <ul spacing="normal">
          <li>
            <t>Clarify bits in timestamps.</t>
          </li>
          <li>
            <t>Remove  informative reference to I-D.dekater-panrg-scion-overview  and to Anapaya's ISD assignments, since they are taken over by SCION Association in 2026</t>
          </li>
          <li>
            <t>Overall review and wording polish</t>
          </li>
          <li>
            <t>Protobuf messages syntax check, add missing empty <tt>PathSegmentUnsignedExtensions</tt> message definition</t>
          </li>
          <li>
            <t><tt>SegmentLookupService</tt> RPC: clarify wording on API exposure</t>
          </li>
          <li>
            <t>Peer entry figure 14 - make fields consistent with protobuf definitions</t>
          </li>
          <li>
            <t>New section: Renewal of Cryptographic Material</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-13">
        <name>draft-dekater-scion-controlplane-13</name>
        <ul spacing="normal">
          <li>
            <t>Clarify distinction between SCION ASes and BGP ASes through the text.</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-12">
        <name>draft-dekater-scion-controlplane-12</name>
        <ul spacing="normal">
          <li>
            <t>Security considerations: new section "Attacks on time sources"</t>
          </li>
          <li>
            <t>Path Lookup Process: mention checks at endpoint</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-11">
        <name>draft-dekater-scion-controlplane-11</name>
        <ul spacing="normal">
          <li>
            <t>Clarify use of wildcard ISD and ISD-AS text representation</t>
          </li>
          <li>
            <t>Remove redundant PCB overview figure 6 and reorganized paragraphs in 2.2. PCBs</t>
          </li>
          <li>
            <t>Small clarifications and nits</t>
          </li>
          <li>
            <t>Figures: small changes to use aasvg in all figures</t>
          </li>
          <li>
            <t>Appendix "Path-Lookup Examples": use wildcard AS 0 instead of * in figures in</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-10">
        <name>draft-dekater-scion-controlplane-10</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>New section "Distribution of Cryptographic Material" containing definitions formerly in the gRPC API appendix</t>
          </li>
          <li>
            <t>New section "Destination Mapping" including a SIG reference</t>
          </li>
          <li>
            <t>New section "Lookup Requests Message Format" containing definitions formerly in the gRPC API appendix</t>
          </li>
          <li>
            <t>Move appendix "Use of the SCION Data Plane" to new section "Control Service Discovery"</t>
          </li>
          <li>
            <t>Mention ConnectRPC as main RPC method instead of gRPC</t>
          </li>
          <li>
            <t>Remove appendix "Full Control Service gRPC API" and move corresponding protobuf definitions in new sections mentioned above</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Rename Inter-ISD Beaconing into Core Beaconing for consistency</t>
          </li>
          <li>
            <t>Clarify descriptions of fields in the <tt>HeaderAndBody</tt> message and that metadata must be empty</t>
          </li>
          <li>
            <t>AS Entry Signature: fix order of terms in one formula, clarify validity and meaning of associated data</t>
          </li>
          <li>
            <t>PCB Extensions: clarified text, added example of the <tt>StaticInfoExtension</tt> and informative reference</t>
          </li>
          <li>
            <t>PCB Validity: clarify text on timestamp validity and time allowances</t>
          </li>
          <li>
            <t>Reception of PCBs: mention that incoming link <bcp14>MUST</bcp14> be core or parent</t>
          </li>
          <li>
            <t>PCB selection policies: discourage use for traffic engineering</t>
          </li>
          <li>
            <t>Best PCBs Set Size: clarify tradeoffs and avoid normative language when unnecessary</t>
          </li>
          <li>
            <t>Path reversibility: mention that destination endpoints should estimate MTU</t>
          </li>
          <li>
            <t>Move considerations on SCMP Authentication to the security considerations section (Rogue SCMP Error Messages)</t>
          </li>
          <li>
            <t>Security Properties: use normative language to clarify assumptions</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-09">
        <name>draft-dekater-scion-controlplane-09</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>"SCION AS numbers": make text representation for lower 32-bit ASes consistent with PKI draft, add reference to allocation.</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Nits and wording improvements</t>
          </li>
          <li>
            <t>Reviewed use of normative language</t>
          </li>
          <li>
            <t>Figures: redraw and use aasvg when possible</t>
          </li>
          <li>
            <t>"Paths and Links": clarify relationship between path segments and links</t>
          </li>
          <li>
            <t>Ensure consistent use of example ranges</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-08">
        <name>draft-dekater-scion-controlplane-08</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>Abstract: reword, mention goal and that document is not an Internet Standard</t>
          </li>
          <li>
            <t>"Propagation of PCBs" section:
            </t>
            <ul spacing="normal">
              <li>
                <t>clarify checks at reception</t>
              </li>
              <li>
                <t>introduce criteria for PCB selection policies</t>
              </li>
              <li>
                <t>remove superfluous policy example figure</t>
              </li>
              <li>
                <t>Propagation Interval and Best PCBs Set Size: mention tradeoff between scalability and amount of paths discovered.</t>
              </li>
              <li>
                <t>reorganize order of paragraphs</t>
              </li>
            </ul>
          </li>
          <li>
            <t>New section "Security Properties" in Security considerations, based on formal model of SCION</t>
          </li>
          <li>
            <t>New figure: Control Service RPC API - Trust Material definitions</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Moved "Special-Purpose SCION AS Numbers" table later in text</t>
          </li>
          <li>
            <t>Split "Circular dependencies and partitioning" into two sections: "Bootstrapping ability" and "Resistance to partitioning".</t>
          </li>
          <li>
            <t>Explain why PCBs have a next_isd_as field</t>
          </li>
          <li>
            <t>Qualified better the choice of time allowance in the definition of segment from the future in section "PCB Validity".</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-07">
        <name>draft-dekater-scion-controlplane-07</name>
        <ul spacing="normal">
          <li>
            <t>Moved SCMP specification from draft-dekater-scion-dataplane-03 to this document</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-06">
        <name>draft-dekater-scion-controlplane-06</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>New section: Path MTU</t>
          </li>
          <li>
            <t>New section: Monitoring Considerations</t>
          </li>
          <li>
            <t>Completed description of Control Services RPC API in appendix</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Introduction: clarify goal of the document</t>
          </li>
          <li>
            <t>Clarify typical vs recommended-limits values for best PCB set size and for certificate validity duration.</t>
          </li>
          <li>
            <t>Clarify text representation of ISD-AS</t>
          </li>
          <li>
            <t>General rewording</t>
          </li>
          <li>
            <t>Added reference to SCIONLab as a testbed for implementors</t>
          </li>
          <li>
            <t>Introduced this change log</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-05">
        <name>draft-dekater-scion-controlplane-05</name>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Clarify beaconing fast retry at bootstrapping</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-controlplane-04">
        <name>draft-dekater-scion-controlplane-04</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>Clarified selection of MAC including a default algorithm</t>
          </li>
          <li>
            <t>New section: PCB validity</t>
          </li>
          <li>
            <t>New section: configuration</t>
          </li>
          <li>
            <t>New section: Path Discovery Time and Scalability</t>
          </li>
          <li>
            <t>New section: Effects of Clock Inaccuracy</t>
          </li>
          <li>
            <t>New appendix: Control Service RPC API</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Introduction: Added overview of SCION components</t>
          </li>
          <li>
            <t>Clarified path reversibility, link types, Interface IDs</t>
          </li>
          <li>
            <t>Fixed private AS range typo</t>
          </li>
          <li>
            <t>Clarified PCB selection policies and endpoint requirements</t>
          </li>
          <li>
            <t>Clarified PCB propagation</t>
          </li>
          <li>
            <t>General edits to make terminology consistent, remove duplication and rationalize text</t>
          </li>
          <li>
            <t>Removed forward references</t>
          </li>
          <li>
            <t>Added RFC2119 compliant terminology</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks go to Alvaro Retana (Futurewei), Joel M. Halpern (Ericsson), Brian Trammel (Google), William Boye (Swiss National Bank), Matthias Frei (SCION Association), Kevin Meynell (SCION Association), Jean-Christophe Hugly (SCION Association), Juan A. Garcia Prado (ETH Zurich), Tilmann Zäschke (ETH Zurich), Dominik Roos (Anapaya Systems), and Roger Lapuh (Extreme Networks) for reviewing this document. We also thank Daniel Galán Pascual and Christoph Sprenger from the Information Security Group at ETH Zurich for their inputs based on their formal verification work on SCION. We are also very grateful to Adrian Perrig (ETH Zurich), for providing guidance and feedback about every aspect of SCION. Finally, we are indebted to the SCION development teams of Anapaya and ETH Zurich for their practical knowledge and for the documentation about the SCION Control Plane, as well as to the authors of <xref target="CHUAT22"/> - the book is an important source of input and inspiration for this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
8Pnh0enBu9/D7+9OfznYffzEwWT143vfP3LAWf34451dhY0vEy4hYosYj7Nu
KwdKEriDeTV8l1ZijQhLqKspltt4U7k+eqViHu6o6xusVGmN5b16ucxOgwVJ
HyhsuolVu7n+lpQZVvv9t5WP/TRnXQ7eYXRHRB638LOtaMEUHVMnZ+UM/n1T
FFSWkgQFaSUGAslmWLrLFCosHM+ZkubZaSPC3qoqkmzidfGni1aGFYi/bPo1
dJwtuPDtjrMGxribP2PHGaNCm1IVHHhwt+VVPZ7gHnvfMTjsKisqt7W7Sqh7
QxuXDXu4W8HfDWrXIKkYm1xo+NtTb4Tf2QihKUCUzOrbpUJOe1MudYTgUdLG
uSoi7VLbHNBCFmKh8Dg+kBVLWKC+sX5JyhtCbKnqdk+TXlPrauoWseGJH7vP
jK16zr+Fyc5fyCI17MHiT0D3Y1J59wq7Qsjv6ICi87nDdDYXQNXr9fxPXiV3
L8/e3j3/UPfuvtp6GgrRziKFCE9Pu0KSzaHNluWFU7XamtQoz2Oy1UTcJhz0
4kqv3iNspIPxdlyOk6ve+dXqPfbz6dECjWXeh+jJNxM42nf2tSN5cMwM0Kti
+o5h5lM9C8HCI+cHMXvdC8N6FAcljOuZCS/445n9PQ+EM+vDw0/i0IXVfFzD
erRxu1Sc42Mnedzb8bKBMDS3qmEUyrqzFhMap6DKgaXNs0zMBz+IxWKsY0AB
lIQnV/lf0sF7Itzo23rPonarVmoFA/kdjvKyI5H1a2raPNk413M733S24VDN
k/4KgpieA7627hkuxsCvQeBw1MrhIl1AlH2hJed8cq+QtOW5Ho/wkcZEwX58
zJEtjeReFur78cv+wTYN7dAEy70QGnNjCWZ7zZscP/NmB7yUScfph3wMAjUV
wh/n3HNiNgFVcANoGda8EFFB7SdeZfs5kYWgxzTXefBUM/+Sk1rGGlQYSRNX
cqSgZyziLZQi9oFyCUWK2m59n1tNVHykQSGIKupDZt11ajZ56HKn2KmImilU
VhcWY8utNKiMV2djAmjmO+9+lYMU4upd7w09W65V63+ldh2uMo91QDzVvTIP
G99pX/c+/eX121+POHCdSnRT4xx1f3szBKVaAQxwimj7MHUM7eF84cNmI1I2
WOCnl2mx9BR7Kg0HnWOShB7jqiDp6OVolXQCHup5It0AsXvxQfRsq6wRihXL
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
gTa69f8BgsZQCnqVAgA=

-->

</rfc>
