<?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.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-controlplane-14" 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-14"/>
    <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="January" day="16"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 190?>

<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 199?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>SCION 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. It can be created 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). Up to three path segments can be used 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 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 can be used 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 discovers paths to other ASes. See also <xref target="beaconing"/>.</t>
          </li>
          <li>
            <t><em>Path registration</em>: This is the process where an AS 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. See also <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. See also <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. The Control Service of a specific AS is part of the Control Plane, is responsible for <em>finding and registering suitable paths</em>, and can be deployed anywhere inside the AS. Border routers are deployed at the edge of an AS and their main tasks are to <em>forward data packets</em>.</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 and <bcp14>MUST</bcp14> be globally unique.</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 - should be allocated in ascending order, without gaps and "vanity" numbers</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. It may, however, be used by implementations 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.</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">Unallocated</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 avoids circular dependencies during network bootstrapping. One goal is that the SCION network can start up even after large outages or attacks, in addition to avoiding cascades of outages caused by fragile interdependencies. This section lists the concepts SCION uses to prevent circular dependencies:</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 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: In SCION, every entity is required to be in possession of all cryptographic material (including the ISD's TRC and certificates) that is needed 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, thereby avoiding circular dependencies between the PKI and connectivity.<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="resistance-to-partitioning">
        <name>Resistance to partitioning</name>
        <t>Partitioning occurs when a network splits into two because of link failures. Partitioning of the global SCION inter-domain network is much less likely to happen, thanks to its path awareness that exposes multiple paths between SCION ASes. Even during failures there is no special failure mode required as SCION ASes can always switch to already known paths that use other links.</t>
        <t>Recovering from a partitioned network is also seamless as only coarse time synchronization between the partitions is required to resume normal operation and move forward with updates of the cryptographic material. <xref target="clock-inaccuracy"/> further describes the impact of time synchronization and path discovery time.</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>
      </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), 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 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.</t>
          <t>In <xref target="_figure-3a"/> below, 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-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="272" width="424" viewBox="0 0 424 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,112 L 8,192" fill="none" stroke="black"/>
                  <path d="M 80,112 L 80,192" fill="none" stroke="black"/>
                  <path d="M 128,128 L 128,160" fill="none" stroke="black"/>
                  <path d="M 152,32 L 152,96" fill="none" stroke="black"/>
                  <path d="M 152,160 L 152,192" fill="none" stroke="black"/>
                  <path d="M 152,224 L 152,240" fill="none" stroke="black"/>
                  <path d="M 176,128 L 176,160" fill="none" stroke="black"/>
                  <path d="M 192,96 L 192,224" fill="none" stroke="black"/>
                  <path d="M 224,96 L 224,224" fill="none" stroke="black"/>
                  <path d="M 240,128 L 240,160" fill="none" stroke="black"/>
                  <path d="M 264,32 L 264,96" fill="none" stroke="black"/>
                  <path d="M 264,160 L 264,192" fill="none" stroke="black"/>
                  <path d="M 264,224 L 264,240" fill="none" stroke="black"/>
                  <path d="M 288,128 L 288,160" fill="none" stroke="black"/>
                  <path d="M 344,112 L 344,192" fill="none" stroke="black"/>
                  <path d="M 416,112 L 416,192" fill="none" stroke="black"/>
                  <path d="M 152,32 L 264,32" fill="none" stroke="black"/>
                  <path d="M 152,96 L 264,96" fill="none" stroke="black"/>
                  <path d="M 8,112 L 80,112" fill="none" stroke="black"/>
                  <path d="M 344,112 L 416,112" fill="none" stroke="black"/>
                  <path d="M 128,128 L 176,128" fill="none" stroke="black"/>
                  <path d="M 240,128 L 288,128" fill="none" stroke="black"/>
                  <path d="M 8,142 L 80,142" fill="none" stroke="black"/>
                  <path d="M 8,146 L 80,146" fill="none" stroke="black"/>
                  <path d="M 96,144 L 120,144" fill="none" stroke="black"/>
                  <path d="M 296,144 L 328,144" fill="none" stroke="black"/>
                  <path d="M 344,142 L 416,142" fill="none" stroke="black"/>
                  <path d="M 344,146 L 416,146" fill="none" stroke="black"/>
                  <path d="M 128,160 L 176,160" fill="none" stroke="black"/>
                  <path d="M 240,160 L 288,160" fill="none" stroke="black"/>
                  <path d="M 8,192 L 80,192" fill="none" stroke="black"/>
                  <path d="M 344,192 L 416,192" fill="none" stroke="black"/>
                  <path d="M 152,224 L 264,224" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="336,144 324,138.4 324,149.6" fill="black" transform="rotate(0,328,144)"/>
                  <polygon class="arrowhead" points="272,192 260,186.4 260,197.6" fill="black" transform="rotate(90,264,192)"/>
                  <polygon class="arrowhead" points="160,192 148,186.4 148,197.6" fill="black" transform="rotate(90,152,192)"/>
                  <polygon class="arrowhead" points="104,144 92,138.4 92,149.6" fill="black" transform="rotate(180,96,144)"/>
                  <circle cx="192" cy="208" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="224" cy="208" r="6" class="opendot" fill="white" stroke="black"/>
                  <g class="text">
                    <text x="188" y="52">Core</text>
                    <text x="220" y="52">AS</text>
                    <text x="240" y="52">X</text>
                    <text x="192" y="84">2</text>
                    <text x="224" y="84">1</text>
                    <text x="32" y="132">PCB</text>
                    <text x="56" y="132">a</text>
                    <text x="368" y="132">PCB</text>
                    <text x="392" y="132">b</text>
                    <text x="144" y="148">PCB</text>
                    <text x="168" y="148">a</text>
                    <text x="256" y="148">PCB</text>
                    <text x="280" y="148">b</text>
                    <text x="36" y="164">Core</text>
                    <text x="364" y="164">Core</text>
                    <text x="16" y="180">-</text>
                    <text x="48" y="180">Out:2</text>
                    <text x="352" y="180">-</text>
                    <text x="384" y="180">Out:1</text>
                    <text x="196" y="244">AS</text>
                    <text x="216" y="244">Y</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                           +-------------+
                           |  Core AS X  |
                           |             |
                           |    2   1    |
                           +----+---+----+
         +--------+             |   |              +--------+
         | PCB a  |     +-----+ |   | +-----+      | PCB b  |
         +========+ <---|PCB a| |   | |PCB b|----> +========+
         | Core   |     +--+--+ |   | +--+--+      |Core    |
         |- Out:2 |        |    |   |    |         |- Out:1 |
         +--------+        v    |   |    v         +--------+
                                o   o
                           +----+---+----+
                           |    AS Y     |
]]></artwork>
            </artset>
          </figure>
          <t>AS Y receives the two PCBs "a" and "b" through two different (ingress) interfaces, namely "2" and "3", respectively (see <xref target="_figure-3b"/> below). 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-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="560" width="560" viewBox="0 0 560 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,320 L 8,496" fill="none" stroke="black"/>
                  <path d="M 64,128 L 64,208" fill="none" stroke="black"/>
                  <path d="M 80,320 L 80,496" fill="none" stroke="black"/>
                  <path d="M 104,240 L 104,416" fill="none" stroke="black"/>
                  <path d="M 176,128 L 176,208" fill="none" stroke="black"/>
                  <path d="M 176,240 L 176,416" fill="none" stroke="black"/>
                  <path d="M 200,32 L 200,64" fill="none" stroke="black"/>
                  <path d="M 200,320 L 200,352" fill="none" stroke="black"/>
                  <path d="M 200,432 L 200,464" fill="none" stroke="black"/>
                  <path d="M 224,64 L 224,96" fill="none" stroke="black"/>
                  <path d="M 224,128 L 224,224" fill="none" stroke="black"/>
                  <path d="M 224,352 L 224,384" fill="none" stroke="black"/>
                  <path d="M 224,464 L 224,496" fill="none" stroke="black"/>
                  <path d="M 224,528 L 224,544" fill="none" stroke="black"/>
                  <path d="M 248,32 L 248,64" fill="none" stroke="black"/>
                  <path d="M 248,320 L 248,352" fill="none" stroke="black"/>
                  <path d="M 248,432 L 248,464" fill="none" stroke="black"/>
                  <path d="M 264,32 L 264,128" fill="none" stroke="black"/>
                  <path d="M 264,224 L 264,528" fill="none" stroke="black"/>
                  <path d="M 296,32 L 296,128" fill="none" stroke="black"/>
                  <path d="M 296,224 L 296,528" fill="none" stroke="black"/>
                  <path d="M 312,32 L 312,64" fill="none" stroke="black"/>
                  <path d="M 312,320 L 312,352" fill="none" stroke="black"/>
                  <path d="M 312,432 L 312,464" fill="none" stroke="black"/>
                  <path d="M 336,64 L 336,96" fill="none" stroke="black"/>
                  <path d="M 336,128 L 336,224" fill="none" stroke="black"/>
                  <path d="M 336,352 L 336,384" fill="none" stroke="black"/>
                  <path d="M 336,464 L 336,496" fill="none" stroke="black"/>
                  <path d="M 336,528 L 336,544" fill="none" stroke="black"/>
                  <path d="M 360,32 L 360,64" fill="none" stroke="black"/>
                  <path d="M 360,320 L 360,352" fill="none" stroke="black"/>
                  <path d="M 360,432 L 360,464" fill="none" stroke="black"/>
                  <path d="M 384,128 L 384,208" fill="none" stroke="black"/>
                  <path d="M 384,240 L 384,416" fill="none" stroke="black"/>
                  <path d="M 456,240 L 456,416" fill="none" stroke="black"/>
                  <path d="M 480,320 L 480,496" fill="none" stroke="black"/>
                  <path d="M 496,128 L 496,208" fill="none" stroke="black"/>
                  <path d="M 552,320 L 552,496" fill="none" stroke="black"/>
                  <path d="M 200,32 L 248,32" fill="none" stroke="black"/>
                  <path d="M 312,32 L 360,32" fill="none" stroke="black"/>
                  <path d="M 200,64 L 248,64" fill="none" stroke="black"/>
                  <path d="M 312,64 L 360,64" fill="none" stroke="black"/>
                  <path d="M 64,128 L 176,128" fill="none" stroke="black"/>
                  <path d="M 224,128 L 336,128" fill="none" stroke="black"/>
                  <path d="M 384,128 L 496,128" fill="none" stroke="black"/>
                  <path d="M 192,160 L 208,160" fill="none" stroke="black"/>
                  <path d="M 352,192 L 368,192" fill="none" stroke="black"/>
                  <path d="M 64,208 L 176,208" fill="none" stroke="black"/>
                  <path d="M 384,208 L 496,208" fill="none" stroke="black"/>
                  <path d="M 224,224 L 336,224" fill="none" stroke="black"/>
                  <path d="M 104,240 L 176,240" fill="none" stroke="black"/>
                  <path d="M 384,240 L 456,240" 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 384,270 L 456,270" fill="none" stroke="black"/>
                  <path d="M 384,274 L 456,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 200,320 L 248,320" fill="none" stroke="black"/>
                  <path d="M 312,320 L 360,320" fill="none" stroke="black"/>
                  <path d="M 384,320 L 456,320" fill="none" stroke="black"/>
                  <path d="M 480,320 L 552,320" fill="none" stroke="black"/>
                  <path d="M 8,350 L 80,350" fill="none" stroke="black"/>
                  <path d="M 8,354 L 80,354" fill="none" stroke="black"/>
                  <path d="M 200,352 L 248,352" fill="none" stroke="black"/>
                  <path d="M 312,352 L 360,352" fill="none" stroke="black"/>
                  <path d="M 480,350 L 552,350" fill="none" stroke="black"/>
                  <path d="M 480,354 L 552,354" fill="none" stroke="black"/>
                  <path d="M 8,400 L 80,400" fill="none" stroke="black"/>
                  <path d="M 480,400 L 552,400" fill="none" stroke="black"/>
                  <path d="M 104,416 L 176,416" fill="none" stroke="black"/>
                  <path d="M 384,416 L 456,416" fill="none" stroke="black"/>
                  <path d="M 200,432 L 248,432" fill="none" stroke="black"/>
                  <path d="M 312,432 L 360,432" fill="none" stroke="black"/>
                  <path d="M 96,448 L 192,448" fill="none" stroke="black"/>
                  <path d="M 368,448 L 464,448" fill="none" stroke="black"/>
                  <path d="M 200,464 L 248,464" fill="none" stroke="black"/>
                  <path d="M 312,464 L 360,464" fill="none" stroke="black"/>
                  <path d="M 8,496 L 80,496" fill="none" stroke="black"/>
                  <path d="M 480,496 L 552,496" fill="none" stroke="black"/>
                  <path d="M 224,528 L 336,528" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="472,448 460,442.4 460,453.6" fill="black" transform="rotate(0,464,448)"/>
                  <polygon class="arrowhead" points="344,496 332,490.4 332,501.6" fill="black" transform="rotate(90,336,496)"/>
                  <polygon class="arrowhead" points="344,384 332,378.4 332,389.6" fill="black" transform="rotate(90,336,384)"/>
                  <polygon class="arrowhead" points="344,96 332,90.4 332,101.6" fill="black" transform="rotate(90,336,96)"/>
                  <polygon class="arrowhead" points="232,496 220,490.4 220,501.6" fill="black" transform="rotate(90,224,496)"/>
                  <polygon class="arrowhead" points="232,384 220,378.4 220,389.6" fill="black" transform="rotate(90,224,384)"/>
                  <polygon class="arrowhead" points="232,96 220,90.4 220,101.6" fill="black" transform="rotate(90,224,96)"/>
                  <polygon class="arrowhead" points="104,448 92,442.4 92,453.6" fill="black" transform="rotate(180,96,448)"/>
                  <circle cx="264" cy="112" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="264" cy="512" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="296" cy="112" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="296" cy="512" r="6" class="opendot" fill="white" stroke="black"/>
                  <g class="text">
                    <text x="216" y="52">PCB</text>
                    <text x="240" y="52">a</text>
                    <text x="328" y="52">PCB</text>
                    <text x="352" y="52">b</text>
                    <text x="264" y="148">2</text>
                    <text x="296" y="148">3</text>
                    <text x="184" y="164">p</text>
                    <text x="216" y="164">p</text>
                    <text x="240" y="164">1</text>
                    <text x="108" y="180">AS</text>
                    <text x="128" y="180">V</text>
                    <text x="268" y="180">AS</text>
                    <text x="288" y="180">Y</text>
                    <text x="428" y="180">AS</text>
                    <text x="448" y="180">W</text>
                    <text x="320" y="196">4</text>
                    <text x="344" y="196">p</text>
                    <text x="376" y="196">p</text>
                    <text x="264" y="212">6</text>
                    <text x="296" y="212">5</text>
                    <text x="128" y="260">PCB</text>
                    <text x="152" y="260">c</text>
                    <text x="408" y="260">PCB</text>
                    <text x="432" y="260">d</text>
                    <text x="124" y="292">Core</text>
                    <text x="152" y="292">X</text>
                    <text x="404" y="292">Core</text>
                    <text x="432" y="292">X</text>
                    <text x="112" y="308">-</text>
                    <text x="144" y="308">Out:2</text>
                    <text x="392" y="308">-</text>
                    <text x="424" y="308">Out:2</text>
                    <text x="32" y="340">PCB</text>
                    <text x="56" y="340">e</text>
                    <text x="116" y="340">AS</text>
                    <text x="136" y="340">Y</text>
                    <text x="188" y="340">&lt;-</text>
                    <text x="216" y="340">PCB</text>
                    <text x="240" y="340">c</text>
                    <text x="328" y="340">PCB</text>
                    <text x="352" y="340">d</text>
                    <text x="372" y="340">-&gt;</text>
                    <text x="396" y="340">AS</text>
                    <text x="416" y="340">Y</text>
                    <text x="504" y="340">PCB</text>
                    <text x="528" y="340">f</text>
                    <text x="128" y="356">-In:2</text>
                    <text x="408" y="356">-In:2</text>
                    <text x="28" y="372">Core</text>
                    <text x="56" y="372">X</text>
                    <text x="132" y="372">-Out:6</text>
                    <text x="412" y="372">-Out:5</text>
                    <text x="500" y="372">Core</text>
                    <text x="528" y="372">X</text>
                    <text x="16" y="388">-</text>
                    <text x="48" y="388">Out:1</text>
                    <text x="140" y="388">-PeerV:1</text>
                    <text x="420" y="388">-PeerV:1</text>
                    <text x="488" y="388">-</text>
                    <text x="520" y="388">Out:1</text>
                    <text x="140" y="404">-PeerW:4</text>
                    <text x="420" y="404">-PeerW:4</text>
                    <text x="20" y="420">AS</text>
                    <text x="40" y="420">Y</text>
                    <text x="492" y="420">AS</text>
                    <text x="512" y="420">Y</text>
                    <text x="32" y="436">-In:3</text>
                    <text x="504" y="436">-In:3</text>
                    <text x="36" y="452">-Out:6</text>
                    <text x="216" y="452">PCB</text>
                    <text x="240" y="452">e</text>
                    <text x="328" y="452">PCB</text>
                    <text x="352" y="452">f</text>
                    <text x="508" y="452">-Out:5</text>
                    <text x="44" y="468">-PeerV:1</text>
                    <text x="516" y="468">-PeerV:1</text>
                    <text x="44" y="484">-PeerW:4</text>
                    <text x="516" y="484">-PeerW:4</text>
                    <text x="268" y="548">AS</text>
                    <text x="288" y="548">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 c  |          |   |          | PCB d  |
            +========+          |   |          +========+
            |Core X  |          |   |          |Core X  |
            |- Out:2 |          |   |          |- Out:2 |
