<?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-09" 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-09"/>
    <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="November" day="14"/>
    <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 relies on three main components:</t>
      <t><em>PKI</em> - providing cryptographic material within an unique trust model. It is described in <xref target="I-D.dekater-scion-pki"/>.</t>
      <t><em>Control Plane</em> -  performing inter-domain routing by discovering and securely disseminating path information. It is described in <xref target="I-D.dekater-scion-controlplane"/>.</t>
      <t><em>Data Plane</em> - carrying out secure packet forwarding between SCION-enabled ASes over paths selected by endpoints. It is described in this document.</t>
      <t>A more detailed introduction, motivation, and problem statement are provided in <xref target="I-D.dekater-scion-controlplane"/>. Readers are encouraged to read the introduction in that document first.</t>
      <t>The SCION architecture was initially developed outside of the IETF by ETH Zurich with significant contributions from Anapaya Systems. It is deployed in the Swiss finance sector to provide resilient connectivity between financial institutions. The aim of this document is to document the existing protocol specification as deployed, to encourage interoperability among implementations, and to introduce new concepts that can potentially be further improved to address particular problems with the current Internet architecture.</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).</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> as per <xref target="_table-3"/>), 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>In addition, routers require coarse time synchronization with control plane instances (see <xref target="clock-inaccuracy"/>).</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.
