<?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-dataplane-07" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="SCION DP">SCION Data Plane</title>
    <seriesInfo name="Internet-Draft" value="draft-dekater-scion-dataplane-07"/>
    <author initials="C." surname="de Kater" fullname="Corine de Kater">
      <organization>Independent</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="J. C." surname="Hugly" fullname="Jean-Christophe Hugly">
      <organization>Independent</organization>
      <address>
        <email>jice@vwaty.com</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="October" day="20"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 215?>

<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.</t>
      <t>The SCION Data Plane fundamentally differs from today's IP-based data plane in that it is <em>path-aware</em>: 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.</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-dp_I-D/draft-dekater-scion-dataplane.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-dekater-scion-dataplane/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/scionassociation/scion-dp_I-D"/>.</t>
    </note>
  </front>
  <middle>
    <?line 223?>

<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 trusted 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 trust 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 an AS, ensuring that packets are only forwarded along authorized path segments. A particular use case is to enable geofencing.</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> - To achieve scalability and trust, SCION organizes existing 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> - performs inter-domain routing by discovering and securely disseminating path information between 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> - carries out secure packet forwarding between SCION-enabled 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 describes the SCION Data Plane component. It should be read in conjunction with the other components <xref target="I-D.dekater-scion-pki"/> and <xref target="I-D.dekater-scion-controlplane"/>.</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.</t>
      <t>==Note (to be removed before publication): this document, together with the other components <xref target="I-D.dekater-scion-pki"/> and <xref target="I-D.dekater-scion-controlplane"/>, deprecates <xref target="I-D.dekater-panrg-scion-overview"/>.==</t>
      <section anchor="terms">
        <name>Terminology</name>
        <t><strong>Autonomous System (AS)</strong>: An autonomous system is a network under a common administrative control. For example, the network of an Internet service provider or organization can constitute an AS.</t>
        <t><strong>Core AS</strong>: Each SCION isolation domain (ISD) is administered by a set of distinguished autonomous systems (ASes) called core ASes, which are responsible for initiating the path discovery and path construction process (in SCION called "beaconing").</t>
        <t><strong>Data Plane</strong>: The data plane (sometimes also referred to as the forwarding plane) is responsible for forwarding data packets that endpoints have injected into the network. After routing information has been disseminated by the control plane, packets are forwarded by the data plane in accordance with such information.</t>
        <t><strong>Egress/Ingress</strong>: refers to the direction of travel. In SCION, path construction with beaconing happens in one direction, while actual traffic might follow the opposite direction. This document clarifies on a case-by-case basis whether 'egress' or 'ingress' refers to the direction of travel of the SCION packet or to the direction of beaconing.</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 Key</strong>: A forwarding key is a symmetric key that is shared between the control service (control plane) and the routers (data plane) of an AS. It is used to authenticate Hop Fields in the end-to-end SCION path. The forwarding key is an AS-local secret and is not shared with other ASes.</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>Interface Identifier (Interface ID)</strong>: A 16-bit identifier that designates a SCION interface at the end of a link connecting two SCION ASes, with each interface belonging to one border router. Hop fields describe the traversal of an AS by a pair of Interface IDs called <tt>ConsIngress</tt> and <tt>ConsEgress</tt>, as they refer to the ingress and egress interfaces in the direction of path construction (beaconing). Each Interface ID <bcp14>MUST</bcp14> be unique within each AS. 0 is a reserved value that indicates the lack of an Interface ID. It is used as the unspecified Interface ID (e.g., in <xref target="onehop"/>).</t>
        <t><strong>Isolation Domain (ISD)</strong>: In SCION, Autonomous Systems (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). A possible model is for ISDs to be formed along national boundaries or federations of nations.</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 Authorization</strong>: A requirement for the data plane is that endpoints can only use paths that were constructed and authorized by ASes in the control plane. This property is called path authorization. The goal of path authorization is to prevent endpoints from crafting Hop Fields (HFs) themselves, modifying HFs in authorized path segments, or combining HFs of different path segments.</t>
        <t><strong>Path Control</strong>: Path control is a property of a network architecture that gives endpoints the ability to select how their packets travel through the network. Path control is stronger than path transparency.</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. As a PCB traverses the network, it carries path segments, which can subsequently be used for traffic forwarding.</t>
        <t><strong>Path Transparency</strong>: Path transparency is a property of a network architecture that gives endpoints full visibility over the network paths their packets are taking. Path transparency is weaker than path control.</t>
        <t><strong>Peering Link</strong>: A link between two SCION border routers of different ASes that can be used as a shortcut. Peering link information is added to segment information during the beaconing process and used to shorten paths while assembling them from segments. It is possible to construct a path out of only two partial segments which top-most hops are joined by a peering link. Two peering ASes may be in different ISDs and may exist between any ASes, including core ASes.</t>
        <t><strong>SCION Control Message Protocol (SCMP)</strong>: A signaling protocol analogous to the Internet Control Message Protocol (ICMP), as described in <xref target="I-D.dekater-scion-controlplane"/>.</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="overview">
        <name>Overview</name>
        <t>The SCION Data Plane forwards inter-domain packets between SCION-enabled ASes. SCION routers are normally deployed at the edge of an AS, and peer with neighbor SCION routers. Inter-domain forwarding is based on end-to-end path information contained in the packet header. This path information consists of a sequence of Hop Fields (HFs). Each Hop Field corresponds to an AS on the path, and it includes an ingress Interface ID as well as an egress Interface ID, which unequivocally identifies the ingress and egress interfaces within the AS. The information is authenticated with a Message Authentication Code (MAC) to prevent forgery.</t>
        <t>This concept allows SCION routers to forward packets to a neighbor AS without inspecting the destination address and also without consulting an inter-domain forwarding table. Intra-domain forwarding and routing are based on existing mechanisms (e.g. IP). A SCION border router reuses existing intra-domain infrastructure to communicate to other SCION routers or SCION endpoints within its AS. The last SCION router at the destination AS therefore uses the destination address to forward the packet to the appropriate local endpoint.</t>
        <t>This SCION design choice has the following advantages:</t>
        <ul spacing="normal">
          <li>
            <t>It provides control and transparency over forwarding paths to endpoints.</t>
          </li>
          <li>
            <t>It simplifies the packet processing at routers. Instead of having to perform longest prefix matching on IP addresses which requires expensive hardware and substantial amounts of energy, a router can simply access the next hop from the packet header after having verified the authenticity of the Hop Field's MAC.</t>
          </li>
        </ul>
        <section anchor="inter-and-intra-domain-forwarding">
          <name>Inter- and Intra-Domain Forwarding</name>
          <t>As SCION is an inter-domain network architecture, it is not concerned with intra-domain forwarding. This corresponds to the general practice today where BGP and IP are used for inter-domain routing and forwarding, respectively, but ASes use an intra-domain protocol of their choice - for example OSPF or IS-IS for routing and IP, MPLS, and various Layer 2 protocols for forwarding. In fact, even if ASes use IP forwarding internally today, they typically encapsulate the original IP packet they receive at the edge of their network into another IP packet with the destination address set to the egress border router, to avoid full inter-domain forwarding tables at internal routers.</t>
          <t>SCION emphasizes this separation as it is used exclusively for inter-domain forwarding; re-using the intra-domain network fabric to provide connectivity amongst all SCION infrastructure services, border routers, and endpoints. As a consequence, minimal change to the infrastructure is required for ISPs when deploying SCION. In practice, in most existing SCION deployments, SCION routers communicate among themselves and with endpoints by enclosing the SCION header inside an UDP/IPv6 or UDP/IPv4 packet. The choice of using an UDP/IP as an intra-domain protocol between routers was driven by the need to maximize compatibility with existing networks. This does not exclude that a SCION packet may be enclosed directly on top of a L2 protocol, since the choice of intra-domain protocol is AS specific.</t>
          <t><xref target="_figure-30"/> shows the SCION header within the protocol stack, in an AS where the SCION deployment uses UDP/IP as an intra-domain protocol. A similar model may be used for inter-domain links, depending on the individual choice of the two interconnected SCION router operators. A full example of the life of a SCION packet is later presented in <xref target="life-of-a-packet"/>. A list of currently used upper layer protocols on top of SCION is presented in <xref target="protnum"/>.</t>
          <figure anchor="_figure-30">
            <name>The SCION header within the protocol stack in a typical deployment</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="392" viewBox="0 0 392 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,304" fill="none" stroke="black"/>
                  <path d="M 248,32 L 248,304" fill="none" stroke="black"/>
                  <path d="M 280,208 L 280,304" fill="none" stroke="black"/>
                  <path d="M 8,32 L 248,32" fill="none" stroke="black"/>
                  <path d="M 8,144 L 248,144" fill="none" stroke="black"/>
                  <path d="M 8,208 L 248,208" fill="none" stroke="black"/>
                  <path d="M 264,208 L 280,208" fill="none" stroke="black"/>
                  <path d="M 8,240 L 248,240" fill="none" stroke="black"/>
                  <path d="M 8,272 L 248,272" fill="none" stroke="black"/>
                  <path d="M 8,304 L 248,304" fill="none" stroke="black"/>
                  <path d="M 264,304 L 280,304" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="272,304 260,298.4 260,309.6" fill="black" transform="rotate(180,264,304)"/>
                  <polygon class="arrowhead" points="272,208 260,202.4 260,213.6" fill="black" transform="rotate(180,264,208)"/>
                  <g class="text">
                    <text x="104" y="84">Payload</text>
                    <text x="156" y="84">(L4)</text>
                    <text x="128" y="180">SCION</text>
                    <text x="128" y="228">UDP</text>
                    <text x="340" y="244">Intra-domain</text>
                    <text x="124" y="260">IP</text>
                    <text x="332" y="260">protocol</text>
                    <text x="100" y="292">Link</text>
                    <text x="144" y="292">Layer</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
