<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-controlplane-13" 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-13"/>
    <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="2025" month="December" day="04"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 195?>

<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 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 offered 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 204?>

<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 enable users to decide where their data travels based on routing information that can be unambiguously attributed to a SCION AS, ensuring that packets are only forwarded along authorized path segments. A particular use case is 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), it 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, 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 -construction process (in SCION called "beaconing"). 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 forwarding path is 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>: Path segments 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 among 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 or 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 (settlement-free or paid) peering relationship. 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 section Terminology. 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>Managing 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 bidirectionally, 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 currently allocated by Anapaya, a provider of SCION-based networking software and solutions (see <xref target="ISD-AS-assignments-Anapaya"/>). This function is being transitioned to 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>A secure and reliable routing architecture has to be designed specifically to avoid 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. This avoids 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 the <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. Instead, peering links are 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 peering link 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. As can be seen in the figure, AS Y also has two peering links to its neighboring peers V and W, through the interfaces "1" and "4", respectively - AS Y includes this information in the PCBs, as well. Thus, each forwarded PCB cumulates 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 down, all over the same link (egress interface "3"). AS Z extends the PCBs with the relevant information, so that each of these PCBs now 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, one could say 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"/>. This figure 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 following code block defines the PCB at the top level in Protobuf message format.</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 component <tt>SegmentInformation</tt>, which provides basic information about the PCB. The <tt>SegmentInformation</tt> 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>
            <ul spacing="normal">
              <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. The <tt>ASEntry</tt> component is specified in detail in <xref target="as-entry"/>.</t>
              </li>
            </ul>
          </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 an information component with basic information about the PCB.</t>
          <t>In the Protobuf message format, the information component of a PCB is called the <tt>SegmentInformation</tt> message. The following code block shows the Protobuf message definition for the <tt>SegmentInformation</tt> message.</t>
          <artwork><![CDATA[
   message SegmentInformation {
       int64 timestamp = 1;
       uint32 segment_id = 2;
   }
]]></artwork>
          <ul spacing="normal">
            <li>
              <t><tt>timestamp</tt>: The 32-bit 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).</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 implementation, 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. This field is <bcp14>REQUIRED</bcp14>. Possible types are defined by the <tt>SignatureAlgorithm</tt> definition. An unspecified signature algorithm is never valid. Other algorithms or curves <bcp14>MAY</bcp14> be used in the future. Signature algorithms are further discussed in <xref target="I-D.dekater-scion-pki"/>.</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>: it may include metadata. This field is <bcp14>OPTIONAL</bcp14>. While it is part of the generic <tt>Header</tt> message format, it <bcp14>MUST</bcp14> be empty in an AS entry signed header.</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 definitions are:</t>
            <artwork><![CDATA[
   message Header {
       SignatureAlgorithm signature_algorithm = 1;
       bytes verification_key_id = 2;
       // Optional
       google.protobuf.Timestamp timestamp = 3;
       // Optional
       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 definition 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 ASes in the path segment represented by the PCB, up until and including the current AS.</t>
            <t>The following code block defines the signed body of one AS entry in Protobuf message format (called the <tt>ASEntrySignedBody</tt> message).</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 to forward this PCB through the current AS to the next AS. This information is used in the data plane. For a 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) 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. 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 component. The hop entry component 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 following code block defines the hop entry component <tt>HopEntry</tt> in Protobuf message format:</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. 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 - it is only included if there is a peering link to a peer AS.</t>
            <t>The following code block defines the peer entry component <tt>PeerEntry</tt> in Protobuf message format:</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 the 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</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="188" y="148">ASE.HF.ingress_interface</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="244" y="228">PE.HF.ingress_</text>
                      <text x="224" y="244">interface</text>
                      <text x="188" y="308">PE.HF.egress_interface</text>
                      <text x="192" y="324">ASE.HF.egress_interface</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_interface
+--------+-----------+
|        |           |        PE.peer_  +-----------+
|        |           |        interface |           |
|        | +---------+p----------------p+  Peer AS  |
|        | |         | PE.HF.ingress_   |           |
|        | |         | interface        +-----------+
|        | |         |
|        v v         |
+---------+----------+
          | PE.HF.egress_interface
          | ASE.HF.egress_interface
          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 entries 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 following code block defines the Hop Field component <tt>HopField</tt> in Protobuf message format:</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>. The minimum duration is therefore 337.5 s. This duration is relative to the PCB creation timestamp set in the PCB's segment information component (see also <xref target="seginfo"/>). Therefore, 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 example below contains the Protobuf definition of the <tt>StaticInfoExtension</tt>. It is 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. We therefore omit definitions of the <tt>StaticInfoExtension</tt> message format and refer to <xref target="PCBExtensions"/>.</t>
          <artwork><![CDATA[
  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 hops (<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, calculated 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. This step 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. If not, 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 defined.</t>
          <t>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.
Naturally, an AS's policy selects 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. 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, each AS 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 amount of paths discovered. The PCBs set size should not be too low, to make sure that beaconing can discover a wide amount of paths. Further discussion on these trade-offs is provided in <xref target="scalability"/>.
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 the 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>
    <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) whereto 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) whereto 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 way 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 - they <bcp14>SHOULD</bcp14> be around 6 hours.</t>
        <t>The Control Service and its clients authenticate each-other according to 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. 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.
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>Interesting 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".</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. For more specific observations, we distinguish 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 have a large number of children, while they only have a small number of parents and 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 5000 PCBs during a propagation interval. Assuming a generous average length of 10 AS entries for these PCBs, this corresponds to 50000 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 10000 signature verifications per second.</t>
          <t>If the same AS has 1000 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 50000 signatures per propagation event. The total bandwidth for the propagation of these PCBs for all 1000 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'), 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 thus 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, we can assume 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 we cannot assume 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 1000 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 thousand signature validations per second or roughly 38 MB/s. For much larger, more highly connected ASes, the path discovery tasks of the Control Service can be distributed over many instances in order to increase the PCB throughput.</t>
          <t>On a network bootstrap, full connectivity is obtained after a number of propagation steps corresponding to the diameter of the network. Assuming a network diameter of 6, this corresponds to roughly 3 minutes on average. When a new link is added to the network, it will be available to connect two ASes at distances D1 and D2 from the link, respectively, at worst after a mean time (D1+D2)*T/2.</t>
        </section>
      </section>
    </section>
    <section anchor="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. If not, 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, therefore 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. When looking up a path they should therefore 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 - in this case it 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 paths to endpoints through the <tt>SegmentLookupService</tt> RPC. This API is exposed on the SCION dataplane by the control services of core ASes and exposed on the intra-domain protocol network.</t>
          <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 (destination ISD refers 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 following code block provides the service resolution API Protobuf messages.</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 the 16-bit one's complement of the one's complement sum of the
entire SCMP message, 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, nowadays, 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 is broken to.</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 the 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.
A core AS may reach other core ASes in the same ISD via other ISDs. This may be permitted, 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 M. If 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 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. 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 M manipulates the PCB while in flight from A to B, then verification of the manipulated inbound PCBs will fail at AS B, as the adversary's PCBs cannot contain 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 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 A to 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. This section discusses some mechanisms with 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).
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 currently allocated by Anapaya Systems, a provider of SCION-based networking software and solutions (see <xref target="ISD-AS-assignments-Anapaya"/>). This task is being transitioned from Anapaya to 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="14" month="November" year="2025"/>
            <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).  One of the basic
   characteristics of SCION is that it gives path control to 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 the path segments into
   end-to-end paths, and forward data between endpoints according to the
   specified path.

   The SCION Data Plane fundamentally differs from today's IP-based data
   plane in that it is _path-aware_: In SCION, 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.  SCION also supports extension
   headers, which are additionally described.  The document continues
   with the life cycle of a SCION packet while traversing the SCION
   Internet, 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-09"/>
        </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="6" month="September" year="2025"/>
            <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 lays the foundation for
   the authentication procedures in SCION.  It is used by SCION's
   Control Plane 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 specifications of the different types of
   certificates and the Trust Root Configuration.  It also specifies 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-10"/>
        </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="I-D.dekater-panrg-scion-overview">
          <front>
            <title>SCION Overview</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="Adrian Perrig" initials="A." surname="Perrig">
              <organization>ETH Zuerich</organization>
            </author>
            <date day="7" month="May" year="2024"/>
            <abstract>
              <t>   The Internet has been successful beyond even the most optimistic
   expectations and is intertwined with many aspects of our society.
   But although the world-wide communication system guarantees global
   reachability, the Internet has not primarily been built with security
   and high availability in mind.  The next-generation inter-network
   architecture SCION (Scalability, Control, and Isolation On Next-
   generation networks) aims to address these issues.  SCION was
   explicitly designed from the outset to offer security and
   availability by default.  The architecture provides route control,
   failure isolation, and trust information for end-to-end
   communication.  It also enables multi-path routing between hosts.

   This document discusses the motivations behind the SCION architecture
   and gives a high-level overview of its fundamental components,
   including its authentication model and the setup of the control- and
   data plane.  As SCION is already in production use today, the
   document concludes with an overview of SCION deployments.

   For detailed descriptions of SCION's components, refer to
   [I-D.dekater-scion-pki], [I-D.dekater-scion-controlplane], and
   [I-D.dekater-scion-dataplane].  A more detailed analysis of
   relationships and dependencies between components is available in
   [I-D.rustignoli-scion-components].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekater-panrg-scion-overview-06"/>
        </reference>
        <reference anchor="ISD-AS-assignments-Anapaya" target="https://learn.anapaya.net/docs/resources/assignments/">
          <front>
            <title>SCION ISD and AS Assignments</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="ISD-AS-assignments" target="http://scion.org/registry/">
          <front>
            <title>SCION Registry</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </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">
              <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">
              <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 2195?>

<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), 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, we show two path-lookup examples in sequence diagrams. The network topology of the examples is represented in <xref target="_figure-41"/> below. In both examples, the source endpoint is in AS A. <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-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:
H4sIAAAAAAAAA+y923YbV5Yg+M6viKHXapMUAPEiyTad6S5KlGx26sIW6XRm
1qqRAkCQDAtAoCICpGhRufoj5mXeup9mzcP8RNef9JfMvp99IgIgZSsrq2qG
K9MigYhz2Weffb/0+/21Oq8n2X6yfvLk6NXL5Ekxq8tikhxP0lm2vpYOh2V2
Gb49Xl8bpXV2XpTX+0k+OyvWqsVwmldVDu9dzzP8cJzNM/jPrF5bGxejWTqF
T8dlelb3x9k7eLnsVyN4vD/iqeY4U39nbw2m2Vv7IknLLIUJj16fPluHP6+K
8t15WSzm8NlxWl8kB1fwRPIyq/GbfHaevP5+fe1ddg1/jveToxlMMMvq/iHO
uHaZzRbZPgyT3D4GPMRbWH+dVVlaji6S7/El+maa5hP4Zp7OyvN/yMv6bFCU
5/QNPgjfXNT1vNq/f//q6mqQZ/z9fXyrjw/kl9n9q2x4n96/v74G68nri8UQ
XiRgpFVVjPK0hl/vC3Tmb476h/jkBGBW1W6K5hsDHmuQF9G7928D+uCink7W
19bSRX1RlPtrST9J4Pyq/eTJIBlnyR/wPVgA/PApPinKfJY1voJ97ieMHgdh
TfxdxmAbvRlnb2gV/3A+fT8YXay5uV4OkteLqs7PZ8Uk97O9zEfFJG19eYf5
ZvnoH2i7eAh+rpNB8kNe/+JnOUmni2ziPqbxD2bpPL1Ok5Prqs6mVTT6BTz6
Dyk/MABUW1ubFeUUVnEJmJYkAPlBDPNxWqcE8O6v5+9y/OL1sycPHu3tyq8P
d7/ell+/2d62X3d2HuCv56+Pn+zTovT24ie9JJ0lBVy+flUsylGWLGawprJK
Jwl8m5yVsGFE+HV6E1YFL+5u7+7xQGl5ngGWKZKdl/MRYhR8OS+LutiL5zvG
z+B8kseLszOYI3mezs4X6XmWfL/IAUFwXthcsnenyWiG4eIMIHOJf5zDUqdw
L/vnOFjF3+/hWoA+zbJRHS9GPkxsUa8zWFM2G2WN2R90zj7i13HDo2J6H4iW
zAhD3V9bQzK35HzpOssxFrDlyzy7omdODvsHJ324o4C5UyCFVV8wKl44ozE8
DSc3Tg5OEKP1jcbSH3YufQJ0ajZwyMirLzPGgOq+W8L9zoV1Leh1dp5XdXl9
6xKUGBGxK+UtOqYffjw43d2NBz+9yOD8pvNJViua1AVf5cZMu52bHRc5TbSz
PdjZ3v7q/jdffd3f62/v7fS34bp83d+mt6qszLMKD41nx00/frmfxE9/1WdM
NNpHP335V8jF80Hy5GKR1vYpk4zn6QKQq258R3Tj6ekPyV8WsAKgcZ1Dvhgk
z7PzmRJPG/NFWr5bVM3v7jbm4SB5nMKOG0Meppf5uPHNnQf8IV1UF1lrmTxm
60sa9lUNp3kJd/57GvtdlvzI9Cevr2F/5+NsuABy3DljRJiTpbQ5WUWem2Me
D5IX8PqktYljwL+y9d3dQHMwgNfLMj9vjHkwLnOgvo3vOsYEKr6zs6tk/sHu
VztK8fe++Vp+ffTNN4+U4u/ufKW/PviKiPDxk8dP39fZDOlrfH3hm4TkmxdZ
nSLXSezBuxATJB2DcJ+z2X0WPe4PsxRoZH8qo5LccPvtkUP6FScHEPvEYyEi
Er/TJSI8LiaT13nR3xWWapBD0jTO4SQRM4qzJE2qUTrJ+mdlliUlEOdiChJk
Or/oBNy7dDqYnp0NRsBwB6Nf7v/1XZVNUdwbAdd/d30fpy2GafW6T6O+wVHf
8KiD+fjsdlA+HiQ8xr/8j6qBeI//5f8GIan5beP9VyBj5SAfp00a8WqCN9R9
efLkxXEEGfwgOSxGC+QWQdT6taikfLUCxjGd/2tgUgNxPjNG0WfPDx43YMYf
guB5AFrG+7r/fQZknd4xDSU5BXgMs3EMzu1OcOZZlr2fT4oyG+CvBNN0CMw2
HRHHp8O5/83uw2/2Hj68HZ7/ZZD8obhq4sJ/KWbnFwWs8A9XxadyDBjxe9Bz
/uX/SfvHaTkumkMvgDYeLHvm78c5nw2Sn/KyyXaewdX8l/+ryKv4yzsv81mZ
5a1F1vVFnlbxd/9WufFvZnInR9+3L0RydAwIUGdX6fUqgtItoy8lKCDI/nun
IvDT7/cTvdBra6cXgHt6rUHdrkZlPsyqpCYB2hlokFXhh3Ng+v0UjRo9mBc1
E2AtaT5LZmziICNFXoOSA5KrrGDjBHhROswngBA9HbZHishRBYo3EatXM6Zf
54F+yZDV5gCI29liNk7pICfJ6CLF5QM0QGEf4dJ4ohwXntZJXifngIEVrTYR
Q4RpAP0RHMRwkiXZbDwvYBPy1ggQbgRkqcqSIcycZbNkupjUOWgRPFAxx2VV
PQREmQ2vYQAYB406CBn8dpr/wkuHJSlA8NVqkJy2IAqrBe1pDiPmuBpQ/UAw
qEao3cmYFU9cEaim6Tv5eJqkl2k+oT3ApnBy28oAz1QBH883KjNEZBqsykZw
PpNrnBEkiHxG39Auq+yc1DUDgqDRoi5mxbQAAigYnGwcnGwmVxeAkgQ7WMcM
XgJ4T4f5LBsjfhS4LcCWMS6d94IrBrJXTeGU5imQC5gqp7cTEiTZYJQsw8xp
Bqc/yyuYH4BMK2aGxYCvL8picX6RsCCJs+J26THRGtmQBcwxScfjHP/oIcKE
GS6Kq+SpoQaMAi8tQOcHGPfrop/JeFVyVoKsBvIbcFhcSlHxQcZQ1AWl/Pmk
KN4t5mjoAJ2ZT8vvE3EVblMF2HOVpHN4LB1dZAQ0PjIehS6gYhhsErZTIz7N
ihotM8b4T2rYPUC/l1yk/G2ZjTK4GmN47Doha8MEPkNrgt7wo6enz3rwbJlc
pUwICI3H2WU2Kebwpu4Iv+LfEEYg/ANq6L4I3d36CzTdEErAa7BQIRWZfSF4
DLgzBdG2prXBsTD8QX+X4xVEOVuUeAeT7LKYLPTC0eJl5wOhdNN8PJ5ka2tf
4DdlMYZzJDpo9CJ1FI0JWoAq7q4mFPI0DYCiuEL7+fBBlKePH+kYUpCPrypH
XBABARSTfER7kMOcoBlJbveoBNyh9SvRgEcWFdMEwNizs3zUS0CshxkRx8tF
hY/VF9eMDgDmeVbWeQaADzub3YFA49qIasIhwGQZ4QiAfIRwGCdXOYwOo5Sp
jhKu80ChiKg1REIRUITeo4NCbeEKYXhepBPQIde2Dph2ETfYArkVtgrrv0Qb
zUV+fgE0KVA3QYeR3m2h0hXeQYFLgvRSAEnTEh0GrAbQldk/L3LErphhAAWH
z0fvYCogJYAfMaCAor+jt+H0YegzWAyACsjdsMDhGQMnaVUDpZjjg3CVrhCA
cPSFMANczyazON0cXu18tkDcFiyew6hoOiQ1cEz2UzQoAWC3TvCyBwDlgrww
RUQZ5LuwdqE9/DIDbAKnUqbnSt4J02dwR3EVTKoZugS8FC25/7zIGMeSaTHO
JnyZ8fwIVeLjAgDhBBOixgExc51Br5CZNhF+OAS8BPROD/Ei/xlYATzIMCPG
muEVKGnGcTbCCRnKALq8ZF4Br9PcdjU6p1O0GaKdOoUdny+AjSGi1TVcYzhl
oj+pcrqTXoLUTLhwGtgUEazZ5FpvAZJROnKWBvNfsnFM/VFwmadwM0eLSVrS
lR7BUgWOssvzrDgDNCAyrufurjTNqgQPBYRFVTHl+cd/2vhCz7ofXtgkBAoi
l+LQFM+NwEcmB/lWKWeERioyES+mEwmsGU7ossiJoWfv8T7BLxOQfGqhbiBW
pAJRGAZw75xwHAdxskBNW68AZMIrEP/rvMLvlK8bDwVwVRnAkcYlqSJ1DF54
DiEwrD3DexHkykPe0cbRyeEmLULFGvigEuklnwEQQbTIZ0w5YCkXWTqmx9XA
rcSEVySoBuhpZBD2jafFMkiWJQLIKQh4bP1e2zr+wxEeRoN9dPppkJmcwj6B
VsNNiQ4sJeIHN60nCAvCPkhEv8DkyDAPTvAXBNKkOAfSOWGHJF1Q5zK1q0KH
CnwW+BasaKsJuYpAV21uAS5PJjo6SRnoTDjHrcLDJgYx4SiLorYxEb22Tunz
1/A5iqVncAeFpW+cvn6yuaUngRx5BEwjGylbR/8BDIIjJiPEkTPkB7yKPw0e
bn+TXO6xJFMzL0aHFoEP5QFYI4x5jkeKo4DQbivdGiHDww3p7PX1HAEGF3ya
ztDDhCv3G2rQc/Tl5JdEaYukoAuKsBLhlfkq0qa8MvVpAQrDKHmXIRM4K1MW
LZETL/BSE7/H27BAYbpWxgcvTwHDiYjTc8NreqxDyse7H33QQrjaC5wksQDd
QPhVMQ1Q/BheR2rJEu1B5fuI8jY0iJNMBEMDPFFEtCP35a7jZhgm+P5juuOA
gcdPHlebRDLZNiUyCZ4ucf4esmH3dSRXjXOSMWFwOhwA0CESs27odF1H86qK
hDdKy5Ku+qIOUjlyCE/g2nv3kgrLf3ySQXcDbsGPDwtgLiaBlBmAqQrUNhLI
GmhEVFeFpizgpdAoplkILf4gSKlCPZmCtPSS6qJYTJB2wmLSMYsOs58Xs1EQ
HUgHprkC0UvwZXgCGeUQtj9IXsPruAJkasAXgLQCVhOzoIGFE5mk3kLY5Cwv
qzrSciOBFnUWION1Ttc4SKSwcVQjvJKDsGezClpVeBNIbIjAiC5G4gGxNVL2
GjYcVbuAqE6Ka71esK4ruBew0lmKnA9QpGb0VNIBPAVIueh7gYgoyvCLOcpb
cBnymlcgfDKf8h48TFicsD/JIKDIombwpJqDEHWmJCUNq+6xLCJnwUQAZQnj
N1MUcXL0ppohrWI5LRJNUTAl1WHuLSrzokYcoOMYBkFGpBEWvMbjEhm4k5Tg
S5APplVALbhmfIdVt/XH3jQXrFCFq+QUVIF3MTi+JQtAkfFrFyBUMoYExZYU
JRqYSHh1IdTakTs4r/minBcVifBrX3yRnGYlEMcC+PB18uELWMi0+gjkZ2uJ
RYUMKltb+0YG2k8Qf1RNbjFDIpHShccjHaMAwxaOy0xluEHyDJaZvU/x/HqR
kkneJ56pwoiCUaYYWvboEoNiQ5R1Eey5ZCQrBC1RqkNqkfx0kaMFS+gBnXUF
IiGeJAlrj78/JrE6iNgJYRiycSE8eFadQhtZZ+AKTEjCSR05V7ypRheAmcKZ
SrT7pfjgpIDDpSNinspPi4CJGuRFUSHRtRAOukVEqcXEgQQ+vmklPmuWRGZp
eKKPVRrF42ub+kxEZTURgWZMtQp2MSafNmjMx2XgLstehyWR9ctinp7LfUcZ
Xma8bpknAcaDbNCzN7P3aGQ7J3LZpVLFzG0GWmKnhbO+WCCZqekaZLp91flE
JavoKHF5WTqRCw8aaMVkt1oAaU7ZKCdcvcxsJ0i8WHTj74jq9ehh2Ma1PqsW
zjFTOmF5oOXVI3TLMP457Y8mDdicmxrGnJ+4icpguuMTuUG0x7TqkAjo7tZp
9a5rGGf69EcvozaxSicTEbNDZ2uIBcaS7brZdpWJdWJQ07zKGlGwoypmZ0Lx
6/RdhitAQPBELU+C7I8kQNzX0xX6GoJMqBpZCb34PmYGt2BaLKJAIJhVMFKD
SqyqiEmeijd4qs2ds/xQ586W0w93B0HQH3kxVW/3Rq43QmZbNyV1fXMgGwWR
9cWPJ6fMZMg8g5YkOJtEYELwUfszcYOZ4aweeFUDq0z0ssKCHCnH5faYv5+J
GV5slA++2gMJFod/FrASpW/mOQ1LvepiEkXVsH4bCQAq0pYlVZcjZeWOBv8j
M9Kwo2KsFilvpIJ9LuZsLEbFMzYTbMDr8K383aNXy8z9jYZYoOVXM/2MTCVb
PxTz5FmegXy78cMzZsAV0w+yL5VV5tlmjwNfTu6gsKQjYBsLNIfAnq7ndUGB
HaJiomDGOsDBSZ9saG0FSs3d8AFu3RZakf8ihmDPfU1obRplixTt8+7E2SBC
N4BZ9TugS+cF/kHS0xne5qND02FZl7GVeZwhcB7BBhSeRy8ZoIT7t8GNwLYZ
fCBw1WHgCVr1YcQzHNHIPcspZPkDVuJhBorGgmVgGA2NKOcZsVXCJgciOOtq
syduNoMX6k+Efi3HFe+tk07hDp2eR2ZCscmMO00xQh/atpZCLQhGLMj/UdUE
fZFNgGpUIJuhHIEh7M5yS4jCBotsdpmXBUVeJhvZ4HwQBMWfQeGpxjmBnm/A
8yw9E3J8QMJJyhBcz8bn2TpRF7L39HiumYoqeJfgFLN0GqSWF2ypQOHV2zCe
gJCQbLw4eALQMuwFylu31Jlesg6PrSfp5Cq9rljkIvFofcXQ64S4M7R1y6Pj
fAGrGhFlFga0jpIq0Kzub1VCXEfKhepOTroRcoCLEq2268/RM/A8vUYhzT2L
iENb9wiOsDyOyBMJI1lJ3jfSJu9KR9iKHIZSOrmxgxZNR/KAA4EYp65GpdCg
MFA4PnEXIYL6l9z+Kp2SrQzuw8buZoNIyqj2XFolDUILOrKOVMxBAQK1DNhz
yTa8TVIhNvY2G/S4e7HGoGHXPy6l9GrNj29s2kmO7kZ18LiEAceSVJVIRALR
k6ptZQpyTg6ig93ocdPuzGp0wxjFV1qVYhXYs2Af0jl5+FmWn18MCzLEmTmt
0pUpsyILOB61sp+G+I6RG6PJgsDUJIjOn18thlUGkvisZtU9WChFgI98garV
6mXSu2qR8hsY3yfqLZpZ0klknkjhg+IcJTdxBZvmvnzEIxwxWFsjQx45R0bT
ORO4W6zPtKilz8CW4SmWh8QaHZuoI7M0emHg5El6LMgL24kTAxwTRpxUhTFi
jJlXu0QyLyb5iN2BX3yBK7pkWxrbIg5RuKPohYptYWhSxsSkCqgbyJfrPf43
efmKfn/99L/+ePT66SH+fvLDwfPn9suaPHHyw6sfnx+G38KbT169ePH05SG/
DJ8m0UdrQK3/vM7S1fqr41NAgoPn623DXcrWyaFYmOZlhvidVmvRsT1+cvw/
//vOA5BY/zcQWXd3dr75+FH++HrnqwfwByhYM56NXHH8J8oza+l8nqWk7wN7
BRSe5zWAl2Th6gIJGqpmiA7/iJD5p/3kd8PRfOfBd/IBbjj6UGEWfUgwa3/S
epmB2PFRxzQGzejzBqTj9R78Ofpb4e4+/N1/nmAKVX/n6//8HZujji2WCBlZ
lXz4gihYHx3eaJiKbcTsh3VhMJT4guQPyQvz/8s8JXc5ma7Jbx64NRD2i+uK
pB64QCoAqcHTGRGCBkGGBJZWemr8RuOVrGIzGMhbKoiL5RIyWJFSBa9PkVbz
KnWP/1piWkpcoqxZP1shoAkr7BLQNEbjjoowTd7Udm3j/tlKWCumItK6CUYG
VXxvn2SMkQGQxYM5RhDU/dFFDiK+fI6LRB4/z9hNpPDuJ6Trb8nghkZXRbcu
nuUmrHvZhM14Teb5xBZGDIusP8ShLtMyR1aClhgyVgeGpxbO/ggOoZjCXBsW
VpDYZ3OUPMWGRo97xsdHojslfzfS4Yt8DjuGDR87+NjGVUS5yEGYKEcXwdzP
NoZSzWC0DgItsPAmHGDfIjOI0N86C+fEZBNDx479knnFvBddLAPSI4JOtwE4
V7MfgDMWSL3Mx5ud4CDx5FqlNZD1UzWdm2w6uyZcoDk2CCNgRJVXGdBkciZP
Hl400O7Qjp87pA52QbRWwNXJ2CCC8StV3SVA7jclWCEahrksoDNU0XFDUO5x
iGNDjJWbL3Zlf1c4+ElvayRSd88nWIASLc4s5CUS/YEQeDiSS3E5nQuQEWVq
/RIpw3WCZ7fOtkpanCGcOUHQRnnNhps8xOlIyKMsFJ4nEYeZgX2oUinPLh4D
EnD0SHDFnlI4qVMFTWbaZT1a1BGhbygCPDAJW/hlFuznHz58QTJc1t8BqQEF
AL7RnUQPbzcuqpqi6IB4xo4nT6aA+SA6PulJLMui9IoVfH/Ye9p7xt9+jx6g
v/71r2laXZ6v3esv+7m3dpMs+9FvbsIzuDAieq1n+B9PDeAtnveePa1/N95C
EMDTN5gVmtwbydJG9+DvJ/CMPl3wiPcaI96LRuS1NjfFHzIcbhoguNE12sRJ
uEVrSedw/HHR+Nj+nstI8yTCsrVk2frhG9z9YXLPXsXdP6WZlr+zfGl3XfGt
S/reDYV/P9MldR0sYtzah/3EEJ+zIn5P+bANvGcCwdgPNxORn5gLkRwUxMz4
SGOx9mM+g3UQF+lJur0q1AGcYxkSXhrmfTMFpBMVZnIMQQI1h4kjx/mWbIfn
yLJz8uzR0zP+PbJFDtBO5T/h9e086g/RS6ujlx3RuivjO/CRSuRT570NPhIJ
KGVFRmIlfeCZWFgkHl6CatGmfVFUGUdKoHkS+d4sE316VBSoRceuNaFiILa/
Zgec0XQ1fTYDl1uBO0uib+7oQWznIrQiTT8lMcGLMpFI2rl28w4XTPU5xnTf
O4uRRqufQYPXKDJmi+KCZKTe0pi/6K2sjN7CJEgM1ufIVgxSutWMpMa6LW8h
auSAHFDebK4RKrWKBt42RyJG5LOMRWLZ+i2xUGxsCqzJPT66PUDq9EJMSnd0
YHBgcRzgGZnka/F5s5uDHPV1QTI3AWOpwyO4ZqqtgUvKWBA2htdILGEkdQat
YBl0zqtWPgrhOnlRxDcloSsk/nSvLy+TC45jEuMTWXGqxXwOAkvFWUN9yT3y
Aex8Ks1cHVqjWJLS2Yq1RkpmHF1vbtj9tbWdgWCrd9xuwC7NG7lJ7uQQovjp
4QlwEzLeNdrZwsCDtV2d3buJ7zAfWzyRiJ9lV4R9PUS/QsKFC3Nnql0MpPFF
ORN/aGQuJVU+khPF9zceVy6tyuXoFOKNAPzEyC/1wzkPeo+DGZbSuqWwmbvo
xj7ABEC0F0BUSf7KEgAhRsD0dN0YTchDtwpH9CokErZsrmPZ5BgjK2aSBPWM
XMg5wSc8afGgG+lmI2+pqjMyyhfD2qUbeCBvDO0d77jVFyU5rMt56JZu4fME
FMq14AHSd8j4KL6gw4UcAZ5XjOZfjFsOcQrCWihUjWPKJtdyEzviLj5HZERn
FIRIFL8yfINkDYulwrkvJFkr0AQMNUF60E80JxzZISeAGWe0GCEMBYDLQ/m4
eTFmGt/rDHEhY5byLPWOVMEgxZc32HRCtoRmeYm2mZElzTs1gsVKXYTAfNAM
iGkTPfXqskpLgUMcU4sk4ZpjFXK9wBwTKVQszuSsIvvDPM1LU91ZNOnDXici
0YaDNVnIUv4iKoLGUIkjJxknuUqFuHDY7OgC3YT95AXGltNmvdsAp3mXXftU
P5aMyCHluIiI6ChJmKec/Ck1ZSnh4QC+YxYB1R87kbEJY+p8mi09UiLDkh+I
pwkzUOzdZTrJx7RGAf+XVQhQz+trcap2DQsX9V3IRJtm45xuXtg3TYDCMsjR
ZXdAlfC62PUlXnCNdkVg+LTEg+OjtjeIJZh+Os/ZJ/QSxJd9uOFdgVUGD3Ir
jYrFfKJe244I7UbwW3RPzJ/Dg6k1uEUQel2UZgtY3rgLCatFzhk0hM5bPVM6
hlmIRra8tJxSKAUtUbb1axe/tL4j4cPjcwcEkUvhmhCpIsKi/pwtud2RDLVF
mssXkYe7WmaDjmiWqqexuQ6JWMMHLpYo79omp4N5tgnvtoKRb2uwdJBoAD8i
KZVb3nLXNUrLdy3veTMhQqRtzaM4Lrqf99nPUZGsrCMNOiIIyDYnAVI6cWSG
UoYXvTlNr5kKkWtkvN8yYjrL2zB3CjvygDjGQIO0KLfLJWR5KHXFWi17MRqc
05NIAxT2rkvRS9OIQxMRYZqlM/W5tDbfiBag7FFNHySrJuA05XbaZEE0d0qP
KjyyGOZDs0bGH5k8LFG3FRF7/IcjphWOYhMvU1Y/5uBTDqak7dawKE3/Sdgh
P8pCDLaPUmyC2qURiao5u0ZDDxvzOfiFWDIsGle2toYC4RmKW0L0HeBbwWka
xUpJKGOQKcYLDIEXLWrM+ZOt2LNeUl1Pp1ldShqUA/G1hQyqH8Qpc2ZCTl4c
PFELM/zagh/iFJITLAwY8h1kEwY/+PuimFcWu0LiF25cRBQ6XQQjOZkBlsoF
Lfkq5gA6AVJwSuiQUE4gggch8PzDF7PFdEgk/OPa2pG3fATDmcQKGxbBIn5H
sVcHJ9+BzgOcCFPx0I50fuEjNCUEVoLi0b6BUqM4Q3BtOkoviPry9HfJXp9G
7kVGGz8Y0h2LAOm22ZQ+IoSwvGsgWAy654h7TbLZOUarmteBbGIsMZ1jIStU
fNjKFlgcKWJD0huPji8f9PC/j8jqQcbICcVnyYQRoz/ggNaZRwJiPyl6JPHG
NTM5LYvGkiW1qJTE1B2d9I8Anq9Ojp/1kpPX4rCKlP6zdIi4Ls8f95IXx89P
NhWMXZn1vSjVKyvRbqpoNi6acOJIfaZsbIHgbQgLRrvQS0I6YMAHbDxiJFT1
Q4ymDG9vOz2j3HYrGkkxEu2DEVLp9Q7KamYpcpZotUpLvQoLwHvKUAIOf0Pf
BGN3ckgCHNVcST7nz81awwWx3D3zW3/QHbIdzU3X4grUnxHKTNGOf/Oukp2k
n+w8tKmwuHB5KVd27OsgsQmOUoIAWzEwMwq/4jTavW++/vhxc7Bkqkcw16M9
neq4zC9RtEfDXMdYWGYQxoJXPC8mXTqrTMuayyAsjDI7xbkePYAXH2x/80Dm
4hxasuX2XWaiYBNzpLQaqSBRUj6TWt7P0zmz7fXLFAuNrAsy8lQwy8P/NBtW
82/7/M+jhw/3HsKkP87C8J/jsNBLQxclOGk6L0aFnpYWzgg9ZnkFb6JLClZD
gpk1zdwAQiDlxqAQ2Avi3nUzt4+zMbk6BbsqiHGchTyyRG0/Z/mEk+DD4sUT
r6YVdywwkyRQ9lxYgjmj+szxXP2Vqjiryb9B6CqmsgqDEDJ05CwtfUtoS3Kh
JvEQQ82IOrFHm5NShdm3CmUlG13D47BMVM3yEihr+Cymrg++brqkhKyieG9s
nOLx4aQorEcy5+AQM6k1xQcexVa03DsB/AAsTrh7Wfk8EAA/XUasBIqZzCjr
AYxq0KlHVAWIYmUAztNsWf4hW95ZKZRthuAZysxFwjDMRVfZNkGuxIrW5Kbf
2w3fM1BwcotwlYWzXOb3DpL3xUwWaoUYxByXs6cMDuYnvSWR0IVkkDJ4LMgt
i1wJdrdgW2+337K1mSX0jPBflCtgzMjE0bpMJkhcSYb2ePbiBX2K7Fpe+XHy
sBlTVYi12UVm0dA0tfGX0+Sov91rr4rjt/HmHfFpTtkd5AJ98aag7UPn2FRA
NbEG+S/81SBTyUn+Sxb++pwcucWF25z48/JlJO94uG53O9FeIyrbgsUn7y55
i+z4we43D7559NXuNw/f3iR/fTDYY7YyzCcTgKIxs9Yl/uS59rf3t5H975/B
D/2ne8LPwMhowl2ZcPe2CT/XDvdkwrNMprM5d7/e5jlBqfw8u6QJz862t3VO
/lUmRJngkTz4eYQsN+GOTJh+E2/yq73tCLC/USaRCdPUdgi/uul2Hg2+5vmm
CtNop/O7Cnzsb9ND/zXiHy9zZ1sX6o4/w6XuPfrm8+G4TBihWItSGCQ+w48X
BXdVFAzstSEJfkFVBd7XsASRz6Sw5xeq6xk9p5gffLSMHg2xP15kU90OOTMW
28IySAfw2FHjbWUfnnHcOpG79DlJJKwrslm3/Yj4fUBOLUFaIOmppGR0XSQg
yoxzB2ytbSEWJN6GVIs20HmKCTJ3mi3HfIH3qc4A8rZWLys0RJ2EWOwgQWOj
QW1eO9HoS7zNZ18SosOnQDYe7mwOVuxZCqqt3PSCZJphfo4mUKyR27lIGHDP
1X160NMpeFBmFyToNJEdax+npDj9kpUFLY1cRzQYCybTvK4p815rc2TvcedW
aw1NjPiyrZ2WhXoZOkR4IIxjJdMmaAg8kcCUlrbzdpMNSG/399/S930K7c2o
/Q+wADKd4s7Q9pNo9oaSFrbRl1rBwAFaaw5gZGlmFQ7TADhXtoLS2WaOWD05
OnyNpYVp4Ap1BOmkQvrG0YxNt+yp7DwVhQetsV2XwxasGAnitOCC28LGdj8I
FZu6I7t7fC/eEue6v/PoLZcigSvbsCHe5eIGgVRX/hZH+a7/OxjmbU9kf/7s
rSo8S0aMTT9wzjTGHV6yrbMF8G3fXprkoHsaobIaj8n2+91D0f+6xlUjs7ry
WdEzgqs1AfXGRF5aVT27S7ZtigU9OtUlWwszinCxo8K8fLzzEFf6dudhXx+Q
s0weYy0y0GPnc2KdXKYHVVDxG7OzcMIm1s4aphQsULCzUDLarB4OWvbQho5F
/pJRXnJBHq0bh5E3qstodNvQr2eQvJq5apHqx5AEH3mD0guphgGQAqwEmaRn
eHITrMWN6edU6qyg00AXMpEvLddrqyMfelqN0jH7DPW9UaqGjbMyPc+1vqff
gqCHhnpOKKpKrCdcwIgXTIW3XL3KTngQH3sp/mmxYpCeZ0UjJBU4FJEwg39e
abiN8yxYaUMrdkzkhR0OnI6Arvd5qliaW+Xdnmjn5LZAK7EeNAeKYg1AZPFk
ODKfOoYmVglXsiRle95yO1qwU8+bt+EFYwLN3FTamtZEDhXCZlkfy6bSDOjt
lZAJ8wAQRyg0MiN2OQ2iUyHBcssPWG1JlS3JotXk2dbS4DOedtYqUE0iikV2
XWc1MyJA6j56o+gcT3HdzYRTUr7HWQ2v3qWQHKCMxIBx4yxsKMfb6+GNKK9t
NfwEghGXguXNK+EXHKshbUTE04ZXS9y83m0nv9MjHLtIUd+GUVZeFigVxnby
k2o0vUgvJQpPkDUOC4NzoTI9wdvHNZDpwMv8PJ+ZY/BLKUM7hL8Q7BRs40sC
N/Np23BBuaG+7gjHRqNkgeyq0mhKTAONXLhTPA2srLYRMsKEB8DKMMuXHDhu
/k2mYWiEgtvEc5Fnkbyp5pjNKRplrIRlo47KTthB6Glveo91+yx1VDxMydyR
iDvcEt1328lQCnmMzBWMC8lKDU1FSlktIeQ+Be34D0fivQol6Qa/G5bfeRca
crdUsDwbywWYW/SqQbBpiVJveLripOlFTIpms9XywqgcFZ9hKCwV2FOKiBNR
oPyx+yspRlTc9YpTt5QDVfNJXkuoKAaYDzPiGpoRZFWfMQTDD8YyifjKOgLY
dXw8IbwTE/R6TvJ3GXPVC8xRpnzlFBMvsH5e3SrMTEiRvadKcssC13xQ/1Nk
oMKTrVq1t50Sb4f1ypdU1jlcnrRyo3mUqwB3ucZ0OsHqjNfJuxnaNCW6DldJ
ICM818Sz15llDYRksVoN7g48HDOdpVMCUVoxyxoVpKFRoFp1PRtdlAD4X+LU
CL5NMmjVJASw+cUUdQ6qbc/RnmqNmWIBZA1Yopu5mHNomxxsN7UYcPwYaOLv
+kDLEKHS0fVmqMoc9c0ARRQdyjhi1y4sZCRIA/icpvl717FWOuCIntit7IHR
CDyr4lxZd7iodb0nNUqKVWJJQlwpdm0ssyncchYkxhR1CsSGwpml2Jim20ja
h1ak5fgxqzVFtCTu2Zisc1vF9TAGv8Hy3EQbOm6QDY2IixEBfpNla2TEuNJo
anLooNsbpscQzA8fpEnjx49A0vFxqzFhkf05NZKQQSg+9IfT0+P7eyrfSwNM
mHWzZzWiKd6cZY//+uPRk/s/Hh6LDoh9M9HaRWUHbT0ciTDQRpIc08Fcb8LB
qnCSJhx9+ICNNam+gaSniDcf5cIFRUYBj0A1eoCRI1xHHE5O7nSPdkonBgdJ
K8WQ7rIsKAdKpPsgY0ZtOp1cwfFvpL0Dda0XFZsuKZxrRgHP6QyrKl5jyA2J
+x8+SPHIUCMNdmFZSnKcriyT5a+SB0cuHtWynFwj2UDgujoBXEyThaWnLuAa
NmZVF5MPIQfhIytJvt8DLf+VxCFYTRg3GMd5d6QmBFPNLfkQQUjx0jjTJrgB
GphUJVu20C3xjjk9xKDmeKzC3FTiXKPTWtHqVNgyigxfEr3eKp7eHcBqsd0a
Np5VcdS4ULxPSI6iUuFldk6yCJXG7jEXzLhsKd0M7bgS19IHvk5BWRIIFrHd
uphzmVVC1Lg8VOQQ0yAi4j4sA2amWQK/0M6DTCsusslcct9pLVwWfKqp+px2
QorJaRdUkblnkzNSFTA+TmMeXTSRJiX4NDc1rFAA6VZi8Vbi+Y/CCzdkDZfZ
Jsl9IqQQpCzZ0MizBTgyILYsdWzLLZ407DkGWQ6Lusa09FBHdODuXDOPzdVz
qC31Mbul6KFGulqlCKqtYdt1l6WdGhOKMKru1upd5EJyb60mcbgIKQg27x0y
ICQ/T2FRMfCL0t8S+sh675Bg1Jn2EMjKkqwIy36YuzSNv20qxNaRJRi649Bu
UjHcuWyC300cm+wyjjoFFz+3Ju9ZoC0pWPjeVM2zNrjLKNkIBTCs4AXXAE1r
ozx0oS7TyarI/dbgITmiDlW3XNpjWBslNNuSehK/gjdrAXRpYjkLnBVSic3G
JwfT24CcycaEa/NtDjh+EcXbCQZYazOGOC9UlthOcCs5AeTCV99n3puXFuKn
KQY4TI43DSiiDWKa7JIMDe0T3yg884qLyl9h8BEllbis0uo3pZXOs9Kq/Yw5
nqYWGwHGahgpB657lQG40jiXM0gkBydfVpZnTsky/KuTeKkAj0th4tqSGJ+x
gJFxV6qzSyuKrnpk89EQ69rZHbb6dUs4Hp+SHYpi1xSL7NYrUhB7rbT3JZmI
nKQhJRKoKJQwWQkztZJycVkfINCwoHTciz9nQ+FsVixAK9fWOOJg0Yun5qiU
IXh0xpH3nKZUKy21krZRkRDiHgqNrBl4z2Ya4egsVVkpNTeKFHGRWu5qn5R+
Wyy7+TlFrQ7FXkJKY0gv7spLYLdLcjDXhIan2E0gk9JYiDAfEB/6qT6AFRXY
7ufKdiudSjZSkny4GINJ8UAWOgkpWaQ1o5YFvipafBVlMDg8d6UcOBsmTruy
QlVKEosycMKVpfhUVCIHqOOMRJZ8/q7eMPuseRk3kJQHWsM9yuoVc0eIj1Ob
n4bgHU3edfs94Hrqk+Jz4yQjFAIA/tdbrbULmSBRiTATSXioNyy1XFk3E+vB
CjLksk+bxcVD9lteEfUTeSeIdSb7Md3SNQdpWAVrKqKTMbYqGlO/b4eX/eRo
MllQrivs8in7u6pWJDiVHGGc5Rp8VJo9FCzAYT26U7vPXkgEZrOsCloUUKfF
kUzvUtiECMvK9CA8p1KjT7LQzy47x+J16WRBRenRQ2QV4QL2MOXC9KS5JKCC
3ErJqHoMFRJidKkoLDhC4git/1KCZS8FZXiYAUB6to8/BUmGpP4giNKNXE+5
mO36cJ0MGvEjTGkdFJI/czt2fA1khcuschPh+y0sWt9d71mdenp1uM49tlSK
bL+ysz6w+qh/skx6n+5i70SN3iyXhuyvqqEQ8yrOzohRWR+ALNR/4JozG0xY
mW6us3rQT14t6v3dLYGR/3Bna73nVjS5xntuRZhWxOA0wg5XPXqTODBoWZ+l
j0ZxPrc9ugv/37n10XsaGXmvsVbbxL3o+ZvWStyTa+4xon76rK8U1agjxU8O
o2Xe+7383Et+h6GWNNaNvE1/DSna8zv3pJ9balrZ3PeiuUN5pBstfuXmvhGM
CLu0ElSNWlTy5E608hbULqO3L1dCbckPlnkqftUhtn9oFXjL+a9miae91NIH
llJVT06ZNkRENOmTjyPZwQAzmsnrOUR+WnTJ2E1EmzaEeW06iaJHHb1Brgeq
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
RTV3ejsMkqt8yIEY0zkrb3B58ymMQgdaojoOLMVAaY0miPuivoKX2UidbGT/
VNwP0QtxVkldZB4vd+ibRtjSc1PhX4rARyapJ1oqILaJaFC0O//KFBCoFDKK
b5unjh1WM1n1tW5ycYmG93NBSJmD37ZRnazK6MGciZmXF9mcbxoHqPkofIPs
Gt+u2CdGbHEqdt/0OgC7dDEocf2QhjatamES0ITFSQKC49XSZsNlo34Y3rFg
Ipb8LYpMNu8kLKNH+USov5NcZEWXU3JY4Si1BdqAKN3QfFJOlBU/jijOV9DY
ub+g+f+hnlVidKAPaPeiTBns070oPCShD7ADUoBBUDyqTybWHL23KZCLOjVO
8PLsyCvE5nP3ztwod8MnPsLPB2mMO8vSPSOrA5vL5pSNt2QYfkaYjRiArkB/
wi5x0hFIk3rD9sOirOzyuJx0KX4CJV0CBwAcVjhJpenhKL8Zgw9bN0PWE0Ez
pP1qMr6CIs3lVLBB4U7AC6XNF/1EO220WO8zyb31aPgqzNAgG4H15D5sOyTJ
cURrYsH4OWLB9K8yOEsyzj9FXoFcV+4KS8tWGEIrB6iHOsS2dIk2VSG+pyBY
3yNrIszRSZ0fuLwU+1Jup1RG4r0R9bAC8lr9tJaXozvRk4TX11HITE0RJKdx
zCgIUjszHc8oVcAiqgxgQWSErPiC3TilTxDgvMlgIepEZ+9lL5jky8DvbRM1
P3P4Xeu0eU4tQQb1c/BHcVdJzmniwGIQqHEVe5EjM1ZlLHt/Fw2UIcr7zsmo
uW124SUQDO3a+oNaJu2IrkGQQOvyvmokyyndCKuK57+NqD3g85Abr2oxCraY
rnyfAXvEotUEJeR2EAcuXXNLB/uiLqx+OknZg8W0axUNprmymofEOlfrqVE4
fqv0c577p2oKmnAy1qOtig76V/L84MVBo7yWvYLDYrBgXqKdyPjJVOSHZsjZ
obm6PD25tFStrOuscQ3IsMC5lqCls3vg7h+4TMtpOkuvaZas/sOysMLB0lVS
qLhXXYO9aMVofsVsGb5Z0pVEzBkiCpcfddMKxgbTUldf88sv2+oEnacVR1DE
y83imw/fSNzmpWqBLrmqikGu9X/L3oV3EE/odumABz9j0w8G1taNH9h4ty/b
kw3/5+aIFJcM1dunXFgsovCCzfWDyZu0BP4c0UOabD3lDuFXWb7dSf6lyCbI
l/4unZBEo8mckNShyU3pu98RF81JIz0kGk22zq9yuoMvrHb8kManZ07pOoxz
OuinZZbTQ/XV0SO/zd4QpZ1m11OkQbQ+8i8LyL1e8iwt6cPkrExJjds6efVd
8r9Irx2MtyXH5GWBiofv09liTN++ncM5lLyQw6y2WZFAgmamGX8BLfaS36lm
xxuTHNNtp4U/Syf/77+nyVlKBiiyuukdR2N4EYrZmCQnkRle6NyYQfW8L2x9
RmbPDMExP11TaXJ4zmaLeSB65FMeZlLLr+DKP42jy3xNG+USkgvoAAja4kCH
JJmncJ2V+UVto6R/PAgfu3CxyKX6FGsbZdmwz/63PjxeUpGU4qrN3RVBMH4q
ysKVTIGUuaw/9/3AtXCcfj0pZnzR52S3cKRRab0T7IVLlWqhfL9NM3bHgZ/7
voU8Y9UN7RzV4dD3TS8aJlwnzLgxXZwVE57iT0ff/XDwam/vD1pL2SftRstX
kHlXIsXOBA/7tGaLuUb+KmeZjjSHimxbEvLMD4Mm2q/YC3+xL7P7Pu2331P7
Vqq+LiYFsXGw5owuwdjHMbSFUqTvzbMqXD9+kMPfxXnfvy8WUShWml0n17Qm
jbmy2sz/hncQEmChO+tNBzXSJKBKz7pkNBp10qWpTYbqcbJaNZFmLCI5HXGa
XohPPSo2pM06LZiq/F1SMTbinPIiMM6xO1dZH4WILvo6BrOUbw8Of/mFRP3M
YB84I+h78VWciFIFb0A6m3UHv7QfwqsCuuKCNRUgal15n7s6PZi58GWo+Our
gr/u6teZvSef+so9UpzQcVrNpEaFrutMZj+tfH6jaAPv3ilyzWe7tEStZifN
QsKS+rtOqCQ5xw5nvHLSYy8YZg8IXmMLjtcn6otam4kkGM11Ow8DTO5Fx+pN
oPvmX/gkemE4buPlmnLQOvYz9bUcCnPWrKV6KaNsASuPUtxwwo8/bT6OHOxL
OG05P/hIiyUP5Q6G+oLXMK3vAz13pG5ZVfbnVrRJWs5i1jUbyudGHvWSzaPz
zQSK2FAs3bq+yFhFAkh2Kz6QADPd/sjt2Es3wX+XPfIwI7TP8nE8QstDj90I
/h18RMH7gxFumo/ctIxQX0HLCG46j6MRHvtZRd83RsCXg8dEIE/pg3CEGyaa
xwP7/lD+vmTpBjVWn8NjP4fHS+egfwb+22Af9JFP+a+D/90cIVjqzS0juPd9
Ul8AL+9Elvd4lRFa5/DYtrs2gkzvxv/3ZhlFecytm4ii/Kj1XatTdcvfHniE
x36rl45g1+Nx6wi1H7aO0LgBwQgF/c/9dckIwTONETwoXnho8QitwHluBNyM
YzllTtBv0Ih+86y+jmAOtj/hPa3PIdrDxj60/VmfT8KcDXHYWkbAIyGM5M0D
cPsayN1nrpH9K1M0FpXHIQ9FsGkQDHvXJoCCHVv5w+CzjRuL5Ya7cHMucvrg
PPzQCeGbts82wk/DB86TZOtgu+XDw+14JHx2tC0bLiTZWMjjttU9blmd/Gcj
kevVQiKtVNP24c3DDOLXVKfzNQa5OUc6h+Hn39zx/LJBEnaOI/ebDOt7DvIg
y0ke8nTMW7u1mG3fZ5D2K/ztmjP5pttNmv/XitV5x54Iyi6tpvPTQffbwz9s
/6029kEGcacDHb+z09lZezlt57Pu6SxZTjy5Q5rc+oOsPL1bZ9JGPm3Ec8fp
MO3Ian467H571E48NsiqL12RYsPXrj/ISs//VSkWEX+i2OP3vIDGKpsc845B
HocExcnEZYsAWGMmywXA2ssxCbDGcppftp7YPQaJT+yQTmzdQVplwLq3uF0G
rHmL3X2SxeA6Hd9+iz/gxrb9IN7sI97s2wZZEVL529tn0i5em5u9/p6Em30k
m/2wG0tTrykF7TRx6yCJMVlPFZ1EprvOIKu8dMkgseIXXv11VNAjjuxmrtap
aSWvNJMYqfs+M1nv+b/7QeqG5p4ZmucNV6750rXgOrA54fxMIyfvcdN/Kw7z
WHNKduj/tuFmHSlqL0D0Kocj2O4J7iVB2YcQNgY6dgNFxZkRKLNB6DXGlDKg
cAW9Oyzo9/h3w4aum891y/mWfzes6LoBXbed9d8ntX8/bbOj69byGv9uZx51
Irzz3w81TKv5uf4wrfb0PYZpU6j+ZotKHvakIrv6XsM0RH9Do/qrLqqhQ9TF
8BqzaRjpf6tFfYgDV1N9a48M4u31hnn8gQ781rmtPMzas1sym29u9/KsfFJ1
w/mkQ/95+oclbixvtq/39uWzue39v1YqTmIDhQml82zZlt4xm5hgemvP5rHS
Wbv1vu5sltjv91tUw4K/30k1zIqagXji9v7WYe6yEptXtX02d9mJjcuy4qJi
8+uk++2zmOWvOswd//7bDhOf3FM6uSUDrdcmaYlp3+Rkd53dfXcnOrunfHaB
dX6LYb4+K/X00XnqiORvpB13w/D7OsO0Wun3mk3TTr8XY7/Hz/7Oh6nb608e
xl5/1kygarfWSSwmUKAikz1MyHfW9h22dvQ9h9DbzHp5XSd5tp5tLyH5ukn/
TEz63yRHUuX2fXHRnjko3yv0LEr4kApaaYXu8/MTADZe5lXF9YIRilhuMHvY
yTfcrYaLnGeL/sQqDLnEkYfsxi05NS+f0/K7u0/a59ZNjmiLUNM5ZPxmea/t
g2Xda2nu4bMzA3vx/Ujn2dv5qpPYWzaJ8/bmVfsKGKL9RJdUKW9aiw9N6FR8
t/0Eh8pZo9zREpnXlvu44nx379o0BZm4yidDFL04ctRuJNgbn7DJa6Ifv+TD
BDz1YjpU+EWuqkRCeiJXMflCKzuK8iKdcqEUNC66ijMBjNnrEYWjyhO7d8nQ
+DwnJQs5sGk+x/dPeUjakEoeVHok0mKoP/ij+MICtk8eRZWu1Ae/TTbbkmU3
9/m3buG02B2uI9HK3UeMGi2D0V9X3O+dZXUK/1GUNm0ufnoRksWxlcNonc4R
OosVvFXAN9bqtM0QvmOYjegvrkHaZVYK4CYI+gIlaAdnzxOtkH7beF/ABE7p
IRpwM2hNkybnz58lDJMCDlr/tW6kOX1ca72n0l7yfWZ5CrJK3bn9ULkaHbnI
xyhM49T3TRx+dLfqtUfH1pECt+tUL5ICRuDVacUl/0G9Xnj8mJ2ndD+lp4tJ
EzHPlrIp6eD4RdyJgOtb+4tRtCHc0MgtoLLLbhCdRDX5tEY1L7Mpl44xjiOu
qm8OwZiJ7AX1n424vN71gAp5JcOBzuTFtFxpl25H81o6Hh9Mh4fF8Pq16+Is
5Q3Ap8nmKRcJXqJ8ktg7QB8xPhIjGcz93DDO92nstwpwj7PMAP+XS/EdSGIx
STt68689gADvY5ZOFW4j1UoK4NrRa8EuieMAQWRaCZtV3oHSDWJZHQWC0eQv
I6LX52BhA9S2uN++1mx7TdFntuYJH6/5USe176bJXFF5OIMVxBMXyGKUEzAo
BJ+bwrsbnJln7YbeL8h7XI9uNXwswBkqBkVgOhsPmmjtaPYF9m9R4ogWAr/m
MEiy6QUpoFzrSwMcQnnhyvrzbE5n9KcsWFRJZ16MRlUAvTd1m0J37mKBF3Ch
/mLqQG9NdKF2sKzyfj7hrYqWFyodWR35BN9x7erpqx+MBdQ6QHKp0OlZHTfE
9Zhq7xtpnGFrKSDNdii4fdc+kQwtawdik+4WUeTicqa1gKuIhp2vVxUNm7VS
QYgqhidoEcZ81kRodLme7GkbVmk/VinWPBfBnv32ucyQL4ancAEX4MpC0cSa
LOdFrtAzV4Wg3+ToaCN420LaEPrZ0DSJ5raF8pvWXqZXrlBHJLdARWhxMTbg
jDEO8BCQtbF+23YBvqPVjfOZU/JihZvrm7nfVpd4EXfGCrZDZ2mMoeSFrniC
X616ggf9ikGXsF5sW8ddBwatdWzUlY8qAg5aASkiQHKOOgpSTHg/DEbDM5BN
I29pVWb74xVF11GCv/fg8cT2WZ1wUIRNhsK/EIWdNHtgtk64oZ9iqNneiXLE
D4cT5BW80WW2MRzHGpThuHMEdGMqDER40GWxEFB3Ab3w6KY9naLpll6+eB2z
rra0XHQoPcs0944vZNQSxstimPmmuTq8bMJ+QyUw5aabvGKIAVPiQg2g7bqd
spW0yVAG6aR7Jp0DfPWwYp2S+sMFchOuZofYJt4Abjaj3SNdKC8HJFhL7WRG
Vz1XCwiNTfntqvOBh14VTgnZTzYPi2IO8mW1MNHzEM1m82WGe5Qq54jGQrH8
yVu6KTSZq/G1HLqC7wEA/I95Nfwjt2IkTYOe/TcASLLAVnBIARctcqmwi2Wo
A5h0myew/UEREqOhcbWvlKfpqYcCfBOlc6td9S+X2U1yPixL4tamPIm2gaGw
6KhPHK693fwVp/PFPcyKfZHLIlWjz0/pxObSdalW1Y72plIjPwxVRLZJatgp
jsJhd5kG30LQz5XzyKuNTxl4d1jwGqin8+sZV8i+QbUg8IgYMKmreDvSvZsZ
WF/5C7fPrsAJrJQ2aCDitbPholRJF7yrRarSzMQApueeCSitsnLRow5Yu4zE
qCvi5KYsqFoF2D5m4pA9irIKNoQB04BtJs6XSXGxIjF8voQYGltvK/SoUCNg
GpcZFHQSEf3wpq/48s9WpcQjp5B7AUPbitZEoaVJNzoFQEM6uSCKnI8vG0RM
h2vnV/+Opsb81/wSTep3RmDyyvqInHspU//JCWPgsUF0xI27njtcNn3UKH0p
w7/7CgjtOG+J63zpkeKi3Zs1lOuOWAkAVSEpFfWKZVXrLfd7l+bO6MkjCFbX
syIat130S2cKS8ZRyKbLxqTw45mX+cEtyYb53GPwCxyMFOh4JaxjyoV1xlUU
xaRUxAXcYxVoL9VvqPCL/s5V7hq+fHq0t7v7tbY5SrlI37124/8DYNMIkbON
AgA=

-->

</rfc>
