<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-controlplane-15" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="SCION CP">SCION Control Plane</title>
    <seriesInfo name="Internet-Draft" value="draft-dekater-scion-controlplane-15"/>
    <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="February" day="04"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 198?>

<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 from a set of possible path segments 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 207?>

<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 one 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>Leaf AS</strong>: An AS at the "edge" of an ISD, with no other downstream ASes.</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). Endpoints use up to three path segments to create a forwarding path.</t>
        <t><strong>Path-Segment Construction Beacon (PCB)</strong>: Core AS control planes 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 for traffic 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). They can be established between any two ASes (core or non-core) and can cross 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 initiated 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 an end-to-end forwarding path consists of the following processes:</t>
        <ol spacing="normal" type="1"><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 a few 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. This last step takes place in the data plane. This is described in detail in <xref target="lookup"/>.</t>
          </li>
        </ol>
        <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 dependcencies 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 backwards.</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"/>) as a transport layer. Connect is backwardly 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 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> and this section provides a detailed explanation of this.</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 also 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 initiates PCBs or propagates PCBs received from neighboring core ASes to other neighboring core ASes. PCBs are periodically sent over policy compliant paths to discover multiple paths between any pair of 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 create 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 (leaf AS). 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. 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. This is 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" leaves 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 the <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 use all of these path segments or just a selection of them.</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.</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 initiating 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>It is recommended to keep the size of signed extensions small, since they are an integral part of the input to every AS’s signature.</t>
          <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 ISD-AS of an entry does not equal the ISD-AS 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 that each set is chosen among the PCBs received 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 ensure establish quick 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>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="intra-prop">
            <name>Propagation of PCBs in Intra-ISD Beaconing</name>
            <t>The propagation process in intra-ISD beaconing 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 child ASes, based on a selection algorithm specific for this AS.</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>
          </section>
          <section anchor="propagation-of-pcbs-in-core-beaconing">
            <name>Propagation of PCBs in Core Beaconing</name>
            <t>The propagation process in core beaconing includes the following steps:</t>
            <ol spacing="normal" type="1"><li>
                <t>The core Control Service selects the best PCBs to forward to neighboring core ASes observed so far.</t>
              </li>
              <li>
                <t>The service adds a new AS entry to every selected PCB which <bcp14>MUST</bcp14> include:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>The egress interface to the neighboring core AS in the Hop Field component.</t>
                  </li>
                  <li>
                    <t>The ISD_AS number of the neighboring core AS in the signed body component of the AS entry.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>The core Control Service <bcp14>MUST</bcp14> sign the extended PCBs and append the computed signature.</t>
              </li>
              <li>
                <t>As a final step, the service propagates the extended PCBs to the neighboring core ASes by invoking the <tt>SegmentCreationService.Beacon</tt> remote procedure call (RPC) in the Control Services of the neighboring core ASes (see also <xref target="prop-proto"/>).</t>
              </li>
            </ol>
          </section>
          <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>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 raw 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>As mentioned previously, 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 networks 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>As described above, 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 craft one-hop paths directly. They are described in more detail in <xref target="I-D.dekater-scion-dataplane"/></t>
        </li>
        <li>
          <t>Paths to non-neighboring ASes are obtained from neighboring ASes which allows multihop paths to be constructed and propagated incrementally.</t>
        </li>
        <li>
          <t>Constructed multi-hop paths are registered with the Control Service at the origin core AS.</t>
        </li>
        <li>
          <t>Control Services respond to requests from remote ASes by reversing the path via which the request came.</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>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 when processing 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>In case the implementation is required to pass an SCMP error message to the upper-layer process, the upper-layer protocol type is extracted from the original packet in the body of the SCMP error message and used to select the appropriate process to handle the error. In case the upper-layer protocol type cannot be extracted from the SCMP error message body, 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>
        </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 initiated 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 leaf ASes. Each AS discovers path segments from itself to the core ASes of its ISD.</t>
          <t>This typically produces an acyclic graph which is narrow at the top, widens towards the leafs, 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 leaf 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 is a leaf AS, 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. If the adversary stops all core AS(es) within an ISD from propagating PCBs, the discovery of new paths will halt. In this case, downstream ASes will notice that PCBs are no longer being propagated, but all previously discovered and still valid paths remain usable for data plane forwarding until they expire. This is an unlikely scenario, as it would require compromise of all core ASes within an ISD.</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 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="1" month="January" year="2026"/>
            <abstract>
              <t>   This document describes the data 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.

   The SCION Control Plane is responsible for discovering these paths
   and making them available as path segments to the endpoints.  The
   role of the SCION Data Plane is to combine these path segments into
   end-to-end paths, and forward data between endpoints according to the
   specified path.  It fundamentally differs from an IP-based data plane
   in that it is _path-aware_ and interdomain forwarding directives are
   embedded in the packet header.

   This document provides a detailed specification of the SCION data
   packet format as well as the structure of the SCION header, including
   extension headers.  It also describes the life of a SCION packet
   while traversing a SCION network, followed by a specification of the
   SCION path authorization mechanisms and the packet processing at
   routers.

   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-10"/>
        </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="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="SCIONLAB" target="https://ieeexplore.ieee.org/abstract/document/9259355">
          <front>
            <title>SCIONLAB - A Next-Generation Internet Testbed</title>
            <author initials="J." surname="Kown" fullname="Jonghoon Kwon">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="J." surname="García-Pardo" fullname="Juan A. García-Pardo">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="M." surname="Legner" fullname="Markus Legner">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="F." surname="Wirz" fullname="François Wirz">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="M." surname="Frei" fullname="Matthias Frei">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="D." surname="Hausheer" fullname="David Hausheer">
              <organization>Otto von Guericke University Magdeburg</organization>
            </author>
            <author initials="A." surname="Perrig" fullname="Adrian Perrig">
              <organization>ETH Zuerich</organization>
            </author>
            <date year="2020"/>
          </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>
      </references>
    </references>
    <?line 2219?>