+-----------------------------+
|                             |
|                             |
|        Payload (L4)         |
|                             |
|                             |
|                             |
+-----------------------------+
|                             |
|            SCION            |
|                             |
+-----------------------------+ <-+
|             UDP             |   |
+-----------------------------+   | Intra-domain
|             IP              |   |  protocol
+-----------------------------+   |
|         Link Layer          |   |
+-----------------------------+ <-+
]]></artwork>
            </artset>
          </figure>
          <t>A complete SCION address is composed of the &lt;ISD, AS, endpoint address&gt; 3-tuple. The ISD-AS part is used for inter-domain routing. The endpoint address part is only used for intra-domain forwarding at the source and destination ASes. This implies that endpoint addresses are only required to be globally unique within each SCION AS. This means, for example, that an endpoint running a SCION stack using a <xref target="RFC1918"/> could directly communicate with another SCION endpoint using a <xref target="RFC1918"/> endpoint address in a different SCION AS.</t>
          <t>The data transmission order for SCION is the same as for IPv6 as defined in Introduction of <xref target="RFC8200"/>.</t>
        </section>
        <section anchor="intra-domain-forwarding-process">
          <name>Intra-Domain Forwarding Process</name>
          <t>When transiting an intermediate SCION AS, a packet gets forwarded by at most two SCION routers. The forwarding process consists of the following steps.</t>
          <ol spacing="normal" type="1"><li>
              <t>The AS's SCION ingress router receives a SCION packet from the neighboring AS.</t>
            </li>
            <li>
              <t>The SCION router parses, validates, and authenticates the SCION header.</t>
            </li>
            <li>
              <t>The SCION router maps the egress Interface ID in the current Hop Field of the SCION header to the destination address of the intra-domain protocol (e.g. MPLS or IP) of the egress border router.</t>
            </li>
            <li>
              <t>The packet is forwarded within the AS by SCION-unaware routers and switches based on the header of the intra-domain protocol.</t>
            </li>
            <li>
              <t>Upon receiving the packet, the SCION egress router strips off the header of the intra-domain protocol, again validates and updates the SCION header, and forwards the packet to the neighboring SCION router.</t>
            </li>
            <li>
              <t>The last SCION router on the path forwards the packet to the packet's destination endpoint indicated by the field <tt>DstHostAddr</tt> of <xref target="address-header">the Address Header</xref>.</t>
            </li>
          </ol>
        </section>
        <section anchor="configuration">
          <name>Configuration</name>
          <t>Border routers require mappings from SCION Interface IDs to underlay addresses and such information <bcp14>MUST</bcp14> be supplied to each router in an out of band fashion (e.g in a configuration file). For each link to a neighbor, these values <bcp14>MUST</bcp14> be configured. A typical implementation will require:</t>
          <ul spacing="normal">
            <li>
              <t>Interface ID.</t>
            </li>
            <li>
              <t>Link type (core, parent, child, peer). 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>For the router that manages the interface: the neighbor interface underlay address.</t>
            </li>
            <li>
              <t>For the routers that do not manage the interface: the address of the intra-domain protocol on the router that does.</t>
            </li>
            <li>
              <t>The algorithm used to compute the <xref target="hf-mac-overview">Hop Field MAC</xref> which must be the same as that used by the Control Services within the AS.</t>
            </li>
          </ul>
          <t>In order to forward traffic to a service endpoint address (<tt>DT/DS</tt> == 0b01 in the <xref target="common-header">common header</xref>), a border router translates the service number into a specific destination address. The method used to accomplish the translation is not defined by this document and is only dependent on the implementation and the choices of each AS's administrator. In current practice this is accomplished by way of a configuration file.</t>
          <t><strong>Note:</strong> The current SCION implementation runs over the UDP/IP protocol. However, the use of other lower layers protocols is possible.</t>
        </section>
      </section>
      <section anchor="construction">
        <name>Path Construction (Segment Combinations)</name>
        <t>Paths are discovered by the Control Plane which makes them available to SCION endpoints in the form of path segments. As described in <xref target="I-D.dekater-scion-controlplane"/>, there are three kinds of path segments: up, down, and core.</t>
        <t>In the data plane, a SCION endpoint creates end-to-end paths from the path segments by combining multiple path segments. Depending on the network topology, a SCION forwarding path consists of at least one and up to three segments. Each path segment contains several Hop Fields representing the ASes on the segment as well as one Info Field with basic information about the segment, such as a timestamp.</t>
        <t>Segments cannot be combined arbitrarily. To construct a valid forwarding path, the source endpoint <bcp14>MUST</bcp14> obey the following rules:</t>
        <ul spacing="normal">
          <li>
            <t>There <bcp14>MUST</bcp14> be at most one of each type of segment (up, core, and down). Allowing multiple up or down segments would decrease efficiency and the ability of ASes to enforce path policies.</t>
          </li>
          <li>
            <t>If an up segment is present, it <bcp14>MUST</bcp14> be the first segment in the path.</t>
          </li>
          <li>
            <t>If a down segment is present, it <bcp14>MUST</bcp14> be the last segment in the path.</t>
          </li>
          <li>
            <t>If there are two path segments (one up and one down segment) that both announce the same peering link, then a shortcut via this peering link is possible.</t>
          </li>
          <li>
            <t>If there are two path segments (one up and one down segment) that share a common ancestor AS (in the direction of beaconing), then a shortcut via this common ancestor AS is possible. The Up-then-Down constraint still applies.</t>
          </li>
          <li>
            <t>Additionally, all segments without any peering possibility <bcp14>MUST</bcp14> consist of at least two Hop Fields.</t>
          </li>
        </ul>
        <t>Note that the type of segment is known to the endpoint but it is not explicitly visible in the path header of data packets. Therefore, a SCION router needs to explicitly verify that these rules were followed correctly by performing checks described in <xref target="process-router-ingress"/>.</t>
        <t>Besides enabling the enforcement of path policies, the above rules also protect the economic interest of ASes as they prevent building "valley paths". A valley path contains ASes that do not profit economically from traffic on this route, with the name coming from the fact that such paths go "down" (following parent-child links) before going "up" (following child-parent links).</t>
        <t><xref target="_figure-1"/> below shows valid segment combinations.</t>
        <t><strong>Note:</strong> It is assumed that the source and destination endpoints are in different ASes (as endpoints from the same AS use an empty forwarding path to communicate with each other).</t>
        <figure anchor="_figure-1">
          <name>Illustration of valid path segment combinations. Each node represents a SCION Autonomous System.</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1008" width="576" viewBox="0 0 576 1008" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,208 L 8,400" fill="none" stroke="black"/>
                <path d="M 8,480 L 8,672" fill="none" stroke="black"/>
                <path d="M 8,768 L 8,960" fill="none" stroke="black"/>
                <path d="M 16,32 L 16,64" fill="none" stroke="black"/>
                <path d="M 16,96 L 16,128" fill="none" stroke="black"/>
                <path d="M 32,752 L 32,784" fill="none" stroke="black"/>
                <path d="M 32,848 L 32,880" fill="none" stroke="black"/>
                <path d="M 32,944 L 32,976" fill="none" stroke="black"/>
                <path d="M 40,192 L 40,224" fill="none" stroke="black"/>
                <path d="M 40,288 L 40,320" fill="none" stroke="black"/>
                <path d="M 40,384 L 40,416" fill="none" stroke="black"/>
                <path d="M 40,560 L 40,592" fill="none" stroke="black"/>
                <path d="M 40,656 L 40,688" fill="none" stroke="black"/>
                <path d="M 48,32 L 48,64" fill="none" stroke="black"/>
                <path d="M 48,96 L 48,128" fill="none" stroke="black"/>
                <path d="M 48,880 L 48,944" fill="none" stroke="black"/>
                <path d="M 56,224 L 56,288" fill="none" stroke="black"/>
                <path d="M 56,320 L 56,384" fill="none" stroke="black"/>
                <path d="M 56,480 L 56,560" fill="none" stroke="black"/>
                <path d="M 56,592 L 56,656" fill="none" stroke="black"/>
                <path d="M 64,752 L 64,784" fill="none" stroke="black"/>
                <path d="M 64,848 L 64,880" fill="none" stroke="black"/>
                <path d="M 64,944 L 64,976" 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 72,384 L 72,416" fill="none" stroke="black"/>
                <path d="M 72,560 L 72,592" fill="none" stroke="black"/>
                <path d="M 72,656 L 72,688" fill="none" stroke="black"/>
                <path d="M 80,464 L 80,496" fill="none" stroke="black"/>
                <path d="M 112,464 L 112,496" fill="none" stroke="black"/>
                <path d="M 112,752 L 112,784" fill="none" stroke="black"/>
                <path d="M 112,848 L 112,880" fill="none" stroke="black"/>
                <path d="M 112,944 L 112,976" fill="none" stroke="black"/>
                <path d="M 120,192 L 120,224" fill="none" stroke="black"/>
                <path d="M 120,288 L 120,320" fill="none" stroke="black"/>
                <path d="M 120,384 L 120,416" fill="none" stroke="black"/>
                <path d="M 120,560 L 120,592" fill="none" stroke="black"/>
                <path d="M 120,656 L 120,688" fill="none" stroke="black"/>
                <path d="M 128,880 L 128,944" fill="none" stroke="black"/>
                <path d="M 136,224 L 136,288" fill="none" stroke="black"/>
                <path d="M 136,320 L 136,384" fill="none" stroke="black"/>
                <path d="M 136,480 L 136,560" fill="none" stroke="black"/>
                <path d="M 136,592 L 136,656" fill="none" stroke="black"/>
                <path d="M 144,752 L 144,784" fill="none" stroke="black"/>
                <path d="M 144,848 L 144,880" fill="none" stroke="black"/>
                <path d="M 144,944 L 144,976" 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 152,384 L 152,416" fill="none" stroke="black"/>
                <path d="M 152,560 L 152,592" fill="none" stroke="black"/>
                <path d="M 152,656 L 152,688" fill="none" stroke="black"/>
                <path d="M 216,944 L 216,976" fill="none" stroke="black"/>
                <path d="M 232,864 L 232,944" fill="none" stroke="black"/>
                <path d="M 248,192 L 248,224" fill="none" stroke="black"/>
                <path d="M 248,288 L 248,320" fill="none" stroke="black"/>
                <path d="M 248,384 L 248,416" fill="none" stroke="black"/>
                <path d="M 248,464 L 248,496" fill="none" stroke="black"/>
                <path d="M 248,560 L 248,592" fill="none" stroke="black"/>
                <path d="M 248,656 L 248,688" fill="none" stroke="black"/>
                <path d="M 248,752 L 248,784" fill="none" stroke="black"/>
                <path d="M 248,848 L 248,880" fill="none" stroke="black"/>
                <path d="M 248,944 L 248,976" fill="none" stroke="black"/>
                <path d="M 264,224 L 264,288" fill="none" stroke="black"/>
                <path d="M 264,320 L 264,384" fill="none" stroke="black"/>
                <path d="M 264,496 L 264,560" fill="none" stroke="black"/>
                <path d="M 264,592 L 264,656" fill="none" stroke="black"/>
                <path d="M 280,192 L 280,224" fill="none" stroke="black"/>
                <path d="M 280,288 L 280,320" fill="none" stroke="black"/>
                <path d="M 280,384 L 280,416" fill="none" stroke="black"/>
                <path d="M 280,464 L 280,496" fill="none" stroke="black"/>
                <path d="M 280,560 L 280,592" fill="none" stroke="black"/>
                <path d="M 280,656 L 280,688" fill="none" stroke="black"/>
                <path d="M 280,752 L 280,784" fill="none" stroke="black"/>
                <path d="M 280,848 L 280,880" fill="none" stroke="black"/>
                <path d="M 280,944 L 280,976" fill="none" stroke="black"/>
                <path d="M 296,864 L 296,944" fill="none" stroke="black"/>
                <path d="M 312,944 L 312,976" fill="none" stroke="black"/>
                <path d="M 328,192 L 328,224" fill="none" stroke="black"/>
                <path d="M 360,192 L 360,224" fill="none" stroke="black"/>
                <path d="M 360,752 L 360,784" fill="none" stroke="black"/>
                <path d="M 360,944 L 360,976" fill="none" stroke="black"/>
                <path d="M 376,864 L 376,944" fill="none" stroke="black"/>
                <path d="M 384,560 L 384,592" fill="none" stroke="black"/>
                <path d="M 384,656 L 384,688" fill="none" stroke="black"/>
                <path d="M 392,752 L 392,784" fill="none" stroke="black"/>
                <path d="M 392,944 L 392,976" fill="none" stroke="black"/>
                <path d="M 400,592 L 400,656" fill="none" stroke="black"/>
                <path d="M 400,848 L 400,880" fill="none" stroke="black"/>
                <path d="M 408,384 L 408,416" fill="none" stroke="black"/>
                <path d="M 416,560 L 416,592" fill="none" stroke="black"/>
                <path d="M 416,656 L 416,688" fill="none" stroke="black"/>
                <path d="M 424,192 L 424,224" fill="none" stroke="black"/>
                <path d="M 424,336 L 424,384" fill="none" stroke="black"/>
                <path d="M 424,464 L 424,496" fill="none" stroke="black"/>
                <path d="M 432,848 L 432,880" fill="none" stroke="black"/>
                <path d="M 440,384 L 440,416" fill="none" stroke="black"/>
                <path d="M 440,752 L 440,784" fill="none" stroke="black"/>
                <path d="M 440,944 L 440,976" fill="none" stroke="black"/>
                <path d="M 456,192 L 456,224" fill="none" stroke="black"/>
                <path d="M 456,464 L 456,496" fill="none" stroke="black"/>
                <path d="M 456,864 L 456,944" fill="none" stroke="black"/>
                <path d="M 464,320 L 464,352" fill="none" stroke="black"/>
                <path d="M 464,560 L 464,592" fill="none" stroke="black"/>
                <path d="M 464,656 L 464,688" fill="none" stroke="black"/>
                <path d="M 472,752 L 472,784" fill="none" stroke="black"/>
                <path d="M 472,944 L 472,976" fill="none" stroke="black"/>
                <path d="M 480,592 L 480,656" fill="none" stroke="black"/>
                <path d="M 496,320 L 496,352" fill="none" stroke="black"/>
                <path d="M 496,560 L 496,592" fill="none" stroke="black"/>
                <path d="M 496,656 L 496,688" fill="none" stroke="black"/>
                <path d="M 504,192 L 504,224" fill="none" stroke="black"/>
                <path d="M 520,384 L 520,416" fill="none" stroke="black"/>
                <path d="M 536,192 L 536,224" fill="none" stroke="black"/>
                <path d="M 536,336 L 536,384" fill="none" stroke="black"/>
                <path d="M 536,752 L 536,784" fill="none" stroke="black"/>
                <path d="M 536,848 L 536,880" fill="none" stroke="black"/>
                <path d="M 536,944 L 536,976" fill="none" stroke="black"/>
                <path d="M 552,384 L 552,416" fill="none" stroke="black"/>
                <path d="M 552,880 L 552,944" fill="none" stroke="black"/>
                <path d="M 568,752 L 568,784" fill="none" stroke="black"/>
                <path d="M 568,848 L 568,880" fill="none" stroke="black"/>
                <path d="M 568,944 L 568,976" fill="none" stroke="black"/>
                <path d="M 16,32 L 48,32" fill="none" stroke="black"/>
                <path d="M 16,64 L 48,64" fill="none" stroke="black"/>
                <path d="M 288,80 L 304,80" fill="none" stroke="black"/>
                <path d="M 16,96 L 48,96" fill="none" stroke="black"/>
                <path d="M 280,112 L 328,112" fill="none" stroke="black"/>
                <path d="M 16,128 L 48,128" fill="none" stroke="black"/>
                <path d="M 56,176 L 136,176" fill="none" stroke="black"/>
                <path d="M 264,176 L 344,176" fill="none" stroke="black"/>
                <path d="M 440,176 L 520,176" fill="none" stroke="black"/>
                <path d="M 40,192 L 72,192" fill="none" stroke="black"/>
                <path d="M 120,192 L 152,192" fill="none" stroke="black"/>
                <path d="M 248,192 L 280,192" fill="none" stroke="black"/>
                <path d="M 328,192 L 360,192" fill="none" stroke="black"/>
                <path d="M 424,192 L 456,192" fill="none" stroke="black"/>
                <path d="M 504,192 L 536,192" fill="none" stroke="black"/>
                <path d="M 72,208 L 120,208" fill="none" stroke="black"/>
                <path d="M 280,208 L 328,208" fill="none" stroke="black"/>
                <path d="M 456,208 L 504,208" fill="none" stroke="black"/>
                <path d="M 40,224 L 72,224" fill="none" stroke="black"/>
                <path d="M 120,224 L 152,224" fill="none" stroke="black"/>
                <path d="M 248,224 L 280,224" fill="none" stroke="black"/>
                <path d="M 328,224 L 360,224" fill="none" stroke="black"/>
                <path d="M 424,224 L 456,224" fill="none" stroke="black"/>
                <path d="M 504,224 L 536,224" fill="none" stroke="black"/>
                <path d="M 40,288 L 72,288" fill="none" stroke="black"/>
                <path d="M 120,288 L 152,288" fill="none" stroke="black"/>
                <path d="M 248,288 L 280,288" fill="none" stroke="black"/>
                <path d="M 424,304 L 536,304" fill="none" stroke="black"/>
                <path d="M 40,320 L 72,320" fill="none" stroke="black"/>
                <path d="M 120,320 L 152,320" fill="none" stroke="black"/>
                <path d="M 248,320 L 280,320" fill="none" stroke="black"/>
                <path d="M 464,320 L 496,320" fill="none" stroke="black"/>
                <path d="M 424,336 L 464,336" fill="none" stroke="black"/>
                <path d="M 496,336 L 536,336" fill="none" stroke="black"/>
                <path d="M 464,352 L 496,352" fill="none" stroke="black"/>
                <path d="M 40,384 L 72,384" fill="none" stroke="black"/>
                <path d="M 120,384 L 152,384" fill="none" stroke="black"/>
                <path d="M 248,384 L 280,384" fill="none" stroke="black"/>
                <path d="M 408,384 L 440,384" fill="none" stroke="black"/>
                <path d="M 520,384 L 552,384" fill="none" stroke="black"/>
                <path d="M 40,416 L 72,416" fill="none" stroke="black"/>
                <path d="M 120,416 L 152,416" fill="none" stroke="black"/>
                <path d="M 248,416 L 280,416" fill="none" stroke="black"/>
                <path d="M 408,416 L 440,416" fill="none" stroke="black"/>
                <path d="M 520,416 L 552,416" fill="none" stroke="black"/>
                <path d="M 80,464 L 112,464" fill="none" stroke="black"/>
                <path d="M 248,464 L 280,464" fill="none" stroke="black"/>
                <path d="M 424,464 L 456,464" fill="none" stroke="black"/>
                <path d="M 56,480 L 80,480" fill="none" stroke="black"/>
                <path d="M 112,480 L 136,480" fill="none" stroke="black"/>
                <path d="M 80,496 L 112,496" fill="none" stroke="black"/>
                <path d="M 248,496 L 280,496" fill="none" stroke="black"/>
                <path d="M 424,496 L 456,496" fill="none" stroke="black"/>
                <path d="M 40,560 L 72,560" fill="none" stroke="black"/>
                <path d="M 120,560 L 152,560" fill="none" stroke="black"/>
                <path d="M 248,560 L 280,560" fill="none" stroke="black"/>
                <path d="M 384,560 L 416,560" fill="none" stroke="black"/>
                <path d="M 464,560 L 496,560" fill="none" stroke="black"/>
                <path d="M 432,576 L 448,576" fill="none" stroke="black"/>
                <path d="M 40,592 L 72,592" fill="none" stroke="black"/>
                <path d="M 120,592 L 152,592" fill="none" stroke="black"/>
                <path d="M 248,592 L 280,592" fill="none" stroke="black"/>
                <path d="M 384,592 L 416,592" fill="none" stroke="black"/>
                <path d="M 464,592 L 496,592" fill="none" stroke="black"/>
                <path d="M 40,656 L 72,656" fill="none" stroke="black"/>
                <path d="M 120,656 L 152,656" fill="none" stroke="black"/>
                <path d="M 248,656 L 280,656" fill="none" stroke="black"/>
                <path d="M 384,656 L 416,656" fill="none" stroke="black"/>
                <path d="M 464,656 L 496,656" fill="none" stroke="black"/>
                <path d="M 40,688 L 72,688" fill="none" stroke="black"/>
                <path d="M 120,688 L 152,688" fill="none" stroke="black"/>
                <path d="M 248,688 L 280,688" fill="none" stroke="black"/>
                <path d="M 384,688 L 416,688" fill="none" stroke="black"/>
                <path d="M 464,688 L 496,688" fill="none" stroke="black"/>
                <path d="M 48,736 L 128,736" fill="none" stroke="black"/>
                <path d="M 376,736 L 456,736" fill="none" stroke="black"/>
                <path d="M 32,752 L 64,752" fill="none" stroke="black"/>
                <path d="M 112,752 L 144,752" fill="none" stroke="black"/>
                <path d="M 248,752 L 280,752" fill="none" stroke="black"/>
                <path d="M 360,752 L 392,752" fill="none" stroke="black"/>
                <path d="M 440,752 L 472,752" fill="none" stroke="black"/>
                <path d="M 536,752 L 568,752" fill="none" stroke="black"/>
                <path d="M 32,784 L 64,784" fill="none" stroke="black"/>
                <path d="M 112,784 L 144,784" fill="none" stroke="black"/>
                <path d="M 248,784 L 280,784" fill="none" stroke="black"/>
                <path d="M 360,784 L 392,784" fill="none" stroke="black"/>
                <path d="M 440,784 L 472,784" fill="none" stroke="black"/>
                <path d="M 536,784 L 568,784" fill="none" stroke="black"/>
                <path d="M 32,848 L 64,848" fill="none" stroke="black"/>
                <path d="M 112,848 L 144,848" fill="none" stroke="black"/>
                <path d="M 248,848 L 280,848" fill="none" stroke="black"/>
                <path d="M 400,848 L 432,848" fill="none" stroke="black"/>
                <path d="M 536,848 L 568,848" fill="none" stroke="black"/>
                <path d="M 80,864 L 96,864" fill="none" stroke="black"/>
                <path d="M 232,864 L 248,864" fill="none" stroke="black"/>
                <path d="M 280,864 L 296,864" fill="none" stroke="black"/>
                <path d="M 376,864 L 400,864" fill="none" stroke="black"/>
                <path d="M 432,864 L 456,864" fill="none" stroke="black"/>
                <path d="M 32,880 L 64,880" fill="none" stroke="black"/>
                <path d="M 112,880 L 144,880" fill="none" stroke="black"/>
                <path d="M 248,880 L 280,880" fill="none" stroke="black"/>
                <path d="M 400,880 L 432,880" fill="none" stroke="black"/>
                <path d="M 536,880 L 568,880" fill="none" stroke="black"/>
                <path d="M 32,944 L 64,944" fill="none" stroke="black"/>
                <path d="M 112,944 L 144,944" fill="none" stroke="black"/>
                <path d="M 216,944 L 248,944" fill="none" stroke="black"/>
                <path d="M 280,944 L 312,944" fill="none" stroke="black"/>
                <path d="M 360,944 L 392,944" fill="none" stroke="black"/>
                <path d="M 440,944 L 472,944" fill="none" stroke="black"/>
                <path d="M 536,944 L 568,944" fill="none" stroke="black"/>
                <path d="M 32,976 L 64,976" fill="none" stroke="black"/>
                <path d="M 112,976 L 144,976" fill="none" stroke="black"/>
                <path d="M 216,976 L 248,976" fill="none" stroke="black"/>
                <path d="M 280,976 L 312,976" fill="none" stroke="black"/>
                <path d="M 360,976 L 392,976" fill="none" stroke="black"/>
                <path d="M 440,976 L 472,976" fill="none" stroke="black"/>
                <path d="M 536,976 L 568,976" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="544,304 532,298.4 532,309.6" fill="black" transform="rotate(0,536,304)"/>
                <polygon class="arrowhead" points="528,176 516,170.4 516,181.6" fill="black" transform="rotate(0,520,176)"/>
                <polygon class="arrowhead" points="464,736 452,730.4 452,741.6" fill="black" transform="rotate(0,456,736)"/>
                <polygon class="arrowhead" points="352,176 340,170.4 340,181.6" fill="black" transform="rotate(0,344,176)"/>
                <polygon class="arrowhead" points="336,112 324,106.4 324,117.6" fill="black" transform="rotate(0,328,112)"/>
                <polygon class="arrowhead" points="144,176 132,170.4 132,181.6" fill="black" transform="rotate(0,136,176)"/>
                <polygon class="arrowhead" points="136,736 124,730.4 124,741.6" fill="black" transform="rotate(0,128,736)"/>
                <polygon class="arrowhead" points="16,960 4,954.4 4,965.6" fill="black" transform="rotate(90,8,960)"/>
                <polygon class="arrowhead" points="16,672 4,666.4 4,677.6" fill="black" transform="rotate(90,8,672)"/>
                <polygon class="arrowhead" points="16,400 4,394.4 4,405.6" fill="black" transform="rotate(90,8,400)"/>
                <circle cx="24" cy="112" r="6" class="closeddot" fill="black"/>
                <circle cx="40" cy="960" r="6" class="closeddot" fill="black"/>
                <circle cx="48" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="48" cy="672" r="6" class="closeddot" fill="black"/>
                <circle cx="120" cy="960" r="6" class="closeddot" fill="black"/>
                <circle cx="128" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="128" cy="672" r="6" class="closeddot" fill="black"/>
                <circle cx="224" cy="960" r="6" class="closeddot" fill="black"/>
                <circle cx="256" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="256" cy="480" r="6" class="closeddot" fill="black"/>
                <circle cx="256" cy="672" r="6" class="closeddot" fill="black"/>
                <circle cx="288" cy="960" r="6" class="closeddot" fill="black"/>
                <circle cx="336" cy="208" r="6" class="closeddot" fill="black"/>
                <circle cx="368" cy="960" r="6" class="closeddot" fill="black"/>
                <circle cx="392" cy="672" r="6" class="closeddot" fill="black"/>
                <circle cx="416" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="432" cy="208" r="6" class="closeddot" fill="black"/>
                <circle cx="448" cy="960" r="6" class="closeddot" fill="black"/>
                <circle cx="472" cy="672" r="6" class="closeddot" fill="black"/>
                <circle cx="512" cy="208" r="6" class="closeddot" fill="black"/>
                <circle cx="528" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="544" cy="864" r="6" class="closeddot" fill="black"/>
                <circle cx="544" cy="960" r="6" class="closeddot" fill="black"/>
                <g class="text">
                  <text x="280" y="36">:</text>
                  <text x="32" y="52">C</text>
                  <text x="64" y="52">=</text>
                  <text x="92" y="52">Core</text>
                  <text x="124" y="52">AS</text>
                  <text x="280" y="52">:</text>
                  <text x="304" y="52">-</text>
                  <text x="320" y="52">-</text>
                  <text x="336" y="52">-</text>
                  <text x="352" y="52">-</text>
                  <text x="368" y="52">=</text>
                  <text x="404" y="52">unused</text>
                  <text x="456" y="52">links</text>
                  <text x="280" y="84">p</text>
                  <text x="312" y="84">p</text>
                  <text x="328" y="84">=</text>
                  <text x="368" y="84">peering</text>
                  <text x="420" y="84">link</text>
                  <text x="64" y="116">=</text>
                  <text x="148" y="116">source/destination</text>
                  <text x="236" y="116">AS</text>
                  <text x="344" y="116">=</text>
                  <text x="392" y="116">direction</text>
                  <text x="444" y="116">of</text>
                  <text x="496" y="116">beaconing</text>
                  <text x="92" y="164">Core</text>
                  <text x="300" y="164">Core</text>
                  <text x="476" y="164">Core</text>
                  <text x="56" y="212">C</text>
                  <text x="136" y="212">C</text>
                  <text x="264" y="212">C</text>
                  <text x="352" y="212">C</text>
                  <text x="448" y="212">C</text>
                  <text x="528" y="212">C</text>
                  <text x="92" y="244">1a</text>
                  <text x="300" y="244">1b</text>
                  <text x="476" y="244">1c</text>
                  <text x="476" y="292">Core</text>
                  <text x="480" y="340">C</text>
                  <text x="476" y="388">1d</text>
                  <text x="432" y="404">C</text>
                  <text x="544" y="404">C</text>
                  <text x="96" y="484">C</text>
                  <text x="272" y="484">C</text>
                  <text x="404" y="484">:-</text>
                  <text x="440" y="484">C</text>
                  <text x="464" y="484">-</text>
                  <text x="480" y="484">:</text>
                  <text x="400" y="500">:</text>
                  <text x="480" y="500">:</text>
                  <text x="400" y="516">:</text>
                  <text x="480" y="516">:</text>
                  <text x="92" y="532">2a</text>
                  <text x="236" y="532">2b</text>
                  <text x="400" y="532">:</text>
                  <text x="444" y="532">3a</text>
                  <text x="480" y="532">:</text>
                  <text x="400" y="548">:</text>
                  <text x="480" y="548">:</text>
                  <text x="424" y="580">p</text>
                  <text x="456" y="580">p</text>
                  <text x="92" y="724">Core</text>
                  <text x="420" y="724">Core</text>
                  <text x="48" y="772">C</text>
                  <text x="80" y="772">-</text>
                  <text x="96" y="772">-</text>
                  <text x="128" y="772">C</text>
                  <text x="264" y="772">C</text>
                  <text x="376" y="772">C</text>
                  <text x="408" y="772">-</text>
                  <text x="424" y="772">-</text>
                  <text x="456" y="772">C</text>
                  <text x="552" y="772">C</text>
                  <text x="48" y="804">:</text>
                  <text x="92" y="804">3b</text>
                  <text x="128" y="804">:</text>
                  <text x="264" y="804">:</text>
                  <text x="300" y="804">4a</text>
                  <text x="376" y="804">:</text>
                  <text x="412" y="804">4b</text>
                  <text x="456" y="804">:</text>
                  <text x="528" y="804">5</text>
                  <text x="552" y="804">:</text>
                  <text x="48" y="820">:</text>
                  <text x="128" y="820">:</text>
                  <text x="264" y="820">:</text>
                  <text x="376" y="820">:</text>
                  <text x="456" y="820">:</text>
                  <text x="552" y="820">:</text>
                  <text x="48" y="836">:</text>
                  <text x="128" y="836">:</text>
                  <text x="264" y="836">:</text>
                  <text x="376" y="836">:</text>
                  <text x="456" y="836">:</text>
                  <text x="552" y="836">:</text>
                  <text x="380" y="852">:-</text>
                  <text x="452" y="852">-:</text>
                  <text x="72" y="868">p</text>
                  <text x="104" y="868">p</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
 +---+                            :
 | C | = Core AS                  :  - - - - = unused links
 +---+
                                  p---p = peering link
 +---+
 |*  | = source/destination AS    ------> = direction of beaconing
 +---+

         Core                      Core                  Core
      ---------->               ---------->           ---------->
    +---+     +---+           +---+     +---+       +---+     +---+
+   + C +-----+ C +           + C +-----+* C|       |* C+-----+* C|
|   +-+-+     +-+-+           +-+-+     +---+       +---+     +---+
|     |   1a    |               |   1b                    1c
|     |         |               |
|     |         |               |
|   +-+-+     +-+-+           +-+-+                      Core
|   |   |     |   |           |   |                 -------------->
|   +-+-+     +-+-+           +-+-+                      +---+
|     |         |               |                   +----+ C +----+
|     |         |               |                   |    +---+    |
|     |         |               |                   |             |
|   +-+-+     +-+-+           +-+-+               +-+-+   1d    +-+-+
v   |*  |     |*  |           |*  |               |* C|         |* C|
    +---+     +---+           +---+               +---+         +---+


         +---+                +---+                 +---+
+     +--+ C +--+             +* C|              :- + C +- :
|     |  +---+  |             +-+-+              :  +---+  :
|     |         |               |                :         :
|     |   2a    |           2b  |                :    3a   :
|     |         |               |                :         :
|   +-+-+     +-+-+           +-+-+            +-+-+     +-+-+
|   |   |     |   |           |   |            |   +p---p+   |
|   +-+-+     +-+-+           +-+-+            +-+-+     +-+-+
|     |         |               |                |         |
|     |         |               |                |         |
|     |         |               |                |         |
|   +-+-+     +-+-+           +-+-+            +-+-+     +-+-+
v   |*  |     |*  |           |*  |            |*  |     |*  |
    +---+     +---+           +---+            +---+     +---+

         Core                                     Core
     ---------->                              ---------->
   +---+     +---+            +---+         +---+     +---+       +---+
+  + C + - - + C +            + C +         | C | - - | C |       | C |
|  +-+-+     +-+-+            +-+-+         +-+-+     +-+-+       +-+-+
|    :    3b   :                :   4a        :   4b    :        5  :
|    :         :                :             :         :           :
|    :         :                :             :         :           :
|  +---+     +-+-+            +-+-+           :- +---+ -:         +-+-+
|  |   +p---p+   |          +-+   +-+         +--+   +--+         |*  |
|  +-+-+     +-+-+          | +---+ |         |  +---+  |         +-+-+
|    |         |            |       |         |         |           |
|    |         |            |       |         |         |           |
|    |         |            |       |         |         |           |
|  +-+-+     +-+-+        +-+-+   +-+-+     +-+-+     +-+-+       +-+-+
v  |*  |     |*  |        |*  |   |*  |     |*  |     |*  |       |*  |
   +---+     +---+        +---+   +---+     +---+     +---+       +---+

]]></artwork>
          </artset>
        </figure>
        <t>Valid path segment combinations:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Communication through core ASes</strong>:  </t>
            <ul spacing="normal">
              <li>
                <t><strong>Core segment combination</strong> (Cases 1a, 1b, 1c, 1d in <xref target="_figure-1"/>): The up and down segments of source and destination do not have an AS in common. In this case, a core segment is <bcp14>REQUIRED</bcp14> to connect the source's up segment and the destination's down segment (Case 1a). If either the source or the destination AS is a core AS (Case 1b) or both are core ASes (Cases 1c and 1d), then no up or down segments are <bcp14>REQUIRED</bcp14> to connect the respective ASes to the core segment.</t>
              </li>
              <li>
                <t><strong>Immediate combination</strong> (Cases 2a, 2b in <xref target="_figure-1"/>): The last AS on the up segment (which is necessarily a core AS) is the same as the first AS on the down segment. In this case, a simple combination of up and down segments creates a valid forwarding path. In Case 2b, only one segment is required.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Peering shortcut</strong> (Cases 3a and 3b): A peering link exists between the up and down segment, and extraneous path segments to the core are cut off. Note that the up and down segments do not need to originate from the same core AS and the peering link could also be traversing to a different ISD.</t>
          </li>
          <li>
            <t><strong>AS shortcut</strong> (Cases 4a and 4b): The up and down segments intersect at a non-core AS below the ISD core, thus creating a shortcut. In this case, a shorter path is made possible by removing the extraneous part of the path to the core. Note that the up and down segments do not need to originate from the same core AS.</t>
          </li>
          <li>
            <t><strong>On-path</strong> (Case 5): In the case where the source's up segment contains the destination AS or the destination's down segment contains the source AS, a single segment is sufficient to construct a forwarding path. Again, no core AS is on the final path.</t>
          </li>
        </ul>
      </section>
      <section anchor="path-authorization">
        <name>Path Authorization</name>
        <t>The SCION Data Plane provides <em>path authorization</em>. This property ensures that data packets always traverse the network using path segments that were explicitly authorized by the respective ASes and prevents endpoints from constructing unauthorized paths or paths containing loops. SCION uses symmetric cryptography in the form of Message Authentication Codes (MACs) to authenticate the information encoded in Hop Fields and such MACs are verified by routers at forwarding. For a detailed specification, see <xref target="path-auth"/>.</t>
      </section>
    </section>
    <section anchor="header">
      <name>SCION Header Specification</name>
      <t>The SCION packet header is aligned to 4 bytes. It is composed of a common header, an address header, a path header, and an <bcp14>OPTIONAL</bcp14> extension header, see <xref target="_figure-2"/> below.</t>
      <figure anchor="_figure-2">
        <name>High-level SCION header structure, non-byte aligned</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="472" viewBox="0 0 472 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,224" fill="none" stroke="black"/>
              <path d="M 464,32 L 464,224" fill="none" stroke="black"/>
              <path d="M 8,32 L 464,32" fill="none" stroke="black"/>
              <path d="M 8,80 L 464,80" fill="none" stroke="black"/>
              <path d="M 8,128 L 464,128" fill="none" stroke="black"/>
              <path d="M 8,176 L 464,176" fill="none" stroke="black"/>
              <path d="M 8,224 L 464,224" fill="none" stroke="black"/>
              <g class="text">
                <text x="204" y="52">Common</text>
                <text x="260" y="52">header</text>
                <text x="208" y="100">Address</text>
                <text x="268" y="100">header</text>
                <text x="204" y="148">Path</text>
                <text x="252" y="148">header</text>
                <text x="168" y="196">Extension</text>
                <text x="236" y="196">header</text>
                <text x="308" y="196">(OPTIONAL)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+--------------------------------------------------------+