+--------+  +--------+  +-----+ |   | +-----+  +--------+  +--------+
| PCB e  |  |AS Y    |<-|PCB c| |   | |PCB d|->|AS Y    |  | PCB f  |
+========+  |-In:2   |  +--+--+ |   | +--+--+  |-In:2   |  +========+
|Core X  |  |-Out:6  |     |    |   |    |     |-Out:5  |  |Core X  |
|- Out:1 |  |-PeerV:1|     v    |   |    v     |-PeerV:1|  |- Out:1 |
+--------+  |-PeerW:4|          |   |          |-PeerW:4|  +--------+
|AS Y    |  +--------+          |   |          +--------+  |AS Y    |
|-In:3   |              +-----+ |   | +-----+              |-In:3   |
|-Out:6  | <------------|PCB e| |   | |PCB f|------------> |-Out:5  |
|-PeerV:1|              +--+--+ |   | +--+--+              |-PeerV:1|
|-PeerW:4|                 |    |   |    |                 |-PeerW:4|
+--------+                 v    |   |    v                 +--------+
                                o   o
                           +----+---+----+
                           |    AS Z     |
]]></artwork>
            </artset>
          </figure>
          <t>The following figure shows how the four PCBs "c", "d", "e", and "f" coming from AS Y 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-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="608" width="560" viewBox="0 0 560 608" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,304 L 8,544" fill="none" stroke="black"/>
                  <path d="M 80,304 L 80,544" fill="none" stroke="black"/>
                  <path d="M 104,240 L 104,480" fill="none" stroke="black"/>
                  <path d="M 160,32 L 160,64" fill="none" stroke="black"/>
                  <path d="M 176,64 L 176,96" fill="none" stroke="black"/>
                  <path d="M 176,240 L 176,480" fill="none" stroke="black"/>
                  <path d="M 200,80 L 200,112" fill="none" stroke="black"/>
                  <path d="M 208,32 L 208,64" fill="none" stroke="black"/>
                  <path d="M 208,368 L 208,400" fill="none" stroke="black"/>
                  <path d="M 208,496 L 208,528" fill="none" stroke="black"/>
                  <path d="M 224,112 L 224,144" fill="none" stroke="black"/>
                  <path d="M 224,176 L 224,272" fill="none" stroke="black"/>
                  <path d="M 232,400 L 232,432" fill="none" stroke="black"/>
                  <path d="M 232,528 L 232,560" fill="none" stroke="black"/>
                  <path d="M 248,80 L 248,112" fill="none" stroke="black"/>
                  <path d="M 256,368 L 256,400" fill="none" stroke="black"/>
                  <path d="M 256,496 L 256,528" fill="none" stroke="black"/>
                  <path d="M 264,32 L 264,176" fill="none" stroke="black"/>
                  <path d="M 280,272 L 280,576" fill="none" stroke="black"/>
                  <path d="M 296,32 L 296,176" fill="none" stroke="black"/>
                  <path d="M 304,368 L 304,400" fill="none" stroke="black"/>
                  <path d="M 304,496 L 304,528" fill="none" stroke="black"/>
                  <path d="M 312,80 L 312,112" fill="none" stroke="black"/>
                  <path d="M 328,400 L 328,432" fill="none" stroke="black"/>
                  <path d="M 328,528 L 328,560" fill="none" stroke="black"/>
                  <path d="M 336,112 L 336,144" fill="none" stroke="black"/>
                  <path d="M 336,176 L 336,272" fill="none" stroke="black"/>
                  <path d="M 352,32 L 352,64" fill="none" stroke="black"/>
                  <path d="M 352,368 L 352,400" fill="none" stroke="black"/>
                  <path d="M 352,496 L 352,528" fill="none" stroke="black"/>
                  <path d="M 360,80 L 360,112" fill="none" stroke="black"/>
                  <path d="M 384,64 L 384,96" fill="none" stroke="black"/>
                  <path d="M 384,240 L 384,480" fill="none" stroke="black"/>
                  <path d="M 400,32 L 400,64" fill="none" stroke="black"/>
                  <path d="M 456,240 L 456,480" fill="none" stroke="black"/>
                  <path d="M 480,304 L 480,544" fill="none" stroke="black"/>
                  <path d="M 552,304 L 552,544" fill="none" stroke="black"/>
                  <path d="M 160,32 L 208,32" fill="none" stroke="black"/>
                  <path d="M 352,32 L 400,32" fill="none" stroke="black"/>
                  <path d="M 160,64 L 208,64" fill="none" stroke="black"/>
                  <path d="M 352,64 L 400,64" fill="none" stroke="black"/>
                  <path d="M 200,80 L 248,80" fill="none" stroke="black"/>
                  <path d="M 312,80 L 360,80" fill="none" stroke="black"/>
                  <path d="M 200,112 L 248,112" fill="none" stroke="black"/>
                  <path d="M 312,112 L 360,112" fill="none" stroke="black"/>
                  <path d="M 224,176 L 336,176" fill="none" stroke="black"/>
                  <path d="M 104,240 L 176,240" fill="none" stroke="black"/>
                  <path d="M 384,240 L 456,240" 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 224,272 L 336,272" fill="none" stroke="black"/>
                  <path d="M 384,270 L 456,270" fill="none" stroke="black"/>
                  <path d="M 384,274 L 456,274" fill="none" stroke="black"/>
                  <path d="M 8,304 L 80,304" fill="none" stroke="black"/>
                  <path d="M 480,304 L 552,304" fill="none" stroke="black"/>
                  <path d="M 104,320 L 176,320" fill="none" stroke="black"/>
                  <path d="M 384,320 L 456,320" fill="none" stroke="black"/>
                  <path d="M 8,334 L 80,334" fill="none" stroke="black"/>
                  <path d="M 8,338 L 80,338" fill="none" stroke="black"/>
                  <path d="M 480,334 L 552,334" fill="none" stroke="black"/>
                  <path d="M 480,338 L 552,338" fill="none" stroke="black"/>
                  <path d="M 208,368 L 256,368" fill="none" stroke="black"/>
                  <path d="M 304,368 L 352,368" fill="none" stroke="black"/>
                  <path d="M 8,384 L 80,384" fill="none" stroke="black"/>
                  <path d="M 480,384 L 552,384" fill="none" stroke="black"/>
                  <path d="M 208,400 L 256,400" fill="none" stroke="black"/>
                  <path d="M 304,400 L 352,400" fill="none" stroke="black"/>
                  <path d="M 104,416 L 176,416" fill="none" stroke="black"/>
                  <path d="M 384,416 L 456,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 384,480 L 456,480" fill="none" stroke="black"/>
                  <path d="M 480,480 L 552,480" fill="none" stroke="black"/>
                  <path d="M 208,496 L 256,496" fill="none" stroke="black"/>
                  <path d="M 304,496 L 352,496" fill="none" stroke="black"/>
                  <path d="M 96,512 L 200,512" fill="none" stroke="black"/>
                  <path d="M 360,512 L 456,512" fill="none" stroke="black"/>
                  <path d="M 208,528 L 256,528" fill="none" stroke="black"/>
                  <path d="M 304,528 L 352,528" fill="none" stroke="black"/>
                  <path d="M 8,544 L 80,544" fill="none" stroke="black"/>
                  <path d="M 480,544 L 552,544" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="464,512 452,506.4 452,517.6" fill="black" transform="rotate(0,456,512)"/>
                  <polygon class="arrowhead" points="392,96 380,90.4 380,101.6" fill="black" transform="rotate(90,384,96)"/>
                  <polygon class="arrowhead" points="344,144 332,138.4 332,149.6" fill="black" transform="rotate(90,336,144)"/>
                  <polygon class="arrowhead" points="336,560 324,554.4 324,565.6" fill="black" transform="rotate(90,328,560)"/>
                  <polygon class="arrowhead" points="336,432 324,426.4 324,437.6" fill="black" transform="rotate(90,328,432)"/>
                  <polygon class="arrowhead" points="240,560 228,554.4 228,565.6" fill="black" transform="rotate(90,232,560)"/>
                  <polygon class="arrowhead" points="240,432 228,426.4 228,437.6" fill="black" transform="rotate(90,232,432)"/>
                  <polygon class="arrowhead" points="232,144 220,138.4 220,149.6" fill="black" transform="rotate(90,224,144)"/>
                  <polygon class="arrowhead" points="184,96 172,90.4 172,101.6" fill="black" transform="rotate(90,176,96)"/>
                  <polygon class="arrowhead" points="104,512 92,506.4 92,517.6" fill="black" transform="rotate(180,96,512)"/>
                  <circle cx="264" cy="160" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="280" cy="560" r="6" class="opendot" fill="white" stroke="black"/>
                  <circle cx="296" cy="160" r="6" class="opendot" fill="white" stroke="black"/>
                  <g class="text">
                    <text x="176" y="52">PCB</text>
                    <text x="200" y="52">c</text>
                    <text x="368" y="52">PCB</text>
                    <text x="392" y="52">d</text>
                    <text x="216" y="100">PCB</text>
                    <text x="240" y="100">e</text>
                    <text x="328" y="100">PCB</text>
                    <text x="352" y="100">f</text>
                    <text x="264" y="196">5</text>
                    <text x="296" y="196">1</text>
                    <text x="268" y="228">AS</text>
                    <text x="288" y="228">Z</text>
                    <text x="128" y="260">PCB</text>
                    <text x="152" y="260">g</text>
                    <text x="280" y="260">3</text>
                    <text x="408" y="260">PCB</text>
                    <text x="432" y="260">h</text>
                    <text x="124" y="292">Core</text>
                    <text x="152" y="292">X</text>
                    <text x="404" y="292">Core</text>
                    <text x="432" y="292">X</text>
                    <text x="112" y="308">-</text>
                    <text x="144" y="308">Out:2</text>
                    <text x="392" y="308">-</text>
                    <text x="424" y="308">Out:2</text>
                    <text x="32" y="324">PCB</text>
                    <text x="56" y="324">i</text>
                    <text x="504" y="324">PCB</text>
                    <text x="528" y="324">j</text>
                    <text x="116" y="340">AS</text>
                    <text x="136" y="340">Y</text>
                    <text x="396" y="340">AS</text>
                    <text x="416" y="340">Y</text>
                    <text x="28" y="356">Core</text>
                    <text x="56" y="356">X</text>
                    <text x="128" y="356">-In:2</text>
                    <text x="408" y="356">-In:2</text>
                    <text x="500" y="356">Core</text>
                    <text x="528" y="356">X</text>
                    <text x="16" y="372">-</text>
                    <text x="48" y="372">Out:1</text>
                    <text x="132" y="372">-Out:6</text>
                    <text x="412" y="372">-Out:5</text>
                    <text x="488" y="372">-</text>
                    <text x="520" y="372">Out:1</text>
                    <text x="140" y="388">-PeerV:1</text>
                    <text x="196" y="388">&lt;-</text>
                    <text x="224" y="388">PCB</text>
                    <text x="248" y="388">g</text>
                    <text x="320" y="388">PCB</text>
                    <text x="344" y="388">h</text>
                    <text x="364" y="388">-&gt;</text>
                    <text x="420" y="388">-PeerV:1</text>
                    <text x="20" y="404">AS</text>
                    <text x="40" y="404">Y</text>
                    <text x="140" y="404">-PeerW:4</text>
                    <text x="420" y="404">-PeerW:4</text>
                    <text x="492" y="404">AS</text>
                    <text x="512" y="404">Y</text>
                    <text x="32" y="420">-In:3</text>
                    <text x="504" y="420">-In:3</text>
                    <text x="36" y="436">-Out:6</text>
                    <text x="116" y="436">AS</text>
                    <text x="136" y="436">Z</text>
                    <text x="396" y="436">AS</text>
                    <text x="416" y="436">Z</text>
                    <text x="504" y="436">Out:5</text>
                    <text x="44" y="452">-PeerV:1</text>
                    <text x="128" y="452">-In:5</text>
                    <text x="408" y="452">-In:1</text>
                    <text x="516" y="452">-PeerV:1</text>
                    <text x="44" y="468">-PeerW:4</text>
                    <text x="132" y="468">-Out:3</text>
                    <text x="412" y="468">-Out:3</text>
                    <text x="516" y="468">-PeerW:4</text>
                    <text x="20" y="500">AS</text>
                    <text x="40" y="500">Z</text>
                    <text x="492" y="500">AS</text>
                    <text x="512" y="500">Z</text>
                    <text x="32" y="516">-In:5</text>
                    <text x="224" y="516">PCB</text>
                    <text x="248" y="516">i</text>
                    <text x="320" y="516">PCB</text>
                    <text x="344" y="516">j</text>
                    <text x="504" y="516">-In:1</text>
                    <text x="36" y="532">-Out:3</text>
                    <text x="508" y="532">-Out:3</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                   +-----+      |   |      +-----+
                   |PCB c|      |   |      |PCB d|
                   +-+---+      |   |      +---+-+
                     |  +-----+ |   | +-----+  |
                     v  |PCB e| |   | |PCB f|  v
                        +--+--+ |   | +--+--+
                           |    |   |    |
                           v    |   |    v
                                o   o
                           +----+---+----+
                           |    5   1    |
                           |             |
                           |    AS Z     |
            +--------+     |             |     +--------+
            | PCB g  |     |      3      |     | PCB h  |
            +========+     +------+------+     +========+
            |Core X  |            |            |Core X  |