<section numbered="false" anchor="deployment-testing-scionlab">
      <name>Deployment Testing: SCIONLab</name>
      <t>SCIONLab is a global research network that is available to test the SCION architecture. You can create and use your ASes using your own computation resources which allows you to gain real-world experience of deploying and managing a SCION network.</t>
      <t>More information can be found on the SCIONLab website and in the <xref target="SCIONLAB"/> paper.</t>
    </section>
    <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-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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
qZfMHeA9Tm0WXgJ8MHnb5fcB19MDiGkgHygH+6NMAN9ebTT2IlSDJCfCUqTo
roqnVEhkZY9PbhlV8nKl4kK9Lk8jr4gYivjjpDwTBZmM6ZqdcKxyNpWWyBiN
Fb+pC6+HsP3kcDJZUGYW7PIpW86rRrAmJeIzMnN1Kypz7BJ4cVj/HlBXq55L
ZmNLlspdFJqjlUNMBVPYuPCuylQizOQq1Y+duW5Q2RmWhUonCyryjIXArRym
wyamYpglMJd0KRBjKXVKj6FCuoymZ4UFQXcPtPjLyguRU+bv79Sdhlc9Y4nD
OYqxWfZoWJHh5us9qrUHf/dVR02Sbfj/rVsfvafBRfduhYAN3T6gwfKePOV/
1PrGDdMKelTe4I+GnXP8Sn68Oeyjjjmk3ok3h1ZAaZ/jpp+8WtS72/4b/NHW
sp3fa+z8Nohe8H+KxOp6XHylk6LzB5T6Pf8Vl/XYSS3YtZNm+MSCSUVAIhL0
R5R1srVKiQ/J9bWN/fFjz2jL75yyQYq50xWJa66mXLZ1dbhKVsvwEZaIvGmT
33PjcnwNxPmLrPImwvcblH11e7Vnddjp1eEqd5FSRa/5ytbqwLuTmrftZ4LY
O0HrMkszwaqEZkQg+bI4PSVZ0mrdZ65GAVdHWWMpiIWcVdbgBQ83BEb+h1sb
qz1vRZOr9dsI3t/ldn7RPbhRxL3lHtAPXRp9KqLi0Vqiz5rUPiKs7l+koDvR
Z+659tepAND8XhQkddvrgGq/iR919zf47LfLZm/O9MBWdIfFe69jTN/DWxf/
hZDv/Am5jI+7S/G4FacZaTMPgUdNnB57v58Gc3scZyn3aeVEzGp+57Gd3zU5
Ufy1e9vYzjKutN3Bob4Qaop+N9HvLR/Z797KD2e7O7pM+H07fNv/yB713sa9
PJKvvd8T76OH0e/e26iJ/2Z36yb6Xd9u+zp6+7e7D26i3/23469DmN/zgNpF
Dbsp40Xzd58y+t9+GpVs+/kMmeIP/FdDphh+NZliuyFTDFGmICzzTYckLjTk
CFPZAlliTRTAdU9L75G/bHKFUgK/vhNx1QGmTuQuc5qW4KyUBcODKvlx8Agq
npfoc8A+pjl3FCVZw9n1k9/51lsa0cKUojVnsmQWhFYfyiofrQ74PVWWxRrp
lT9bqu62yC22BUw3p6FRdaVSHVIV0ZmoxC7rmzTwgQo4GE73217iVzfwjCIg
WfEGHqwGUO45b6+o8+ZCbynqxMU/Ts4X2LUHtVFXtSM2ijZSnAuzoSarqPau
BoZ2OJmVFinqH8p9/pPTE5QwbtdRP1Xz9ajUVxxVZMFbHhUUuBfjwZLBb8U0
WcCdMC33UOlMXrxxX597X//5LnKOzv15co7+83lyjr79eXLOHaHWIefoP58n
59jKP0vOsbc9OUd+vYOcY29/lpwTvL1czvkimP/BA+of3LTdX4cwf+gB9WET
5lve11stMN/xYL7ThHn89a302Nv3Z9Bjr67rp9HjNjls9NXksJ2GHDZCOSyQ
F5LVETaGGOM/mTaCOF3VmtooHHC/VBIqMKikzJwDf3jFtJosMS3Gn12bgwfO
VsX/6t5SSccz4DwMbT4VLs8WhlkBJb+PFqOW19H+0xD7/tCIQlg9wz2f4z+5
bvzPq65BO4gXLCby5jRmgtxva02r086qdCXPPtQm1Fn4iVigpESgL9JUBUud
3JjhVFzq5haBpWO4s1qWQnGHxc+exrP+wbchNXAPyxmTZ8OvH20f/r7lwT80
Buk0Fyz/LB7mJjSa62edJhMVBvz6VclWKABsycw73mcP5TPfltPk/p0mlOWf
LR1mGyFQ9O9te2B4JJ89DN76G63mK50U/DxlVN+WPw9n+ndfv3oUfPFwZaX/
VX7+vWFfcxj3E2IfL+Ah/QcOPDAlhki8vexsb1o+s2GWrSbEPl7aI1nhfzrs
exh8sfX/Tezr03nveMvooH0B9u38jbCPZ+YzY3D8x6Z9CkNFsp3/n/Z5PyH2
8c9D+WwZ9j34G3FehsO299l/bNq3BPseht9srcTaxANVJo40vGsx7zfruUhS
9x9QYdjz62aj2Bq5hgOrLomegX6B4YQXXGqVW7ppGUgJ9JToD685rB+7Nkh+
KS4xHskrL+R6xY8yrzemhimlXXFwnMgipfZhtqKvDZ0pnG8yicOlV2WlngVS
woHyTLzCXvce6XrGpf2pqn/XOsguKiGByWo1S+fVeVFzV9bEWwvtCCGFddxm
XD/3hAM/VeFD9QGDK7mKnyQCYrYoRRRi/xYXAJZ7oUhUYUlxwtJzuCdOhfDG
jD1FkY6YWUSQXhh1v1SRwjW3oIYWpOa2oERjJOSQSgmrBhQuAvDzz9g6LXW5
BvLolIs6Iuy0x+QzjjylCMNK+5QIHoR9olwmntdGKIzVKubS25naF2MysFOx
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
olhHoFQY/8Sr5CsdfCGn0/iG60E2j7qBDfDJvhZyt0/iZ8LdxZLOw0DSERHE
b0t3i1p49BQuKsgyWRVJRLA53wLQS355hn+jWkVXfYAClVlRmMdfGyH4RDG5
W0Zus7C0jdNub4lGWyYbf0JIX4Qtjb9a8AmP9dDwnA75qffXU5eshxEM/AQm
JSW3mnZum7mBMTu+5YfOTV029kHPTH/UPwnPnIi3Zw3umTjDmEWibGzYOXXk
17MHkTszakUjvJDinBb1WcF2I+Oe5mZwmcxR12lrfhOYWkO+LalrGgC8F+bZ
7bs8Oyu+SxsUE3FbJ7eZmOX9eaI6C9JFCINwqRdyKXYYk/Ui8IiA74JiXCsv
F6Dnrpwk/tFK+pZDMzovYInYyg37vp21NldjSSValWv5polAC2mDTRzZVgVy
WCChVV7ek9jn6a2D7DRdTOpowd4wxx0x8n5en/YvXcUTgxf/QsVCXGsullv2
z1MyX8ME1Wp7hqHz/gXC3wAozJjqf1h7MgU2DuZZEmkLn25JFOoYuweFHrQo
W5l+01Cysg/ztxTA0RLVlI483cpz3/E8sWrTqIHtNJVO82pTM3Gy2HKBtV26
XA/yRE/OrYVgIj0viSg41x96bNrNgd7qxUWz6kWOrorTpzMloxXdTrISqBJ1
f11d52ThrAWUzWrit0DSN1KT54aPVEb9ngeVFOeWNO46JNWSPk4Us644DDav
Qw+NNvem1FhTeWaWpZ3GFYoQoUFW3k3e2eO/Sta2knuGgOvJRrK2/WDj0Sb8
7/72w0fr7yyFFqBGGqmbqvK8Qzs73w0e6tQaKuk9GSags+O3GaFKuOBS2L+1
eiLBjXfmlzVTmPyqGhjTw7OkQ+oR3Zo4H5JcqRVSLaauZARWauU2X+zdTEfq
3bw1qdsPQg79wha6Fpx3HB96e5J7M8CHQ76uv5HQnrslO6GBzMXffYsxYvkF
MjwMuPv1j9Vi+FP+4338D2uhfrCe16PXMFQazZpfFzs6Uj5WGieCd57NWiNS
1jRRUYVdgBvs219j7OECeTf42i+JYHli+rREETbyTrlMFFMov+BMS8q5LYzi
9XWpFtwszJk9cbHloJkzNZAxwmo4ofWx1Rn+RYVvfEfJkmocd6ru0hnM0LYG
Z3nwy+N4QGxA6L6XPxZ03dS6GNqeAgFcLM1Jdnl7n4tYs+LSIRcGoVAkLdDC
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
VZZWKBHfI6VgpmpOpxZRL4cPgrxDTeMSx8GbN9oz8stdWiRKdk3lpm8dM1z5
m8d/SsOZ26ctCWPsMZbsucX92rMMtXvdEDkPNzZgh9gV72861HnlTTTpu8kL
43E7L9doau/Yj9VQkvTuA83HaJdryR6A8Usm90M8/qj7eA5c4GUhOZAHWhD2
QK6g42Tq6Yh0YCnPESFuvmP+q9B7Q0rTiDutFtaYKCphOBhlWwfHW4wExkWv
vM1tZo8eodII+Mq+nNIQ9epHru55+jb677pHPswI/bO8nY7Q89BtHyG8A2cU
vT8a4W33kbc9I7RX0DOCT+d2MsLtMKvk+84I/OX4NlHII/ogHuEtqOb22L5/
IH9fs3Rr8duew+0wh9tr56B/xuHbaB/0kS/w1/H/7I4QLfXtFSP4+z5rLwDL
eyjLu32dEXrncNu2uzWCTO9t+O/bdRQVet2+TSgqjNretTZV9/ztA49wO2z1
2hHsetzuHaH1w94ROjcgGoHspvDXNSNEz3RGCM2o40NLR+htWO0j8M04lFNG
omyHRvSbx+11RHOw/YnvaXsOyR529qHvz+Z8ktXQuP9xzwj8SNy+/e0H4Pat
5tJf7npzaVMzVhqFaMtg0zvQbrpPAEU7du0Po89uvbWwV7wLb49FUO8fxx+6
FH7b99mt+NP4geMs297f6fnwwU46En92sCMbLiTZWcjtvtXd7lmd/OdWJter
h0R6qabvw7cfZpCwpjadbzDI22OOfGun5Obte55fN0gGzxantRbT7IaDfJDl
ZB/ydMzVss3NIW8wSP8V/tWGM/klGZrd/93uef59e1Kj2TytZvD7/eGvHvxh
5++1sR9kED8dNPe9M7iz8XL6zmfT01mznHRyD2hymw9y7eldOZM+8ukjnvec
DmhHVvP7B8NfHfQTjw1y3Zdek2Lj124+yLWe/5tSLMfriGIPf+QFNFbZ5Zjv
GeR2TFBIlKx7BMAGM1kvADZejkmADZbT/bL3xG4wSHpiD+jENh2kVwZseov7
ZcCGt9jvkyyGr9Ph1bf4I25s3w/SzT7AZl81yJUacrzZV86kX7x2N3vzPYk3
+0A2+8NuLE29pRT008SVg2TGZANVDDKZ7iaDXOelawZJFb/46m+igh4gLFN4
HUfXSr7WTIbDmKxuMpPNnv+HH6RtaO6ZoXnc8eWaL72MOyLD5hTo7tjLe9h1
4Iq7PNWcsjv0vx12s1qXC4YKaxwvrd8VPMqilHYhbB7o0AdKW8zHuLPeTKo9
ppQ4xCsYvceC/hH/7tjQbfO5bTlf8e+OFd02oNu2s/77Yevfj/rs6La1vMG/
+5lHmwjf++8PNUyv+bn5ML329A2G6VOo/m6Lyj7sSSV29Y2G6Yj+jkb1N11U
R4doi+ENZtMx0v9ei/oYB66m+vYeGcQ7mw1z+yMd+JVzu/YwG89uzWx+ebWX
59on1TacHw7oP4/+sMaNFcz2zd6+fjZXvf+nSsVZaqCAUAaP123pe2aTEsxo
49ncVjrrt943nc0a+/1mi+pY8Dc7qY5Z0TIQH/reXznM+6zE7lXtn8377MTO
ZbnmolLz6+HwV49Tln/dYd7z77/vMOnJPaKTWzPQNW16P7t18/nl1YfVPrub
7k5ydo9wdpF1foVhvjkrDfQxeORE8nfSjodx+H2TYXqt9BvNpmun34ix3+Bn
/+DDtO31ux/GXn/czaDqt9ZJLGasQCUme5xN69b2e2zt5HuE0PvMenndIHu8
mW0vIfm2Sf9YTPp/yQ6kRuWb6qw/c1C+V3xNLsCp81Ou8kQt49HxQ0al0yau
rQY2ZeNVV7MK3YuluGqxOplafRAKlDDkMC0B03xapNMOd+/1z22YfV8pQlM1
LZtzRarnD3hmDyflsqo/o70qigknsHJG9vMCYIFWi87JrowKUXDZCvD9aNO5
wI6WBfRdKbCSYgNiw1ybxzj8mq28QyPaKXpebnPfR5G0Vu/fAQeOrJ8bxGFf
uYKAQa/Q9QMT5N1iyNvVfMIIbrafu6OfcUVOY/3dOOXamt3Tkumnx/GT2UFc
icWYWCiSuZ8d6NwOnx4jEXa6imtWpbSbG2fgVjUZUd3dQfblfS4xqHlm6MKO
lRz/5nEGgBpO4MasBUZNuv8sGdaMy3WsEWgmF7Xh5g0HD1AvPW9QxOn7ZXia
no5JZ2T9Vwp/XlqOYDQs7r6h/fMVLJeF1gzxtaBvNdFbuiAAK4F5w0SIYc65
9FsJGKYUEG7x1NMvrPvZVtRfYBy1E0HBwFZfv7Qtxkb2ctD7KA+dS14wjlrn
xOM++/b46Lej3eHenb0vgaigOzOuVgIEjEau+cKar2EVKaZoAvLTosXAas7b
oFQxpN7JpeDfSLUEzkP/PiZ6rWZai2JtODQZWXHX7mcoo5zlS03Mv6Bbqo3M
ohVxFnKM6eJp+gkTZbI+ePLsvnKRpFCaiz5X1gsgIDjruUvhUoGKfS81zCWx
OJABirTpJU948K0ovT1N1t+Sl9hdvMsL+RnXtvZXad8PJaTGaq6qHY1nfbDP
a94fM9FPi8lZoccYkThjEBcXzE60Z0ddXJORfrmOkRpTOOFjL+dR8fIo8KSQ
zd6m2riGd5HP6zN9OxdL8lwzg9Hdn+eL/DL/rBG2GUoNBqFNjdQtCOg+eqgR
NXaLFmiSdEe+otl9qzBzsi1400UiF5hMmf2drE4DJdAZLPPXAnA7wI2EGKMf
MUDfZfYDU7beou/mPM9iEljWDzYQI2qUczDhqN5HLoQmP//ARV3hHtrcGOfl
2ZEUedHJ8iQL9D5CZ26wymz3y2wo1aXaXd35jWJSL2xdYRpMPk8BwzMW5khc
rriQCuADbs1WoSkpQ0Rr4do1iefu+4jHOtkC6kS1EatZUUSBB4+fGZxUaBnK
kuK6qsDeukkc93fJu6+QRDKrrTX3dWsdJ7NbCTIB8Jnxq2vOd/d9m6bs4aKc
TrhuzNUJ7X0EKepFE7nSWUdJQHsBu2xKPF8p+63qs3yOWkP2e+Dwccf3RqRn
cqU0794MzTkwJ29Lj4ryEjxYtYH7WSMPqlZINxpgohwVgtrMwKAu5fcF1uB1
ttVXsrJ1H7/1hdNi76AKS6EHPgdSvWoh5fya+32nf7+f5H+saps26gefxmRx
aMVkKkL778lWjDcUXThWxkkkCrYvE/QZV3Hy5VZgh9ed90Wq+BN6iAbcihph
5dnx0ePAYdu/1o200Ivh0XCJJDHnHzVLiMHcz+27xivc5CIfcm0nEACgBSV3
q12md2g9cfh2PTHxJjXS/Oq8AVJJVPIaHz/PLlB6mNIjbqbafpUtZUtEKf8i
7YXSxycztE/zBTSxwsjFjUQ15bxFNaoxHlkj8ag9DUBZWw3KT4EK4ipizCuD
powYr/J3PZofvqZdKOr9+eRBNbkMwkbqNxlQq1jmqLM1+wFCi+/ccfYQEuTY
2incp7Ffa2cNPsuC8UVLqV9lklhN84ELJ4fREJUkn6vKmavkZeBMeu1aFZ7B
bphlDRS5SlOwjYh+OGYWNj4iPcJ/+4PWvPWoFvqa3+ikIl2WuWIVqSnpxAUd
nW1BYNng3LSThAEmBtZubUME2xOYDlYGC10Z2FZccK+zCais1hDrvuCKroDX
sRKARwdNKuZn5VwArWiAB+xCADrFcbGkM/pTES2qpjOvTk+bCNwzWAl0585W
/AKAXazmDqttoovLb8kWOymn2KpkebHpX7Shmvg7lH8/efGdsYBWq9lqLohH
LZwj72jX36DWOMP2WgStnVhwh/agIhl61h6ZD1ET+OuJhju/uK5o2GoV2rKo
ghLWI4xx1kRodLnu7g1JfTYowVRPe/brI5mhqJqJ8qwVuuIP6bKcp6ViZZni
qIa4mUfPxRpwQ6O7bbH8prXX+YWXy4rkFrgVrc/nDXjmiNcM4s/rt20XaE1a
3Xm5cCUvdXsBIgA9K4fEi1IzeWmzNMYgbpBrnuDPr3uC+ycNUOLuq/U58OsA
VGxno158rd4PbkZmqBrHXM1Iign2IzLqlYFsuYKNHoZup7ui6M1r8H3oU0Fs
H+qEg512GQp+oQZvs2JQ6Cnahyroo+2dKEd4OJ7gkXVph8Ldw3CcNSjD8XNk
cNhcGIjwoBl7HQICcoBPHukUTbcM8iXomG21peeib8GN1M8+BgGGAqJhyt2r
itCdW4eXTbjfUQlMuRlmL4DSYUpcYin1XLcn8FVuAQ0knw6fSZOSUHuvaMpb
6nCYAhCiFHcXc7MF7R7pQmU9JsFaay9FuuqlWkCxz25Le3ldVK6E3M+2Hljn
+AV0QTkP0Wy21vv/tthQf/iabgpN5uL8Ug5d0UK5xcC/l83k39H4lTQNevZ/
MEQtBLbCzwp8cVVKnXsqQx3C1jdPfBpRKTA8fCs0cEKJuJ56LMC3uID9elf9
Z+vsJjkfyJK0iTIm0TcwKyw66l3vn2E3/5rT+eoGZsV9kcsiVZPPn9CJLaXd
WwsTgj2bgjAxSZypbJO08IecwtnuMg2+h6CPlPPIq41PWXcAAZvWvQjq6fJy
AUjtV00MhjZUzCrzuzEws/IX7haTNcwJmE6h90agb66dTdRlO4rf1SNVaWZi
ANNzjwX2Wlm56FH70C4TMepQCuj/xNgR3M6DZ+LgOFXdRBtSaD8HhemaVmfX
JIY14Yju1rtXLRgEjJpeF6ygk4g4iW/6NV++xoXXpcQDV8iDgKFt5S5osaVJ
NzpneJN8esawfOezDhHT4dr5tb8bx274Xup3IxAOcIExCVKm/ZOHAO2EQXSA
joFHDiepjxqlr2X4778CQjvuLfEuuwHgMtm9RUe5HoiVwLhEJKWSztRQtV7z
r7SNPLf/EhS4y0WVjNsv+qX3TewTL2tX9dIfR5GG6JYUk3IZmnwIopKUyQYl
bGDKhfXhNie0HCQd9p8KE2jPNXqneLHhzjV+DZ8/Otjb3f2FdlRjd1T0Wg4y
Bm+2rGQNBaOvGoDJzgBVuz99ldcVzYAEXp5tP4JwuSjKnUH2rxVpAk9G2df5
lFQJMjEe1uWYbNQ5ffeAxPycpH5OXGuabT+uqjO0avi+nNLsZtmD6rLIto8v
yqbJnuqCswf0XnqGtATiCcRBHtVFSQ+13c70yK9J356TBXM5514+vY/8KxnO
w4NzxrStFty8aHXGiQ29j644tjjKHuc1fUiqUT6paDUvvs7+jZSi8Tk98qKc
MqJR9m9/+X/N+JwONf36kA3X8mX2vKqabFsd7Nkx8FSbHWnJRAYYCfhv8sXq
nH79eskkRdcJcC3NDpikeM8FeyuSj6Pse4X6w9Fkh6Tu0a4+zqd/+c85XfFm
vFJN09dLOhARCL/Q9YKjCAbH1b3HdbVaMBsMyzGIlpJVqsVqGUGRyaeqCabt
iBhzplJXs8zX4AnBeM4Y9IZbnDBJTUAczxgw/ay1kWgqAHAU3oWzVTmB5gN5
phFkdgytltrKO2f9Y+n8g1vXzAU87qLQQNOkOFkKOlZwoU3o19NqAcVpWeQz
cDs7Nn5Z73YsAHrNItkDQy5pYxmudxnTXIPdOYgbURkIIwDpMJXfH3z93f6L
vb0/kOrMX5GQeqldn7kzXb1EUFoyGIAcvVgt1YXTOB7sqTYYE4E2uvX/AXzI
yvA1lQIA

-->

</rfc>