|                     Common header                      |
|                                                        |
+--------------------------------------------------------+
|                     Address header                     |
|                                                        |
+--------------------------------------------------------+
|                      Path header                       |
|                                                        |
+--------------------------------------------------------+
|               Extension header (OPTIONAL)              |
|                                                        |
+--------------------------------------------------------+

]]></artwork>
        </artset>
      </figure>
      <t>The <em>common header</em> contains important meta information including version number and the lengths of the header and payload. In particular, it contains flags that control the format of subsequent headers such as the address and path headers. For more details, see <xref target="common-header"/>.</t>
      <t>The <em>address header</em> contains the ISD, AS and endpoint addresses of source and destination. The type and length of endpoint addresses are variable and can be set independently using flags in the common header. For more details, see <xref target="address-header"/>.</t>
      <t>The <em>path header</em> contains the full AS-level forwarding path of the packet. A path type field in the common header specifies the path format used in the path header. For more details, see <xref target="path-header"/>.</t>
      <t>The <bcp14>OPTIONAL</bcp14> <em>extension</em> header contains a variable number of hop-by-hop and end-to-end options, similar to extensions in the IPv6 header <xref target="RFC8200"/>. For more details, see <xref target="ext-header"/>.</t>
      <section anchor="common-header">
        <name>Common Header</name>
        <t>The SCION common header has the following packet format:</t>
        <figure anchor="_figure-3">
          <name>The SCION common header packet 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 72,64 L 72,96" fill="none" stroke="black"/>
                <path d="M 136,96 L 136,160" fill="none" stroke="black"/>
                <path d="M 168,128 L 168,160" fill="none" stroke="black"/>
                <path d="M 200,64 L 200,96" fill="none" stroke="black"/>
                <path d="M 200,128 L 200,160" fill="none" stroke="black"/>
                <path d="M 232,128 L 232,160" fill="none" stroke="black"/>
                <path d="M 264,96 L 264,160" 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="40" y="84">Version</text>
                  <text x="132" y="84">TrafficClass</text>
                  <text x="348" y="84">Flow</text>
                  <text x="392" y="84">Label</text>
                  <text x="72" y="116">NextHdr</text>
                  <text x="196" y="116">HdrLen</text>
                  <text x="388" y="116">PayloadLen</text>
                  <text x="76" y="148">PathType</text>
                  <text x="148" y="148">DT</text>
                  <text x="180" y="148">DL</text>
                  <text x="212" y="148">ST</text>
                  <text x="244" y="148">SL</text>
                  <text x="392" y="148">RSV</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| TrafficClass  |                Flow Label             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    NextHdr    |    HdrLen     |          PayloadLen           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    PathType   |DT |DL |ST |SL |              RSV              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </artset>
        </figure>
        <ul spacing="normal">
          <li>
            <t><tt>Version</tt>: The version of the SCION common header. Currently, only version "0" is supported.</t>
          </li>
          <li>
            <t><tt>TrafficClass</tt>: The 8-bit long identifier of the packet's class or priority. The value of the traffic class bits in a received packet might differ from the value sent by the packet's source. The current use of the <tt>TrafficClass</tt> field for Differentiated Services and Explicit Congestion Notification is specified in <xref target="RFC2474"/> and <xref target="RFC3168"/>.</t>
          </li>
          <li>
            <t><tt>Flow Label</tt>: This 20-bit field labels sequences of packets to be treated in the network as a single flow. Sources <bcp14>MUST</bcp14> set this field. This serves the same purpose as what <xref target="RFC6437"/> describes for IPv6 and is used in the same manner. Notably, a Flow Label of zero does not imply that packet reordering is acceptable.</t>
          </li>
          <li>
            <t><tt>NextHdr</tt>: Encodes the type of the first header after the SCION header. This can be either a SCION extension or a Layer 4 protocol such as TCP or UDP. Values of this field respect the Assigned SCION Protocol Numbers (see <xref target="protnum"/>).</t>
          </li>
          <li>
            <t><tt>HdrLen</tt>: Specifies the entire length of the SCION header in bytes, i.e. the sum of the lengths of the common header, the address header, and the path header. The SCION header is aligned to a multiple of 4 bytes. The SCION header length is computed as <tt>HdrLen</tt> * 4 bytes. The 8 bits of the <tt>HdrLen</tt> field limit the SCION header to a maximum of 255 * 4 = 1020 bytes.</t>
          </li>
          <li>
            <t><tt>PayloadLen</tt>: Specifies the length of the payload in bytes. The payload includes (SCION) extension headers and the L4 payload. This field is 16 bits long, supporting a maximum payload size of 65'535 bytes.</t>
          </li>
          <li>
            <t><tt>PathType</tt>: Specifies the type of the SCION path and is 8 bits long. The format of one path type is independent of all other path types. The currently defined SCION path types are Empty (0), SCION (1), OneHopPath (2), EPIC (3) and COLIBRI (4). This document only specifies the Empty, SCION and OneHopPath path types. The other path types are currently experimental. For more details, see <xref target="path-header"/>.</t>
          </li>
        </ul>
        <table anchor="_table-1">
          <name>SCION path types</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Path Type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">Empty path (<tt>EmptyPath</tt>)</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">SCION (<tt>SCION</tt>)</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">One-hop path (<tt>OneHopPath</tt>)</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">EPIC path (experimental)</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">COLIBRI path (experimental)</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><tt>DT/DL/ST/SL</tt>: These fields define the endpoint address type and endpoint address length for the source and destination endpoint. <tt>DT</tt> and <tt>DL</tt> stand for Destination Type and Destination Length, whereas <tt>ST</tt> and <tt>SL</tt> stand for Source Type and Source Length. The possible endpoint address length values are 4 bytes, 8 bytes, 12 bytes, and 16 bytes. If an address has a length different from the supported values, the next larger size <bcp14>SHALL</bcp14> be used and the address can be padded with zeros. <xref target="_table-2"/> below lists the currently used values for address length. The "type" identifier is only defined in combination with a specific address length. For example, address type "0" is defined as IPv4 in combination with address length 4, but is defined as IPv6 in combination with address length 16. Per address length, several sub-types are possible and <xref target="_table-3"/> shows the currently assigned combinations of lengths and types.</t>
          </li>
        </ul>
        <table anchor="_table-2">
          <name>Address length values</name>
          <thead>
            <tr>
              <th align="left">DL/SL Value</th>
              <th align="left">Address Length</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">4 bytes</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">8 bytes</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">12 bytes</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">16 bytes</td>
            </tr>
          </tbody>
        </table>
        <table anchor="_table-3">
          <name>Allocations of type values to length values</name>
          <thead>
            <tr>
              <th align="left">Length (bytes)</th>
              <th align="left">Type</th>
              <th align="left">DT/DL or ST/SL encoding</th>
              <th align="left">Conventional Use</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">4</td>
              <td align="left">0</td>
              <td align="left">0b0000</td>
              <td align="left">IPv4</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">1</td>
              <td align="left">0b0100</td>
              <td align="left">Service</td>
            </tr>
            <tr>
              <td align="left">16</td>
              <td align="left">0</td>
              <td align="left">0b0011</td>
              <td align="left">IPv6</td>
            </tr>
            <tr>
              <td align="left">other</td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left">Unassigned</td>
            </tr>
          </tbody>
        </table>
        <t>A service address designates a set of endpoint addresses rather than a singular one. A packet addressed to a service is redirected to any one endpoint address that is known to be part of the set. <xref target="_table-4"/> lists the known services.</t>
        <ul spacing="normal">
          <li>
            <t><tt>RSV</tt>: These bits are currently reserved for future use.</t>
          </li>
        </ul>
      </section>
      <section anchor="address-header">
        <name>Address Header</name>
        <t>The SCION address header has the following format:</t>
        <figure anchor="_figure-4">
          <name>The SCION address header packet 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 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 264,128 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 264,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,224 L 520,224" 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="132" y="84">DstISD</text>
                  <text x="264" y="116">DstAS</text>
                  <text x="132" y="148">SrcISD</text>
                  <text x="264" y="180">SrcAS</text>
                  <text x="216" y="212">DstHostAddr</text>
                  <text x="272" y="212">(</text>
                  <text x="316" y="212">variable</text>
                  <text x="372" y="212">Len.</text>
                  <text x="400" y="212">)</text>
                  <text x="216" y="244">SrcHostAddr</text>
                  <text x="272" y="244">(</text>
                  <text x="316" y="244">variable</text>
                  <text x="372" y="244">Len.</text>
                  <text x="400" y="244">)</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            DstISD             |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                             DstAS                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            SrcISD             |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                             SrcAS                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    DstHostAddr ( variable Len. )              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    SrcHostAddr ( variable Len. )              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </artset>
        </figure>
        <ul spacing="normal">
          <li>
            <t><tt>DstISD, SrcISD</tt>: The 16-bit ISD identifier of the destination/source.</t>
          </li>
          <li>
            <t><tt>DstAS, SrcAS</tt>: The 48-bit AS identifier of the destination/source.</t>
          </li>
          <li>
            <t><tt>DstHostAddr, SrcHostAddr</tt>: Specifies the variable length endpoint address of the destination/source. The accepted type and length are defined in the <tt>DT/DL/ST/SL</tt> fields of the common header.</t>
          </li>
        </ul>
        <t>If a service address is implied by the <tt>DT/DL</tt> or <tt>ST/SL</tt> field of the common header, the corresponding address field has the following format:</t>
        <figure anchor="_figure-20">
          <name>Service address format</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="528" viewBox="0 0 528 128" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,96" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,96" 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"/>
                <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="112" y="84">Service</text>
                  <text x="172" y="84">Number</text>
                  <text x="392" y="84">RSV</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Service Number        |              RSV              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </artset>
        </figure>
        <ul spacing="normal">
          <li>
            <t><tt>RSV</tt>: reserved for future use</t>
          </li>
        </ul>
        <t>The currently known service numbers are:</t>
        <table anchor="_table-4">
          <name>Known Service Numbers</name>
          <thead>
            <tr>
              <th align="left">Service Number (hex)</th>
              <th align="left">Short Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x0001</td>
              <td align="left">DS</td>
              <td align="left">Discovery Service</td>
            </tr>
            <tr>
              <td align="left">0x0002</td>
              <td align="left">CS</td>
              <td align="left">Control Service</td>
            </tr>
            <tr>
              <td align="left">0xFFFF</td>
              <td align="left">None</td>
              <td align="left">Reserved invalid value</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Note:</strong> For more information on addressing, see the (<xref target="I-D.dekater-scion-controlplane"/>).</t>
      </section>
      <section anchor="path-header">
        <name>Path Header</name>
        <t>The path header of a SCION packet differs for each SCION path type. The path type is set in the <tt>PathType</tt> field of the SCION common header.</t>
        <t>SCION supports three path types:</t>
        <section anchor="empty">
          <name>Empty Path Type</name>
          <t>The <tt>Empty</tt> path type (<tt>PathType=0</tt>) is used to send traffic within an AS. It has no additional fields, i.e. it consumes 0 bytes on the wire.</t>
          <t>One use case of the <tt>Empty</tt> path type lies in the context of <xref target="scion-bfd">link-failure detection</xref>.</t>
        </section>
        <section anchor="scion-path-type">
          <name>SCION Path Type</name>
          <t>The <tt>SCION</tt> path type (<tt>PathType=1</tt>) is the standard path type. A SCION path has the following layout:</t>
          <figure anchor="_figure-5">
            <name>Layout of a standard SCION path</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="528" viewBox="0 0 528 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,432" fill="none" stroke="black"/>
                  <path d="M 520,64 L 520,432" 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,144 L 520,144" fill="none" stroke="black"/>
                  <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
                  <path d="M 8,240 L 520,240" fill="none" stroke="black"/>
                  <path d="M 8,304 L 520,304" fill="none" stroke="black"/>
                  <path d="M 8,368 L 520,368" fill="none" stroke="black"/>
                  <path d="M 8,432 L 520,432" 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="264" y="84">PathMetaHdr</text>
                    <text x="264" y="116">InfoField</text>
                    <text x="264" y="164">...</text>
                    <text x="264" y="212">InfoField</text>
                    <text x="260" y="260">HopField</text>
                    <text x="260" y="324">HopField</text>
                    <text x="264" y="388">...</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          PathMetaHdr                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           InfoField                           |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           InfoField                           |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           HopField                            |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           HopField                            |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <t>It consists of a path meta header, up to 3 Info Fields and up to 64 Hop Fields.</t>
          <ul spacing="normal">
            <li>
              <t><tt>PathMetaHdr</tt> indicates the currently valid Info Field and Hop Field while the packet is traversing the network along the path, as well as the number of Hop Fields per segment.</t>
            </li>
            <li>
              <t><tt>InfoField</tt> equals the number of path segments that the path contains - there is one Info Field per path segment. Each Info Field contains basic information about the corresponding segment, such as a timestamp indicating the creation time. There are also two flags: one specifies whether the segment is to be traversed in construction direction, the other whether the first or last Hop Field in the segment represents a peering Hop Field.</t>
            </li>
            <li>
              <t><tt>HopField</tt> represents a hop through an AS on the path, with the ingress and egress interface identifiers for this AS. This information is authenticated with a Message Authentication Code (MAC) to prevent forgery.</t>
            </li>
          </ul>
          <t>The SCION header is created by extracting the required Info Fields and Hop Fields from the corresponding path segments. The process of extracting is illustrated in <xref target="_figure-6"/> below. Note that ASes at the intersection of multiple segments are represented by two Hop Fields. Be aware that these Hop Fields are not equal!</t>
          <t>In the Hop Field that represents the last Hop in the first segment (seen in the direction of travel), only the ingress interface will be specified. However, in the hop Field that represents the first hop in the second segment (also in the direction of travel), only the egress interface will be defined. Thus, the two Hop Fields for this one AS build a full hop through the AS, specifying both the ingress and egress interface. As such, they bring the two adjacent segments together.</t>
          <figure anchor="_figure-6">
            <name>Path construction example</name>
            <artwork><![CDATA[
                      +-----------------------+
                      |      ISD Core         |
+--------+ +--------+ | +--------+ +--------+ | +--------+ +--------+
|   AS   +-+   AS   +---+   AS   +-+   AS   +---+   AS   +-+   AS   |
|ff00:0:3| |ff00:0:4| | |ff00:0:1| +ff00:0:2| | |ff00:0:5| |ff00:0:6|
+--------+ +--------+ | +--------+ +--------+ | +--------+ +--------+
                      +-----------------------+

    Up-Segment           Core-Segment        Down-Segment
   +---------+           +---------+         +---------+
   | +-----+ |           | +-----+ |         | +-----+ |
   | | INF | +--------+  | | INF | +--+      | | INF | +--+
   | +-----+ |        |  | +-----+ |  |      | +-----+ |  |
   | +-----+ |        |  | +-----+ |  |      | +-----+ |  |
   | | HF  | +------+ |  | | HF  | +----+    | | HF  | +----+
   | +-----+ |      | |  | +-----+ |  | |    | +-----+ |  | |
   | +-----+ |      | |  | +-----+ |  | |    | +-----+ |  | |
   | | HF  | +----+ | |  | | HF  | +------+  | | HF  | +------+
   | +-----+ |    | | |  | +-----+ |  | | |  | +-----+ |  | | |
   | +-----+ |    | | |  +---------+  | | |  | +-----+ |  | | |
   | | HF  | +--+ | | |               | | |  | | HF  | +--------+
   | +-----+ |  | | | |  +---------+  | | |  | +-----+ |  | | | |
   +---------+  | | | |  | +++++++ |  | | |  +---------+  | | | |
                | | | |  | |Meta | |  | | |               | | | |
                | | | |  | +++++++ |  | | |               | | | |
                | | | |  | +-----+ |  | | |               | | | |
                | | | +->| | INF | |  | | |               | | | |
                | | |    | +-----+ |  | | |               | | | |
                | | |    | +-----+ |  | | |               | | | |
                | | |    | | INF | |<-+ | |               | | | |
                | | |    | +-----+ |    | |               | | | |
                | | |    | +-----+ |    | |               | | | |
                | | |    | | INF | |<---------------------+ | | |
                | | |    | +-----+ |    | |                 | | |
                | | |    | +-----+ |    | |                 | | |
                | | +--->| | HF  | |    | |                 | | |
                | |      | +-----+ |    | |                 | | |
                | |      | +-----+ |    | |                 | | |
                | +----->| | HF  | |    | |                 | | |
                |        | +-----+ |    | |                 | | |
                |        | +-----+ |    | |                 | | |
                +------->| | HF  | |    | |                 | | |
                         | +-----+ |    | |                 | | |
                         | +-----+ |    | |                 | | |
                         | | HF  | |<---+ |                 | | |
                         | +-----+ |      |                 | | |
                         | +-----+ |      |                 | | |
        Forwarding Path  | | HF  | |<-----+                 | | |
                         | +-----+ |                        | | |
                         | +-----+ |                        | | |
                         | | HF  | |<-----------------------+ | |
                         | +-----+ |                          | |
                         | +-----+ |                          | |
                         | | HF  | |<-------------------------+ |
                         | +-----+ |                            |
                         | +-----+ |                            |
                         | | HF  | |<---------------------------+
                         | +-----+ |
                         +---------+

]]></artwork>
          </figure>
          <section anchor="PathMetaHdr">
            <name>Path Meta Header Field</name>
            <t>The 4-byte Path Meta Header field (<tt>PathMetaHdr</tt>) defines meta information about the SCION path that is contained in the path header. It has the following format:</t>
            <figure anchor="_figure-7">
              <name>SCION path type - Format of the Path Meta Header field</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="528" viewBox="0 0 528 128" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,64 L 8,96" fill="none" stroke="black"/>
                    <path d="M 40,64 L 40,96" fill="none" stroke="black"/>
                    <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                    <path d="M 232,64 L 232,96" fill="none" stroke="black"/>
                    <path d="M 328,64 L 328,96" fill="none" stroke="black"/>
                    <path d="M 424,64 L 424,96" fill="none" stroke="black"/>
                    <path d="M 520,64 L 520,96" 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"/>
                    <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="24" y="84">C</text>
                      <text x="84" y="84">CurrHF</text>
                      <text x="184" y="84">RSV</text>
                      <text x="280" y="84">Seg0Len</text>
                      <text x="376" y="84">Seg1Len</text>
                      <text x="472" y="84">Seg2Len</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| C |  CurrHF   |    RSV    |  Seg0Len  |  Seg1Len  |  Seg2Len  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
              </artset>
            </figure>
            <ul spacing="normal">
              <li>
                <t><tt>C</tt> (urrINF): Specifies a 2-bits index (0-based) pointing to the current Info Field for the packet on its way through the network. For details, see <xref target="offset-calc"/> below.</t>
              </li>
              <li>
                <t><tt>CurrHF</tt>: Specifies a 6-bits index (0-based) pointing to the current Hop Field for the packet on its way through the network. For details, see <xref target="offset-calc"/> below. Note that the <tt>CurrHF</tt> index <bcp14>MUST</bcp14> point to a Hop Field that is part of the current path segment, as indicated by the <tt>CurrINF</tt> index.</t>
              </li>
            </ul>
            <t>Both indices are used by SCION routers when forwarding data traffic through the network. The SCION routers also increment the indexes if required. For more details, see <xref target="process-router"/>.</t>
            <ul spacing="normal">
              <li>
                <t><tt>Seg{0,1,2}Len</tt>: The number of Hop Fields in a given segment. Seg{i}Len &gt; 0 implies that segment <em>i</em> contains at least one Hop Field, which means that Info Field <em>i</em> exists. (If Seg{i}Len = 0 then segment <em>i</em> is empty, meaning that this path does not include segment <em>i</em>, and therefore there is no Info Field <em>i</em>.) The following rules apply:  </t>
                <ul spacing="normal">
                  <li>
                    <t>The total number of Hop Fields in an end-to-end path <bcp14>MUST</bcp14> be equal to the sum of all <tt>Seg{0,1,2}Len</tt> contained in this end-to-end path.</t>
                  </li>
                  <li>
                    <t>It is an error to have Seg{X}Len &gt; 0 AND Seg{Y}Len == 0, where 2 &gt;= <em>X</em> &gt; <em>Y</em> &gt;= 0. That is, if path segment Y is empty, the following path segment X <bcp14>MUST</bcp14> also be empty.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>RSV</tt>: Unused and reserved for future use.</t>
              </li>
            </ul>
          </section>
          <section anchor="offset-calc">
            <name>Path Offset Calculations</name>
            <t>The path offset calculations are used by the SCION border routers to determine the Info Field and Hop Field that are currently valid for the packet on its way through the network.</t>
            <t>The following rules apply when calculating the path offsets:</t>
            <artwork><![CDATA[
   if Seg2Len > 0: NumINF = 3
   else if Seg1Len > 0: NumINF = 2
   else if Seg0Len > 0: NumINF = 1
   else: invalid
]]></artwork>
            <t>The offsets of the current Info Field and current Hop Field (relative to the end of the address header) are now calculated as:</t>
            <artwork><![CDATA[
   B = byte
   InfoFieldOffset = 4B + 8B * CurrINF
   HopFieldOffset = 4B + 8B.NumINF + 12B * CurrHF
]]></artwork>
            <t>To check that the current Hop Field is in the segment of the current Info Field, the <tt>CurrHF</tt> needs to be compared to the <tt>SegLen</tt> fields of the current and preceding Info Fields.</t>
          </section>
          <section anchor="inffield">
            <name>Info Field</name>
            <t>The 8-byte Info Field (<tt>InfoField</tt>) has the following format:</t>
            <figure anchor="_figure-8">
              <name>SCION path type - Format of the Info Field</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="528" viewBox="0 0 528 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
                    <path d="M 104,64 L 104,96" fill="none" stroke="black"/>
                    <path d="M 120,64 L 120,96" 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,128" 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"/>
                    <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="56" y="84">RSV</text>
                      <text x="112" y="84">P</text>
                      <text x="128" y="84">C</text>
                      <text x="200" y="84">RSV</text>
                      <text x="384" y="84">Acc</text>
                      <text x="264" y="116">Timestamp</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    RSV    |P|C|      RSV      |             Acc               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Timestamp                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
              </artset>
            </figure>
            <ul spacing="normal">
              <li>
                <t><tt>RSV</tt>: Unused and reserved for future use.</t>
              </li>
              <li>
                <t><tt>P</tt>: Peering flag. If the flag has value "1", the segment represented by this Info Field contains a peering Hop Field, which requires special processing in the data plane. For more details, see <xref target="peerlink"/> and <xref target="packet-verif"/>.</t>
              </li>
              <li>
                <t><tt>C</tt>: Construction direction flag. If the flag has value "1", the Hop Fields in the segment represented by this Info Field are arranged in the direction they have been constructed during beaconing.</t>
              </li>
              <li>
                <t><tt>Acc</tt>: Accumulator. This updatable field/counter is <bcp14>REQUIRED</bcp14> for calculating the MAC in the data plane. For more details, see <xref target="auth-chained-macs"/>.</t>
              </li>
              <li>
                <t><tt>Timestamp</tt>: Timestamp created by the initiator of the corresponding beacon. The timestamp is defined as the number of seconds elapsed since the POSIX Epoch (1970-01-01 00:00:00 UTC), encoded as a 32-bit unsigned integer. This timestamp enables the validation of a Hop Field in the segment represented by this Info Field, by verifying the expiration time and MAC set in the Hop Field - the expiration time of a Hop Field is calculated relative to the timestamp. An Info field with a timestamp in the future is invalid. For the purpose of validation, a timestamp is considered "future" if it is later than the locally available current time plus 337.5 seconds (i.e. the minimum time to live of a hop).</t>
              </li>
            </ul>
          </section>
          <section anchor="hopfld">
            <name>Hop Field</name>
            <t>The 12-byte Hop Field (<tt>HopField</tt>) has the following format:</t>
            <figure anchor="_figure-9">
              <name>SCION path type - Format of the Hop Field</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 104,64 L 104,96" fill="none" stroke="black"/>
                    <path d="M 120,64 L 120,96" 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 264,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="56" y="84">RSV</text>
                      <text x="112" y="84">I</text>
                      <text x="128" y="84">E</text>
                      <text x="200" y="84">ExpTime</text>
                      <text x="400" y="84">ConsIngress</text>
                      <text x="116" y="116">ConsEgress</text>
                      <text x="264" y="148">MAC</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    RSV    |I|E|    ExpTime    |           ConsIngress         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        ConsEgress             |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              MAC                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
              </artset>
            </figure>
            <ul spacing="normal">
              <li>
                <t><tt>RSV</tt>: Unused and reserved for future use.</t>
              </li>
              <li>
                <t><tt>I</tt>: The Ingress Router Alert flag. If this has value "1" and the packet is received on the interface with ID  corresponding to the value of <tt>ConsIngress</tt>, the router <bcp14>SHOULD</bcp14> process the L4 payload in the packet.</t>
              </li>
              <li>
                <t><tt>E</tt>: The Egress Router Alert flag. If this has value "1" and the packet is received on the interface with ID  corresponding to the value of <tt>ConsEgress</tt>, the router <bcp14>SHOULD</bcp14> process the L4 payload in the packet.</t>
              </li>
              <li>
                <t><tt>ExpTime</tt>: Expiration time of a Hop Field. This field is 1-byte long, and the expiration time specified in this field is relative and expressed in units of 256th of a day. An absolute expiration time in seconds is computed in combination with the <tt>Timestamp</tt> field (from the corresponding Info Field), as follows:  </t>
                <ul spacing="normal">
                  <li>
                    <t><tt>Timestamp</tt> + (1 + <tt>ExpTime</tt>) * (86400/256)</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>ConsIngress</tt>, <tt>ConsEgress</tt>: The 16-bits ingress/egress Interface IDs in construction direction, that is, the direction of beaconing.</t>
              </li>
              <li>
                <t><tt>MAC</tt>: The 6-byte Message Authentication Code to authenticate the Hop Field. For details on how this MAC is calculated, see <xref target="hf-mac-overview"/>.</t>
              </li>
            </ul>
            <t>The Ingress Router (respectively Egress Router) is the router owning the Ingress interface (respectively, Egress interface) when the packet is traveling in the <em>construction direction</em> of the path segment (i.e. the direction of beaconing). When the packet is traveling in the opposite direction, the meanings are reversed.</t>
            <t>Router alert flags work similarly to <xref target="RFC2711"/> and allow a sender to address a specific router on the path without knowing its address. Processing the L4 payload in the packet means that the router will treat the payload of the packet as a message to itself and parse it according to the value of the <tt>NextHdr</tt> field. Such messages include Traceroute Requests (see 'SCMP/Traceroute request' in <xref target="I-D.dekater-scion-controlplane"/>).</t>
            <t>Setting multiple router alert flags on a path <bcp14>SHOULD</bcp14> be avoided. This is because the router for which the corresponding Router Alert flag is set to "1" may process the request without further forwarding it along the path. Use cases that require multiple routers/hops on the path to process a packet <bcp14>SHOULD</bcp14> rely on a hop-by-hop extension (see <xref target="ext-header"/>).</t>
          </section>
        </section>
        <section anchor="onehop">
          <name>One-Hop Path Type</name>
          <t>The <tt>OneHopPath</tt> path type (<tt>PathType=2</tt>) is currently used to bootstrap beaconing between neighboring ASes. This is necessary as neighbor ASes do not have a forwarding path before beaconing is started.</t>
          <t>A one-hop path has exactly one Info Field and two Hop Fields. The second Hop Field is created by the ingress SCION border router of the neighboring AS while processing the one-hop path. The appropriate Hop Field can be processed by a border router based on the source and destination address. In this context, the following rules apply:</t>
          <ul spacing="normal">
            <li>
              <t>At the source endpoint AS, <em>CurrHF := 0</em>.</t>
            </li>
            <li>
              <t>At the destination endpoint AS, <em>CurrHF := 1</em>.</t>
            </li>
          </ul>
          <t>Any entity with access to the forwarding key of the source endpoint AS can create a valid info and Hop Field as described in <xref target="inffield"/> and <xref target="hopfld"/>, respectively.</t>
          <t>Upon receiving a packet containing a one-hop path, the ingress border router of the destination AS fills in the <tt>ConsIngress</tt> field in the second Hop Field of the one-hop path with the ingress interface ID. It sets the <tt>ConsEgress</tt> field to the unspecified value 0, ensuring the path cannot be used beyond the destination AS. Then it calculates and appends the appropriate MAC for the Hop Field.</t>
        </section>
        <section anchor="reverse">
          <name>Path Reversal</name>
          <t>When a destination endpoint receives a SCION packet, it <bcp14>MAY</bcp14> use the path information in the SCION header for sending the reply packets. To reverse a path, the destination endpoint <bcp14>MUST</bcp14> perform the following steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>Reverse the order of the Info Fields;</t>
            </li>
            <li>
              <t>Reverse the order of the Hop Fields;</t>
            </li>
            <li>
              <t>For each Info Field, negate the construction direction flag <tt>C</tt>; do not change the accumulator field <tt>Acc</tt>.</t>
            </li>
            <li>
              <t>In the <tt>PathMetaHdr</tt> field:  </t>
              <ul spacing="normal">
                <li>
                  <t>Set the <tt>CurrINF</tt> and <tt>CurrHF</tt> to "0".</t>
                </li>
                <li>
                  <t>Reverse the order of the non-zero <tt>SegLen</tt> fields.</t>
                </li>
              </ul>
            </li>
          </ol>
          <t>Note that the destination endpoint, upon receiving a first packet, is not aware of the path MTU. When using a reversed path, it should use a mechanism to estimate its MTU (e.g., MTU discovery or estimate MTU from the largest packet received).</t>
        </section>
      </section>
      <section anchor="ext-header">
        <name>Extension Headers</name>
        <t>SCION provides two types of extension headers:</t>
        <ul spacing="normal">
          <li>
            <t>The Hop-by-Hop Options header is used to carry <bcp14>OPTIONAL</bcp14> information that <bcp14>MAY</bcp14> be examined and processed by every SCION router along a packet's delivery path. The Hop-by-Hop Options header is identified by value "200" in the <tt>NextHdr</tt> field of the SCION common header (see <xref target="common-header"/>).</t>
          </li>
          <li>
            <t>The End-to-End Options header is used to carry <bcp14>OPTIONAL</bcp14> information that <bcp14>MAY</bcp14> be examined and processed by the sender and/or the receiving endpoints of the packet. The End-to-End Options header is identified by value "201" in the <tt>NextHdr</tt> field of the SCION common header (see <xref target="common-header"/>).</t>
          </li>
        </ul>
        <t>If both headers are present, the Hop-by-Hop Options header <bcp14>MUST</bcp14> come before the End-to-End Options header.</t>
        <t><strong>Note:</strong> The SCION extension headers are defined and used based on and similar to the IPv6 extensions as specified in section 4 of <xref target="RFC8200"/>. The SCION Hop-by-Hop Options header and End-to-End Options header resemble the IPv6 Hop-by-Hop Options Header (section 4.3 in the RFC) and Destination Options Header (section 4.6), respectively.</t>
        <t>The SCION Hop-by-Hop Options and End-to-End Options headers are aligned to 4 bytes and have the following format:</t>
        <figure anchor="_figure-11">
          <name>Extension headers: Options header</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="528" viewBox="0 0 528 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,128" 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,128" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 264,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 520,128" 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="72" y="84">NextHdr</text>
                  <text x="204" y="84">ExtLen</text>
                  <text x="392" y="84">Options</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    NextHdr    |     ExtLen    |            Options            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </artset>
        </figure>
        <ul spacing="normal">
          <li>
            <t><tt>NextHdr</tt>: Unsigned 8-bit integer. Identifies the type of header immediately following the Hop-by-Hop/End-to-End Options header. Values of this field respect the Assigned SCION Protocol Numbers (see also <xref target="protnum"/>).</t>
          </li>
          <li>
            <t><tt>ExtLen</tt>: 8-bit unsigned integer. The length of the Hop-by-hop or End-to-end options header in 4-octet units, not including the first 4 octets. That is: <tt>ExtLen = uint8(((L + 2) / 4) - 1)</tt>, where <tt>L</tt> is the size of the header in bytes, assuming that <tt>L + 2</tt> is a multiple of 4.</t>
          </li>
          <li>
            <t><tt>Options</tt>: This is a variable-length field. The length of this field <bcp14>MUST</bcp14> be such that the complete length of the Hop-by-Hop/End-to-End Options header is an integer multiple of 4 bytes. This can be achieved by using options of type 0 or 1 (see <xref target="_table-4"/>) . The <tt>Options</tt> field contains one or more Type-Length-Value (TLV) encoded options. For details, see <xref target="optfld"/>.</t>
          </li>
        </ul>
        <section anchor="optfld">
          <name>Options Field</name>
          <t>The <tt>Options</tt> field of the Hop-by-Hop Options and the End-to-End Options headers carries a variable number of options that are type-length-value (TLV) encoded. Each TLV-encoded option has the following format:</t>
          <figure anchor="_figure-12">
            <name>Options field: TLV-encoded options</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="528" viewBox="0 0 528 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,128" 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,128" fill="none" stroke="black"/>
                  <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 264,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 520,128" 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="72" y="84">OptType</text>
                    <text x="196" y="84">OptDataLen</text>
                    <text x="392" y="84">OptData</text>
                    <text x="256" y="116">.</text>
                    <text x="272" y="116">.</text>
                    <text x="288" y="116">.</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    OptType    |  OptDataLen   |            OptData            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