The 4 byte alignment is to allow header length to be computed based on the <tt>HdrLen</tt> field (see <xref target="common-header"/>).</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 length and type combinations</name>
          <thead>
            <tr>
              <th align="left">Type (DT/ST)</th>
              <th align="left">Length (DL/SL)</th>
              <th align="left">Conventional Use</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">0</td>
              <td align="left">IPv4</td>
            </tr>
            <tr>
              <td align="left">0</td>
              <td align="left">3</td>
              <td align="left">IPv6</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">0</td>
              <td align="left">Service</td>
            </tr>
            <tr>
              <td align="left">other</td>
              <td align="left">other</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 according to <xref target="_table-3"/>, 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">0001</td>
              <td align="left">DS</td>
              <td align="left">Discovery Service</td>
            </tr>
            <tr>
              <td align="left">0002</td>
              <td align="left">CS</td>
              <td align="left">Control Service</td>
            </tr>
            <tr>
              <td align="left">FFFF</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>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="768" width="560" viewBox="0 0 560 768" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,64 L 8,112" fill="none" stroke="black"/>
                  <path d="M 32,176 L 32,336" fill="none" stroke="black"/>
                  <path d="M 48,192 L 48,320" fill="none" stroke="black"/>
                  <path d="M 80,64 L 80,112" fill="none" stroke="black"/>
                  <path d="M 96,64 L 96,112" fill="none" stroke="black"/>
                  <path d="M 96,192 L 96,320" fill="none" stroke="black"/>
                  <path d="M 112,176 L 112,200" fill="none" stroke="black"/>
                  <path d="M 112,312 L 112,336" fill="none" stroke="black"/>
                  <path d="M 136,304 L 136,560" fill="none" stroke="black"/>
                  <path d="M 152,272 L 152,528" fill="none" stroke="black"/>
                  <path d="M 168,64 L 168,112" fill="none" stroke="black"/>
                  <path d="M 168,240 L 168,496" fill="none" stroke="black"/>
                  <path d="M 184,32 L 184,72" fill="none" stroke="black"/>
                  <path d="M 184,88 L 184,128" fill="none" stroke="black"/>
                  <path d="M 184,208 L 184,400" fill="none" stroke="black"/>
                  <path d="M 200,64 L 200,112" fill="none" stroke="black"/>
                  <path d="M 208,176 L 208,304" fill="none" stroke="black"/>
                  <path d="M 208,336 L 208,392" fill="none" stroke="black"/>
                  <path d="M 208,408 L 208,488" fill="none" stroke="black"/>
                  <path d="M 208,568 L 208,752" fill="none" stroke="black"/>
                  <path d="M 224,192 L 224,288" fill="none" stroke="black"/>
                  <path d="M 224,352 L 224,736" fill="none" stroke="black"/>
                  <path d="M 272,64 L 272,112" fill="none" stroke="black"/>
                  <path d="M 272,192 L 272,288" fill="none" stroke="black"/>
                  <path d="M 272,352 L 272,736" fill="none" stroke="black"/>
                  <path d="M 288,64 L 288,112" fill="none" stroke="black"/>
                  <path d="M 288,176 L 288,200" fill="none" stroke="black"/>
                  <path d="M 288,280 L 288,304" fill="none" stroke="black"/>
                  <path d="M 288,336 L 288,424" fill="none" stroke="black"/>
                  <path d="M 288,472 L 288,584" fill="none" stroke="black"/>
                  <path d="M 288,728 L 288,752" fill="none" stroke="black"/>
                  <path d="M 312,208 L 312,232" fill="none" stroke="black"/>
                  <path d="M 312,280 L 312,432" fill="none" stroke="black"/>
                  <path d="M 328,240 L 328,264" fill="none" stroke="black"/>
                  <path d="M 328,280 L 328,456" fill="none" stroke="black"/>
                  <path d="M 328,472 L 328,592" fill="none" stroke="black"/>
                  <path d="M 344,272 L 344,456" fill="none" stroke="black"/>
                  <path d="M 344,472 L 344,624" fill="none" stroke="black"/>
                  <path d="M 360,64 L 360,112" fill="none" stroke="black"/>
                  <path d="M 368,176 L 368,336" fill="none" stroke="black"/>
                  <path d="M 376,32 L 376,72" fill="none" stroke="black"/>
                  <path d="M 376,88 L 376,128" fill="none" stroke="black"/>
                  <path d="M 384,192 L 384,320" fill="none" stroke="black"/>
                  <path d="M 392,64 L 392,112" fill="none" stroke="black"/>
                  <path d="M 432,192 L 432,320" fill="none" stroke="black"/>
                  <path d="M 448,176 L 448,200" fill="none" stroke="black"/>
                  <path d="M 448,312 L 448,336" fill="none" stroke="black"/>
                  <path d="M 464,64 L 464,112" fill="none" stroke="black"/>
                  <path d="M 472,208 L 472,232" fill="none" stroke="black"/>
                  <path d="M 472,312 L 472,464" fill="none" stroke="black"/>
                  <path d="M 480,64 L 480,112" fill="none" stroke="black"/>
                  <path d="M 488,240 L 488,264" fill="none" stroke="black"/>
                  <path d="M 488,312 L 488,656" fill="none" stroke="black"/>
                  <path d="M 504,272 L 504,296" fill="none" stroke="black"/>
                  <path d="M 504,312 L 504,688" fill="none" stroke="black"/>
                  <path d="M 520,304 L 520,720" fill="none" stroke="black"/>
                  <path d="M 552,64 L 552,112" fill="none" stroke="black"/>
                  <path d="M 184,32 L 376,32" fill="none" stroke="black"/>
                  <path d="M 8,64 L 80,64" fill="none" stroke="black"/>
                  <path d="M 96,64 L 168,64" fill="none" stroke="black"/>
                  <path d="M 200,64 L 272,64" fill="none" stroke="black"/>
                  <path d="M 288,64 L 360,64" fill="none" stroke="black"/>
                  <path d="M 392,64 L 464,64" fill="none" stroke="black"/>
                  <path d="M 480,64 L 552,64" fill="none" stroke="black"/>
                  <path d="M 80,80 L 96,80" fill="none" stroke="black"/>
                  <path d="M 168,80 L 200,80" fill="none" stroke="black"/>
                  <path d="M 272,80 L 288,80" fill="none" stroke="black"/>
                  <path d="M 360,80 L 392,80" fill="none" stroke="black"/>
                  <path d="M 464,80 L 480,80" fill="none" stroke="black"/>
                  <path d="M 8,112 L 80,112" fill="none" stroke="black"/>
                  <path d="M 96,112 L 168,112" fill="none" stroke="black"/>
                  <path d="M 200,112 L 272,112" fill="none" stroke="black"/>
                  <path d="M 288,112 L 360,112" fill="none" stroke="black"/>
                  <path d="M 392,112 L 464,112" fill="none" stroke="black"/>
                  <path d="M 480,112 L 552,112" fill="none" stroke="black"/>
                  <path d="M 184,128 L 376,128" fill="none" stroke="black"/>
                  <path d="M 32,176 L 112,176" fill="none" stroke="black"/>
                  <path d="M 208,176 L 288,176" fill="none" stroke="black"/>
                  <path d="M 368,176 L 448,176" fill="none" stroke="black"/>
                  <path d="M 48,192 L 96,192" fill="none" stroke="black"/>
                  <path d="M 224,192 L 272,192" fill="none" stroke="black"/>
                  <path d="M 384,192 L 432,192" fill="none" stroke="black"/>
                  <path d="M 104,208 L 184,208" fill="none" stroke="black"/>
                  <path d="M 280,208 L 312,208" fill="none" stroke="black"/>
                  <path d="M 440,208 L 472,208" fill="none" stroke="black"/>
                  <path d="M 48,224 L 96,224" fill="none" stroke="black"/>
                  <path d="M 224,224 L 272,224" fill="none" stroke="black"/>
                  <path d="M 384,224 L 432,224" fill="none" stroke="black"/>
                  <path d="M 104,240 L 168,240" fill="none" stroke="black"/>
                  <path d="M 280,240 L 328,240" fill="none" stroke="black"/>
                  <path d="M 440,240 L 488,240" fill="none" stroke="black"/>
                  <path d="M 48,256 L 96,256" fill="none" stroke="black"/>
                  <path d="M 224,256 L 272,256" fill="none" stroke="black"/>
                  <path d="M 384,256 L 432,256" fill="none" stroke="black"/>
                  <path d="M 104,272 L 152,272" fill="none" stroke="black"/>
                  <path d="M 280,272 L 344,272" fill="none" stroke="black"/>
                  <path d="M 440,272 L 504,272" fill="none" stroke="black"/>
                  <path d="M 48,288 L 96,288" fill="none" stroke="black"/>
                  <path d="M 224,288 L 272,288" fill="none" stroke="black"/>
                  <path d="M 384,288 L 432,288" fill="none" stroke="black"/>
                  <path d="M 104,304 L 136,304" fill="none" stroke="black"/>
                  <path d="M 208,304 L 288,304" fill="none" stroke="black"/>
                  <path d="M 440,304 L 520,304" fill="none" stroke="black"/>
                  <path d="M 48,320 L 96,320" fill="none" stroke="black"/>
                  <path d="M 384,320 L 432,320" fill="none" stroke="black"/>
                  <path d="M 32,336 L 112,336" fill="none" stroke="black"/>
                  <path d="M 208,336 L 288,336" fill="none" stroke="black"/>
                  <path d="M 368,336 L 448,336" fill="none" stroke="black"/>
                  <path d="M 224,352 L 272,352" fill="none" stroke="black"/>
                  <path d="M 224,384 L 272,384" fill="none" stroke="black"/>
                  <path d="M 184,400 L 216,400" fill="none" stroke="black"/>
                  <path d="M 224,416 L 272,416" fill="none" stroke="black"/>
                  <path d="M 280,432 L 312,432" fill="none" stroke="black"/>
                  <path d="M 224,448 L 272,448" fill="none" stroke="black"/>
                  <path d="M 280,464 L 472,464" fill="none" stroke="black"/>
                  <path d="M 224,480 L 272,480" fill="none" stroke="black"/>
                  <path d="M 168,496 L 216,496" fill="none" stroke="black"/>
                  <path d="M 224,512 L 272,512" fill="none" stroke="black"/>
                  <path d="M 152,528 L 216,528" fill="none" stroke="black"/>
                  <path d="M 224,544 L 272,544" fill="none" stroke="black"/>
                  <path d="M 136,560 L 216,560" fill="none" stroke="black"/>
                  <path d="M 224,576 L 272,576" fill="none" stroke="black"/>
                  <path d="M 280,592 L 328,592" fill="none" stroke="black"/>
                  <path d="M 224,608 L 272,608" fill="none" stroke="black"/>
                  <path d="M 280,624 L 344,624" fill="none" stroke="black"/>
                  <path d="M 224,640 L 272,640" fill="none" stroke="black"/>
                  <path d="M 280,656 L 488,656" fill="none" stroke="black"/>
                  <path d="M 224,672 L 272,672" fill="none" stroke="black"/>
                  <path d="M 280,688 L 504,688" fill="none" stroke="black"/>
                  <path d="M 224,704 L 272,704" fill="none" stroke="black"/>
                  <path d="M 280,720 L 520,720" fill="none" stroke="black"/>
                  <path d="M 224,736 L 272,736" fill="none" stroke="black"/>
                  <path d="M 208,752 L 288,752" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="288,720 276,714.4 276,725.6" fill="black" transform="rotate(180,280,720)"/>
                  <polygon class="arrowhead" points="288,688 276,682.4 276,693.6" fill="black" transform="rotate(180,280,688)"/>
                  <polygon class="arrowhead" points="288,656 276,650.4 276,661.6" fill="black" transform="rotate(180,280,656)"/>
                  <polygon class="arrowhead" points="288,624 276,618.4 276,629.6" fill="black" transform="rotate(180,280,624)"/>
                  <polygon class="arrowhead" points="288,592 276,586.4 276,597.6" fill="black" transform="rotate(180,280,592)"/>
                  <polygon class="arrowhead" points="288,464 276,458.4 276,469.6" fill="black" transform="rotate(180,280,464)"/>
                  <polygon class="arrowhead" points="288,432 276,426.4 276,437.6" fill="black" transform="rotate(180,280,432)"/>
                  <polygon class="arrowhead" points="224,560 212,554.4 212,565.6" fill="black" transform="rotate(0,216,560)"/>
                  <polygon class="arrowhead" points="224,528 212,522.4 212,533.6" fill="black" transform="rotate(0,216,528)"/>
                  <polygon class="arrowhead" points="224,496 212,490.4 212,501.6" fill="black" transform="rotate(0,216,496)"/>
                  <polygon class="arrowhead" points="224,400 212,394.4 212,405.6" fill="black" transform="rotate(0,216,400)"/>
                  <g class="text">
                    <text x="248" y="52">ISD</text>
                    <text x="284" y="52">Core</text>
                    <text x="44" y="84">AS</text>
                    <text x="132" y="84">AS</text>
                    <text x="236" y="84">AS</text>
                    <text x="324" y="84">AS</text>
                    <text x="428" y="84">AS</text>
                    <text x="516" y="84">AS</text>
                    <text x="44" y="100">ff00:0:3</text>
                    <text x="132" y="100">ff00:0:4</text>
                    <text x="236" y="100">ff00:0:1</text>
                    <text x="324" y="100">ff00:0:2</text>
                    <text x="428" y="100">ff00:0:5</text>
                    <text x="516" y="100">ff00:0:6</text>
                    <text x="76" y="164">Up-Segment</text>
                    <text x="252" y="164">Core-Segment</text>
                    <text x="412" y="164">Down-Segment</text>
                    <text x="72" y="212">INF</text>
                    <text x="248" y="212">INF</text>
                    <text x="408" y="212">INF</text>
                    <text x="112" y="228">|</text>
                    <text x="288" y="228">|</text>
                    <text x="448" y="228">|</text>
                    <text x="68" y="244">HF</text>
                    <text x="244" y="244">HF</text>
                    <text x="404" y="244">HF</text>
                    <text x="112" y="260">|</text>
                    <text x="288" y="260">|</text>
                    <text x="312" y="260">|</text>
                    <text x="448" y="260">|</text>
                    <text x="472" y="260">|</text>
                    <text x="68" y="276">HF</text>
                    <text x="244" y="276">HF</text>
                    <text x="404" y="276">HF</text>
                    <text x="112" y="292">|</text>
                    <text x="448" y="292">|</text>
                    <text x="472" y="292">|</text>
                    <text x="488" y="292">|</text>
                    <text x="68" y="308">HF</text>
                    <text x="404" y="308">HF</text>
                    <text x="244" y="372">Meta</text>
                    <text x="248" y="404">INF</text>
                    <text x="248" y="436">INF</text>
                    <text x="288" y="452">|</text>
                    <text x="248" y="468">INF</text>
                    <text x="244" y="500">HF</text>
                    <text x="208" y="516">|</text>
                    <text x="244" y="532">HF</text>
                    <text x="208" y="548">|</text>
                    <text x="244" y="564">HF</text>
                    <text x="244" y="596">HF</text>
                    <text x="288" y="612">|</text>
                    <text x="108" y="628">Forwarding</text>
                    <text x="172" y="628">Path</text>
                    <text x="244" y="628">HF</text>
                    <text x="288" y="644">|</text>
                    <text x="244" y="660">HF</text>
                    <text x="288" y="676">|</text>
                    <text x="244" y="692">HF</text>
                    <text x="288" y="708">|</text>
                    <text x="244" y="724">HF</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![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>
            </artset>
          </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="28" y="84">CI</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CI|  CurrHF   |    RSV    |  Seg0Len  |  Seg1Len  |  Seg2Len  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
              </artset>
            </figure>
            <ul spacing="normal">
              <li>
                <t><tt>CurrINF</tt> (shown as <tt>CI</tt> above): 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, their use is discouraged in future revisions.</t>
      </section>
    </section>
    <section anchor="life-of-a-packet">
      <name>Life of a SCION Data Packet</name>
      <t>This section gives an overall 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>
      <figure anchor="_figure-16">
        <name>Example topology. 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>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="448" width="528" viewBox="0 0 528 448" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,256 L 8,432" fill="none" stroke="black"/>
              <path d="M 56,320 L 56,352" fill="none" stroke="black"/>
              <path d="M 96,240 L 96,272" fill="none" stroke="black"/>
              <path d="M 112,160 L 112,240" fill="none" stroke="black"/>
              <path d="M 112,272 L 112,320" fill="none" stroke="black"/>
              <path d="M 128,240 L 128,272" fill="none" stroke="black"/>
              <path d="M 136,144 L 136,176" fill="none" stroke="black"/>
              <path d="M 152,32 L 152,144" fill="none" stroke="black"/>
              <path d="M 152,176 L 152,208" fill="none" stroke="black"/>
              <path d="M 160,320 L 160,352" fill="none" stroke="black"/>
              <path d="M 168,144 L 168,176" fill="none" stroke="black"/>
              <path d="M 216,256 L 216,432" fill="none" stroke="black"/>
              <path d="M 256,128 L 256,160" fill="none" stroke="black"/>
              <path d="M 296,256 L 296,432" fill="none" stroke="black"/>
              <path d="M 344,112 L 344,144" fill="none" stroke="black"/>
              <path d="M 352,320 L 352,352" fill="none" stroke="black"/>
              <path d="M 360,32 L 360,112" fill="none" stroke="black"/>
              <path d="M 360,144 L 360,208" fill="none" stroke="black"/>
              <path d="M 376,112 L 376,144" fill="none" stroke="black"/>
              <path d="M 384,240 L 384,272" fill="none" stroke="black"/>
              <path d="M 400,128 L 400,240" fill="none" stroke="black"/>
              <path d="M 400,272 L 400,320" fill="none" stroke="black"/>
              <path d="M 416,240 L 416,272" fill="none" stroke="black"/>
              <path d="M 456,320 L 456,352" fill="none" stroke="black"/>
              <path d="M 504,256 L 504,432" fill="none" stroke="black"/>
              <path d="M 152,32 L 360,32" fill="none" stroke="black"/>
              <path d="M 344,112 L 376,112" fill="none" stroke="black"/>
              <path d="M 256,128 L 344,128" fill="none" stroke="black"/>
              <path d="M 376,128 L 400,128" fill="none" stroke="black"/>
              <path d="M 136,144 L 168,144" fill="none" stroke="black"/>
              <path d="M 344,144 L 376,144" fill="none" stroke="black"/>
              <path d="M 112,160 L 136,160" fill="none" stroke="black"/>
              <path d="M 168,160 L 256,160" fill="none" stroke="black"/>
              <path d="M 136,176 L 168,176" fill="none" stroke="black"/>
              <path d="M 152,208 L 360,208" fill="none" stroke="black"/>
              <path d="M 96,240 L 128,240" fill="none" stroke="black"/>
              <path d="M 384,240 L 416,240" fill="none" stroke="black"/>
              <path d="M 8,256 L 96,256" fill="none" stroke="black"/>
              <path d="M 128,256 L 216,256" fill="none" stroke="black"/>
              <path d="M 296,256 L 384,256" fill="none" stroke="black"/>
              <path d="M 416,256 L 504,256" fill="none" stroke="black"/>
              <path d="M 96,272 L 128,272" fill="none" stroke="black"/>
              <path d="M 384,272 L 416,272" fill="none" stroke="black"/>
              <path d="M 56,320 L 160,320" fill="none" stroke="black"/>
              <path d="M 352,320 L 456,320" fill="none" stroke="black"/>
              <path d="M 56,352 L 160,352" fill="none" stroke="black"/>
              <path d="M 352,352 L 456,352" fill="none" stroke="black"/>
              <path d="M 8,432 L 216,432" fill="none" stroke="black"/>
              <path d="M 296,432 L 504,432" fill="none" stroke="black"/>
              <circle cx="112" cy="224" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="400" cy="224" r="6" class="opendot" fill="white" stroke="black"/>
              <g class="text">
                <text x="204" y="68">Core</text>
                <text x="236" y="68">AS</text>
                <text x="284" y="68">ff00:0:1</text>
                <text x="420" y="84">(1-ff00:0:1,</text>
                <text x="428" y="100">198.51.100.17)</text>
                <text x="284" y="116">198.51.100.4</text>
                <text x="400" y="116">i1b</text>
                <text x="356" y="132">R3</text>
                <text x="112" y="148">i1a</text>
                <text x="148" y="164">R2</text>
                <text x="228" y="180">198.51.100.1</text>
                <text x="460" y="212">(1-ff00:0:3,</text>
                <text x="468" y="228">198.51.100.18)</text>
                <text x="72" y="244">i2a</text>
                <text x="440" y="244">i3a</text>
                <text x="108" y="260">R1</text>
                <text x="396" y="260">R4</text>
                <text x="164" y="292">203.0.113.17</text>
                <text x="444" y="292">192.0.2.34</text>
                <text x="100" y="340">Endpoint</text>
                <text x="144" y="340">A</text>
                <text x="396" y="340">Endpoint</text>
                <text x="440" y="340">B</text>
                <text x="108" y="372">1-ff00:0:2,203.0.113.6</text>
                <text x="396" y="372">1-ff00:0:3,192.0.2.7</text>
                <text x="76" y="404">AS</text>
                <text x="124" y="404">ff00:0:2</text>
                <text x="364" y="404">AS</text>
                <text x="412" y="404">ff00:0:3</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                  +-------------------------+
                  |                         |
                  |    Core 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,
             o                                   o 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>
        </artset>
      </figure>
      <t>Based on the above topology, this example shows the life of a SCION packet sent from source at Endpoint A to destination at Endpoint B. It also shows simplified snapshots of the packet header after each on-path router.</t>
      <section anchor="path-lookup-and-segment-combination-at-source">
        <name>Path Lookup and Segment Combination at Source</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 queries 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 returns up segments from AS ff00:0:2 to the ISD core AS ff00:0:1. Endpoint A also queries 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:2 control service will return down segments from the ISD core down to AS ff00:0:3. 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><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.</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="steps-at-intermediate-routers">
        <name>Steps at Intermediate Routers</name>
        <t>This section contains simplified snapshots of the packet header at each hop. These snapshots are depicted in tables and they show the most relevant information of the header, including the SCION path and underlay IP encapsulation for local communication.
The current Info Field (with metadata on the current path segment) in the SCION header is depicted as <em>italic</em> in the tables. The current Hop Field, representing the current AS, is shown <strong>bold</strong>. The snapshot tables also include references to IP/UDP addresses. In this context, words "ingress" and "egress" refer to the direction of travel the SCION packet.</t>
        <ul spacing="normal">
          <li>
            <t><em>Step 1 -</em> <strong>A-&gt;R1</strong>: <br/> The SCION 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 R1. Endpoint A encapsulates the SCION packet into an underlay UDP/IPv4 header for the local delivery to router R1, utilizing AS ff00:0:2's internal routing protocol. The current Info Field is <em>IF1</em>. Upon receiving the packet, router R1 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 - A-&gt;R1</name>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Value</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION addr.</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 <br/> DST = 1-ff00:0:3,192.0.2.7</td>
              <td align="left">Endpoint A <br/> Endpoint B</td>
            </tr>
            <tr>
              <td align="left">SCION path</td>
              <td align="left">- <em>IF1</em> <strong>(0,i2a)</strong> (i1a,0) <br/> - IF2 (0,i1b) (i3a,0)</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">UDP port</td>
              <td align="left">SRC = 30041  <br/> DST = 30041</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 203.0.113.6 <br/> DST = 203.0.113.17</td>
              <td align="left">Endpoint A <br/>  Router R1</td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=A <br/> DST=R1</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 2 -</em> <strong>R1-&gt;R2</strong>: <br/> Router R1 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 R1 to forward the packet on its interface i2a. After reading the current Hop Field, router R1 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 - R1 -&gt; R2</name>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Value</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION addr.</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 <br/> DST = 1-ff00:0:3,192.0.2.7</td>
              <td align="left">Endpoint A <br/> Endpoint B</td>
            </tr>
            <tr>
              <td align="left">SCION path</td>
              <td align="left">- <em>IF1</em> (0,i2a) <strong>(i1a,0)</strong>  <br/>  - IF2 (0,i1b) (i3a,0)</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R1 <br/> DST=R2</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 3 -</em> <strong>R2-&gt;R3</strong>: <br/> When receiving the packet, router R2 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 R2. 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. The router maps the i1b interface ID to egress router R3, it therefore encapsulates the SCION packet inside an intra-AS underlay IP packet with the address of router R3 as the underlay destination.</t>
          </li>
        </ul>
        <table>
          <name>Snapshot header - step 3 -  R2 -&gt; R3</name>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Value</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION addr.</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 <br/> DST = 1-ff00:0:3,192.0.2.7</td>
              <td align="left">Endpoint A <br/> Endpoint B</td>
            </tr>
            <tr>
              <td align="left">SCION path</td>
              <td align="left">- IF1 (0,i2a) (i1a,0) <br/>   - <em>IF2</em> <strong>(0,i1b)</strong> (i3a,0)</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">UDP port</td>
              <td align="left">SRC = 30041 <br/> DST = 30041</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 198.51.100.1 <br/> DST = 198.51.100.4</td>
              <td align="left">Router R2 <br/> Router R3</td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R2 <br/> DST=R3</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 4 -</em> <strong>R3-&gt;R4</strong>: <br/> router R3 inspects the current Hop Field in the SCION header, uses interface i1b to forward the packet to its neighbor SCION router R4 of AS ff00:0:3, and moves the current hop-field pointer forward. It adds an IP header to reach router R4.</t>
          </li>
        </ul>
        <table>
          <name>Snapshot header - step 4 - R3 -&gt; R4</name>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Value</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION addr.</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6 <br/> DST = 1-ff00:0:3,192.0.2.7</td>
              <td align="left">Endpoint A <br/> Endpoint B</td>
            </tr>
            <tr>
              <td align="left">SCION path</td>
              <td align="left">- IF1 (0,i2a) (i1a,0) <br/>   - <em>IF2</em> (0,i1b) <strong>(i3a,0)</strong></td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">UDP port</td>
              <td align="left">SRC = 30041 <br/> DST = 30041 <br/></td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 198.51.100.17 <br/> DST = 198.51.100.18</td>
              <td align="left">Router R3 <br/> Router R4</td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R3 <br/> DST=R4</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t><em>Step 5 -</em> <strong>R4-&gt;B</strong>: <br/> SCION router R4 first checks whether the packet has been received through the ingress interface i3a as specified by the current Hop Field. router R4 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 R4 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 - R4 -&gt; B</name>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Value</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SCION addr.</td>
              <td align="left">SRC = 1-ff00:0:2,203.0.113.6  <br/> DST = 1-ff00:0:3,192.0.2.7</td>
              <td align="left">Endpoint A <br/> Endpoint B</td>
            </tr>
            <tr>
              <td align="left">SCION path</td>
              <td align="left">- IF1 (0,i2a) (i1a,0) <br/>  - <em>IF2</em> (0,i1b) <strong>(i3a,0)</strong> <br/></td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">UDP port</td>
              <td align="left">SRC = 30041  <br/> DST = 30041 <br/></td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">IP</td>
              <td align="left">SRC = 192.0.2.34 <br/> DST = 192.0.2.7</td>
              <td align="left">Router R4 <br/> Endpoint B</td>
            </tr>
            <tr>
              <td align="left">Link layer</td>
              <td align="left">SRC=R4 <br/> DST=B</td>
              <td align="left"> </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 K0, ... , K(n-1) 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/> C<sub>ki</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>ki = The forwarding key k of the current AS<sub>i</sub></t>
              </li>
              <li>
                <t>C<sub>ki</sub> (...) = Cryptographic checksum C over (...) computed with forwarding key ki</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> = C<sub>ki</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/> C<sup>Peer</sup><sub>ki</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="clock-inaccuracy">
            <name>Effects of Clock Inaccuracy</name>
            <t>Coarse time synchronization between an AS’s control service and its SCION routers is necessary because path segments are generated by control service instances and later used to construct data plane paths.
Specifically, the timestamp in the Info Field and the expiration time of Hop Fields are used for Hop Field MAC computation at each on-path SCION router, see <xref target="hf-mac-calc"/>. 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>Care should be taken to ensure that control plane instances and routers maintain coarse time synchronization. The specific methods used to achieve this synchronization are outside the scope of this document.
Security considerations related to this issue are discussed in <xref target="I-D.dekater-scion-controlplane"/>.</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="RFC8200"/>), 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 outside 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.
Such compromise can be mitigated with a forwarding key rotation.</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="2" month="November" 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-11"/>
        </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="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="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 1549?>