+--------+  |- Out:2 |            |            |- Out:2 |  +--------+
| PCB i  |  +--------+            |            +--------+  | PCB j  |
+========+  |AS Y    |            |            |AS Y    |  +========+
|Core X  |  |-In:2   |            |            |-In:2   |  |Core X  |
|- Out:1 |  |-Out:6  |   +-----+  |  +-----+   |-Out:5  |  |- Out:1 |
+--------+  |-PeerV:1| <-|PCB g|  |  |PCB h|-> |-PeerV:1|  +--------+
|AS Y    |  |-PeerW:4|   +--+--+  |  +--+--+   |-PeerW:4|  |AS Y    |
|-In:3   |  +--------+      |     |     |      +--------+  |-In:3   |
|-Out:6  |  |AS Z    |      v     |     v      |AS Z    |  |Out:5   |
|-PeerV:1|  |-In:5   |            |            |-In:1   |  |-PeerV:1|
|-PeerW:4|  |-Out:3  |            |            |-Out:3  |  |-PeerW:4|
+--------+  +--------+            |            +--------+  +--------+
|AS Z    |               +-----+  |  +-----+               |AS Z    |
|-In:5   | <-------------|PCB i|  |  |PCB j|------------>  |-In:1   |
|-Out:3  |               +--+--+  |  +--+--+               |-Out:3  |
+--------+                  |     |     |                  +--------+
                            v     o     v
                                  |

]]></artwork>
            </artset>
          </figure>
          <t>Based on the figures 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>
          <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>
        </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>). See also the code block below.</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>
          <ul spacing="normal">
            <li>
              <t>For the specification of the signed header, see <xref target="ase-header"/>.</t>
            </li>
            <li>
              <t>For the specification of the signed body, see <xref target="ase-sign"/>.</t>
            </li>
            <li>
              <t>For the specification of the <tt>signature</tt> field, see <xref target="sign"/>.</t>
            </li>
          </ul>
          <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>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, but current practice to make it a configuration item. Path MTU is further discussed in <xref target="path-mtu"/>.</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, 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> For the core AS that initiates the PCB, the ingress interface identifier <bcp14>MUST</bcp14> be set 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:</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 to be used 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>
        </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, an AS Control Service must be configured 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 the organizations operating 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>
          </ul>
          <t>The maximum MTU supported by all intra-AS links may also be configured by the operator.</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: It verifies the validity of the PCB (see <xref target="pcb-validity"/>) and invalid PCBs <bcp14>MUST</bcp14> be discarded. 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: If it is a core AS, the Control Service <bcp14>MUST</bcp14> check whether the PCB includes duplicate hop entries created by the core AS itself or by other ASes. If so, the PCB <bcp14>MUST</bcp14> be discarded in order to avoid loops and 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 last ISD-AS entry in a received PCB (in its AS Entry Signed Body) <bcp14>MUST</bcp14> coincide 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 a PCB contains two or more AS entries, the receiver Control Service <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 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>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 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. This set should have a fixed size, the <em>best PCBs set size</em>.</t>
          <t>The <em>best PCBs set size</em> 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 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 <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 UNIX epoch.</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 UNIX epoch.</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="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 <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 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 beaconing 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 PCB will be processed and propagated 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.
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.
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)<em>T/2.
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)</em>T/2.</t>
        </section>
      </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>. As a result, a core AS's Control Service contains all intra-ISD path segments registered by the non-core ASes of its ISD. 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 period</em> (determined 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 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 "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 egress Interface ID in the Hop Field component of each added peer entry <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>
            <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 period, 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 period, 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.</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 period, 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 a SegmentsRequest. The Control Service has up segments stored in its path database and additionally checks if it has appropriate core segments and down segments stored as well, and in this case returns them immediately in a SegmentsResponse.</t>
          </li>
          <li>
            <t>If there are no appropriate core segments and down segments, the Control Service in the source AS queries the Control Services of the reachable core ASes in the source ISD for 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.</t>
          </li>
          <li>
            <t>The Control Service of the source AS combines up segments with the newly retrieved core segments. The Control Service then queries the Control Services of the remote core ASes in the destination ISD to fetch 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 segments and core segments.</t>
          </li>
          <li>
            <t>The Control Service of the source AS returns all retrieved path segments to the source endpoint.</t>
          </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> revert 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 can be performed 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". Unknown values <bcp14>MUST</bcp14> be ignored by clients. 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>. A missing, zero or non-existent port value <bcp14>MUST</bcp14> be treated by clients 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><strong>Note:</strong> 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">1</td>
              <td align="left">Reserved for future use</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">
                <xref target="packet-too-big">Packet Too Big</xref></td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">Reserved for future use</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">Reserved for future use</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>
            <tr>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">100</td>
              <td align="left">Private Experimentation</td>
            </tr>
            <tr>
              <td align="left">101</td>
              <td align="left">Private Experimentation</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">127</td>
              <td align="left">Reserved for expansion of SCMP error messages</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>
            <tr>
              <td align="left">200</td>
              <td align="left">Private Experimentation</td>
            </tr>
            <tr>
              <td align="left">201</td>
              <td align="left">Private Experimentation</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">255</td>
              <td align="left">Reserved for expansion of SCMP informational messages</td>
            </tr>
          </tbody>
        </table>
        <t>Type values 100, 101, 200, and 201 are reserved for private experimentation.</t>
        <t>All other values are reserved for future use.</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 MTU value is set 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="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, a fake path can be announced through a fake peering link between two colluding ASes even if in different ISDs. An adversary can advertise fake peering links between the two colluding ASes, 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>Care should be taken to 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: the endpoint 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>
        </ul>
      </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, the Control Service <bcp14>SHOULD</bcp14> be deployed 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="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>
        <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="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="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 2227?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks go to Alvaro Retana (Futurewei), Joel M. Halpern (Ericsson), William Boye (Swiss National Bank), Matthias Frei (SCION Association), Kevin Meynell (SCION Association), Juan A. Garcia Prado (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, ETH Zurich, and the SCION Association 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>
    <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-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>
  </back>
  <!-- ##markdown-source:
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
KRi7haGkGYsRkrIXlXYLkC/RQgAvYuymFJyRzgFOl0TPpFTkxvkepSCL/uV/
VHn/cDLE5BSxnLEKi/xlopINtV/NudQnkeXiYuvF9l38h3/lGieB64hbeYZM
Kvnw4VExmbzKi/4+8MCPH+10VDqxy8iOuajAJYXI/Z6VVoaJCF0RWFhV8XU9
cPeYpkYNvyPJqo2znvSxzZhKUWonPpyQnToYItjs9tkYl4tNCh4ACGKdgkw9
o3zO/gczM6gAbhK1+jJ3YATTbToZ6FyvKRNQjZZko1unCrBeXyNFSItIRpqA
GqTskFFIFHE7i3WIAxR1jAA1t7UHgucU2AqVF1y3ucE/gPg5gLgRtK2gEaAF
IGhaD4JTytB5hdIRCGG31qHS7F5TrHahSF59SDholN45+JpEX0mopduGUCt7
nF275iQasgLWtzHHVdMjL3Q1pLFKo9wpl2FmWlRF2c5RdSSq3cHkY44tBv4B
3r8qeFfqMxiEGJXIooB48jx7n90aJaYVbc9+zsDoHHeIjBa6Gv/sg/UHdmDh
Em29JJaAO6XyvDavW1TsSpUCLJ/bFG6r5GiPMO9oP1g9xYOjQUForDCJVmEW
fFZbR3t3jva3d87u7g/+cRB/LwexgWl+Fxx9pOVD8Iaeqpj8oRV2C3rGzg49
VLo3d3a0IpjW4NFIWgvNIpsX93aKJSxyVbWar40pJJJ9rVUWCe4cCiLefKYo
aZ0Otf53mQ2XKjVTqEsEXtfshyrpS79Mso5x22ACoI+ndrqHMU8NXRJ+LS29
SVCXb1r6RsshpEq3qLWoP84uKop6e7nQAjrOTJlFiwp1iTCoucM/oZKp2H8A
JVJZyVDKA1PhaI3MOzztmzuvXQxSVTdUzqlSjHbn4MjtWHCOI7itnPSK0ht2
lFFl+mYQYuq6ZlALkh1Xiybur+7QMop17QU30pdVm91Ympn1amuOXflIdckF
a1SxD26+uAEP2Vr06FqxmVQAlNuw8B3SrqP0RguTmoX8XVTCjs+liGHhmrdR
DXZ1Q4gBzIr9aOJr5Ij1ZCGmGeqYZdrwhPj6jp8YhYi8GO8kW3EDEDE/aXW2
jiMxFH+HPUU4nN5KNik5YfqBj2BBlMoCCBRg3BR57oiLpGRM1FyTz87LNCQO
4j2mvitx0CMpk1TMjqm0RrYJftpp/ArfgymP/CWIJ5UiUTaRdWiwanl02aK8
jVnzWkn5f/LT8p3mpkapJEpSTApe+fXLpeJBaPjS0jOtfA0OdAj8xi+De9vd
TGecB1h1E6rbS7nWLpSio0a5GsbDulrAIOTo6HgVMBxJjSKMtSKUsAg3MNke
opFl89UEZNp6shRb3BmhMeuNPNSHLxC1+/PR8KNcr/rGE8xmFuCEZkpsBbns
XiZ5wD1WKxA3a1lJVm2a0OvqLsK7zepwqc5KpjHaZG49kM66ybRjhysaNLL4
BesMK9rk5Yfyei2y113/Trfhit6hGiBp+T7C1CrWEVvSnkwvXtILVv9Q2sj3
ET9WVCATQQ+lpBCFLj1fhEu9wTleS7EUdvipfelNR9/xUAdPN7C5u+lq7LWK
9q2uzPdX3RWvo7khWAUtYuU+9r09Ht10UUeYFU0cseDweNysP4BlPLO4zbyJ
S76yYKOeIOyczPUdrzufv1tVgAAaRpREWQXQgT8W3wd33ckU0kGWJXy3ltVH
9jc6sBsLmeIw02LMFUNvWb0UNAGM6Hu4s6N5iKuKl60sEZmay3wZqpeBSNqn
luKDNcOmDt6u8JlVfV337orz7GjBvW4U6yDTtQdZP7OLVTR9hoKJSFUqO3WI
Tqsr+kYawU2kOYhMQe9yHGo1ofYlUEObUc/pG9KY53vtBhKRu89XLl5ZJbjF
5mINEtim7N1C/WnPrX60yqO3ra4yXjdmgio0+EvAorEqHDtuWzs7K+8UsTXx
96EZTDrQRnIVF1g2nU31V3+lVqKddWUJwhLH4FxIkD3ri4aI+tSN2Mgi698U
HSMB6TMiZCx4/QdCyWhja5AytC1qY+bt1PW41UTI13M5y/Kt4+4cX3gmbRvG
yLFXVdT1SqVW1VU7lP/uF9XY7bA1xAV2AU5WX5cAyaETUXdfjRjyVoeQjSmt
ZZ29R14OnWn1JcpQRDgEs0Kz965eJmLUZfajpmNb26m/OsHgwIOV+r/VlIpS
oNRUI1m7HWECrjuhNcE5I3NXVA1CM29msRW1VR/dU9EGojKaKrJ7+FcFf0dx
wyTwmGauWj9qqWyBpu+luURzlZIminaQqtY1BhtSTEMVbXtsrOTsB2oiGlnU
YjC4WiEBddMqtitJ5Bvn+xOtcJeTuwMRTW8GZRzP5ItPI/Y3EHprUfZzK6xz
YHu0w1Ul1TvH/Tsh0dFBfrrcEOPB30xysJzWTiMgltY7PDlOPgQC+vE21gTR
HpuW5L8Ff4pwX03cv6SWeTZbTBVa1JvE6oufPvnu+ZMXZ6/P/njy5PUPL05P
njw+fnr85Cj5TbL7q+6HTkJ5y+Z3Ry9//yLUuWx++/jlqydW4paLlzeKrHcw
3rjQehcX3ur6cGWVQ1xU5/PrirOvmSGsr/lw+CaqvttR0b2KIMpT04jp/NdU
VLRng37bfuc2S20WhQ+F3REdWtXCqZ53l2yhllSVEaz3EnqqpLCNJ7y1NMLB
RHkp8dpCmGj22OZJ1fjWQoEqjorLixsHYgPnOqOuxpzY70pQSfaF3xAskGng
22ypjkM0hWFAlDnTohjo+NpGcBw4wHYdAKw2/WU1z5X0PT/7QT2i03rxUQrO
ScCWrZsAQhGCmRXqkt4JWanteStxCRE1s8oxwRAOU1UN55XhBS5DgEalTYDM
CJTwLTNKRfO57g3Y2kNj+7A+QJlSo25svY2hHDS64xs5FWqvsqkQUXE2tXqZ
UzmgM16EX0M0o802TrYMYMGZhq+yYavz2P8ZBnrC2RXeSrTdPbHbPBYr8KbA
Le0eazOLnfw1nGtYAY0k5iA2KiUapQ+jrXg2WKDoAm4DlixoQRFISaSdpuOG
818Sdlyhx+DacyXoTMBuV51LXD+4y7hooI4a+sarrFg1VkjOCCrYx1UX5+zv
p57Rki2fWwdPlIldKV6MrK04p0tULu4Db6hLuXo9+jVEAiGd0LcICyy6ASOL
KCpy9DazFY9ho3z5Aqio5MdwkpMT3wnhWTnzaa/NtEMOTtL9IhxxxwBj8bjU
GMspW5VMHO7Pi7W0sGIP1b1A/dEqE3m0Evz3uMnBEHwNKAaDiMszPtkPcpQi
Pu24U9/huPbzxWycSs1NzO+nqzGUEjQMlS8rbd+GkdDsM6PLzpUUKwc1dCez
ftNQ0iiHxF/27P18Uoh8xLqS+cL9Y16OEtFKOo8jQKKJjXzgx9i7HI3NTE3t
/CVx0ETXpj9e6LjAu+OOSMIef1ZoC1KuX6p9eXOrMREqUYb26/JVlFOBn6Wj
GlX91tobo4aMcGYlctBSs8QOvC/rxWJw7q5uMUmQKopm3+LMk65OgjPW7sIA
jgRsa16URn/Wl2WWdfjLDyO3qPNPi3gtEBByhTruFgkiefS5rYHw1gn929iE
MY1UG5uEBBbdRbPTlM3XS7TBfJPKcY6wD/32bxXlr3gCP3Sqej8PfL56TF0X
PQiXgPcReYwjYMWDiINV8CbEsVldmxi5XdkOooTFKBKJmpkLoBplE/L/ywu+
VCtJZRgzOlqILzry2HVUjy2o8NUwt66k4QpYK0ffKBdu4M3dFXH7yrswux4w
n0gtDH+e1Q05seJc16o21W5l57YmwoH4Vapc3SqkNTMVGsC2ZZVrZAyMSNGY
AzsYWxFWgZDGuakT+6XFQpfCi/qtt/2Hxo24ithwpWFvloMzusywOmOOYUU0
ki8I3DCUteILZCZBjJ7GjHNMI05XhrYB09CdmpKFot2xHO28vmUm5VU+ZT3d
lqT4ZsOBrDk6Z8al5vYTr+y3SERol+utJ60XGmWVKaeoQe2ay1hpE4t3stBy
4mRfnCz1QBw2rDQGtQbju5jFuGS2EDaYlFjZKLtqVdTtnIEk0NsBm2jjTYCj
loh0h2Ms1CDcmBLGUG5O8akADqGbLlyYSBYBbdwKxGlUHL53y0OwJgtkZ1Vg
d0Z6NijSYOM+qXNd3NGCSluaMkUJc7607FQV3eNAqd9Q8A43KqLYfST3W64T
WF8/1QRR82SEoH9T1NsdWFnH6onMJx0hMAafEti5oxs3sw5CdVTi0WS5JnxD
wWvrE4aloh5IRQoheXaiVK2R++s0woW7oGoXhqmb+NsbwlqXjPYVI0OX5oTm
Fl6YnVltPiLWUHoU50JKTx1EUpnGEntEm/G5C0EYTq3hg8jP3NVbQ0Kk7Pw5
ydSFk3NopmGcxQk898MHKqfYP/j4UXJUsde85oW3PCnMz7sxleiN1IUVa5U/
CZjsWtnGf5oNq/mvyO55nbxyhSsbE2IEYcfP9cZ1v/1zp+Ozm35gpOSHuYaw
2/i2jmrVZe9aEznD4rE6R4qIpWNJbiR0tn/qSE2Su8VZgoHJ0KcUxRgk2u3r
/7+9b11u47rS/c+n6GJ+mJQAWqRkx+Z4XEWRkqyJpdGIsjM5PqmoATSJHoFo
TDcgihE9ldeYqjk/zrOcN8mTnPWty750b5AARSVxImXKIwGN3fuy9rqvb228
389+pURAzGI+Kf55s/WqLrio90Wl82o3f5Z0guPA16WmjepDjeh7DJA3mURO
McdHWFuW5g9qbwe4tiGYJCl65vyNsktUU2tTqro/ruPorNPYuJFQsIxdMbR0
uFZoQSpjTRXhy9EWNEGO5/Wax9OuYi9F+eV0yHfSyfvQpBH8UwQs3K5eofX4
Mtc2v5SKWOEerEw4/2SUJMsqi21ZW+FERSVU4/n1qxXqaVFMq1ltommk8qcl
tQ6hiJShw+5Pyk4RqBK0nYo95GTDOVVRtA/lquJhchZMXD6ivzIsCPejrsuz
8l4P7Se10QrBRFMN+kmZCh5EW9oRlraWHjSP4ut3YTHrq9pi7tPle916x2u7
AdbsR7qZNfXwD65l4KuIFLVr4DxMT6BfjJp5/ItEI5P2zxKNql63V/raNkEn
5oMTuQtERO1RpSleCCar3S9z14aFVZVOrCLrFij5ZI6VQxhR0EKig5bUrIFm
n3xidNINMCW6Y/oj6fTA83tvLZ4SQ0Y9o64IqK0YTZPepiuE0YxKBd4i56OR
DoGi0rxhfl1A2ymBt7CiVaACZIjCA9FpnZewVSikVru+OlazooYvYPQMxoIb
r/gP4JEMRR2Qc2PYe+wPRukBo8oJC2hch7Bl3nzwccZ3nIgrQCtgNUtBEXUy
aHATOgfaEcnd8HCwFQLWNVDbTOhes3uC8GlwNrpzoyrmFwLlzNspFyexm4J2
XIQmAruUMYliIr71oO9jIiFIOGt7fuIyfVgAYlDw0Q+GjPCpUiV2pnJFn8/f
YAC7tHWgSkejjixD3Q9UlBaZNMtSjzoqRdKU7Lg5VHPLp805svKc2AWBVbXD
dGyKzgTq5cp0E2mMnJXEMqyn7MmqSJkKxwActXSmzmrTClSc2uJXoz/vW2s/
Gbu+w2R8x5cspp/qReWrBpBpyKhNFCUfBKQQiIysNaYjkFYwQJjND5Ik9tty
MhrSTmcHrstYkqyy978610dR4hYlh0G62pdBtzLknBZiXhfaYcq5m1NcSJ00
S1fD+X+ksWj9f/qlDlpuosE3tXvD8i51Prsf7WRmHz7o2IdVqunAOdFOJ9tI
WVAqz34he52Ybumo02cc1W/7CApuh6ak0zYv/YkF+QfpP5fZI96tYvT5K9uS
UfbwIvFg8P1TbNc1Zug6RmjKiF3/QTFhHXHotDeD1oGbjr62RDMJojeIIWwv
N3j9Lb5DDx1E5BGpagEFBxatGcXh7OjkrFdANKko3sPGQrP9TbOYfbv7zef4
fzecZBO/bJX5HSXWlZrkinunQ6y+gW0TzxwC8Sw3ZRs7hxvXPgb7uHfL+9id
pvckPDBPwg/xBW/aLK5xPA4ug91tumTaPTRnuAezE4NuaVH00YeCvfCUrnXf
DOpvN/aWDphYgMr5dsCuE6YTx4ZIK+M+3wkvlgzG59W0z2R1bJNSmLwrZNIy
oBMe8I6FR+9E/mZDRk0KDXYPs2Rg8daqjoTL5CjqE6o/8/EsycTiuI5GwDV9
Oj4B9zqL1zlDKnR3uB5X7YiWKIwsj9h50H5XfOVs0xQEukWUXKeSuFRaDPrI
SUj7oZM7LAldpprTc5zjuxNT6kaUtIDvsf0kNe9/cnWZPmmhZ1vg9i120EhC
PBRs9+sAcNA2xPmQ4t8t0+qXLCr2/oQpsy7moDvIKfem8afiSq7IATPnIErn
ZKOLpgv5sKPibKHWCXXcooKfEEDAaHzK9/1L5kUpAsd2+5xvdMSJkqOVjjja
sitPOHYqJg82yutk+6zl/tD2uwKWGyQ/JQ+6dRcT74iJx7/L6CcZGlT6uZ7p
HsqLV+O0ubM77iSqoT6Qr/6ove3CrQzq0eNDiF5hVbmGLCReaPdLW4jo+2Ij
DjzNnPgerYH4yuMLUTYuDBCmq0jqSzBMWwpKHWswRFjnHV6YsrFXQmS3FHuF
2J9UjMS5nN9dJStYTAT3gwfDD666XVcPuMGFxbNZf7it9g1QgrjSWuSdwzLH
CscKDRKnjUWyTpzDnEbLSXxtGvO9v97/SrWwvst3bBVHvGD3shZRcOcGdCzN
/u2Hp4cOD4sRP4F/9sPRi8/l5as0GNnJHjVQ2MqG9026U7shfT6YOAi4FW4l
WGroCFWeXCiJG9wSaq63GnePmmqykMwy7ZMlRSMuebLivqPHpXQYSPhFGgcY
G92b6M5EmamxK9uhh82CurOC82QmF5yS/Fxb20mkGt3t6vyEsX7742qm/h9z
v7AVftECxCmnYjqPinlecp/za/ac3vpCwEErznqbtqcgqaoa1mbi7TwS4MVo
Nwc/WykICJpwttsmMQ6epIjCn8IM0D3LgwVrlyiWy+VcCtekAkbqaTzr6nBX
cxloOZsJb6xSg5K8wMGFZRSH+c1Ao/FS2rjhMGd0kkPtXXlSTkcxWSbmat1z
gaxlHeYlbesz18tcONZnHfZ+oG0yOderkeAI/+SlI3iLkvCt3ZIpI1thWrHX
k0Hkmu3MZR1oWFJNLWtVqzVD4Mp3uFseXcnvinxU1PvqdhdSYkV9X3nO1r13
93a33fdHrz4/+n6fjEWZ4iZ9P7i3e+/etg6rzq3OuEfN/LuqmeNr/PrHwz8c
Hm/y4Pfu7dmPidmkfviiquf72T0pmjm4antYkJ2Uc48GjyFxWU5pl8JyV9eZ
FE0xUOWHNpXV9DNB6dUE+cKYmSXr9iU0p4ou5zq6qkADvxlIkoX0vswSmfFs
aqlDWNQKIZDwGW2E4HJ+owPVyKL1lfQZ9me0GnMBtjpZepwez0ZdPlh66qFn
2EVqvFsYC3By2GU1hYsIGLfDM2QVTMhdzePUcWrMjfSBuYdKCx2L7HgElH9W
zYJYyPwaCoDu85sppLkbQFjSJqTf5k72w/QNf80wKI3Tn8rTaaUwbEo4O6pA
aTirdE6B7PUrG/q12zVdg8jEGb4r2q5UXkyUzqvbhzkft3+kl1nMFJbcWMXT
F28f8GD0ly93kFddvMtRVJiucInHIumIW/d69+u9nXs7ezu7+1/de82jvf5p
79693f3R4Kv9/d3f42MwLU3I6mV/LOoKBwPhw74SHC4vR8BknBKqFZZ+E7Ug
iqynquactVeeOly6nc3SbZLTv+TQlALi+5q31RmLLw8FAJtDXRxQwwaK3kq8
1foZd1UOjuMvKcPknePwYhhDTfMoBMyveigOj+azb4BHi112VPVtSLsa2nQj
uqd0BPm128MgEvpfUCOPD5+94MawZ1YCErcDtgQJXviQPtjCL7Z93tbJYqrZ
X8gDxF4G2KZ0aYgZDFHwAkUw50asw0Ib3yFfBQfv8gIkUMRhjInlrIXdXfzY
k/xCcKOJT5+hlAzLYDthXExmJwvEQGmyS6bDr+67Mgx1Hzx6p7U7Ho6JfaR8
nayu5zCEi+Wv3eQR2Ne5s+sgLD0BFCGpqTYX6wYorIzUyXI0kY6g+KYvbXM7
Pf/QZvwcOoy14hOcei0W4uaThhxvKj1fn1ZePvaqx2cxloR6OVhY5opR7zkU
2mChHVmh0bjp6HNuBH0hjw0EIKLKtBzzrJxLW71YPHGtRhxXc7vmriDrZIsa
STI++0sPTRvGW28SZWxzaTNkck4ddBLElnoi1p2xXhgmT+cc5Ev2X072WSZh
Ws4WiNT0o9p0H4t65REVSExZlSy7DCXTwvdTlpSfKcN/ES0/BcF6uq+Egu0D
WM8Zm3BQS3KJSj/RoJflKglgTvg7KZAohoUWSBgc7pg1Kt5CY9VMeFrSho3k
1lDyXLNmJ0kZRbQ2q/KVw9hUUBOeo04CFpiYeqVN8vVzmsJ3o/q1xx57vXdv
77Vd0LBUQJaHHZTxlF27nRR8yshms2BhWDGf5Xnz9pT0yXuJWN5u4rO9xGf3
8fNd+up+9iD7Ivsy+3X2Vfb1Op9t3O1/4P82LnkqnPiqgTr8OSTOEP5b/hxy
ecfiLFzE5a3NofsHs+r7ds8PuWgw8YfmsGSEVf8sn0O21WmftiQD+MP3AZTF
ISuI076qBhq2iu6pfIX4FFLJtDy/hOdhpEnsIGHLeQ5/KmxM7onDt20C684U
vXm891ywucOvA23I65wQ90VAaKMyJZ7HTFK1dX6/hG7490pFOmVl4V7IcXI7
9MzFTGwMW2ObFGgA0dxwOa2wuX1YorQ5NavbPdzZJTJBYpSms+CdDarmQ1YL
Tn9KCsjMutYCync4yaGG77f1ESlhct4gmqd9tZM9aj0KQdBibMxslYmhS0Ff
rKtBGZ2SnqZ2d2vNQPuiBs9Zbn8+lc589/q7e79GLCQ1TeWH7tdN5+e7e1/1
9774wmXBRMJUxFhs/4V2R8xoo40mPnup6fjPipwNn/X/WD7ETRLxg2wGZuhc
FiBoPpxWt+BCFKSLrDSPPRnjpxeilr6qquxheYqKF/6gT/pmf1CeJnmLjXH/
Fubx4BbG+ELXskTjpUUV+k3fIcb24QLf9mN8qWMs14xpGCuH74ddFnSkS2XZ
Sxn3amtBe08a40VdvoUO+ugdcKTOXDLsimPsfvAYt7KWvV93zpaTsBrN6+Ub
1uIQ8RgkfVTgCH+KeCELnMvsQ6+ly1L6gGuJHSPWI2Q4HFeWdAXao39azt7y
6yTzoDG+DseYTS78CPSPK3/vxrjPJPTTK2+b+tl4g3XpnGSM3e4YMptohGVz
whh7H0jKMsaHkbJR8oeQMs/jiy9WIOW0bJUxPCXHoq1D0a8C6UbcoEf/2e1h
MyU6jB2RmEMwlZnuTxHvD3p0kLkr3iAdsvNbz20VsNC06sN8MoS56GEK7Ruu
gJYvJboLwbn7ZZ81gWnxmbWIFGtZVIPO540H3oGaURctxdBgL11ZjAutRLon
KwOsbvU0jiMa1cjcsZuzpliMqr4YWJtWFa/9defORWQupcC65FxWds088I4F
fmHehNUHt2Bbfv6CZ2nf4WB+mNFh9uX9diibiqfkvUgvF5NCS8W86lLjQ4ni
SfJ44HZqqzWZ5mLk0wQ/xhYt1IVswFiuDJNBY6MkPR/6R+J93jQec3LBq3GO
LsEwSCDMqZ9MUCdz0cVBIphVT0v51Sni9dOdziqSV/Gq1URTb8qJuD5GdUXz
tvEDF0W8S/w7dZln3D/et0auTk40ccTwrniBQH3X7BcFT49G1Kf6OqpF+ToO
EK5S6Hg8HIB68Y4TMO7c2d27vycdr9FsKCicPWE7TQ/JALEYaGgtr8kRiYLq
gi/2YeSL+pzG2tz24O0OdcSBA7qsCIcXwQVD7CFPbfZyguqlvghuLZetQX45
RE8fkvUuWjUpQtj8xCwUzzSM2rN3MkB0CKA6fLWABgeirVg+Y99oMzHxxKww
6V6XSV5D1wfJfQ5R+INLWk59lMja1LbwRfYtUyY5sOu9cGA7rrWikr7gcn8t
CLiYlqSoAFfDcirgmJ6eTgr2GJPpyohYRCwcLqIXIVokgfohyo5cSE98a/k7
pnH0fM78tWChhmZQUwdsG4gmH3ElDlRMh/msUelH24GAnAWpen7eevdILbRe
81vf7xmDpy/BLIDEFTzQwqXDNXSXgkxwXpfGBeFDjnuv0if4AZgjF1DhvPMT
bBzUAiadAJQMeyXCJNKsG42e9GkFTjhprXJsKzKWX2gr/vyP64pMeSJv3xXp
tM/gHdEbcfzxn4/iDj1YJuD0OnfnEH8QiD5W0tCn2bGs1BhL3KFywfBif413
Ug/esjv0pDwljbm/t2safetiBO7Qy+w5sCX8cf3ITq/1/nTKaG5mqF6arexn
k7p7K8wmuAQ8TOqqrzJMRK+XgkKp3JnjvhyRJ93gh6l3MaKREKdfAXlr5woX
gbhgxerBWRxk6LwYHhRpQi5w7WATAknHTk/NHWlLvY1YTzUprSkm3AeOtddQ
pyUGLZ1eM9e2WoEN6a8b9J7TyiDFdhwkp3pJEetz2OiRCMtjvRLsH17SDYa5
A0zfSemcy9Hm9cxyQ5oWTUrzrxyWq01sgW9JOdEc42Vx5ffLvGyf5MJHlgtZ
CI7SmUPyzwpziJ7vArpcEaJa8c/HDNWtMYdlX0VdrJb/+Rvdh08yWmT0nhMO
S9jWbQvrcD23IravFOBf3Hh2OsPbEOXxgBEvEqGurkF843w2dWRbm9Ql+d0Z
MOI9MuCDr3hA1FusN57MMLzZl5owGnxkXkmjGAa91r6fUXftZlHsrKeALKHC
G2oiG9rZcnVNRFr5SVa1TUXgWQd19aaY7rCJjIOCmRnvb14XoRISY8/YZNn7
yBPVoaJegDZY4yeT+L01neGcq3Oa08tiWM4kwdJAA9jcDevlpbU48vBqzpWS
9bDhrknOAtUqSswVCXDvrwjzfVJlPqkyN5zDuvtwkzkkPn06TfTkXPLn73kf
Hq2+DX+r+/BJpROV7r4PpC5l4r9sre7LG89OZ/iL1urEnbGWbidanV7xIzdg
Squz0iDxsly15EfBeFepiauMt6afajllr6cpbkQ+q2s1xZIDd7wq1P15vXEj
UnwHxfy8KKbRdnL1g/xV3t58RKWyTAm1lnLpjwq9HVxNpG5BMXXdPFGF+Wq8
pHn1OmOWFgrnoODGpLDcbbSnHywMgsIVDztEhWCjbqTq5qGyKzjMdpT5dEMR
WbJk2okL9wTja7QnTGOCcy9IY/qkBn9cNfipvx/+HfYXhxj8XDpgfKQ5+D9H
oKog7fx7ItS/QNK5iXuHlBQR5C9bwHOq4IfM8CMI+JDmSDybeA94NWRIGcBS
IP2vNFxlV6puA3o6rXfCAR1KpHZwWWlURvgCHfol/9jKrAcORU0vqPP6Qjjh
1Uu+LiGvLZcl+QcZByZ5XQYLx2BIM2EK1XpUJHFpLaEIXIeaEtKxCE4nv5tW
QasOyBuyE7FlZHa9DzJDP7HkTyw59eRHYclftFgyiPGXzpC/vvH8/jIMmfXe
jkEUycRrBmwxZCkLj3nx6qMmGDKjJeCjNedmA/4CGbJbssuJLafeUI02oJ2K
53CgJcNM66UXU9cKOzES7plLomNp0M3xJ6nQzfH/JB3+IaTDR/edd53nf6O+
0vXnsPzLX5DPuCOpvzSWmmAUgcR+wlhPPpPImhOX8wWcSsTQkTTEDBhJ1gHo
hfYmbQGexUyzmvZ5SHHuMOP8JaoI9z9Epv/j2Wwpt/GLCa7RuJpAGqvbj6uK
B1pWoaloy5fccht/+ICtZIAPHXBdJeaghVHF3S+KWm9dnhLwrg4i6Npjzu+q
Nrf1SxnvAINlJ5P81Faz60q47UqLOmSIfVqsLy2WaeaszUFdcukH5ki2Psm3
ia/B2KSCrhP4VX2RjlRmhDumuh9bwVbz1albtE1L1S+mVCkxr9uPflKjPqlR
qT+f1Cg3h+Vf/pLVqF8n1ai/A7fH/RS/WmOGf2m3R+Pr8xKSMTng6m4PjLjC
gH83CY7RQD7G2hlwXZ2mdWZx7ULwhZQ2uHLGBGDBMrEtwAVSJJGMKzerB5Yj
bWJng1EEDVYtLmVt9cfybZNFLTmtRFtiBefPf/rvJhsUOZlRAbSyw+hTOEKN
1TZSREovhR/IYK6lB3jZNMUZ+6IUcNii7yi8BNiP9KqKej55VW4ZQBzqy3me
pMPFMNqs651UQ4arpLHuMOXc6Y+qsxypp7RNwMSz7o5W7GiNJaV/Y/xwj56o
5VGP0hT3Er5gjHK6k2hlzFCrfGycuDADxCGZFxmN5vITaItmWqHiF97ufWUQ
eNzhknTUNyVAW/lHgO70+K3hcQiGMeuhqKQcsRrMXRP4IQfbGndLERR0o8W5
tAWvMo+5J5prhyAc9dM6BZbdtXWmT/BB34+B9s57OrdNIlsii/piM9uy5ifb
brr8+vpipSm4FwYAge4pvPI+OqFMS6Vug6neOqqO6YXzOWnpjXZ0lH/h+oGA
+UxD0EcAfLo0nJM6F1BtoE+4OYyqpj+c4a2ctOBu4ouazruel5KxoJ+i3aN+
GqF9xtfLwYIhXEL31V8K/3OuhfKIidzIa4eMlNrXV0madNAer8k+GxMtNPPP
BJagcTAcb4oLYUAObEDozLbHanjZTcIAl9qkkLZn5u4oLK0hPTJC1zlDv+hg
Wm0VO3Qb+bbmWiodMPuA27pWLchU2mbMSZm+9tgWwhZIBgBcqgUI0C15TBiN
/5nDl5dfDj0abj71v6GDPO7uN3ZHGiOGiUXaNIT9+rO8rMXx5F6e/Ttv3O96
9JdzVLbRk1MASjNCqECwEw9hozjskjFYlBNGq5gUKAfHZMVu5Ut7oQHkbXw9
0q4nv0NDxseSGIWPGEX8UJBD0A4ymmq4jb4XhoOEL4VXHxxz3XufKSVslag9
48so2NBYZwo6vukCVCtUeOLnFLZGNyRWGo4P3zgw57zre10Gk33pW+zOqkl1
ik08Y2DqxRQwn6cAI3WtB2xh50B7547tAkQ5B4pAHy3/ZtljYrI09o02p3f1
vihk9rTKRovZRFAFewE4hqKVMoGgytEEvkO7Vd2HO23yaR4s5mPSA/4o1+gm
UxYADvnrvwP5ochr8XfKNbLfbiFjdjb3sLCqOIASt3vy66D9QJ69OHzYcqFa
CxkdEXC22nsH39KMsHngNNixC2kc0cCPAg5f1dxvJur5AlGZaKvqLyhcYBn0
4UYcQtYSVaF6hXR6KqRz7eZLK2O8gqaci/wTSAjgQfRbAtPiYAZNLzDh/B/B
K2KG11RnRUQUPABT9T/JoIqBYiIwGFywBju3fjGLmr7QRjxe1HgjMGR7yWaz
rV1xSOyKQsH9YTrqgGqdqy0UudhIGDScF/yQERR7Qd8mY4l4jYgH0TjmBtsb
t2CVk+K9SrB195qzAjYQnPIHrhGOtDXyU+y0I29g6eLX6DjhuuTQjRQ8S3cL
+CH4CasJGulqQ9pnpmgE/Z0fOr3E2oZyKqs0LXJK2PuEVqSiX5hSXTZv7LZ0
VZ0hkZPqXCndbiLz9qj80brzuM+8/3VDc4q6520VzbajEjkjaY2tl5xXefhQ
8WpcWxtsxbQ4d011acBxPplrYzAG3UI7Hyy/Afb8mfY6KZn+5+VQaRZD85Uk
bomWXNwESbdBmYwkpGLK3opxE9GOKFI9/ha9mnRKIh9I2citnWmQcRpIpgUJ
rQnWxtAjZR2geSGndTop38DQaYbFFCoZK1/ocMDA39ZOC1BhtGmlNkOLrle0
t2vTlOs+GNJVSvn9uWVPoPkAA4g2BXNDX0/BsD9oxKVXbchLQY+AHIm5ohMF
KrtjV56KVlHV9fZFFttO0FEPgEII14w1KIduswIPNXfmnjTW5exinD13r+qE
7ERTxT0AAH0GIHTQDdoRGRYMsdLvyv+gp4RnSSyCRS3tCsPvMkLMfNwf82Mc
7DjLwQcg+4jLPKNxT8fzlQ0Vl3dOVq91/BF6OGCCfdjzGHFsjAN4id8NrodW
3iyS0KMXbAsz4NvMU8F+lDr7wroqVUFTRnu7e9ccZlhpZ007VpzN5gFpYNdh
NKmJxOruq4hxyIv55/xq1hLaVr+oA5WI+HNizMxKDozJxa2PMC9B+WUoe9MK
VJW68EhfGHNe4cK2+clOZ5oyQ05MkfDud9D1OBisdm8+oZ+PLqSzaKibOpgx
Ut4QiAomFDS8XPbKkwVUe8Z6difojuFYTwKLjhHNKsBI2fPEzbg7laT9CJXy
jLnCQr0qWm9qPU/8LHdC2WIA1no52BoERLTrOM8zFROozaTFTMNct11hhZxs
cNb8S16YHE0ji3PaL/Zr87lqt/TdprredCvliEVzPuhl3K5BlUceR9tczQUL
Cq8idiBdthfg0XYV/EVsHK2cj8sJgzWfTPjOChHKVJXu+D7QAXrbVNmwHw9T
HXDNAssollxoEQE1TYm3iYUrzZAf1XIV3Qp+82eNGdB+Ed6RgJAhu5LYlyBe
3yG31eqc4lk+Yjg6Y+aDFpXTi54dHGqxhm5g03kEN/iUzVzsMxlQODHt2xOr
/eH1CS8Bz5IEW92ZpGL+02XwZTvKvMn8sj4asnMxYZ+bIAq7DrwtZaGs61pb
D+lmwncmgjMMZmuH/kyFwCFMfgNAnS1qZeyKNA6FkETACUnAPgkmuGgO/MUr
3xZOAcAhnHccbs6JBp9iNVoM5ZKRjOLIeNSdh26qqBiyXhp2oHB7kYBF8N6t
0h0Mj1gwJ8kb1zS3J8ktppFH4zCMKRuhosExG9CNAPPQY9OmfqQfLbDhxBWK
qdAWqTWDggyUEn2CNlwfFJ6JtFmDIsiNtbTDYK4maB1cLbk1bh1gCqxUoGk9
98ejX4n+Ro8NYcLw1SzCvmHx2vw1E9+c/hxXcAcFqNpwK5iItmtx4JcZrGrm
sgwXKwbaArxhbmxBFPuDnim1RtEjqN50nkQixG0u9MKNihPx1Y5DqEbprALn
UnlWTvJ6IufCBMn7B7Jjt0JL0cdkzUT2dMXb7ZUT1vNFZZ2+9Y3N1OMRHDSk
xKuXhz1uqudadfIVwMEXat6JUEa/FNonNjKcyWQjTWhT5+VZPuSp5UPWBUTA
n+MVtP0T2Imn5gUs5mTJaq8Wl0PquRjjmTrqaRaDZp6LPkJv0W5FJydorIS/
crecQrFWdc2G3iv9yYBYhfPxm4SXzi/US8qiaVihTTl+Q7Obay9cfMOHwcYm
vYds3XMoLarlTYsTWr+plbRj+N33gIZ4VjYQk6RFFoDHpI/6Z/yRWnzyD8mT
mekPGVNC1G1/6nUxA+SxtMeTrY8Z7I6L9IguDD1aPNos4s5z9SQ2Y+6LAFdv
+D42rPkasvEoBxpoAKajNYGGxkb7iTR25WY8b/n8TAVhqdB5B91oloaN9pzF
cOyS9WuVvkfnRuOnubiRFYdUeiS19kohk32/YW0Lya9SVxIInaUUWxsYptdi
HSAfa65pvo6t3e0MZZAN8EZN2PFrE/oDdmVrb9tYl9A+Jo7RAylEM/7PBZnL
cs87vStB2IKVagtqS7DAlyeNqDiXfAovfkQ27D7DotDCFLQmb4y2L49CAgMy
n62bFYxd3QZnPvH2IwoVkt4jmG6sEFvLvakVo3pHPr3nvCBtKff+/+zPf/of
dnWOq9mf//R/2iWiprkNhMq8mskeQ9LgxOsV0ClrgHnnhgfRLLlwOTwek2Iq
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
9goSI7jp3I1GuOtnFX3fGQFfDu8ShTymD8IRLplq7g7t+4fy9yVLN5iv9hzu
+jncXToH/TP03wb7oI98zn8d/u/uCMFSL68Ywb3vs/YCeHmPZHl3VxkhOYe7
tt2tEWR6l/6/l8soyuNdXUYU5Udt71qbqhN/u+UR7vqtXjqCXY+7yRFaP0yO
0LkBwQgV/c/9dckIwTOdETwgXXho8QhJ0Do3Am7GkZwyZ3B3aES/edJeRzAH
25/wnrbnEO1hZx9Sf9bnk7AgQwy0xAh4JIRwvLwFbt8CmHvgWsm/MjVj0XgM
8FAGm97BkHMpARTs2MofBp9tXFoANdyFy2MR1AfH4YdOCl+mPtsIPw0fOM7I
StxOfPhwOx4Jnx1uy4YLSXYWcje1uruJ1cl/NjK5XgkSSVJN6sPL2xnEr6lN
52sMcnmMHArDrr+85vllg2Tsj0a+NRnWNxzkVpaT3ebpmIN0azHbvskg6Sv8
7Zoz+abfz7r/l8TJvGZPBOGWVtP76aD/7cPfb/+1NvZWBnGnAyW/d693b+3l
pM5n3dNZspx4cg9pcusPsvL0rpxJinxSxHPN6TDtyGp+etj/9jBNPDbIqi9d
kWLD164/yErP/0UpFlF2otijD7yAxiq7HPOaQe6GBMUZvHVCAKwxk+UCYO3l
mARYYzndL5MndoNB4hN7SCe27iBJGbDuLU7LgDVvsbtPshhcp6Orb/FH3NjU
D+LNPuTNvmqQFeGMv716Jmnx2t3s9fck3OxD2ezb3ViaekspSNPElYNkxmQ9
VfQyme46g6zy0iWDxIpfePXXUUEPOZhauAKjrpW80kxilOybzGS95//mB2kb
mntmaB53fLnmS9cq58DmhPMzj7y8R10HrrjLY80pu0f/tw0364ki5gLDrnFA
fmlX8E4W1FoIYWOgIzdQVBAZASIbgF1nTKm9CVewc40F/QH/7tjQbfO5bTlf
8e+OFd02oNu2s/77Uevfj1N2dNtaXuPfaebRJsJr/31bwyTNz/WHSdrTNxgm
pVD91RaV3e5JRXb1jYbpiP6ORvUXXVRHh2iL4TVm0zHS/1qL+hgHrqb61h4Z
xNvrDXP3Ix34lXNbeZi1Z7dkNt9c7eVZ+aTahvOjHv3n8e+XuLG82b7e25fP
5qr3/1KpOIsNFCaU3pNlW3rNbGKC2Vl7NneVztLW+7qzWWK/32xRHQv+ZifV
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

-->

</rfc>