|                              . . .                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
            </artset>
          </figure>
          <ul spacing="normal">
            <li>
              <t><tt>OptType</tt>: 8-bit identifier of the type of option. The following option types are assigned to the SCION HBH/E2E Options header:</t>
            </li>
          </ul>
          <table anchor="_table-5">
            <name>Option types of SCION Options header</name>
            <thead>
              <tr>
                <th align="left">Decimal</th>
                <th align="left">Option Type</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">Pad1 (see <xref target="pad1"/>)</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">PadN (see <xref target="padn"/>)</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">SCION Packet Authenticator Option.<br/> Only used by the End-to-End Options header (experimental).</td>
              </tr>
              <tr>
                <td align="left">253</td>
                <td align="left">Used for experimentation and testing</td>
              </tr>
              <tr>
                <td align="left">254</td>
                <td align="left">Used for experimentation and testing</td>
              </tr>
              <tr>
                <td align="left">255</td>
                <td align="left">Reserved</td>
              </tr>
            </tbody>
          </table>
          <ul spacing="normal">
            <li>
              <t><tt>OptDataLen</tt>: Unsigned 8-bit integer denoting the length of the <tt>OptData</tt> field of this option in bytes.</t>
            </li>
            <li>
              <t><tt>OptData</tt>: Variable-length field. Option-type specific data.</t>
            </li>
          </ul>
          <t>The options within a header <bcp14>MUST</bcp14> be processed strictly in the order they appear in the header. This is to prevent a receiver from, for example, scanning through the header looking for a specific option and processing this option prior to all preceding ones.</t>
          <t>Individual options may have specific alignment requirements, to ensure that multibyte values within the <tt>OptData</tt> fields have natural boundaries. The alignment requirement of an option is specified using the notation "xn+y". This means that the <tt>OptType</tt> <bcp14>MUST</bcp14> appear at an integer multiple of x bytes from the start of the header, plus y bytes. For example:</t>
          <ul spacing="normal">
            <li>
              <t><tt>2n</tt>: means any 2-bytes offset from the start of the header.</t>
            </li>
            <li>
              <t><tt>4n+2</tt>: means any 4-bytes offset from the start of the header, plus 2 bytes.</t>
            </li>
          </ul>
          <t>There are two padding options to align subsequent options and to pad out the containing header to a multiple of 4 bytes in length - for details, see below. All SCION implementations <bcp14>MUST</bcp14> recognize these padding options.</t>
          <section anchor="pad1">
            <name>Pad1 Option</name>
            <t>Alignment requirement: none.</t>
            <figure anchor="_figure-13">
              <name>TLV-encoded options - Pad1 option</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="520" viewBox="0 0 520 128" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,64 L 8,96" fill="none" stroke="black"/>
                    <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
                    <path d="M 8,64 L 136,64" fill="none" stroke="black"/>
                    <path d="M 8,96 L 136,96" 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="72" y="84">0</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
+-+-+-+-+-+-+-+-+
|       0       |
+-+-+-+-+-+-+-+-+

]]></artwork>
              </artset>
            </figure>
            <t><strong>Note:</strong> The format of the Pad1 option is a special case - it does not have length and value fields.</t>
            <t>The Pad1 option is used to insert 1 byte of padding into the <tt>Options</tt> field of an extension header. If more than one byte of padding is required, the PadN option <bcp14>MUST</bcp14> be used.</t>
          </section>
          <section anchor="padn">
            <name>PadN Option</name>
            <t>Alignment requirement: none.</t>
            <figure anchor="_figure-14">
              <name>TLV-encoded options - PadN option</name>
              <artset>
                <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="160" width="528" viewBox="0 0 528 160" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                    <path d="M 8,64 L 8,128" 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,128" fill="none" stroke="black"/>
                    <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                    <path d="M 8,96 L 264,96" fill="none" stroke="black"/>
                    <path d="M 8,128 L 520,128" 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="72" y="84">1</text>
                      <text x="196" y="84">OptDataLen</text>
                      <text x="392" y="84">OptData</text>
                      <text x="256" y="116">.</text>
                      <text x="272" y="116">.</text>
                      <text x="288" y="116">.</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       1       |  OptDataLen   |            OptData            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              . . .                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
              </artset>
            </figure>
            <t>The PadN option is used to insert two or more bytes of padding into the <tt>Options</tt> field of an extension header. For N bytes of padding, the <tt>OptDataLen</tt> field contains the value N-2, and the <tt>OptData</tt> consists of N-2 zero-valued bytes.</t>
          </section>
        </section>
      </section>
      <section anchor="pseudo">
        <name>Pseudo Header for Upper-Layer Checksum</name>
        <t>The SCION Data Plane does not provide payload integrity protection, as further clarified in <xref target="payload-integrity"/>.
Should any transport or other upper-layer protocols compute a checksum of the SCION header, then they <bcp14>SHOULD</bcp14> use the following pseudo header:</t>
        <figure anchor="_figure-15">
          <name>Layout of the pseudo header for the upper-layer checksum</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="624" viewBox="0 0 624 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,320" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 264,128 L 264,160" fill="none" stroke="black"/>
                <path d="M 392,288 L 392,320" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,320" fill="none" stroke="black"/>
                <path d="M 552,64 L 552,256" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 536,64 L 552,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 264,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,224 L 520,224" fill="none" stroke="black"/>
                <path d="M 8,256 L 520,256" fill="none" stroke="black"/>
                <path d="M 536,256 L 552,256" fill="none" stroke="black"/>
                <path d="M 8,288 L 520,288" fill="none" stroke="black"/>
                <path d="M 8,320 L 520,320" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="544,256 532,250.4 532,261.6" fill="black" transform="rotate(180,536,256)"/>
                <polygon class="arrowhead" points="544,64 532,58.4 532,69.6" fill="black" transform="rotate(180,536,64)"/>
                <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="132" y="84">DstISD</text>
                  <text x="264" y="116">DstAS</text>
                  <text x="132" y="148">SrcISD</text>
                  <text x="584" y="148">SCION</text>
                  <text x="592" y="164">address</text>
                  <text x="264" y="180">SrcAS</text>
                  <text x="588" y="180">header</text>
                  <text x="216" y="212">DstHostAddr</text>
                  <text x="272" y="212">(</text>
                  <text x="316" y="212">variable</text>
                  <text x="372" y="212">Len.</text>
                  <text x="400" y="212">)</text>
                  <text x="216" y="244">SrcHostAddr</text>
                  <text x="272" y="244">(</text>
                  <text x="316" y="244">variable</text>
                  <text x="372" y="244">Len.</text>
                  <text x="400" y="244">)</text>
                  <text x="216" y="276">Upper-Layer</text>
                  <text x="292" y="276">Packet</text>
                  <text x="348" y="276">Length</text>
                  <text x="204" y="308">zero</text>
                  <text x="428" y="308">Next</text>
                  <text x="476" y="308">Header</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+
|            DstISD             |                               |   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +   |
|                             DstAS                             |   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |
|            SrcISD             |                               |   | SCION
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +   | address
|                             SrcAS                             |   | header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |
|                    DstHostAddr ( variable Len. )              |   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |
|                    SrcHostAddr ( variable Len. )              |   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+
|                    Upper-Layer Packet Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      zero                     |  Next Header  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </artset>
        </figure>
        <ul spacing="normal">
          <li>
            <t><tt>DstISD</tt>, <tt>SrcISD</tt>, <tt>DstAS</tt>, <tt>SrcAS</tt>, <tt>DstHostAddr</tt>, <tt>SrcHostAddr</tt>: These values are taken from the SCION address header.</t>
          </li>
          <li>
            <t><tt>Upper-Layer Packet Length</tt>: The length of the upper-layer header and data. Some upper-layer protocols define headers that carry the length information explicitly (e.g. UDP). This information is used as the upper-layer packet length in the pseudo header for these protocols. The remaining protocols, which do not carry the length information directly, use the value from the <tt>PayloadLen</tt> field in the SCION common header, minus the sum of the extension header lengths.</t>
          </li>
          <li>
            <t><tt>Next Header</tt>: The protocol identifier associated with the upper-layer protocol (e.g., 17 for UDP - see also <xref target="protnum"/>). This field can differ from the <tt>NextHdr</tt> field in the SCION common header, if extensions are present.</t>
          </li>
        </ul>
        <t>This pseudo-header is used in current implementations of UDP on top of SCION. However, as checksums across layers are not recommended, this should be re-evaluated in future revisions.</t>
      </section>
    </section>
    <section anchor="life-of-a-packet">
      <name>Life of a SCION Data Packet</name>
      <t>This section gives a high-level description of the life cycle of a SCION packet: how it is created at its source endpoint, passes through a number of SCION routers, and finally reaches its destination endpoint. It is assumed that both source and destination are native SCION endpoints (i.e. they both run a native SCION network stack).</t>
      <t>This example illustrates an intra-ISD case, i.e. all communication happening within a single ISD. As the sample ISD only consists of one core AS, the end-to-end path only includes an up-path and down-path segment. In the case of inter-ISD forwarding, the complete end-to-end path from source endpoint to destination endpoint would always require a core path segment as well, although this makes no difference for the forwarding process which works the same in an intra-ISD and inter-ISD context.</t>
      <section anchor="description">
        <name>Description</name>
        <figure anchor="_figure-16">
          <name>Sample topology to illustrate the life cycle of a SCION packet. AS ff00:0:1 is the core AS of ISD 1, and AS ff00:0:2 and AS ff00:0:3 are non-core ASes of ISD 1.</name>
          <artwork><![CDATA[
                  +-------------------------+
                  |                         |
                  |       AS ff00:0:1       |
                  |                         | (1-ff00:0:1,
                  |                         | 198.51.100.17)
                  |          198.51.100.4 +-+-+ i1b
                  |            +----------+R3 +#-+
            i1a +-+-+          |          +-+-+  |
             +-#+R2 +----------+            |    |
             |  +-+-+ 198.51.100.1          |    |
             |    |                         |    |
             |    +-------------------------+    | (1-ff00:0:3,
             *                                   * 198.51.100.18)
       i2a +-+-+                               +-+-+ i3a
+----------+R1 +----------+         +----------+R4 +----------+
|          +-+-+          |         |          +-+-+          |
|            |203.0.113.17|         |            |192.0.2.34  |
|            |            |         |            |            |
|     +------+-----+      |         |      +-----+------+     |
|     | Endpoint A |      |         |      | Endpoint B |     |
|     +------------+      |         |      +------------+     |
| 1-ff00:0:2,203.0.113.6  |         |  1-ff00:0:3,192.0.2.7   |
|                         |         |                         |
|       AS ff00:0:2       |         |       AS ff00:0:3       |
|                         |         |                         |
+-------------------------+         +-------------------------+
]]></artwork>
        </figure>
        <t>Based on the network topology in <xref target="_figure-16"/> above, this example shows the path of a SCION packet sent from its source at Endpoint A to its destination at Endpoint B, and how it will be processed by each router on the path using simplified snapshots of the packet header after each processing step. These snapshots, which are depicted in tables, show the most relevant information of the header, i.e. the SCION path and IP encapsulation for local communication.</t>
      </section>
      <section anchor="creating-an-end-to-end-scion-forwarding-path">
        <name>Creating an End-to-End SCION Forwarding Path</name>
        <t>In this example, Endpoint A in AS ff00:0:2 wants to send a data packet to Endpoint B in AS ff00:0:3. Both AS ff00:0:2 and AS ff00:0:3 are part of ISD 1. To create an end-to-end SCION forwarding path, Endpoint A first requests its own AS ff00:0:2 control service for up segments to the core AS in its ISD. The AS ff00:0:2 control service will return up segments from AS ff00:0:2 to the ISD core AS ff00:0:1. Endpoint A will also query its AS ff00:0:2 control service for a down segment from its ISD core AS ff00:0:1 to AS ff00:0:3, in which Endpoint B is located. The AS ff00:0:3 control service will return down segments from the ISD core down to AS ff00:0:3.</t>
        <t><strong>Note:</strong> For more details on the lookup of path segments, see 'Path Lookup' in <xref target="I-D.dekater-scion-controlplane"/>.</t>
        <t>Based on its own selection criteria, Endpoint A selects the up segment (0,i2a)(i1a,0) and the down segment (0,i1b)(i3a,0) from the path segments returned by its own AS ff00:0:2 control service. The path segments consist of Hop Fields that carry the ingress and egress interfaces of each AS (e.g., i2a, i1a, ...), as described in detail in <xref target="header"/> - (x,y) represents one Hop Field.</t>
        <t>To obtain an end-to-end forwarding path from the source AS to the destination AS, Endpoint A combines the two path segments into the resulting SCION forwarding path, which contains the two Info Fields <em>IF1</em> and <em>IF2</em> and the Hop Fields (0,i2a), (i1a,0), (0,i1b), and (i3a,0).</t>
        <t><strong>Note:</strong> As this brief sample path does not contain a core segment, the end-to-end path only consists of two path segments.</t>
        <t>Endpoint A now adds this end-to-end forwarding path to the header of the packet that it wants to send to Endpoint B, and starts transferring the packet.</t>
      </section>
      <section anchor="step-by-step-explanation">
        <name>Step-by-Step Explanation</name>
        <t>This section explains what happens with the SCION packet header at each router, based on the network topology in described <xref target="_figure-16"/> above. Each step includes a table that represents a simplified snapshot of the packet header at the end of this specific step. Regarding the notation used in the figure/tables, each source and destination entry should be read as router (or endpoint) followed by its address. The current Info Field (with metadata on the current path segment) in the SCION header is depicted as italic/cursive in the tables. The current Hop Field, representing the current AS, is shown bold. The snapshot tables also include references to IP/UDP addresses. In this context, words "ingress" and "egress" refer to the direction of travel of SCION data packets.</t>
        <ul spacing="normal">
          <li>
            <t><em>Step 1</em> <br/> <strong>A-&gt;R1</strong>: The SCION-enabled Endpoint A in AS ff00:0:2 creates a new SCION packet destined for destination Endpoint B in AS ff00:0:3, with payload P. Endpoint A sends the packet (for the chosen forwarding path) to the next SCION router as provided by its control service, which is in this case Router 1. Endpoint A encapsulates the SCION packet into an underlay UDP/IPv4 header for the local delivery to Router 1, utilizing AS ff00:0:2's internal routing protocol. The current Info Field is <em>IF1</em>. Upon receiving the packet, Router 1 will forward the packet on the egress interface that Endpoint A has included into the first Hop Field of the SCION header.</t>
          </li>
        </ul>
        <table>
          <name>Snapshot header - step 1</name>
          <thead>
            <tr>
              <th align="left">A -&gt; R1</th>
              <th align="left"> </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 (source Endpoint A) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 1-ff00:0:3,192.0.2.7 (dest. Endpoint B) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">PATH = <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- <em>IF1</em> <strong>(0,i2a)</strong> (i1a,0) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- IF2 (0,i1b) (i3a,0) <br/></td>
            </tr>
            <tr>
              <td align="left">UDP</td>
              <td align="left">P<sub>S</sub> = 30041, P<sub>D</sub> = 30041 <br/></td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 203.0.113.6 (Endpoint A) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 203.0.113.17 (Router 1) <br/></td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=A, DST=R1</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 2</em> <br/> <strong>R1-&gt;R2</strong>: Router 1 inspects the SCION header and considers the relevant Info Field of the specified SCION path, which is the Info Field indicated by the current Info Field pointer. In this case, it is the first Info Field <em>IF1</em>. The current Hop Field is the first Hop Field (0,i2a), which instructs router 1 to forward the packet on its interface i2a. After reading the current Hop Field, Router 1 moves the pointer forward by one position to the second Hop Field (i1a,0).  </t>
            <t>