<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), Brian Trammel (Google) 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-09">
        <name>draft-dekater-scion-dataplane-09</name>
        <ul spacing="normal">
          <li>
            <t>Intro: remove duplicated motivation and component description and add a reference to the same text in -controlplane</t>
          </li>
          <li>
            <t>Clarify coarse time synchronization requirement between routers and control services and add reference to -controlplane security considerations</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-dataplane-08">
        <name>draft-dekater-scion-dataplane-08</name>
        <ul spacing="normal">
          <li>
            <t>Small clarifications and nits (e.g, replace RFC2460 reference with more recent RFC8200)</t>
          </li>
          <li>
            <t>Life of a SCION Data Packet: improve clarity in text and tables</t>
          </li>
          <li>
            <t>Remove use of decimal notation in tables 3 and 4</t>
          </li>
        </ul>
      </section>
      <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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
YbzOA4tBrugJBpmCwjAnmcUlo/vZLNYhX9dzvnyhIobeEBc+qyOj+3nh1go3
ji4+h9C7uink3yVD0dnCll0A3Xf0IWJUYuZGS8eAJx6I8QJlgudZTbEDFNKk
RFWuLwFHuZXe4r7ceeC7sjSKLpHkM359hBkmRGMxCZoPh1UEyd/RuJizOSgl
OOv6Fcb0L5h7raMCZD7wHMHHkoosD9OewwnpjGS7Y94nYm4pkXi08753q2IR
sUQy1ByzRPew3Ju5cKU6uSiTdbxZ68mGp8asVQ1IqWJvSg/uDoWIcKLb+nwW
vEBPDvg1ecF6kLY/faJMq2txIzHD8BzRC0SBHMcRqmldg9g79gi+xEBqCqZU
UTwpAXYjreOcCEfN4I6LQz+bzrh4TMD5o7Acn0lGYqH4V8S9kjwU8/nSn2dr
yU1yAP9870LQ288kyUD+9z3ogKQ1EGBl/LX2K/HPDJ6bwduWBru3bzYTWgAD
81EUEgQ/bL7/AR7pJqE6kl8I7aXzp/sb/FSrrbmfH6KHur8xn9IIHuQx8Lu/
iT5dw98fwpE8FJ8F/GbH8N9sJgfqEwEIHphPyVfycPDQjfswWsfDO6yDx8Z/
b6f6m/2hb87aoIRPR+blJPpN/r7jE3fZROuHDlNcTImfx84Q/80/obvoh89f
QQzBJVtc8ubAHfLnjXHjlkB/ff4Y/q/PAIV+tj12f61dJYnc9iT4Len8Wz47
uAn/uvMtW/aZEIu1la8sIZ3+jtLvclLhcw+DNdPPs4HcXCC47jhkhvDRDlA+
c48+u/9ZPvO/mZd3Wld652zZy7tp8kVmvgf6RI/e9zLTbMRyvOv4F85+r52b
R/+DX/4Fu77nXY0eve8ljbnPXVh59ON5+HIWHv1EvHv5ersoSOtzRxuYaaO8
FLPv6AMWvfBB/s18unaz6vSiD7ofNNjLF/kssbdSfvCDvTT46yyxDz52t/9Z
8FJrlK6/7OdfcBR7ACshw6SXnh48C5/BcSJKEYzi/q2fyEfmM0b1VSd1I5MH
d7hF+M1JLbnsN60Pux+8+WsbZQlk9I+ur9s4fLWUFOkfXV/bBx1RWnLH9Y+u
r9t3PA4i2tYYosPJZM6V01hFYe0yMroaFZONskVJFfPEqOZDG1oVJIYYYbT2
u9WDkukSi6mpkphzSUspbyr5iZub2Pwq4SdNarQZCdTejYMUPbrbaR9kffhn
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
uMsnY4cgfejk8+pdQfT1X/cev6Pg8QEA

-->

</rfc>