The link shown here is an example of not using a UDP/IP underlay. Although most implementations use such an encapsulation, SCION only requires link-layer connectivity. What is used for one given inter-AS link is a function of the available implementations at each end, the available infrastructure, and the joint preference of the two ASes administrators.</t>
          </li>
        </ul>
        <table>
          <name>Snapshot header - step 2</name>
          <thead>
            <tr>
              <th align="left">R1 -&gt; R2</th>
              <th align="left"> </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 (source Endpoint A) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 1-ff00:0:3,192.0.2.7 (dest. Endpoint B) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">PATH = <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- <em>IF1</em> (0,i2a) <strong>(i1a,0)</strong>  <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- IF2 (0,i1b) (i3a,0) <br/></td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R1, DST=R2</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 3</em> <br/> <strong>R2-&gt;R3</strong>: When receiving the packet, Router 2 of Core AS ff00:0:1 checks whether the packet has been received through the ingress interface i1a as specified by the current Hop Field. Otherwise, the packet is dropped by Router 2. The router notices that it has consumed the last Hop Field of the current path segment, and hence moves the pointer from the current Info Field to the next Info Field <em>IF2</em>. The corresponding current Hop Field is (0,i1b), which contains egress interface i1b. Router maps the i1b interface ID to egress Router 3, it therefore encapsulates the SCION packet inside an intra-AS underlay IP packet with the address of Router 3 as the underlay destination.</t>
          </li>
        </ul>
        <table>
          <name>Snapshot header - step 3</name>
          <thead>
            <tr>
              <th align="left">R2 -&gt; R3</th>
              <th align="left"> </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 (source Endpoint A) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 1-ff00:0:3,192.0.2.7 (dest. Endpoint B) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">PATH =  <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- IF1 (0,i2a) (i1a,0) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- <em>IF2</em> <strong>(0,i1b)</strong> (i3a,0) <br/></td>
            </tr>
            <tr>
              <td align="left">UDP</td>
              <td align="left">P<sub>S</sub> = 30041, P<sub>D</sub> = 30041 <br/></td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 198.51.100.1 (Router 2) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 198.51.100.4 (Router 3) <br/></td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R2, DST=R3</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 4</em> <br/> <strong>R3-&gt;R4</strong>: Router 3 inspects the current Hop Field in the SCION header, uses interface i1b to forward the packet to its neighbor SCION-enabled Router 4 of AS ff00:0:3, and moves the current hop-field pointer forward. It adds an IP header to reach Router 4.</t>
          </li>
        </ul>
        <table>
          <name>Snapshot header - step 4</name>
          <thead>
            <tr>
              <th align="left">R3 -&gt; R4</th>
              <th align="left"> </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 (source Endpoint A) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 1-ff00:0:3,192.0.2.7 (dest. Endpoint B) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">PATH =  <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- IF1 (0,i2a) (i1a,0) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- <em>IF2</em> (0,i1b) <strong>(i3a,0)</strong> <br/></td>
            </tr>
            <tr>
              <td align="left">UDP</td>
              <td align="left">P<sub>S</sub> = 30041, P<sub>D</sub> = 30041 <br/></td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 198.51.100.17 (Router 3) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 198.51.100.18 (Router 4) <br/></td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R3, DST=R4</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 5</em> <br/> <strong>R4-&gt;B</strong>: SCION-enabled Router 4 first checks whether the packet has been received through the ingress interface i3a as specified by the current Hop Field. Router 4 will then also realize, based on the fields <tt>CurrHF</tt> and <tt>SegLen</tt> in the SCION header, that the packet has reached the last hop in its SCION path. Therefore, instead of stepping up the pointers to the next Info Field or Hop Field, Router 4 inspects the SCION destination address and extracts the endpoint address 192.0.2.7. It creates a fresh underlay UDP/IP header with this address as destination and with itself as source. The intra-domain forwarding can now deliver the packet to its destination at Endpoint B.</t>
          </li>
        </ul>
        <table>
          <name>Snapshot header - step 5</name>
          <thead>
            <tr>
              <th align="left">R4 -&gt; B</th>
              <th align="left"> </th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 (source Endpoint A) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 1-ff00:0:3,192.0.2.7 (dest. Endpoint B) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">PATH =  <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- IF1 (0,i2a) (i1a,0) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">- <em>IF2</em> (0,i1b) <strong>(i3a,0)</strong> <br/></td>
            </tr>
            <tr>
              <td align="left">UDP</td>
              <td align="left">P<sub>S</sub> = 30041, P<sub>D</sub> = 30041 <br/></td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 192.0.2.34 (Router 4) <br/></td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">DST = 192.0.2.7 (Endpoint B) <br/></td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R4, DST=B</td>
            </tr>
          </tbody>
        </table>
        <t>When destination Endpoint B wants to respond to source Endpoint A, it can just swap the source and destination addresses in the SCION header, reverse the SCION path, and set the pointers to the Info Fields and Hop Fields at the beginning of the reversed path (see also <xref target="reverse"/>).</t>
      </section>
    </section>
    <section anchor="path-auth">
      <name>Path Authorization</name>
      <t>Path authorization guarantees that data packets always traverse the network along paths segments authorized by all on-path ASes in the control plane. In contrast to the IP-based Internet where forwarding decisions are made by routers based on locally stored information, SCION routers base their forwarding decisions purely on the forwarding information carried in the packet header and set by endpoints.</t>
      <t>SCION uses cryptographic mechanisms to efficiently provide path authorization. The mechanisms are based on <em>symmetric</em> cryptography in the form of Message Authentication Codes (MACs) in the data plane to secure forwarding information encoded in Hop Fields. This section first explains how Hop Field MACs are computed, then how they are validated as they traverse the network.</t>
      <section anchor="auth-chained-macs">
        <name>Authorizing Segments through Chained MACs</name>
        <t>When authorizing SCION PCBs and path segments in the control plane and forwarding information in the data plane, an AS authenticates not only its own hop information but also an aggregation of all upstream hops. This section describes how this works.</t>
        <section anchor="hf-mac-overview">
          <name>Hop Field MAC Overview</name>
          <t>The MAC in the Hop Fields of a SCION path has two purposes:</t>
          <ul spacing="normal">
            <li>
              <t>Preventing malicious endpoints from adding, removing or reordering hops within a path segment created during beaconing in the control plane. In particular, preventing path splicing, i.e. the combination of parts of different valid path segments into a new and unauthorized path segment.</t>
            </li>
            <li>
              <t>Authentication of the information contained in the Hop Field itself, in particular the <tt>ExpTime</tt>, <tt>ConsIngress</tt>, and <tt>ConsEgress</tt>.</t>
            </li>
          </ul>
          <t>To fulfill these purposes, the MAC for the Hop Field of AS<sub>i</sub> includes both the components of the current Hop Field HF<sub>i</sub> and an aggregation of the path segment identifier and all preceding Hop Fields/entries in the path segment. The aggregation is a 16-bit XOR-sum of the path segment identifier and the Hop Field MACs.</t>
          <t>When originating a path segment construction beacon PCB in the control plane, a core AS chooses a random 16-bit value as segment identifier <tt>SegID</tt> for the path segment and includes it in the PCB's <tt>Segment Info</tt> component. In the control plane, each AS<sub>i</sub> on the path segment computes the MAC for the current HF<sub>i</sub>, based on the value of <tt>SegID</tt> and the MACs of the preceding hop entries. Here, the full XOR-sum is computed explicitly.</t>
          <t>For high-speed packet processing in the data plane, computing even cheap operations such as the XOR-sum over a variable number of inputs is complicated, in particular for hardware router implementations. To avoid this overhead for the MAC chaining in path authorization in the data plane, the XOR-sum is tracked incrementally for each of the path segments in a path as a separate, updatable Accumulator Field <tt>Acc</tt>. The routers update <tt>Acc</tt> by adding/subtracting only a single 16-bit value each.</t>
          <t>When combining path segments to create a path to the destination endpoint, the source endpoint <bcp14>MUST</bcp14> also initialize the value of accumulator field <tt>Acc</tt> for each path segment. The <tt>Acc</tt> field <bcp14>MUST</bcp14> contain the correct XOR-sum of the path segment identifier and preceding Hop Field MACs expected by the first router that is traversed.</t>
          <t>The aggregated 16-bit path segment identifier and preceding MACs prevent splicing of different path segments unless there is a collision of the <tt>Acc</tt> value among compatible path segments in an AS. See <xref target="path-splicing"/> for more details.</t>
          <section anchor="hf-mac-calc">
            <name>Hop Field MAC - Calculation</name>
            <t>The Hop Field MAC is generally calculated at a current AS<sub>i</sub> as follows:</t>
            <ul spacing="normal">
              <li>
                <t>Consider a path segment with "n" hops, containing ASes AS<sub>0</sub>, ... , AS<sub>n-1</sub>, with forwarding keys K<sub>0</sub>, ... , K<sub>n-1</sub> in this order.</t>
              </li>
              <li>
                <t>AS<sub>0</sub> is the core AS that created the PCB representing the path segment and that added a random initial 16-bit segment identifier <tt>SegID</tt> to the <tt>Segment Info</tt> field of the PCB.</t>
              </li>
            </ul>
            <t>MAC<sub>i</sub> = <br/> Ck<sub>i</sub> (<tt>SegID</tt> XOR MAC<sub>0</sub> [:2] ... XOR MAC<sub>i-1</sub> [:2], Timestamp, ExpTime<sub>i</sub>, ConsIngress<sub>i</sub>, ConsEgress<sub>i</sub>)</t>
            <t>where</t>
            <ul spacing="normal">
              <li>
                <t>k<sub>i</sub> = The forwarding key k of the current AS<sub>i</sub></t>
              </li>
              <li>
                <t>Ck<sub>i</sub> (...) = Cryptographic checksum C over (...) computed with forwarding key k<sub>i</sub></t>
              </li>
              <li>
                <t><tt>SegID</tt> = The random initial 16-bit segment identifier set by the core AS when creating the corresponding PCB</t>
              </li>
              <li>
                <t>XOR = The bitwise "exclusive or" operation</t>
              </li>
              <li>
                <t>MAC<sub>i</sub> [:2] = The Hop Field MAC for AS<sub>i</sub>, truncated to 2 bytes</t>
              </li>
              <li>
                <t>Timestamp = The timestamp set by the core AS when creating the corresponding PCB</t>
              </li>
              <li>
                <t>ExpTime<sub>i</sub>, ConsIngress<sub>i</sub>, ConsEgress<sub>i</sub> = The content of the Hop Field HF<sub>i</sub></t>
              </li>
            </ul>
            <t>Thus, the current MAC is based on the XOR-sum of the truncated MACs of all preceding Hop Fields in the path segment as well as the path segment's <tt>SegID</tt>. In other words, the current MAC is <em>chained</em> to all preceding MACs. In order to effectively prevent path-splicing, the cryptographic checksum function used <bcp14>MUST</bcp14> ensure that the truncation of the MACs is non-degenerate and roughly uniformly distributed (see <xref target="mac-requirements"/>).</t>
          </section>
          <section anchor="def-acc">
            <name>Accumulator Acc - Definition</name>
            <t>The Accumulator Acc<sub>i</sub> is an updatable counter introduced in the data plane to avoid the overhead caused by MAC-chaining for path authorization. This is achieved by incrementally tracking the XOR-sum of the previous MACs as a separate, updatable accumulator field <tt>Acc</tt>, which is part of the path segment's Info Field <tt>InfoField</tt> in the packet header (see also <xref target="inffield"/>). Routers update this field by adding/subtracting only a single 16-bit value each.</t>
            <t><xref target="hf-mac-calc"/> provides a general formula to compute MAC<sub>i</sub>, but at each SCION router the expression <tt>SegID XOR MAC_0 [:2] ... XOR MAC_i-1 [:2]</tt> is replaced by Acc<sub>i</sub>. This results in the following alternative procedure for the computation of MAC<sub>i</sub> at SCION routers:</t>
            <t>MAC<sub>i</sub> = Ck<sub>i</sub> (Acc<sub>i</sub>, Timestamp, ExpTime<sub>i</sub>, ConsIngress<sub>i</sub>, ConsEgress<sub>i</sub>)</t>
            <t>During forwarding, SCION routers at each AS<sub>i</sub> update the Acc field in the packet header so that it contains the correct input value of Acc for the next AS in the path segment to be able to calculate the MAC over its Hop Field. Note that the correct input value of the <tt>Acc</tt> field depends on the direction of travel.</t>
            <t>The value of Acc<sub>i+1</sub> is calculated based on the following definition (in the direction of beaconing):</t>
            <t>Acc<sub>i+1</sub> = Acc<sub>i</sub> XOR MAC<sub>i</sub> [:2]</t>
            <ul spacing="normal">
              <li>
                <t>XOR = The bitwise "exclusive or" operation</t>
              </li>
              <li>
                <t>MAC<sub>i</sub> [:2] = The Hop Field MAC for the current AS<sub>i</sub>, truncated to 2 bytes</t>
              </li>
            </ul>
          </section>
          <section anchor="hop-field-mac-algorithm">
            <name>Hop Field MAC Algorithm</name>
            <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 as described below.</t>
            <section anchor="default-hop-field-mac-algorithm">
              <name>Default Hop Field MAC Algorithm</name>
              <t>The default MAC algorithm is AES-CMAC (<xref target="RFC4493"/>) truncated to 48-bits, computed over the Info Field and the first 6 bytes of the Hop Field with flags and reserved fields zeroed out. The input is padded to 16 bytes. The <em>first</em> 6 bytes of the AES-CMAC output are used as resulting Hop Field MAC.</t>
              <t><xref target="_figure-18"/> below shows the layout of the input data to calculate the Hop Field MAC.</t>
              <figure anchor="_figure-18">
                <name>Input data to calculate the Hop Field MAC for the default hop-field MAC algorithm</name>
                <artset>
                  <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="608" viewBox="0 0 608 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,128 L 136,160" fill="none" stroke="black"/>
                      <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                      <path d="M 264,128 L 264,192" fill="none" stroke="black"/>
                      <path d="M 520,64 L 520,192" fill="none" stroke="black"/>
                      <path d="M 552,64 L 552,192" fill="none" stroke="black"/>
                      <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                      <path d="M 536,64 L 552,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 536,128 L 552,128" fill="none" stroke="black"/>
                      <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
                      <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
                      <path d="M 536,192 L 552,192" fill="none" stroke="black"/>
                      <polygon class="arrowhead" points="544,192 532,186.4 532,197.6" fill="black" transform="rotate(180,536,192)"/>
                      <polygon class="arrowhead" points="544,128 532,122.4 532,133.6" fill="black" transform="rotate(180,536,128)"/>
                      <polygon class="arrowhead" points="544,64 532,58.4 532,69.6" fill="black" transform="rotate(180,536,64)"/>
                      <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="136" y="84">0</text>
                        <text x="368" y="84">Acc</text>
                        <text x="580" y="84">Info</text>
                        <text x="584" y="100">Field</text>
                        <text x="264" y="116">Timestamp</text>
                        <text x="72" y="148">0</text>
                        <text x="200" y="148">ExpTime</text>
                        <text x="392" y="148">ConsIngress</text>
                        <text x="576" y="148">Hop</text>
                        <text x="584" y="164">Field</text>
                        <text x="132" y="180">ConsEgress</text>
                        <text x="392" y="180">0</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+
|               0               |           Acc                 |   | Info
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   | Field
|                           Timestamp                           |   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+
|       0       |    ExpTime    |          ConsIngress          |   | Hop
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   | Field
|          ConsEgress           |               0               |   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+

]]></artwork>
                </artset>
              </figure>
            </section>
            <section anchor="mac-requirements">
              <name>Alternative Hop Field MAC Algorithms</name>
              <t>For alternative MAC algorithms, the following requirements <bcp14>MUST</bcp14> all be met:</t>
              <ul spacing="normal">
                <li>
                  <t>The Hop Field MAC field is computed as a function of the secret forwarding key, the <tt>Acc</tt> and <tt>Timestamp</tt> fields of the Info Field, and the <tt>ExpTime</tt>, <tt>ConsIngress</tt> and <tt>ConsEgress</tt> fields of the Hop Field. Function is used in the mathematical sense that for for any values of these inputs there is exactly one result.</t>
                </li>
                <li>
                  <t>The algorithm returns an unforgable 48-bit value. Unforgable specifically means "existentially unforgable under a chosen message attack" (<xref target="CRYPTOBOOK"/>). Informally, this means an attacker without access to the secret key has no computationally efficient means to create a valid MAC for some attacker chosen input values, even if it has access to an "oracle" providing a valid MAC for any other input values.</t>
                </li>
                <li>
                  <t>The truncation of the result value to the first 16 bits of the result value:
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>is not degenerate, i.e. any small change in any input value <bcp14>SHOULD</bcp14> have an "avalanche effect" on these bits, and</t>
                    </li>
                    <li>
                      <t>is roughly uniformly distributed when considering all possible input values.</t>
                    </li>
                  </ul>
                </li>
              </ul>
              <t>This additional requirement is naturally satisfied for MAC algorithms based on typical block ciphers or hash algorithms. It ensures that the MAC chaining via the <tt>Acc</tt> field is not degenerate.</t>
            </section>
          </section>
        </section>
        <section anchor="peerlink">
          <name>Peering Link MAC Computation</name>
          <t>The Hop Field MAC computation described in <xref target="hf-mac-calc"/> does not apply to a peering Hop Field, i.e. to a Hop Field that allows transiting from a child interface/link to a peering interface/link.</t>
          <t>The reason for this is that the MACs of the Hop Fields "after" the peering Hop Field (in beaconing direction) are not chained to the MAC of the peering Hop Field, but to the MAC of the main Hop Field in the corresponding AS entry. To make this work, the MAC of the peering Hop Field is also chained to the MAC of the main Hop Field - this allows for the validation of the chained MAC for both the peering Hop Field and the following Hop Fields by using the same <tt>Acc</tt> field value.</t>
          <t>The peering Hop Field is defined as follows:</t>
          <t>Hop Field<sup>Peer</sup><sub>i</sub> = (ExpTime<sup>Peer</sup><sub>i</sub>, ConsIngress<sup>Peer</sup><sub>i</sub>, ConsEgress<sup>Peer</sup><sub>i</sub>, MAC<sup>Peer</sup><sub>i</sub>)</t>
          <t>See <xref target="I-D.dekater-scion-controlplane"/> for more information.</t>
          <t>This results in the calculation of the MAC for the peering Hop Field<sup>Peer</sup><sub>i</sub> as follows:</t>
          <t>MAC<sup>Peer</sup><sub>i</sub> = <br/> Ck<sup>Peer</sup><sub>i</sub> (<tt>SegID</tt> XOR MAC<sub>0</sub> [:2] ... XOR MAC<sub>i</sub> [:2], Timestamp, ExpTime<sup>Peer</sup><sub>i</sub>, ConsIngress<sup>Peer</sup><sub>i</sub>, ConsEgress<sup>Peer</sup><sub>i</sub>)</t>
          <t><strong>Note:</strong> The XOR-sum of the MACs in the formula of the peering Hop Field <strong>also includes</strong> the MAC of the main Hop Field (whereas for the calculation of the MAC for the main Hop Field itself only the XOR-sum of the <em>previous</em> MACs is used).</t>
        </section>
      </section>
      <section anchor="packet-verif">
        <name>Path Initialization and Packet Processing</name>
        <t>As described in <xref target="header"/>, the path header of the data plane packets only contains a sequence of Info Fields and Hop Fields without any additional data from the corresponding PCBs. The SCION path also does not contain any AS numbers - except for the source and destination ASes - and there is no field explicitly defining the type of each segment (up, core, or down). This chapter describes the required steps for the source endpoint and SCION routers to respectively craft and forward a data packet.</t>
        <section anchor="initialization-at-source-endpoint">
          <name>Initialization at Source Endpoint</name>
          <t>The source endpoint <bcp14>MUST</bcp14> perform the following steps to correctly initialize a path:</t>
          <ol spacing="normal" type="1"><li>
              <t>Combine the preferred end-to-end path from the path segments obtained during path lookup.</t>
            </li>
            <li>
              <t>Extract the Info Fields and Hop Fields from the different path segments that together build the end-to-end path to the destination endpoint. Then insert the relevant information from the Info Fields and Hop Fields into the corresponding <tt>InfoFields</tt> and <tt>Hopfields</tt> in the data packet header.</t>
            </li>
            <li>
              <t>Each 8-byte Info Field <tt>InfoField</tt> in the packet header contains the updatable <tt>Acc</tt> field as well as a Peering flag <tt>P</tt> and a Construction Direction flag <tt>C</tt> (see also <xref target="inffield"/>). As a next step in the path initialization process, the source <bcp14>MUST</bcp14> correctly set the flags and the <tt>Acc</tt> field of all <tt>InfoFields</tt> included in the path, according to the following rules:
              </t>
              <ul spacing="normal">
                <li>
                  <t>The Construction Direction flag <tt>C</tt> <bcp14>MUST</bcp14> be set to "1" whenever the corresponding segment is traversed in construction direction, i.e., for down-path segments and potentially for core segments. It <bcp14>MUST</bcp14> be set to "0" for up-path segments and "reversed" core segments.</t>
                </li>
                <li>
                  <t>The Peering flag <tt>P</tt> <bcp14>MUST</bcp14> be set to "1" for up-segments and down-segments if the path contains a peering Hop Field.</t>
                </li>
              </ul>
              <t>
The following <tt>InfoField</tt> settings are possible, based on the following cases:  </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Case 1</strong> <br/> The path segment is traversed in construction direction and includes no peering Hop Field. It starts at the <em>i</em>-th AS of the full segment discovered in beaconing. In this case:      </t>
                  <ul spacing="normal">
                    <li>
                      <t>The Peering flag <tt>P</tt> = "0"</t>
                    </li>
                    <li>
                      <t>The Construction Direction flag <tt>C</tt> = "1"</t>
                    </li>
                    <li>
                      <t>The value of the <tt>Acc</tt> = Acc<sub>i</sub>. For more details, see <xref target="def-acc"/>.</t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t><strong>Case 2</strong> <br/> The path segment is traversed in construction direction and includes a peering Hop Field (which is the first Hop Field of the segment). It starts at the <em>i</em>-th AS of the full segment discovered in beaconing. In this case:      </t>
                  <ul spacing="normal">
                    <li>
                      <t>The Peering flag <tt>P</tt> = "1"</t>
                    </li>
                    <li>
                      <t>The Construction Direction flag <tt>C</tt> = "1"</t>
                    </li>
                    <li>
                      <t>The value of the <tt>Acc</tt> = Acc<sub>i+1</sub>. For more details, see <xref target="def-acc"/>.</t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t><strong>Case 3</strong> <br/> The path segment is traversed against construction direction. The full segment has "n" hops. In this case:      </t>
                  <ul spacing="normal">
                    <li>
                      <t>The Peering flag <tt>P</tt> = "0" or "1" (depending on whether the last Hop Field in the up-segment is a peering Hop Field)</t>
                    </li>
                    <li>
                      <t>The Construction Direction flag <tt>C</tt> = "0"</t>
                    </li>
                    <li>
                      <t>The value of the <tt>Acc</tt> = Acc<sub>n-1</sub>. This is because seen from the direction of beaconing, the source endpoint is the last AS in the path segment. For more details, see <xref target="hf-mac-calc"/> and <xref target="def-acc"/>.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>
              <t>Besides setting the flags and the <tt>Acc</tt> field, the source endpoint <bcp14>MUST</bcp14> also set the pointers in the <tt>CurrInf</tt> and <tt>CurrHF</tt> fields of the Path Meta Header <tt>PathMetaHdr</tt> (see <xref target="PathMetaHdr"/>). As the source endpoint builds the starting point of the forwarding, both pointers <bcp14>MUST</bcp14> be set to "0".</t>
            </li>
          </ol>
        </section>
        <section anchor="process-router">
          <name>Processing at Routers</name>
          <t>During forwarding, each SCION router verifies the path contained in the packet header. Each SCION router also <bcp14>MUST</bcp14> correctly verify or set the value of the Accumulator in the <tt>Acc</tt> field for the next AS to be able to verify its Hop Field. The exact operations differ based on the location of the AS on the path.</t>
          <t>The processing of SCION packets for ASes where a peering link is crossed between path segments is a special case. A path containing a peering link contains exactly two path segments, one against construction direction (up) and one in construction direction (down). On the path segment against construction direction (up), the peering Hop Field is the last hop of the segment. In construction direction (down), the peering Hop Field is the first hop of the segment.</t>
          <t>The following sections describe the tasks to be performed by the ingress and egress border routers of each on-path AS. Each operation is described from the perspective of AS<sub>i</sub>, where i belongs to [0 ... n-1], and n == the number of ASes in the path segment (counted from the first AS in the beaconing direction).</t>
          <section anchor="process-router-ingress">
            <name>Steps at Ingress Border Router</name>
            <t>A SCION ingress border router <bcp14>MUST</bcp14> perform the following steps when it receives a SCION packet:</t>
            <ol spacing="normal" type="1"><li>
                <t>Check that the interface through which the packet was received is equal to the ingress interface in the current Hop Field. If not, the router <bcp14>MUST</bcp14> drop the packet.</t>
              </li>
              <li>
                <t>If there is a segment switch at the current router, check that the ingress and egress interface links are either:  </t>
                <ul spacing="normal">
                  <li>
                    <t>Both core</t>
                  </li>
                  <li>
                    <t>Parent-child or vice-versa</t>
                  </li>
                  <li>
                    <t>Peering-child or vice-versa</t>
                  </li>
                </ul>
                <t>
Link types above are defined in 'Path and Links' in <xref target="I-D.dekater-scion-controlplane"/>. This check prevents valley use of peering links or hair-pin segments.</t>
              </li>
              <li>
                <t>Check if the current Hop Field is expired or originated in the future, i.e. the current Info Field <bcp14>MUST NOT</bcp14> have a timestamp in the future, as defined in <xref target="inffield"/>. If either is true, the router <bcp14>MUST</bcp14> drop the packet.</t>
              </li>
              <li>
                <t>If the packet traverses the path segment <strong>against construction direction</strong> (Construction Direction flag <tt>C</tt> = "0") perform this step:  </t>
                <ul spacing="normal">
                  <li>
                    <t><strong>Case 1</strong> <br/> The path segment includes <strong>no peering Hop Field</strong> (Peering flag <tt>P</tt> = "0"). In this case, the ingress border router <bcp14>MUST</bcp14> take the following step(s):      </t>
                    <ul spacing="normal">
                      <li>
                        <t>Compute the value of the Accumulator Acc as follows:          </t>
                        <t>
Acc = Acc<sub>i+1</sub> XOR MAC<sub>i</sub> <br/>
  where <br/>
  Acc<sub>i+1</sub> = the current value of the field <tt>Acc</tt> in the current Info Field <br/>
  MAC<sub>i</sub> = the value of MAC<sub>i</sub> in the current Hop Field representing AS<sub>i</sub>          </t>
                        <t><strong>Note:</strong> In the case described here, the packet travels against direction of beaconing, i.e. the packet comes from AS<sub>i+1</sub> and will enter AS<sub>i</sub>. This means that the <tt>Acc</tt> field of this incoming packet represents the value of Acc<sub>i+1</sub>, but to compute the MAC<sub>i</sub> for the current AS<sub>i</sub>, we need the value of Acc<sub>i</sub> (see <xref target="def-acc"/>). As the border router knows that the formula for Acc<sub>i+1</sub> = Acc<sub>i</sub> XOR MAC<sub>i</sub> [:2] (see also <xref target="def-acc"/>), and because the values of Acc<sub>i+1</sub> and MAC<sub>i</sub> are known, the router will be able to recover the value Acc<sub>i</sub> based on the aforementioned formula for Acc.</t>
                      </li>
                      <li>
                        <t>Replace the current value of the field <tt>Acc</tt> in the current Info Field with the newly calculated value of Acc.</t>
                      </li>
                      <li>
                        <t>Compute the MAC<sup>Verify</sup><sub>i</sub> over the Hop Field of the current AS<sub>i</sub>. For this, use the formula in <xref target="hf-mac-calc"/>, but replace <tt>SegID XOR MAC_0[:2] ... XOR MAC_i-1 [:2]</tt> in the formula with the value of Acc as just set in the <tt>Acc</tt> field in the current Info Field.</t>
                      </li>
                      <li>
                        <t>If the MAC<sub>i</sub> in the current Hop Field does not match the just calculated MAC<sup>Verify</sup><sub>i</sub>, drop the packet.</t>
                      </li>
                      <li>
                        <t>If the current Hop Field is the last Hop Field in the path segment as determined by the value of the current <tt>SegLen</tt> and other metadata in the path meta header, increment both <tt>CurrInf</tt> and <tt>CurrHF</tt> in the path meta header. Proceed with step 5.</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t><strong>Case 2</strong> <br/> The path segment includes a <strong>peering Hop Field</strong> (<tt>P</tt> = "1"), but the current hop is <strong>not</strong> the peering hop (i.e. the current hop is <strong>neither</strong> the last hop of the first segment <strong>nor</strong> the first hop of the second segment). In this case, the ingress border router needs to perform the steps previously described for the path segment without peering Hop Field, but the border router <bcp14>MUST NOT</bcp14> increment <tt>CurrInf</tt> and <bcp14>MUST NOT</bcp14> increment <tt>CurrHF</tt> in the path meta header. Proceed with step 5.</t>
                  </li>
                  <li>
                    <t><strong>Case 3</strong> <br/> The path segment includes a <strong>peering Hop Field</strong> (<tt>P</tt> = "1"), and the current Hop Field <em>is</em> the peering Hop Field (i.e. the current hop is <strong>either</strong> the last hop of the first segment <strong>or</strong> the first hop of the second segment). In this case, the ingress border router <bcp14>MUST</bcp14> take the following step(s):      </t>
                    <ul spacing="normal">
                      <li>
                        <t>Compute MAC<sup>Peer</sup><sub>i</sub>. For this, use the formula in <xref target="peerlink"/>, but replace <tt>SegID XOR MAC_0[:2] ... XOR MAC_i [:2]</tt> in the formula with the value of Acc as set in the <tt>Acc</tt> field in the current Info Field (this is the value of Acc as it comes with the packet).</t>
                      </li>
                      <li>
                        <t>If the MAC<sub>i</sub> in the current Hop Field does not match the just calculated MAC<sup>Peer</sup><sub>i</sub>, drop the packet.</t>
                      </li>
                      <li>
                        <t>Increment both <tt>CurrInf</tt> and <tt>CurrHF</tt> in the path meta header. Proceed with step 5.</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
              <li>
                <t>Forward the packet to the egress border router (based on the egress Interface ID in the current Hop Field) or to the destination endpoint, if this is the destination AS.</t>
              </li>
            </ol>
          </section>
          <section anchor="steps-at-egress-border-router">
            <name>Steps at Egress Border Router</name>
            <t>A SCION egress border router <bcp14>MUST</bcp14> perform the following steps when it receives a SCION packet:</t>
            <ol spacing="normal" type="1"><li>
                <t>Check the settings of the Construction Direction flag <tt>C</tt> and the Peering flag <tt>P</tt> in the currently valid Info Field. The following cases are possible:  </t>
                <ul spacing="normal">
                  <li>
                    <t><strong>Case 1</strong> <br/> The packet traverses the path segment in <strong>construction direction</strong> (<tt>C</tt> = "1"). The path segment either includes <strong>no peering Hop Field</strong> (<tt>P</tt> = "0") or the path segment does include a <strong>peering Hop Field</strong> (<tt>P</tt> = "1"), but the current hop is not the peering hop (i.e. the current hop is <strong>neither</strong> the last hop of the first segment <strong>nor</strong> the first hop of the second segment). In this case, the egress border router <bcp14>MUST</bcp14> take the following step(s):      </t>
                    <ul spacing="normal">
                      <li>
                        <t>Compute MAC<sup>Verify</sup><sub>i</sub> over the Hop Field of the current AS<sub>i</sub>. For this, use the formula in <xref target="hf-mac-calc"/>, but replace <tt>SegID XOR MAC_0[:2] ... XOR MAC_i-1 [:2]</tt> in the formula with the value of Acc as set in the <tt>Acc</tt> field in the current Info Field.</t>
                      </li>
                      <li>
                        <t>If the just calculated MAC<sup>Verify</sup><sub>i</sub> does not match the MAC<sub>i</sub> in the Hop Field of the current AS<sub>i</sub>, drop the packet.</t>
                      </li>
                      <li>
                        <t>Compute the value of Acc<sub>i+1</sub>. For this, use the formula in <xref target="def-acc"/>. Replace Acc<sub>i</sub> in the formula with the current value of Acc as set in the <tt>Acc</tt> field of the current Info Field.</t>
                      </li>
                      <li>
                        <t>Replace the value of the <tt>Acc</tt> field in the current Info Field with the just calculated value of Acc<sub>i+1</sub>.</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t><strong>Case 2</strong> <br/> The packet traverses the path segment in <strong>construction direction</strong> (<tt>C</tt> = "1") where the path segment includes a <strong>peering Hop Field</strong> (<tt>P</tt> = "1") and the current Hop Field <em>is</em> the peering Hop Field (i.e. the current hop is <strong>either</strong> the last hop of the first segment <strong>or</strong> the first hop of the second segment). In this case, the egress border router <bcp14>MUST</bcp14> take the following steps:      </t>
                    <ul spacing="normal">
                      <li>
                        <t>Compute MAC<sup>Peer</sup><sub>i</sub>. For this, use the formula in <xref target="peerlink"/>, but replace <tt>SegID XOR MAC_0 [:2] ... XOR MAC_i [:2]</tt> with the value in the <tt>Acc</tt> field of the current Info Field.</t>
                      </li>
                      <li>
                        <t>If the MAC<sub>i</sub> in the Hop Field of the current AS<sub>i</sub> does not match the just calculated MAC<sup>Peer</sup><sub>i</sub>, drop the packet.</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t><strong>Case 3</strong> <br/> The packet traverses the path segment <strong>against construction direction</strong> (<tt>C</tt> = "0" and <tt>P</tt> = "0" or "1"). In this case, proceed with Step 3.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Increment <tt>CurrHF</tt> in the path meta header.</t>
              </li>
              <li>
                <t>Forward the packet to the neighbor AS.</t>
              </li>
            </ol>
          </section>
          <section anchor="effects-of-clock-inaccuracy">
            <name>Effects of Clock Inaccuracy</name>
            <t>A PCB originated by a given control service is used to construct data plane paths. Specifically, the timestamp in the Info Field and the expiry time of Hop Fields are used for Hop Field MAC computation, see <xref target="hf-mac-calc"/>, which is used to validate paths at each on-path SCION router. A segment's originating control service and the routers that the segment refers to all have different clocks. Their differences affect the validation process:</t>
            <ul spacing="normal">
              <li>
                <t>A fast clock at origination or a slow clock at validation 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 validation 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, one minute). As a result of this and the way they are iteratively constructed, PCBs with N hops may become available for path construction up to N intervals (so typically 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="hopfld"/>) would render useless any path segment longer than 5 hops. For this reason, it is unadvisable to create hops with a short expiration time. The norm is 6 hours.</t>
            <t>In comparison to these time scales, clock offsets in the order of minutes are immaterial.</t>
            <t>Each administrator of SCION control services and routers is responsible for maintaining sufficient clock accuracy. No particular method is assumed for this.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <section anchor="mtu">
        <name>MTU</name>
        <t>SCION requires its underlay protocol to provide a minimum MTU of 1232 bytes. This number results from 1280, the minimum IPv6 MTU as of <xref target="RFC2460"/>), minus 48, assuming UDP/IPv6 as underlay. Higher layer protocols such as SCMP rely only on such minimum MTU.</t>
        <t>The MTU of a SCION path is defined as the minimum of the MTUs of the intra-AS and inter-AS links traversed by that path. The control plane disseminates such values and makes them available to the source endpoint (see 'Path MTU in <xref target="I-D.dekater-scion-controlplane"/>).</t>
        <t>The MTU of each link may be discovered or administratively configured (current practice is for it to be configured). It must be less than or equal to the MTU of the link's underlay encapsulation or native link-layer in either direction.</t>
        <t>SCION assumes that the MTUs of a path segment remains correct for the life time of that segment. This is generally a safe assumption because:</t>
        <ul spacing="normal">
          <li>
            <t>Intra-AS network MTUs are a result of the network configuration of each AS and therefore predictable.</t>
          </li>
          <li>
            <t>Inter-AS links MTU are normally under the joint control of the administrators of the two ASes involved and therefore equally predictable.</t>
          </li>
        </ul>
        <t>Should the inter-AS link MTU be unpredictable (e.g. because the inter-AS link is deployed as an overlay), then the link's MTU <bcp14>MUST</bcp14> be configured statically to a conservative value. For a UDP/IP underlay, 1232 is a safe value.</t>
      </section>
      <section anchor="fragmentation">
        <name>Packet Fragmentation</name>
        <t>The SCION network layer does not support packet fragmentation; not even at the source endpoint. Upper layer protocols and applications <bcp14>MUST</bcp14> comply with the MTU of the paths that they use.</t>
        <t>SCION is agnostic to datagram fragmentation by the underlay network layer, (e.g. used for intra-AS communication). Implementations <bcp14>SHOULD</bcp14> allow MTU discovery mechanisms such as <xref target="RFC4821"/> to be enabled in the underlay and avoid fragmentation. For inter-AS links, using a different configuration is the joint decision of the administrators of the two ASes involved. For intra-AS interfaces using a different configuration is the choice of that AS' administrator alone.</t>
      </section>
      <section anchor="sig">
        <name>SCION IP Gateway</name>
        <t>The SCION IP Gateway (SIG) enables IP packets to be tunneled over SCION to support communication between hosts that do not run a SCION implementation. A SIG acts as a router from the perspective of IP, whilst acting as SCION endpoint from the perspective of the SCION network. It is typically deployed inside the same AS-internal network as its non-SCION hosts, or at the edge of an enterprise network. Tunneling IP traffic over SCION requires a pair of SIGs: at the ingress and egress points of the SCION network.</t>
        <t>IP tunneling over SCION is an application from the perspective of the Data Plane and is outwith the scope of this document.</t>
        <t>More information about the reference open source SCION IP Gateway implementation can be found at <xref target="SIG"/>.</t>
      </section>
    </section>
    <section anchor="handling-link-failures">
      <name>Handling Link Failures</name>
      <section anchor="scion-bfd">
        <name>Link Failure Detection - BFD</name>
        <t>To detect link failures quickly and reliably, SCION uses the Bidirectional Forwarding Detection (BFD) protocol (<xref target="RFC5880"/>) on links between SCION routers. If a router does not receive a BFD message from its peer at some regular interval, it considers the link to be down (in both directions) until messages are received again.</t>
        <t>A SCION BFD message consists of a SCION packet with a <tt>NextHdr</tt> value of <tt>203</tt> (<tt>BFD/SCION</tt>) and a path type of either <tt>00</tt> (<tt>Empty</tt> - used on intra-AS links) or <tt>2</tt> (<tt>OneHopPath</tt> - used on inter-AS links). The BFD header itself is a BFD Control Header as described in <xref target="RFC5880"/>. More information on one-hop and empty paths is available in <xref target="onehop"/> and <xref target="empty"/>.</t>
        <t>A SCION router <bcp14>SHOULD</bcp14> accept BFD connections from its peers and <bcp14>SHOULD</bcp14> attempt to establish BFD connections to its peers. While a link is considered to be down, a SCION router should drop packets destined to that link. In that case, it <bcp14>SHOULD</bcp14> send a <xref target="link-down-notification">notification</xref> to the originator.</t>
      </section>
      <section anchor="link-down-notification">
        <name>Link Failure Notification - SCMP</name>
        <t>In SCION, an intermediate router cannot change the path followed by a packet, only the source endpoint can chose a different path. Therefore, to enable fast recovery, a router <bcp14>SHOULD</bcp14> signal forwarding failures to the source, via a SCMP notification (see 'SCMP/Error messages' in <xref target="I-D.dekater-scion-controlplane"/>). This allows the source endpoint to quickly switch to a different path. To that end, the source end-point <bcp14>SHOULD</bcp14> give lower preference to the broken path. Current implementations use a negative cache with entries retained for 10s.</t>
        <t>Sending an SCMP error notification is <bcp14>OPTIONAL</bcp14>. Endpoints should therefore implement additional mechanisms to validate or detect link down signals. To reduce exposure to denial-of-service attacks, SCION routers <bcp14>SHOULD</bcp14> employ rate limiting when sending recommended SCMP notifications (especially identical ones). Rate limit policies are up to each AS' administrator.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section describes the possible security risks and attacks that the SCION Data Plane may be prone to, and how these attacks may be mitigated. It first discusses security risks that pertain to path authorization, followed by a section on other forwarding related security considerations.</t>
      <section anchor="path-authorization-1">
        <name>Path Authorization</name>
        <t>A central property of the SCION path-aware data plane is path authorization. Path authorization guarantees that data packets always traverse the network along path segments authorized in the control plane by all on-path ASes. This section discusses how an adversary may attempt to violate the path authorization property, as well as SCION's prevention mechanisms; either an attacker can attempt to create unauthorized Hop Fields, or they can attempt to create illegitimate paths assembled from authentic individual Hop Fields.</t>
        <t>The main protection mechanism is the Hop Field MAC (see <xref target="auth-chained-macs"/>) that authenticates the Hop Field content comprised of ingress/egress interface identifiers, creation and expiration timestamp and the preceding Hop Field MACs in the path segment. Each Hop Field MAC is computed using the secret forwarding key of the respective AS, which is shared across the SCION routers and control plane services within each AS.</t>
        <section anchor="forwarding-key-compromise">
          <name>Forwarding key compromise</name>
          <t>For the current default MAC algorithm - AES-CMAC truncated to 48 bits - key recovery attacks from (any number of) known plaintext/MAC combinations is computationally infeasible as far as publicly known. In addition, the MAC algorithm can be freely chosen by each AS, enabling algorithmic agility for MAC computations. Should a MAC algorithm be discovered to be weak or insecure, each AS can quickly switch to a secure algorithm without the need for coordination with other ASes.</t>
          <t>A more realistic risk to the secrecy of the forwarding key is exfiltration from a compromised router or control plane service. An AS can optionally rotate its forwarding key at regular intervals to limit the exposure after a temporary device compromise. However, such a key rotation scheme cannot mitigate the impact of an undiscovered compromise of a device.</t>
          <t>When an AS's forwarding key is compromised, an attacker can forge Hop Field MACs and undermine path authorization. As path segments are checked for validity and policy compliance during the path discovery phase and during forwarding, routers only validate the MAC and basic validity of the current the Hop Field. Consequently, creating fraudulent Hop Fields with valid MACs allows an attacker to bypass most path segment validity checks and to create path segments that violate the AS's local policy and/or general path segment validity requirements. In particular, an attacker could create paths that include loops (limited by the maximum number of Hop Fields of a path).</t>
          <t>Unless an attacker has access to the forwarding keys of all ASes on the illegitimate path it wants to fabricate, it will need to splice fragments of two legitimate path segments with an illegitimate Hop Field. For this, it needs to create a Hop Field with a MAC that fits into the MAC chain expected by the second path segment fragment. The only input that the attacker can vary relatively freely is the 8-bit <tt>ExpTime</tt>, but the resulting MAC needs to match a specific 16 bit <tt>Acc</tt> value. While there is a low probability of this working for a specific attempt (1/256), the attack will succeed eventually if the attacker can keep retrying over a longer time period or with many different path segment fragments.</t>
          <t>While a forwarding key compromise and the resulting loss of path authorization is a serious degradation of SCION's routing security properties, this does not affect access control or data security for the hosts in the affected AS. Unauthorized paths are available to the attacker, but the routing of packets from legitimate senders is not affected.</t>
        </section>
        <section anchor="forging-hop-field-mac">
          <name>Forging Hop Field MAC</name>
          <t>Another method to break path authorization is to directly forge a Hop Field in an online attack, using the router as an oracle to determine the validity of the Hop Field MAC. The adversary needs to send one packet per guess for verification and for 6-byte MAC, an adversary would need an expected 2<sup>47</sup> (~140 trillion) tries to successfully forge the MAC of a single Hop Field.</t>
          <t>As the router only checks MACs during the encoded validity period of the Hop Field, which is limited by the packet header format to at most 24 hours, these tries need to occur in a limited time period. This results in a seemingly infeasible number of ~1.6e9 guesses per second.</t>
          <t>In the unlikely case that an online brute-force attack succeeds, the obtained Hop Field can be used until its inevitable expiration after the just mentioned 24 hour limit.</t>
        </section>
        <section anchor="path-splicing">
          <name>Path Splicing</name>
          <t>In a path splicing attack, an adversary source endpoint takes valid Hop Fields of multiple path segments and splices them together to obtain a new unauthorized path.</t>
          <t>Candidate path segments for splicing must have at least one AS interface in common as a connection point, and the same origination timestamp as this is directly protected by the Hop Field MAC. This can occur by chance or if the two candidate path segments were originated as the same segment that diverged and converged back.</t>
          <t>The Hop Field MAC protects the 16-bit aggregation of path segment identifier and preceding MACs, see <xref target="auth-chained-macs"/>. This MAC chaining prevents splicing even in the case that the AS interface and segment timestamp match.</t>
          <t>As the segment identifier and aggregation of preceding MACs is only 16-bits wide, a chance collision among compatible path segments can occur rarely. Successful path splicing would allow an attacker to briefly use a path that violates an ASes path policy, e.g. making a special transit link available to a customer AS that is not billed accordingly, or violate general path segment validity requirements. In particular, a spliced path segment could traverse one or multiple links twice. However, creating a loop traversing a link an arbitrary number of times would involve multiple path splices and therefore multiple random collisions happening simultaneously, which is exceedingly unlikely. A wider security margin against path splicing could be obtained by increasing the width of the segment identifier / <tt>Acc</tt> field, e.g. by extending it into the 8-bit reserved field next to it in the Info Field.</t>
        </section>
      </section>
      <section anchor="on-path-attacks">
        <name>On-Path Attacks</name>
        <t>When an adversary sits on the path between the source and destination endpoint, it is able to intercept the data packets that are being forwarded and would allow the adversary to hijack traffic onto a path that is different from the intended one selected by the source endpoint. Possible on-path attacks in the data plane are modifications of the SCION path header and SCION address header, or by simply dropping packets. This kind of attack generally cannot be prevented, although anendpoint can use SCION's path awareness to immediately select an alternate path if available.</t>
        <section anchor="modification-of-the-path-header">
          <name>Modification of the Path Header</name>
          <t>An on-path adversary could modify the SCION path header and replace the remaining part of path segments to the destination with different segments. Such replaced segments must include authorized segments as otherwise the packet would be simply dropped on its way to the destination.</t>
          <t>The already traversed portion of the current segment and past segments can also be modified by the adversary (e.g. by deleting and adding valid and invalid Hop Fields). On reply packets from the destination, the adversary can transparently revert the changes to the path header again. For instance, if an adversary M is an intermediate AS on the path of a packet from A to B, then M can replace the packet’s past path (leading up to, but not including M) where the new path may not be a valid end-to-end path. However, when B reverses the path and sends a reply packet, that packet would go via M which can then transparently change the invalid path back to the valid path to A. In addition, the endpoint address header can also be modified.</t>
          <t>Modifications of the SCION path and address header can be discovered by the destination endpoint by a data integrity protection system. Such a data integrity protection system, loosely analogous to the IPSec Authentication Header, exists for SCION but is out of scope for this document. This is described as the SCION Packet Authentication Option (SPAO) in <xref target="CHUAT22"/>.</t>
          <t>Moreover, packet integrity protection is not enough if there are two colluding adversaries on the path. These colluding adversaries can forward the packet between them using a different path than selected by the source endpoint: The first on-path attacker remodels the packet header arbitrarily, and the second on-path attacker changes the path back to the original source-selected path, such that the integrity check by the destination endpoint succeeds. However, such an attack is of little value. An on-path adversary may inspect/copy/disrupt its traffic without diverting it away from the sender-chosen path. For this reason proof-of-transit, which would be required to detect such an attack, has marginal benefit in the context of SCION and it is not in scope for this document.</t>
        </section>
        <section anchor="payload-integrity">
          <name>Payload Integrity</name>
          <t>An on-path attacker can modify the payload of a SCION packet. Existing higher layer protocols can easily defend against such an attack without any cooperation by the SCION network. For that reason, payload integrity is not in scope for this specification. However, there exists a proposal for an experimental extension to authenticate addresses, provide integrity protection for payloads, and replay protection: SPAO . This is still very experimental and it not used in the production network.</t>
        </section>
      </section>
      <section anchor="off-path-attacks">
        <name>Off-Path Attacks</name>
        <t>SCION's path awareness limits the abilities of an off-path adversary to influence forwarding in the data plane. Once a packet is en-route it will follow its determined path regardless of the actions of the adversary. An adversary can attempt to disrupt the connectivity of the path by flooding a link with excessive traffic (see <xref target="dos"/> below), but after detecting congestion, the endpoint can switch to another non-congested path for subsequent packets.</t>
      </section>
      <section anchor="dos">
        <name>Volumetric Denial of Service Attacks</name>
        <t>An adversary can attempt to disrupt the connectivity of a network path by flooding a link with excessive traffic. In this case, the endpoint can switch to another non-congested path for subsequent packets.</t>
        <t>SCION provides protection against certain reflection-based DoS attacks. Here, the adversary sends requests to a server with the source address set to the address of the victim, and the server will send a reply that is typically larger than the request to the victim. This can be prevented in SCION as long as the attacker and the victim are located in different ASes as the reply packets are simply returned along reversed path to the actual sender regardless of the source address information. Thus, the reply packets will be forwarded to the attacker's AS where they will be discarded because the destination AS does not match.</t>
        <t>However, the path choice of the endpoint may possibly be exploited by an attacker to create intermittent congestion with a relatively low send rate. The attacker can exploit the latency differences of the available paths, sending at precisely timed intervals to cause short, synchronized bursts of packets near the victim.</t>
        <t><strong>Note</strong> SCION does not protect against two other types of DoS attacks, namely transport protocol attacks and application layer attacks. Such attacks are out of SCION's scope although additional information contained in the SCION header enables more targeted filtering, e.g. by ISD, AS or path length.</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-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="I-D.dekater-scion-controlplane">
          <front>
            <title>SCION Control Plane</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="7" month="July" year="2025"/>
            <abstract>
              <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.

   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.

   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-controlplane-09"/>
        </reference>
        <reference anchor="RFC2460">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6), also sometimes referred to as IP Next Generation or IPng. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2460"/>
          <seriesInfo name="DOI" value="10.17487/RFC2460"/>
        </reference>
        <reference anchor="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author fullname="K. Nichols" initials="K." surname="Nichols"/>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </reference>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="RFC4493">
          <front>
            <title>The AES-CMAC Algorithm</title>
            <author fullname="JH. Song" initials="JH." surname="Song"/>
            <author fullname="R. Poovendran" initials="R." surname="Poovendran"/>
            <author fullname="J. Lee" initials="J." surname="Lee"/>
            <author fullname="T. Iwata" initials="T." surname="Iwata"/>
            <date month="June" year="2006"/>
            <abstract>
              <t>The National Institute of Standards and Technology (NIST) has recently specified the Cipher-based Message Authentication Code (CMAC), which is equivalent to the One-Key CBC MAC1 (OMAC1) submitted by Iwata and Kurosawa. This memo specifies an authentication algorithm based on CMAC with the 128-bit Advanced Encryption Standard (AES). This new authentication algorithm is named AES-CMAC. The purpose of this document is to make the AES-CMAC algorithm conveniently available to the Internet Community. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4493"/>
          <seriesInfo name="DOI" value="10.17487/RFC4493"/>
        </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="RFC5880">
          <front>
            <title>Bidirectional Forwarding Detection (BFD)</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5880"/>
          <seriesInfo name="DOI" value="10.17487/RFC5880"/>
        </reference>
        <reference anchor="RFC6437">
          <front>
            <title>IPv6 Flow Label Specification</title>
            <author fullname="S. Amante" initials="S." surname="Amante"/>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <author fullname="J. Rajahalme" initials="J." surname="Rajahalme"/>
            <date month="November" year="2011"/>
            <abstract>
              <t>This document specifies the IPv6 Flow Label field and the minimum requirements for IPv6 nodes labeling flows, IPv6 nodes forwarding labeled packets, and flow state establishment methods. Even when mentioned as examples of possible uses of the flow labeling, more detailed requirements for specific use cases are out of the scope for this document.</t>
              <t>The usage of the Flow Label field enables efficient IPv6 flow classification based only on IPv6 main header fields in fixed positions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6437"/>
          <seriesInfo name="DOI" value="10.17487/RFC6437"/>
        </reference>
        <reference anchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </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="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="ISD-AS-assignments-Anapaya" target="https://docs.anapaya.net/en/latest/resources/isd-as-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="RFC1918">
          <front>
            <title>Address Allocation for Private Internets</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="B. Moskowitz" initials="B." surname="Moskowitz"/>
            <author fullname="D. Karrenberg" initials="D." surname="Karrenberg"/>
            <author fullname="G. J. de Groot" initials="G. J." surname="de Groot"/>
            <author fullname="E. Lear" initials="E." surname="Lear"/>
            <date month="February" year="1996"/>
            <abstract>
              <t>This document describes address allocation for private internets. 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="5"/>
          <seriesInfo name="RFC" value="1918"/>
          <seriesInfo name="DOI" value="10.17487/RFC1918"/>
        </reference>
        <reference anchor="RFC2711">
          <front>
            <title>IPv6 Router Alert Option</title>
            <author fullname="C. Partridge" initials="C." surname="Partridge"/>
            <author fullname="A. Jackson" initials="A." surname="Jackson"/>
            <date month="October" year="1999"/>
            <abstract>
              <t>This memo describes a new IPv6 Hop-by-Hop Option type that alerts transit routers to more closely examine the contents of an IP datagram. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2711"/>
          <seriesInfo name="DOI" value="10.17487/RFC2711"/>
        </reference>
        <reference anchor="RFC4821">
          <front>
            <title>Packetization Layer Path MTU Discovery</title>
            <author fullname="M. Mathis" initials="M." surname="Mathis"/>
            <author fullname="J. Heffner" initials="J." surname="Heffner"/>
            <date month="March" year="2007"/>
            <abstract>
              <t>This document describes a robust method for Path MTU Discovery (PMTUD) that relies on TCP or some other Packetization Layer to probe an Internet path with progressively larger packets. This method is described as an extension to RFC 1191 and RFC 1981, which specify ICMP-based Path MTU Discovery for IP versions 4 and 6, respectively. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4821"/>
          <seriesInfo name="DOI" value="10.17487/RFC4821"/>
        </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="CRYPTOBOOK" target="https://toc.cryptobook.us/">
          <front>
            <title>A Graduate Course in Applied Cryptography</title>
            <author initials="D." surname="Boneh" fullname="Dan Boneh">
              <organization/>
            </author>
            <author initials="V." surname="Shoup" fullname="Victor Shoup">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="PEREIRA2025">
          <front>
            <title>Protocols to Code: Formal Verification of a Secure Next-Generation Internet Router</title>
            <author initials="J." surname="Pereira" fullname="João Pereira">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="T." surname="Klenze" fullname="Tobias Klenze">
              <organization>Independent</organization>
            </author>
            <author initials="S." surname="Giampietro" fullname="Sofia Giampietro">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="M." surname="Limbeck" fullname="Markus Limbeck">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="" surname="Dionysios Spiliopoulos" fullname="D. Spiliopoulos">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="F." surname="Wolf" fullname="Felix Wolf">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="M." surname="Eilers" fullname="Marco Eilers">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="C." surname="Sprenger" fullname="Christoph Sprenger">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="D." surname="Basin" fullname="David Basin">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="P." surname="Müller" fullname="Peter Müller">
              <organization>ETH Zürich</organization>
            </author>
            <author initials="A." surname="Perrig" fullname="Adrian Perrig">
              <organization>ETH Zürich</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="SCIONLAB_WEBSITE" target="https://www.scionlab.org/">
          <front>
            <title>SCIONLab website</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </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">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="" surname="SCION">
              <organization>SCION Association</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1594?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks go to Harald Alvestrand (Google), Joel Halpern (Ericsson), Michael McBride (Futurewei), Ron Bonica (Juniper) for reviewing this document. We also thank Matthias Frei (SCION Association), Juan A. Garcia Prado (ETH Zurich) and Kevin Meynell (SCION Association), Adrian Perrig (ETH Zurich) for providing inputs to this document. We also thank the Information Security Group at ETH Zurich for their inputs based on their formal verification work of the SCION open source router implementation <xref target="PEREIRA2025"/>. Finally, we are indebted to the SCION development teams of Anapaya, ETH Zurich, and SCION Association for their practical knowledge and for the documentation about the SCION Data 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 at <xref target="SCIONLAB_WEBSITE"/> and in the <xref target="SCIONLAB"/> paper.</t>
    </section>
    <section numbered="false" anchor="protnum">
      <name>Assigned SCION Protocol Numbers</name>
      <t>This appendix lists the assigned SCION protocol numbers.</t>
      <section numbered="false" anchor="considerations">
        <name>Considerations</name>
        <t>SCION attempts to take the IANA's assigned Internet protocol numbers into consideration. Widely employed protocols have the same protocol number as the one assigned by IANA. SCION specific protocol numbers start at 200.</t>
        <t>The protocol numbers are used in the SCION header to identify the upper layer protocol.</t>
      </section>
      <section numbered="false" anchor="assignment">
        <name>Assignment</name>
        <table>
          <name>The assigned SCION protocol numbers</name>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Keyword</th>
              <th align="left">Protocol</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-5</td>
              <td align="left"> </td>
              <td align="left">Unassigned</td>
            </tr>
            <tr>
              <td align="left">6</td>
              <td align="left">TCP/SCION</td>
              <td align="left">Transmission Control Protocol over SCION</td>
            </tr>
            <tr>
              <td align="left">7-16</td>
              <td align="left"> </td>
              <td align="left">Unassigned</td>
            </tr>
            <tr>
              <td align="left">17</td>
              <td align="left">UDP/SCION</td>
              <td align="left">User Datagram Protocol over SCION</td>
            </tr>
            <tr>
              <td align="left">18-199</td>
              <td align="left"> </td>
              <td align="left">Unassigned</td>
            </tr>
            <tr>
              <td align="left">200</td>
              <td align="left">HBH</td>
              <td align="left">SCION Hop-by-Hop Options</td>
            </tr>
            <tr>
              <td align="left">201</td>
              <td align="left">E2E</td>
              <td align="left">SCION End-to-End Options</td>
            </tr>
            <tr>
              <td align="left">202</td>
              <td align="left">SCMP</td>
              <td align="left">SCION Control Message Protocol</td>
            </tr>
            <tr>
              <td align="left">203</td>
              <td align="left">BFD/SCION</td>
              <td align="left">BFD over SCION</td>
            </tr>
            <tr>
              <td align="left">204-252</td>
              <td align="left"> </td>
              <td align="left">Unassigned</td>
            </tr>
            <tr>
              <td align="left">253</td>
              <td align="left"> </td>
              <td align="left">Use for experimentation and testing</td>
            </tr>
            <tr>
              <td align="left">254</td>
              <td align="left"> </td>
              <td align="left">Use for experimentation and testing</td>
            </tr>
            <tr>
              <td align="left">255</td>
              <td align="left"> </td>
              <td align="left">Reserved</td>
            </tr>
          </tbody>
        </table>
      </section>
    </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-dataplane-07">
        <name>draft-dekater-scion-dataplane-07</name>
        <ul spacing="normal">
          <li>
            <t>Clarify MTU of reversed paths and MAC algorithm</t>
          </li>
          <li>
            <t>Fix and reduce nested indentations in "Steps at Ingress Border Router"</t>
          </li>
          <li>
            <t>Reference formal verification work and acknowledge reviewers</t>
          </li>
          <li>
            <t>Nits, improve figure 2</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-dataplane-06">
        <name>draft-dekater-scion-dataplane-06</name>
        <ul spacing="normal">
          <li>
            <t>Figures: redraw and add aasvg version when possible</t>
          </li>
          <li>
            <t>Clarify 0 as "unspecified" Interface ID</t>
          </li>
          <li>
            <t>Use ASes within the documentation range in examples</t>
          </li>
          <li>
            <t>Remove one-hop path type figure</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-dataplane-05">
        <name>draft-dekater-scion-dataplane-05</name>
        <ul spacing="normal">
          <li>
            <t>Abstract: mention goal and that document is not an Internet Standard</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-dataplane-04">
        <name>draft-dekater-scion-dataplane-04</name>
        <ul spacing="normal">
          <li>
            <t>Moved SCMP specification to draft-dekater-scion-controlplane</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-dataplane-03">
        <name>draft-dekater-scion-dataplane-03</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>Introduction: clarified document goal and added Figure showing SCION Header within the stack</t>
          </li>
          <li>
            <t>Added section with SCMP specification</t>
          </li>
          <li>
            <t>Added section on Handling Link Failures and BFD</t>
          </li>
          <li>
            <t>Added sections on MTU and fragmentation</t>
          </li>
          <li>
            <t>Clarified router checks in Processing at Routers</t>
          </li>
          <li>
            <t>Security Considerations: add section on Payload Modifications</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Added short section mentioning SCION IP Gateway</t>
          </li>
          <li>
            <t>Clarified the router alert flags and relationship to the ConsIngress/Egress fields.</t>
          </li>
          <li>
            <t>Clarifications in the SCION Header Specification section (router alert flags, service addresses, one-hop paths, text clarifications, validity of peering links)</t>
          </li>
          <li>
            <t>Added mention of why proof of transit is not needed.</t>
          </li>
          <li>
            <t>Rename flow ID to Flow Label and document by reference to <xref target="RFC6437"/>.</t>
          </li>
          <li>
            <t>Added reference to SCIONLab as a testbed for implementors</t>
          </li>
          <li>
            <t>Added J. C. Hugly as author.</t>
          </li>
          <li>
            <t>Introduced this change log</t>
          </li>
          <li>
            <t>Clarify addressing and avoid confusing claim of communication between two endpoints with the same IP (section 1.3.1)</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-dataplane-02">
        <name>draft-dekater-scion-dataplane-02</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>Added overview of SCION components to Introduction section.</t>
          </li>
          <li>
            <t>Introduced AES-CMAC as default MAC algorithm and elaborated on MAC chaining and path splicing.</t>
          </li>
          <li>
            <t>Added section to describe Effects of Clock Inaccuracy / time synchronization requirements</t>
          </li>
          <li>
            <t>Added section to describe required router Configuration</t>
          </li>
          <li>
            <t>Added service field table.</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Removed forward references.</t>
          </li>
          <li>
            <t>General edits to make terminology consistent, remove duplication and rationalize text.</t>
          </li>
          <li>
            <t>Added and capitalized RFC2119 compliant terminology.</t>
          </li>
          <li>
            <t>Clarified implications of AS forwarding key compromise and path splicing in security considerations</t>
          </li>
          <li>
            <t>Clarified the computation of ExtLen.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
rhWwcw13CDt3GzX+kS1b7R8Ey+bUR56ECu11ItEuWHM0oQ4FGnuBt5B4Hilh
sJzBI9udK4n+RPP9KZzQ7AtGwhHQlKWlLG1auwczgKjNV34MSjnB2anqMvUK
kfLKSMKoUZpw3H/uktBRVNuU+z2S7prHn/6H2PN1SvoytFfWPbbqT/vPtyjs
u+OMrew5AJHDn0MQASZ9KwhZ5t9ycO7qvwWEagWjHmsQyPG6d8swFiVwNhDX
I3UYPcLk8tAR11pIJrp6a3oMW+9dYc+bQLQ9y7bdl5XoU7GmWVK5XZrdvWj+
hKGzcVM+WJmAwlEF9o2uI6CQV86gu+nbU2tI7nQGaPHw1Rx8wViOEPVCV+mU
icVHZiCdJeh9xDzvEhRQEbXw4Kg8T7bUwso8aJmol8LYXpOPMbVvwrQ5Jt7a
wNnyMq4Qw5ohOjwvSAZk1sUT9KP39gsVAUhp49Y8IOiAPouWHvrQGWXBvZs1
534mwRFxhQVPN5F1Hr37/cnZ26dv3/6MCi/BuJjhMFIiTJv/yDsSlIjcBLQ9
sjPn7tmiwQpd4FnuKhC0LBMFoq2RHC8C+4/1WpRYMNrMJ2t3pFoscEEpiBPN
NrJrgZVu5qDdTZNN0dTY7ejPgGfHBg93WD2bunGBz04kYi8tHnl6aj277oMH
VJCxp83drVFCa8fCIsoZVZDlVvckly09+V16N1B3G9xaDB/H2QhVRjKxbIrY
XZLYy9V27bSrDR9sKRMrOSuEU0xjLVPOw3QBw7VYUIHm8/SaZOEGuasWhisB
4EoKJ0ZA+6TG0RSWc7pXw2k++hCN0vklCqfkvisvnTcoWpaNP04zLc9Hd5XG
NR2nBnKN+ThJeKsU+4fDHDlq7qd7c/ga81kbfRKuRuzVSqqZCEwpn3g+ny65
N9VcZnaijDnAAr+0E7HZnrwYXDcnJXmPQ0Rg0+l0bEO4H1DurTe8/51ocnDN
Sik5V2mDOAeWdaoINIWq6G2ynhounfQ5G2ditLqOqYUtxkK9KyTPTpoHY9NI
/UEKWq7lzPjGXNBhqJwNeXWxbnBkwny6t05MahXqM+2LDdbQ4+HleJSDS9SW
Qy5GNvqKnjKhIPU1GOXD8F/nEEy/XqOfuUjOvIFPuHFzps+86xgzT4AeO/8R
7wOqsvMfA9PNlrXHtD0VmmdWP/f89sdYK2/7vrOxwS7I28rAWZ+kE0CkJCyw
ho0cr6Q1JNsYkRCsq4DmgXn1Xjw3WetDX+I1W8Nn9jc6z07Y3C0wKrPB3kZv
ogG19apub7tVmUoYcfVN3SLfXmwv6S0HHRIbTqcg63CDPXxbDeLbxu2AkmNH
m0+hXe9YAxtspoaU8j+xYTMY5Iyf9a5gwxNs7VY2sBYuvqdZ2Rhk6FVlc3wF
Gv6sZeHYOonWemypyEUTVkRyG9EuW7q8niawudehO03sGW7BUzyrej07GBUI
dibt6HsgHY+SeWXOoCWYnbzyPSWULFeDeMk00OkHwuZGIZbaGZkLoWnFxsW8
S37CLkoaWMxR21IAwZ5X1CFWQ0ZZmONefRTIX4brtCk+pqCpGtkkmN+4wEYF
cFM3WtYvvKrCSYgyVXTq5wEwrW8MppkD18cQaJ+X8MLJtlhw6xE34IYDI4BY
DfooB2FlRXX3YLU+DAJr6gMQmq5LKfhoQ1DpW67u2d/Y7QPtIYdLoMXV0M+M
3hbawkJLfsGpb8NFOmXmGS5zRTwS4SpqE9z17tIplOOGm9oip+3LNQWy/Bth
vVeqhsI7E/nbc++5boX+xp4UGHxMTVbv5A/z/BDWH+cKC44jODZSMFozo/MT
XmZMZN1EYz4zpnp+6uh8hdvtkEvKfay0PKJFktRHaokZ9MLCJFhLMVRTUKyt
NRTvxQvuQdqpW2Ym76JimEvpxDy0cyymGJ5NutIZW89X7l77c5acJbc52CQN
KlGLso8FJgLDiQTDpXkRr0ZwZl2AWzPXGnhIOH5uNXx8zK0NympSuMCdTSmJ
3DDapibnbAYDWXjUkKQBADK+NzSt38aPOc5ehyHVODyVRZLAGz0hF+9hUlSE
pNuPKKlh3ql5E8tPoRRGm9nePsIEmYFmuZ2Frrf1zsiPEQYOVN8DnoLUPBXt
ajvd7nHZbGHWFG+rE4M2PkKPBE9rFCq/jNaB9CNpOZUneNDuE7fh8RM8OfeF
Bk9hzffWrxVx5irNSAgk/oErW1l4735VeDegDAp5TsmyljKFWm7073U4g295
OOos/YLj2VvveOILvLFVyxmx5OeBDc1xGl15d0RGwQwJyxZ7qTlEw0t2D2oJ
CbW3RIhDXmvI0rnjKeysfwomstOG2QwTis/BM8hcsabJ+90cIZ2WdrfNEQOr
ztyzRuE9ChBhvx89TUqKYhHCuprj3hbFXcsalfVSCQCg4mqPl4IAvi2e1KXX
sAVty3iOn+AH1A5uSzflfCoyR9OiSCqUr/C2kzxK3+gld0JDyDBjFl1noMZs
aFU2oB0aZPTpnkgzPRb8PzeGn9QjfkjZS5Oyxhlb0i9FMPSL4iLYA8GJxl3i
FdLz8PDWjUzT83GEqjBIxQ9IkbGDABS8G+TjcBM7pLOfx5qp74CjeyPNtSit
RiwLZVMHWTVaDhdNSkmntTdcyw9SSz6KMaiu8dYFYexh+3jAHw/0kpzkDmqr
f4kXp1ZbvUuOndUkErVOvoP4bDu32xJ99G1TFOftM3TbbZyGjlxya0OHK2oK
c/uCbhmXmW7DwHyijibKo1rzBqvpcfmhFEwTDdamVaT1lgZBMIsq+DZVW66K
wUY2g6pBxaqv8Lao5/UUvq7gWEpxFChzwgL/1x92yNgGxP6P7H7MoidP+MKY
JCU3Vdw7wC2O9HRWwICzlL3Jmq7xp6ekxccYhc9geMpgkHoJIRnqCeDQnCS3
SEHpwe92wwF5iNJKC8qUYb9Ithxg2K71J7jVpTkXmaU0h6pdUyiL1KhBL+l/
LOBWioLWUKfGLyLvittUJJVR1N0TFix0JiQbxPHEmo9iczDldVphGlrlTaEN
A0bh1tp7bBDJYO0kSXEikXZ63DcHlSz5+yTGOXrsygGqhqFaaP8rY32AL1vj
E/QIOa/QwlVyZwJpXzRRBsKtU3CV+GS5bvcUNYXhniVou0QOMk2WFCSGqb8O
fRR3XVr05mnmKJBoyGCcSNuyXckzPifTGtaUlfxQp5vBgmu/2gzker1HOug3
b8/EN+okBQSDxKULG89yQVjBx8VS7yJZA5lQejr2G2KIuFwPskfD9UrijYX7
1hJHO85NxSR3uKAGxW7XcFWN2t5uUlxxEc3yeCcs6ezegwZqUrEPLiQlW2Xn
wLbV7InXNUj5C2UUDL/yfCpuOA9+2aAINTpDECbey0zfax83xaC62Oet1E1K
DCiUg6W1OepB0h4Mwq/baJ+fABbkInkTWh+M2wbW8sRLkwrsIvO0NEJHm9Zi
Lqe8N8rhAmqHrACOXKcKtMSE8h389QrhkagQJbaBvY/91hlMwgZmmtJpuOJB
sXaQxsfsxtiGsL4t1PcaZWPJwatPpT67UO22mop/XT5kHJ0p21UP2MRNG/mS
WOjASmuWwUKLKqZmD2VzgDc+Wwv5hzuDq848Gqmt/FRRwC7YahJlKIVL9xSD
GCu3IY0CBOOYERcMfZdovONUh196JU293Cy59pNL3UPtt1Ar9ev+hvShBqet
2XxrveMQ+19IWIbtCq9QaIgtYUyWrI9assiqXBHf02qg4CUqALnlAlNJ1aQi
tgLVhdbxpPF2tVIy4yecxZXIibQG52BuA3q3zqRr62ntMtBsUAqz6MYJIPss
zax64qGejm7KHJLCR4KFaYbkjowf2p6RmojF9ogWo0nL6302TmjyKNcc6weS
wQpbrDWwbm83CgbGjim4526XqvWwVFGJT17HwK+2agKcfYHFLnkpVE9ZO7Iy
VJbrkw0KJ/VZcMy8a8orSMtJtXM1INZ71L1PXmWjPDbVDVGPeVtUU43sG7HV
Hrp/3m0P/FIUWGHvvRMKqHWwfp+209JHATderBUR7oQH3wANvkRsXR3cswZF
1zjDO5PzOxLzu9LxaMvGB9ZHS1XIM/Mxte38jch/WzjSKuL/LUjrw7624PXk
ZrZfNFmqoi1P5pFHjt1WAW3w6aCGvLK+SqrCcVl76PC0ZkJ63mBBsnaixsV/
XTNRYl25cnVvU3+V4tQ0VB9m06UEeTtiSeBQJrew50Fe7SO+TbmHBWxvt+v1
xqHXqbd1NWaH2zVzq4xHTSyILpC2K/wlXBwv4T8oB2/Hy9spd51s/9PK7l8o
thuifVe5u4l4txD+NSHaRsxbTEYtjvCVJ2LcoEahrJVpaAF3TelcDfZgow1g
dzXa1nztNTTZ8NxWwGdljMZXo3diYWsYYH1R87+wpHlnclW2E6tvLWM21JcQ
qhOQmS/C8NXS4JpE4ZvIiKuCYb6GUd8Y7lnUDAJcamgzdyVN7ifGrpTj9dVA
dEy0C6amXwxJhSwWPqckMpLEjigT6zjDIi5FPFqiUIiVxhzvDJZQke5/QQNe
kztJJlYBiR+YXl2W/ejUSV7kq1Jz2zQk5pOvaEmP4krd0uOaHD9x+zeE2VrN
cTFOWRpdutZfluLgWipE3ctuAEafehxr8Rq3xGkIGt2FCQ5Xk69iE0Vbl1pW
idxZNgB6hMfCEfZpYT6n4g50dnpBNQNJXMFAT7ZhhROkcjQEbsasEm35mBZa
YpkA87UzChl1l3wI0TTJLiqMdB3zSfAjdBpUcJPK6HGIKgnVS8xUdOeiRz2v
XJ9W509fW52/+LbVlZd5Ud1xceGT5kKVleYJDVNqYjdjh74mQ3CunXan5P7P
8fJAimYXFMIyjy+cUoV5Rjni0toSEAD2AVo2pz/iJcCokFmaAW5oHLXkkKrT
Q/HnOia7I1cKTysKcODsAr1wWBCVVkJE5A3XjJ7Ba8NkRCm1psmmKRPl0S9s
lZJHb8w6S2yYEZm1wje80BJ4MzVPdY9MOuaZxiY8ckyBV5m9xiYKiOMDX+IS
NYUnzdIZQCc8na29ve/7D4XvYiqIuc35fILx59E19bKHe4HsFi7zlL30S59q
YywHF+jMoocyv3JRSZHUlrWLLB5fpaWpxsN5yqYGt6JduFRW8zLUk2GQR/DC
gjqRUpDNbB4XaWkaxJZM+6ISYIsZzYzo+WRSJjY9jQUIgI8Ans9+NkMnfhpj
oR4Kd/Fan9rYqYASlVoMjSP0Smk4wem+lDOHpyWxUOXCpGvLFRS+gFWH3Jq7
wIAuc86lLLnjo6aZcmuHZyB35Es6AK3IyXFilCr1+ux9hEULqsVnbSdgutKm
VMxUGuNop3Qy2EoPgZhRZjGjYWDbg929XVtiBVVaDs3RpD9yTg52H+90LcLB
28cnV49oiJhwkerJ7O4/2vn8GZgEQr6M9h93eX8IG2kJ/wiftx15XwJ7hbm4
oYgu15Y5Pj16fRJJHwZuxkDfODuQmCnZi1dV3k/mdNeuuWxn7809Ms0iOYDa
adPrBvaSFyOubBOloLb/OC3LZEacXzYh/kLqIwdiLK1j5hAVrQQQBGSSP5JD
UnBra8WidHxYEBemmDymZm5sNrIKi/6GInJlDtAHTJdRKvnGogpiaKolt+zD
HCM+Q8kSPpcqusTL/BAlWRWpEbCo7xw09Zot44tScsPpsAwAENuPDaNW3Ocr
5GZny7kGNWxBIqTIRC35pb6JaTpJjJxEgzgVktlGaMvqAhGLJwnPOZcK7OQd
JuHhWLFI26bQUmKKvXQ5lO2rYnidknips2ZT96jn6RwgnY4oQ6kvE7kYSvew
YCoq5SzGYpXhFtCKpjK73/bZlM3UrtBpdpVPMc7MXwSdJxendBZzekmMRC6R
094aFzXEchrO89FW0r/oex71Wk/sMRE/qYeSkX0JkKAjvT8cBMIJNPzYwd6y
4vojWkQAmSqyZsIpqQ1C1V3CBuFdpoUc64anrMninJ9KesGLIr4w9b2ACE/c
v6UCAqOlnjAjsNHGtA6Y6Bne+7+iJ6hMh4q7Pl3oR+/n8wZ6Saloc67wbuuO
UdH3pVVJnSvIsrreGApVM/cJ93+R5SUAEQGICslFEc/8papD11xib7tdOWej
ZhjyCmuaLTJZZ6deME1qd1C1AFqwUq2l2+VG+QNXMXu8O/j8WQiTNgDUFAdd
HkGIKoJ622BM8Ol91zSQdzQK75qK14CvlrYMuuPdMjMzXExMZLnu7FzNztCs
w9PvApEGWzYp9vLJAq7/BOwDheJP98r0wsNX58ut0+OfOgLK0nZN1qDjapFl
yVQLw/Hbla1w5x2xCS2/BITSplM54XmxyAzD9hsOoJ4IS4ioMyAlX4o5qC0W
+fiEFNNpiRV2uGeG9js0LLXt3Sq8scTQEMhGhjcUSZpL083EyhKHpz06OEz4
Np2yWAjDkrrSQQx3TtnTcqmT8QWX6884tGteYOVFM/sZgRc3AZCHs0SZ0gW1
kfWQv6Usuh7/VB5E7RG30jOncbcgaZ/IkVISgZ2IKyg6dGUlDJ+h4eLEtDjC
Wu2LytAeuMTzxKhn43y0kIj310HNCYzOXWiSsejtGJqeKS2sYauPO9TwbYiy
+SIjffLTJ4DO58/o1ItewsqmppTNCxDCsEYO3RD3E5C/K3Go9aKnL57hbSGB
azgZf6amN2N6gFnWRIaJ4FhGH6ZLqXQ4xW4cS62kulCb2NPUSDCANC9sWS87
5xZM2bHCO9dqfPj4McrW1OSMeL5eLC+LnoJszXUxTEecjPAN7kYrWtFpIq6i
1RNBRTWkiuSCdBRVaLtStJW0kNLwX6EFmO/AlW3QVWy2BtruIqvSqc7FQpCJ
XydLYN+6UN1V0VRlFXSJsl3b4+j8TfKxojQn285ld2fvPNo6h4Ee0CvnHcnP
5tx2rWzAMuT5zg4+/BwkuOU5HPFC/MyGGhOEyXN4votPvs0SULpRHA8ed9iG
+CtxK5JhLgUxSJ7Aj7XUqGRsxUHZCueY+1HtWtB/kx7a1Oli49qFjeMERqEQ
QzY8C4/aPDZ6vuOAXFBE+e2IqkrgKgH+meadeBjCFEVfqCockuqWlyjapeVl
7XXpi0ov96PfAoFGFDTJR4JTbEYUXOqaM5cFlixekila2RC767X4UMz3UIzD
2PeBjMOAtbLWMiFM+APcBLKj4uIAJKReUOK1+0VHFRa10+RFv04g3jhvAEaQ
nvqpZcTPZMugTVE/N0Ib0PlTNI/ILoFoSQUorGlmDNXs8FArMm+/ayushFoj
kj6q/OZJD7WOv3hmGZu00FoowafLriUcCrj0IuNK3UqkDK3z9NYu1ROLGQzu
1kWPxc8fPC8KNJcIPVgzv0JrjWhxr4ZNw0qU8EpiCkn9tf0LqsB7YWJmjweS
TV+Q6glQL6SmB3Eg2e+wyD9Inlw/OhItOeiWRL4lrOxwwSrHCFsyM+1KpKdY
kUjmIsrGgx1qCymZu3HGYEwIXB4wAQ5vT84AjQ5f2Va6pd4Qq6eZ9bj1aPzu
ksZoj7UTHF5G5JyPnbs+we1cjMgMmXMzAeR9WRpPe/mkZ6z1VHawDKuGC0CB
ToD0FFFngWk649psFP5Syp4RA2cztESO6zhUgi4hSYhYiYWac2AVPKBwSHPf
mWFBysGyNsJr2C4r2nQgGpMscIq9K1MgoqGFraUfIl1KLfRX6ssgun0Q/YuB
YM0QDAxHLBI7DDB26lDAJnbpZVkaKOpjCCgyipM8yh5VVIYW1KM2WABbpZKC
WzflDe0MugEx0Q3m2sXCueUgvJA13kwy8kDUtwWbvPazyFxGiOLxlGz6sJyl
L3Nyd1rqNOb4uajec739wrdpX+uU9LCtFZta5zW1tA2bZZrjwFNEWXlMGWeo
rKLOaXnkVZqbkrYNzdEUWl235AyB7DvTxwqfs5f4VyrLuFVGR/yHTioWeK+J
pPUDdiUwatnyWjqdJheAgzPHt4fWTVKvubSiNqAE+I3Tq3SM5j6n0ytrl1Ql
DIVZAZrZgyqyvgvS5ILU2q92OnzofjNUfwTtK4OmD9SqyEkuCtGDWvqh7fSD
vgRqfyMlNAIfBTtb1anU2uOsseAAORtqpelN0V+nVmFTpV+nRqrqW4enjhe2
vIxRgIopk9u5aaZzQ/b/t3Zty3Fb2fVdX4HSy1ATNiXSusSsmoeWRFlyTJsl
yplKUlMxuhtNYYQGugC0qE7kqfmN+b18SfZe+3LOAdCiElsvNsnug4Nz2de1
114NjrUnNpTVXkWkVe2/Sh+PhWw2tJRCiRwDDqZp5meBjX3AKy+krzOMa0aH
Sz2cqCPOP3lp8AOpnMnQG7gnm/+h5qitsWoXVjJQ5pLRXOQipbkQLoehvd2R
hbqkv2JEmIqmGwPnZXgH8yHbApFxIdPlPs6yVsdiPwn9q36HbkF+U1YsLY3D
NZoZp/FFTeeDR6WBeTGEb4v8Q4bokDRY9u6YmNiUtaONmMOwhrEXIaiWxrIB
r5MlhOmUiuiHaGPpDWIMugdkzfO1Zt2ScBUv/TwOTimKU9dl1bdRoCCPTo/l
0LKmnT6PJ9m8tjdstr6bJDcgjITNIH5k3o9cVZg2Ygto7lSMFkm85hmLuKZl
8bwqYLiE+XFW9ZbpnY41uCintNGgQkcm3KYwM91Us4RbNltwOayFjDrazDC6
+LLyUGsUiW4Sfxi9lp5oXbXjkXxnmuph01jtFbySYptJZTrvhtqP22ozvFjP
BixCPr2S96fbsteuoTnbv0pS5+IthGW37xkMBBKrMY+Hkw7UhjSO27OguI7u
6jI8fYBpSqT7CUw1sDL2HFnxhmXrNt+tdlWCd9Oks1NYuw8RLyhft/2W1Bqd
/G7QXNKnJC22RPq7dpzg2It1PHYWzehtLenrD2mZrfvR9KNiGvlR0+nkJECW
RHPRORikuWo47X6EuxCqrzb5J+Q/A/nCsCk3D8VRgp9rhQOER6aU4WMZ4H3W
EOZW+MLIiGC3/DbXhqjrfNFCjcNbB0JFikUbadpZeLBeYpe3dLsHw/kWSGyo
Tp8YM9Y79I8e5WVMTqY+aFkiUlqo68s+oi10Fu1RQ1OFOCYba9OX0JD0bAdF
uDsJyd3+yKIJxrekZFX/qJ0k5Pa/OHv/LwGUHnqc8Pz87QT5lzv9vRKv0xiM
R/zFkmESmOkD0QPnXkgCLfKFKDQL27IprTc8HtVsx6PTh2dPnir7ibyYbCpJ
VOD0YMdKDlFpDpLX/1AUW3aN270HonMHoHB+lmzkskH2Gpu0YWthmvYyHByI
Wwk8rQ+ZNgFu5utYsTnF5A1jY125MFo0d1uRUZkHImuz2VnuKYOLeFBq4ZfS
GR0hcKM7F0iaXi1P1Lbi3PgAlq2WPEpphcBrOYNM4vLzsFm8Zp6HWANb8+j4
6GzxvkodxAo8ukkdcEKdlTzYgyOr8WZkEJNFUXs5J+NdWNy2bNtMryrHFkql
ZRI1F99LacBEd4hVnLzDcWQ9G8WT5IzRzECCFVqCmjnmL1IzaeceXNLgwvk1
QvywcaZgPobkifJuQXGCmGoZfAf+5VPhI6VRj1O/UFBXkHJ5JEPOgMN9/ExQ
uNnR304fPyLzmS6PhCQRNUKODceEyeNsjUwqQX5rT76YIVIL6c38AsmxaDRo
xUixF/WyWQkSXlbJ7ttgsSL3Y6BgUoZVCV7DQO1FwZ49FnjXsYG58F4m8xtG
S2Gffdzo2o878/HtYLTNTWr1B+32t9OTp8W3sldFh30TKS3wMkkQV+UHGPm5
9SoJp2zR0prN6DU8xmWiTLlYncM38kDFdUCOQFIgoj/I9hMERORail3aGzI7
VPTrOskyOJ8a4LTWzJpZsOOu0ngjQ7zYh+yaJEdwFEAFLkkMpdQe2LAw3I7a
W/MhF/2scCZnF+ZNXAhvNTMFpKEHJS17QV8PgOEwKpqY2MSBJxKSmp7EEIep
+QLGiXKhBdtseB0VO6mJh0yL/EyqI1U7xNaqS99lVgfookdjFeFUj6QEAOi1
ntfFHmH7JWKpZcj2Lw+85y2r2Qggrtg0TNL7GiK4RUYAXfCV+fD604J29GSq
1YbOW4bTrpzWQF3V09d3Tw/w73EcRpcgaSji3Ee+hdJtJqJPcZsn2cU8lIVE
+wLLJQivA1Mevl3a/71Ut0OWgi3EFTMb2W6FBu93dHMPW02uI4kKcuVdCg/u
m0h3Aa8M/QwSdetqr8kByUpGXoM2KyzUTROngfx+RtFs8g+CCDEuPu1xIiH7
RL9zn/eubzZw6tUlEI29YMN4FbidAaNu3Wn5LX6JCoOB7Ssuikdj+fpy/sdE
ikIrb+H6u+/tLl0OF8a+rr/B69KytrSfcOODqMfR0fVXiM1QfKnESjFt/hnt
Ce6noiPxs90Wgust+WN5XYDeIFJ/TMZfyGq6JmHwCh+1Nthum5ytIycHSs+M
rNMiUibWZjh344bG42DN+tBleJjyjgrGbk/T6zXDwghtc2HEj0hbMQqBJfK1
45oSxRD9VM8k5i8RuxDGiFQLujpFUVADKUQJt2GrgqgoW3ho9ShDRCArzV9O
Iv2iplsmAIwCDiop4zvYJwYdDfq+/CtrcUfV1NIHyG9j2UUOhaNdeCpITjWI
V1Wp3zeE6F1ZksgyBxbiHLep5nfYNKso1zVKl5gxFRom5KsV4tjGhNJAB3Ul
wH6cJ98GtifLWJAAEQZ4sWICnlUjWovCJDhiTtYgleYY55ZZdnlWAm/GqZxa
QwLlRpPaoKOv4NTU3kPP3P91EFhm2FxGK5Dw2wpQgt2IsJa+m3JvsHr7L6xZ
G5WLCgJYVkd6ag/COGPKADia4UgE7vhrjhJ6I2kfAoaLF5YH4ycYT50EXdFt
N7KZb00MxBupOBNWXvl+Ynon1haXhMVqHwHVGYgXraaF05ybB4GKULspSg78
Vws7keGEhzU/Msmyov0VOc1qGC3C1YIU/PzQmhSOVl6ufepiDl7oePBAnha0
3TZXugJw8GspPtASvm3JzgNgpBBLMilqBimU61RaXSrCLQFkpCS7FhVTrC7T
tPHjnisY+RITjI+YfPR//v6PThYYgxyRBYslQlJa/G6+dXJOYLDE1b9sOUud
IuNq5XZaM75B145IdSKj/jzTHgVRAaZYWFwFlCc7cKxZ4/j83TSAclxaZVJe
y4umexDBVGyrRdpDtjbB1c6ss8h8IuUSesEkAm3yKAIo+GU5qSdxOFKaX9ET
PaV/JC2upFN9cWNhG8tbdvuuLzZ68e/+4DEbMF0BOGBeNTccLNKleXN1XSyR
Otc0Jn/rtUpztKUUb0hebiEdkbUXseAovSmdAym9VCFAyvI4H6jw9cFDf5IS
hqPrq/lPDwAde/H65/m7s7O/KDKzwdHSIzL5tmpeFjUURmmEsazZ4AWRPSVH
3O5dWSQmAqIuXXHgg5rxGFbnRmbFZgIvbfq8vktZnwvXCbAVqbZGARSdPiZ1
HEc2zAIt2Rp0N1MCwKNxXEy5URRdE3UEK53ZzCcsrViQi0pogmUDhHD2S6fZ
AhWjxJa5JThUazKq+77yuohJTctiiKQoh6oe0vHbP6QL1e7IMGPFZKaUJRzh
tfZqc+astlzOSwxxpulU2fxBLSGfrGbN2CL1cczYdvXo/aV6R+Gm73WMTIWY
3Nwsk+yTdbBqARD41Id6P+gr95KYlPfADbMgzL5q8hUKcGQrOBCD3818e35N
TZY4xh3ZK/q1Mc6Vez9xApbpZKbr43gkdg+kgxfgjepbDPY4bk62bALD9yI2
mRx5LpuBxKoUdtoUw8E7uE7eYlfyjX7oRByoVMsRB286ARVaBLQtAZ6rxF/p
rGQ4gnmYYOfouRUyTkojqdHFpLWEGco5/sx5xtIuCxKTVrqqMuQyk9noyeDX
jVsc00grrf0NEHp2j9brgX90wFRGUE/EgSRYSiEU5TADjTG4fPCE1pV0oosy
GCNngi2sZRGsFXZPa2E39+yaQMBwbyNuRjyRAyntClk/K2RZJqrWpwQpkZpo
EXrIZINeNoTkPkYhd5GAJBVIPa4iv17wkZ/Qy+Bj4WIlUMM23QNwy98qN4cE
T0UEKIXADQvCkXnBE4ywEpqSqAVryl+xJUAEcrfQDLN7UOL9/mtTkRzoW5rT
SwAgIUIUAKlbTrKApim3//+1QLkD1v5vyzTJp/L7vb8KJ7l4XXzfnNJDoYdt
sa7kTzNhb3vZXJv/S0LBaZOjkAEsU5bqRScuGJJrH7VpdhI5UOuuC/wc9is9
XLQZfbmJVbIOhF47QIGLBWzOfqjxqUhhWKG7+IqYkZuzGDkK/sYeM19Gq0VF
wtJsLxf9NiEZBtYRunvId4Plgghgbp0UY2+Jv6KuoTQ/ZwsPz7KuZG5s6+Xd
SQt2sOmMLvdgSeOmr/SOO81vpFMw1uIQbxlkFEnWkfvkjszev8EWuHwjrvxM
WfcGhDUn3HU36BBlXohq3qITzgaKU1UskGKpGstLDeKwhm6Ez0e2j9bXqeiw
7H+UhGeBibODltiSI4w1uj4MM+JQar3cJ5QjJj49TIvU7LGDn9kFa7mGkB/G
YcxVimfSpkhMnUBf2tfL921TI6aw2LVaJ2M7VBd5Gx9X6yb7xz/q+fQ11jvs
F5htdREM0iOBBo2u7nFW5xvMD34g6letPMmiW4MaVLVZ/O6L22Sf5RTILlhh
dHDEnAiRp4Bcj6tgRj1/tMROzHKrWASMrecLjfYhJYegpK2Qhi/eXL88hqev
jB7C1iLcC2/mP86nMeFmCsLArBv5pGpJjcTQwFGkzhu34oXxu5mjJrSlK06U
8JMETkaOXi6NPmhe52TSkIkIv5LNGhPFgbZCpa1qD8Ssm3UPoDXcf1JeiqXv
pB309cvZ/HqWd4z1RwRopo8JNRfcZ0b6ciEMrX3VhXEckRCdlwoBfeWua5Zl
VPwx9SzhKrg3m83gC/Gqz5eMzKyKlcSj7v33uaxPsfrT/TXdhOI+qdVLNmNZ
QtMRumn4wa/zNie/YF59LBjbT6969F3T3FQFGQnfN0VFH6jIpKO5XJDmprlx
c55Lcihy+tvl8nnLluTRK/Dr3BYl/fEtTfx5w+Wr2dH3u7qkbz+AZmR64+JW
IvKJ5/1nZY7HxLJLOuPvmQfnVVuU5FkPV4UntuNcz0n2Xd7SL7OrNl81NMF3
r7N/39Es30vV1r/Q8+rsstjXjAefHGi+aksa6qpoyYtMR4AhjFMixuJ2Z/HN
L8zdwv5227xE4jsyI7dgQvVHGCClbG30mK611Ox/lcIjYNokoZu4slMhCoN6
zv+4unh78ebt/OzR2ZO/kI9S1sIBdCtBhpIU3KIPukjlHCmOqtlKVrHIN8LY
Lwf2OHqL4/i2Rkc3vJxSYNCb2AEtHOUBJaZrOSxeHVZ/JNB+05uID2NuHnjJ
ZvjTomk+WHiSQas9N9vVdQKkfbvrNdbaOZ4gOK3cO3lEJfMO+vbmXOb2Q76Y
vmX2VwE63VTNgl6e00V0XN+7gWoWVAovgsXkb89fKFnNMHtV9m/NTirUFHPH
mFXSbHsGOsDukUAOfmbYdwSf5sfj3TsNByiWkz7Lj70R0zOvZjQ1aXBNp856
d0v1tgWrN3md34hBPayDHtVcTpQSY23mz//zzxfPr9+8u/j1V90EvHX4O/1+
m2+ZXg7CDaKvsIN2ZarzR+3qjWZUPW3Fr9M7IiVwWzR3/JRVZWfuYzquq2RT
LeK5DHTZ4T03L0XOp5Euspb7QxeeBeqRuuhHj5MMY1IqRAKG/p8UmtSAsY3q
MQygOxz5MBjMbGC0irMns+KmyZzo67omHU0EPQx5w84ePQpt8tLPOAvelCHB
TrdkV5XlYoJ1Q7z+uWu16YW995lu4BIUXVn2mYT6ng7bSpi2P4eTcNe/z/c+
z8K/f5ol/wY/fukfjZM9mj2xUQcPYQihLfad88meRl989+JK6q71RzYWNmWH
WI6VPfvLRhQDPM6z2enT32M+p8+iL75M5vMzOYKQxSAymZpIPM4/z06//fa3
z4cOn3/x9fPX8TjyzNfNdrbYzzhLJoH47sA4p/7Fi7OL8TgXkhOi/9wxzln0
xcur0Ti2UZdaiT9xOmWcb/yLXm/vP04s6sH1eTw7e3KW/eZ1fhLmMxynkwhl
FNdzmGYv2jAe5/HvNM7B+/XWQBd3/ftM0oScwb4q/nT/3d2SHpKGJL3k5X5o
bqaF0QvNRGzylYBj2UzoGDTKfPrXFxz90Vs7qHQsjfuFkyIf4ccLLxXqqiwX
TfIQQ87Skm6OUSJEOXv0bHpis+xFlaNXqnIUJTGNzjorhfom+sYrUoUS4EWF
ci2BLDYHvRCbRPv9L/eBvH+PCaWtyPugyQrfdhkMQPEFaIb09R9LZncpGUv+
kXNJTEKVnd37mtV4emg1XmGU7pxfrs1vLbeZ5Xn38SYDIgrskZxGUbRJtIaP
WHve39WqILlffdw2gT7J51kaw0oN4NiQbXGSUOaQsz3eYaF4752GIjBryEt/
zRs/OfTG8wX7b8v+3FCw5OBpDF45g9T3NgB6HQyRazKOV3m7+poJPJ6cABnd
lzjWkItJKsPvyewwT8HXPPibQy7tXxtPEZ7zSjCHnGUYzrMl9pTBGL4CvjB0
Iuj3clY4QATnVFWL2DHR9nYceeGFxpfsXgtz8uilR5/jBPUkdw4mQmJ/+A3k
eEFLVw8ot/yglqEoUAHpNNXJptH0lQPV+ue4FtEsLT+XoAVomct6sMw6WzCS
2vf16IVlDCxDyaz7qN6gYjRK6AEugUN65vtya24eT1mlz0NtJbLWCmkfdRlE
VrBGdRevk/Nokz0az+A48CeHfFl8XTmsy9nPZfLQ46QuImlX+sBXyq4lfeL2
/V7ytHDlFYuq95Kx/AzXYGnBMUNOYNxyrxZai1f8v+RYFnJ8/UAv9llCtAEi
nKePv3nGrE32/OQT7qIC+c0a2JpNefCgwbGR735/kr04yV7vGKaZW+H/SXTX
sKfo4wqxV5ECDeJU19LRTmCRY0o28VdpLUtQik7znnFgtXCujpDS4LWh43Vk
23l68s3J6YOvkSRnXytJ5OXZHmNtFVPcbrZ0KhTxFssbO1yDtfGCbmkLO1H0
jZr5Kl80LaKWfPdjdHjuhXGKej0ZSRik87XL9RcY1rOHygDsgXALEASE8hfH
dvyAXp8XMbde9E25RwKONarLsRR5q+aQYVT8lOJuf6eg6mJV9lqQx0418q4N
HbK9kV0VDH8V0ypb7UIMPZe0A+Lg5X8VuLxh6VAXkG/LHn9cZczAe3r6rZft
9vGjThIJxtckxlLNr++ojksxy+hdPMkNMpKTcRSHHnTxqf+hoPP1vx8iXSJ1
+wEA

-->

</rfc>
