<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-dataplane-10" 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-10"/>
    <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="2026" month="January" day="01"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 213?>

<t>This document describes the data plane of the path-aware, inter-domain network architecture SCION (Scalability, Control, and Isolation On Next-generation networks). A fundamental characteristic of SCION is that it gives path control to SCION-capable endpoints.</t>
      <t>The SCION Control Plane is responsible for discovering these paths and making them available as path segments to the endpoints. The role of the SCION Data Plane is to combine these path segments into end-to-end paths, and forward data between endpoints according to the specified path. It fundamentally differs from an IP-based data plane in that it is <em>path-aware</em> and interdomain forwarding directives are embedded in the packet header.</t>
      <t>This document provides a detailed specification of the SCION data packet format as well as the structure of the SCION header, including extension headers. It also describes the life of a SCION packet while traversing a SCION network, followed by a specification of the SCION path authorization mechanisms and the packet processing at routers.</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>SCION Autonomous System (AS)</strong>: A SCION Autonomous System is a network under a common administrative control. For example, the network of a SCION service provider, company, or university can constitute an AS. While functionally similar to a BGP AS, a SCION AS operates within an Isolation Domain (ISD), utilizes a different address scheme, and serves as a locator in the addressing of end hosts. References to ASes throughout this document refer to SCION ASes.</t>
        <t><strong>Core AS</strong>: Each Isolation Domain (ISD) is administered by a set of distinguished SCION autonomous systems (ASes) called core ASes, which are responsible for initiating the path discovery and path construction process (called "beaconing" in SCION).</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 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 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 and is used as the unspecified Interface ID (see <xref target="onehop"/>).</t>
        <t><strong>Isolation Domain (ISD)</strong>: SCION ASes are organized into logical groups called Isolation Domains or ISDs. Each ISD consists of ASes that span an area with a uniform trust environment (e.g. a common jurisdiction).</t>
        <t><strong>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. 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>: The 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>: These are derived from Path-Segment Construction Beacons (PCBs). A path segment can be (1) an up segment (i.e. a path between a non-core AS and a core AS in the same ISD), (2) a down segment (i.e. the same as an up segment, but in the opposite direction), or (3) a core segment (i.e. a path between core ASes). Up to three path segments can be used to create a forwarding path.</t>
        <t><strong>Path-Segment Construction Beacon (PCB)</strong>: Core AS control planes generate PCBs to explore paths within their isolation domain (ISD) and between different ISDs. ASes further propagate selected PCBs to their neighboring ASes. These PCBs traverse each AS accumulating information, including Hop Fields (HFs) which can subsequently be used for traffic forwarding.</t>
        <t><strong>Path Transparency</strong>: This 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 whose 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 ASes. SCION routers are normally deployed at the edge of an AS and peer with neighboring SCION routers. Inter-domain forwarding is based on end-to-end path information contained in the packet header, which 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. A SCION border router reuses existing intra-domain infrastructure (e.g. IP) to communicate to other SCION routers or SCION endpoints within its AS. The last SCION router at the destination AS 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 dedicated 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 - e.g. 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, 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, in order to avoid full inter-domain forwarding tables on 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.</t>
          <t>In practice, in most existing SCION deployments the SCION routers communicate amongst 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. Id does not exclude that a SCION packet may be enclosed directly on top of a Layer 2 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, whilst 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. An endpoint running a SCION stack using a <xref target="RFC1918"/> could therefore 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>Neighbor interface's underlay address.</t>
            </li>
            <li>
              <t>For intra-domain forwarding: mapping of the AS interface IDs to intra-domain protocol address of the corresponding routers.</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 - e.g. 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"/> and <xref target="_figure-1bis"/> show valid segment combinations with each node representing a SCION AS. 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 through multiple core ASes.</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="432" width="560" viewBox="0 0 560 432" 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 16,32 L 16,64" fill="none" stroke="black"/>
                <path d="M 16,96 L 16,128" 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 48,32 L 48,64" fill="none" stroke="black"/>
                <path d="M 48,96 L 48,128" 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 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 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 136,224 L 136,288" fill="none" stroke="black"/>
                <path d="M 136,320 L 136,384" 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 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 264,224 L 264,288" fill="none" stroke="black"/>
                <path d="M 264,320 L 264,384" 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 328,192 L 328,224" fill="none" stroke="black"/>
                <path d="M 360,192 L 360,224" fill="none" stroke="black"/>
                <path d="M 408,384 L 408,416" 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 440,384 L 440,416" fill="none" stroke="black"/>
                <path d="M 456,192 L 456,224" fill="none" stroke="black"/>
                <path d="M 464,320 L 464,352" fill="none" stroke="black"/>
                <path d="M 496,320 L 496,352" 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 552,384 L 552,416" 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"/>
                <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="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="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="48" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="128" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="256" cy="400" r="6" class="closeddot" fill="black"/>
                <circle cx="336" cy="208" 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="512" cy="208" r="6" class="closeddot" fill="black"/>
                <circle cx="528" cy="400" 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>
                </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|
    +---+     +---+           +---+               +---+         +---+
]]></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-1bis"/>): 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>
        <figure anchor="_figure-1bis">
          <name>Illustration of valid path segment combinations through one or no core ASes.</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="576" viewBox="0 0 576 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,240" fill="none" stroke="black"/>
                <path d="M 8,336 L 8,528" fill="none" stroke="black"/>
                <path d="M 32,320 L 32,352" fill="none" stroke="black"/>
                <path d="M 32,416 L 32,448" fill="none" stroke="black"/>
                <path d="M 32,512 L 32,544" fill="none" stroke="black"/>
                <path d="M 40,128 L 40,160" fill="none" stroke="black"/>
                <path d="M 40,224 L 40,256" fill="none" stroke="black"/>
                <path d="M 48,448 L 48,512" fill="none" stroke="black"/>
                <path d="M 56,48 L 56,128" fill="none" stroke="black"/>
                <path d="M 56,160 L 56,224" fill="none" stroke="black"/>
                <path d="M 64,320 L 64,352" fill="none" stroke="black"/>
                <path d="M 64,416 L 64,448" fill="none" stroke="black"/>
                <path d="M 64,512 L 64,544" fill="none" stroke="black"/>
                <path d="M 72,128 L 72,160" fill="none" stroke="black"/>
                <path d="M 72,224 L 72,256" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,64" fill="none" stroke="black"/>
                <path d="M 112,32 L 112,64" fill="none" stroke="black"/>
                <path d="M 112,320 L 112,352" fill="none" stroke="black"/>
                <path d="M 112,416 L 112,448" fill="none" stroke="black"/>
                <path d="M 112,512 L 112,544" fill="none" stroke="black"/>
                <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                <path d="M 120,224 L 120,256" fill="none" stroke="black"/>
                <path d="M 128,448 L 128,512" fill="none" stroke="black"/>
                <path d="M 136,48 L 136,128" fill="none" stroke="black"/>
                <path d="M 136,160 L 136,224" fill="none" stroke="black"/>
                <path d="M 144,320 L 144,352" fill="none" stroke="black"/>
                <path d="M 144,416 L 144,448" fill="none" stroke="black"/>
                <path d="M 144,512 L 144,544" fill="none" stroke="black"/>
                <path d="M 152,128 L 152,160" fill="none" stroke="black"/>
                <path d="M 152,224 L 152,256" fill="none" stroke="black"/>
                <path d="M 216,512 L 216,544" fill="none" stroke="black"/>
                <path d="M 232,432 L 232,512" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,64" fill="none" stroke="black"/>
                <path d="M 248,128 L 248,160" fill="none" stroke="black"/>
                <path d="M 248,224 L 248,256" fill="none" stroke="black"/>
                <path d="M 248,320 L 248,352" fill="none" stroke="black"/>
                <path d="M 248,416 L 248,448" fill="none" stroke="black"/>
                <path d="M 248,512 L 248,544" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                <path d="M 264,160 L 264,224" fill="none" stroke="black"/>
                <path d="M 280,32 L 280,64" fill="none" stroke="black"/>
                <path d="M 280,128 L 280,160" fill="none" stroke="black"/>
                <path d="M 280,224 L 280,256" fill="none" stroke="black"/>
                <path d="M 280,320 L 280,352" fill="none" stroke="black"/>
                <path d="M 280,416 L 280,448" fill="none" stroke="black"/>
                <path d="M 280,512 L 280,544" fill="none" stroke="black"/>
                <path d="M 296,432 L 296,512" fill="none" stroke="black"/>
                <path d="M 312,512 L 312,544" fill="none" stroke="black"/>
                <path d="M 360,320 L 360,352" fill="none" stroke="black"/>
                <path d="M 360,512 L 360,544" fill="none" stroke="black"/>
                <path d="M 376,432 L 376,512" fill="none" stroke="black"/>
                <path d="M 384,128 L 384,160" fill="none" stroke="black"/>
                <path d="M 384,224 L 384,256" fill="none" stroke="black"/>
                <path d="M 392,320 L 392,352" fill="none" stroke="black"/>
                <path d="M 392,512 L 392,544" fill="none" stroke="black"/>
                <path d="M 400,160 L 400,224" fill="none" stroke="black"/>
                <path d="M 400,416 L 400,448" fill="none" stroke="black"/>
                <path d="M 416,128 L 416,160" fill="none" stroke="black"/>
                <path d="M 416,224 L 416,256" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,64" fill="none" stroke="black"/>
                <path d="M 432,416 L 432,448" fill="none" stroke="black"/>
                <path d="M 440,320 L 440,352" fill="none" stroke="black"/>
                <path d="M 440,512 L 440,544" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,64" fill="none" stroke="black"/>
                <path d="M 456,432 L 456,512" fill="none" stroke="black"/>
                <path d="M 464,128 L 464,160" fill="none" stroke="black"/>
                <path d="M 464,224 L 464,256" fill="none" stroke="black"/>
                <path d="M 472,320 L 472,352" fill="none" stroke="black"/>
                <path d="M 472,512 L 472,544" fill="none" stroke="black"/>
                <path d="M 480,160 L 480,224" fill="none" stroke="black"/>
                <path d="M 496,128 L 496,160" fill="none" stroke="black"/>
                <path d="M 496,224 L 496,256" fill="none" stroke="black"/>
                <path d="M 536,320 L 536,352" fill="none" stroke="black"/>
                <path d="M 536,416 L 536,448" fill="none" stroke="black"/>
                <path d="M 536,512 L 536,544" fill="none" stroke="black"/>
                <path d="M 552,448 L 552,512" fill="none" stroke="black"/>
                <path d="M 568,320 L 568,352" fill="none" stroke="black"/>
                <path d="M 568,416 L 568,448" fill="none" stroke="black"/>
                <path d="M 568,512 L 568,544" fill="none" stroke="black"/>
                <path d="M 80,32 L 112,32" fill="none" stroke="black"/>
                <path d="M 248,32 L 280,32" fill="none" stroke="black"/>
                <path d="M 424,32 L 456,32" fill="none" stroke="black"/>
                <path d="M 56,48 L 80,48" fill="none" stroke="black"/>
                <path d="M 112,48 L 136,48" fill="none" stroke="black"/>
                <path d="M 80,64 L 112,64" fill="none" stroke="black"/>
                <path d="M 248,64 L 280,64" fill="none" stroke="black"/>
                <path d="M 424,64 L 456,64" fill="none" stroke="black"/>
                <path d="M 40,128 L 72,128" fill="none" stroke="black"/>
                <path d="M 120,128 L 152,128" fill="none" stroke="black"/>
                <path d="M 248,128 L 280,128" fill="none" stroke="black"/>
                <path d="M 384,128 L 416,128" fill="none" stroke="black"/>
                <path d="M 464,128 L 496,128" fill="none" stroke="black"/>
                <path d="M 432,144 L 448,144" fill="none" stroke="black"/>
                <path d="M 40,160 L 72,160" fill="none" stroke="black"/>
                <path d="M 120,160 L 152,160" fill="none" stroke="black"/>
                <path d="M 248,160 L 280,160" fill="none" stroke="black"/>
                <path d="M 384,160 L 416,160" fill="none" stroke="black"/>
                <path d="M 464,160 L 496,160" 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 384,224 L 416,224" fill="none" stroke="black"/>
                <path d="M 464,224 L 496,224" fill="none" stroke="black"/>
                <path d="M 40,256 L 72,256" fill="none" stroke="black"/>
                <path d="M 120,256 L 152,256" fill="none" stroke="black"/>
                <path d="M 248,256 L 280,256" fill="none" stroke="black"/>
                <path d="M 384,256 L 416,256" fill="none" stroke="black"/>
                <path d="M 464,256 L 496,256" fill="none" stroke="black"/>
                <path d="M 48,304 L 128,304" fill="none" stroke="black"/>
                <path d="M 376,304 L 456,304" fill="none" stroke="black"/>
                <path d="M 32,320 L 64,320" fill="none" stroke="black"/>
                <path d="M 112,320 L 144,320" fill="none" stroke="black"/>
                <path d="M 248,320 L 280,320" fill="none" stroke="black"/>
                <path d="M 360,320 L 392,320" fill="none" stroke="black"/>
                <path d="M 440,320 L 472,320" fill="none" stroke="black"/>
                <path d="M 536,320 L 568,320" fill="none" stroke="black"/>
                <path d="M 32,352 L 64,352" fill="none" stroke="black"/>
                <path d="M 112,352 L 144,352" fill="none" stroke="black"/>
                <path d="M 248,352 L 280,352" fill="none" stroke="black"/>
                <path d="M 360,352 L 392,352" fill="none" stroke="black"/>
                <path d="M 440,352 L 472,352" fill="none" stroke="black"/>
                <path d="M 536,352 L 568,352" fill="none" stroke="black"/>
                <path d="M 32,416 L 64,416" fill="none" stroke="black"/>
                <path d="M 112,416 L 144,416" fill="none" stroke="black"/>
                <path d="M 248,416 L 280,416" fill="none" stroke="black"/>
                <path d="M 400,416 L 432,416" fill="none" stroke="black"/>
                <path d="M 536,416 L 568,416" fill="none" stroke="black"/>
                <path d="M 80,432 L 96,432" fill="none" stroke="black"/>
                <path d="M 232,432 L 248,432" fill="none" stroke="black"/>
                <path d="M 280,432 L 296,432" fill="none" stroke="black"/>
                <path d="M 376,432 L 400,432" fill="none" stroke="black"/>
                <path d="M 432,432 L 456,432" fill="none" stroke="black"/>
                <path d="M 32,448 L 64,448" fill="none" stroke="black"/>
                <path d="M 112,448 L 144,448" fill="none" stroke="black"/>
                <path d="M 248,448 L 280,448" fill="none" stroke="black"/>
                <path d="M 400,448 L 432,448" fill="none" stroke="black"/>
                <path d="M 536,448 L 568,448" fill="none" stroke="black"/>
                <path d="M 32,512 L 64,512" fill="none" stroke="black"/>
                <path d="M 112,512 L 144,512" fill="none" stroke="black"/>
                <path d="M 216,512 L 248,512" fill="none" stroke="black"/>
                <path d="M 280,512 L 312,512" fill="none" stroke="black"/>
                <path d="M 360,512 L 392,512" fill="none" stroke="black"/>
                <path d="M 440,512 L 472,512" fill="none" stroke="black"/>
                <path d="M 536,512 L 568,512" fill="none" stroke="black"/>
                <path d="M 32,544 L 64,544" fill="none" stroke="black"/>
                <path d="M 112,544 L 144,544" fill="none" stroke="black"/>
                <path d="M 216,544 L 248,544" fill="none" stroke="black"/>
                <path d="M 280,544 L 312,544" fill="none" stroke="black"/>
                <path d="M 360,544 L 392,544" fill="none" stroke="black"/>
                <path d="M 440,544 L 472,544" fill="none" stroke="black"/>
                <path d="M 536,544 L 568,544" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="464,304 452,298.4 452,309.6" fill="black" transform="rotate(0,456,304)"/>
                <polygon class="arrowhead" points="136,304 124,298.4 124,309.6" fill="black" transform="rotate(0,128,304)"/>
                <polygon class="arrowhead" points="16,528 4,522.4 4,533.6" fill="black" transform="rotate(90,8,528)"/>
                <polygon class="arrowhead" points="16,240 4,234.4 4,245.6" fill="black" transform="rotate(90,8,240)"/>
                <circle cx="40" cy="528" r="6" class="closeddot" fill="black"/>
                <circle cx="48" cy="240" r="6" class="closeddot" fill="black"/>
                <circle cx="120" cy="528" r="6" class="closeddot" fill="black"/>
                <circle cx="128" cy="240" r="6" class="closeddot" fill="black"/>
                <circle cx="224" cy="528" r="6" class="closeddot" fill="black"/>
                <circle cx="256" cy="48" r="6" class="closeddot" fill="black"/>
                <circle cx="256" cy="240" r="6" class="closeddot" fill="black"/>
                <circle cx="288" cy="528" r="6" class="closeddot" fill="black"/>
                <circle cx="368" cy="528" r="6" class="closeddot" fill="black"/>
                <circle cx="392" cy="240" r="6" class="closeddot" fill="black"/>
                <circle cx="448" cy="528" r="6" class="closeddot" fill="black"/>
                <circle cx="472" cy="240" r="6" class="closeddot" fill="black"/>
                <circle cx="544" cy="432" r="6" class="closeddot" fill="black"/>
                <circle cx="544" cy="528" r="6" class="closeddot" fill="black"/>
                <g class="text">
                  <text x="96" y="52">C</text>
                  <text x="272" y="52">C</text>
                  <text x="404" y="52">:-</text>
                  <text x="440" y="52">C</text>
                  <text x="464" y="52">-</text>
                  <text x="480" y="52">:</text>
                  <text x="400" y="68">:</text>
                  <text x="480" y="68">:</text>
                  <text x="400" y="84">:</text>
                  <text x="480" y="84">:</text>
                  <text x="92" y="100">2a</text>
                  <text x="236" y="100">2b</text>
                  <text x="400" y="100">:</text>
                  <text x="444" y="100">3a</text>
                  <text x="480" y="100">:</text>
                  <text x="400" y="116">:</text>
                  <text x="480" y="116">:</text>
                  <text x="424" y="148">p</text>
                  <text x="456" y="148">p</text>
                  <text x="92" y="292">Core</text>
                  <text x="420" y="292">Core</text>
                  <text x="48" y="340">C</text>
                  <text x="80" y="340">-</text>
                  <text x="96" y="340">-</text>
                  <text x="128" y="340">C</text>
                  <text x="264" y="340">C</text>
                  <text x="376" y="340">C</text>
                  <text x="408" y="340">-</text>
                  <text x="424" y="340">-</text>
                  <text x="456" y="340">C</text>
                  <text x="552" y="340">C</text>
                  <text x="48" y="372">:</text>
                  <text x="92" y="372">3b</text>
                  <text x="128" y="372">:</text>
                  <text x="264" y="372">:</text>
                  <text x="300" y="372">4a</text>
                  <text x="376" y="372">:</text>
                  <text x="412" y="372">4b</text>
                  <text x="456" y="372">:</text>
                  <text x="528" y="372">5</text>
                  <text x="552" y="372">:</text>
                  <text x="48" y="388">:</text>
                  <text x="128" y="388">:</text>
                  <text x="264" y="388">:</text>
                  <text x="376" y="388">:</text>
                  <text x="456" y="388">:</text>
                  <text x="552" y="388">:</text>
                  <text x="48" y="404">:</text>
                  <text x="128" y="404">:</text>
                  <text x="264" y="404">:</text>
                  <text x="376" y="404">:</text>
                  <text x="456" y="404">:</text>
                  <text x="552" y="404">:</text>
                  <text x="380" y="420">:-</text>
                  <text x="452" y="420">-:</text>
                  <text x="72" y="436">p</text>
                  <text x="104" y="436">p</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
         +---+                +---+                 +---+
+     +--+ 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>
      </section>
      <section anchor="path-authorization">
        <name>Path Authorization</name>
        <t>The SCION Data Plane provides <em>path authorization</em>. This 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 and 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, SCION 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 which serves the same purpose as what <xref target="RFC6437"/> describes for IPv6 and is used in the same manner. Note that 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, which 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 and 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 - e.g. 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 single 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 SCION 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, and this process 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="656" width="504" viewBox="0 0 504 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,48 L 8,208" fill="none" stroke="black"/>
                  <path d="M 24,64 L 24,192" fill="none" stroke="black"/>
                  <path d="M 72,64 L 72,192" fill="none" stroke="black"/>
                  <path d="M 88,48 L 88,72" fill="none" stroke="black"/>
                  <path d="M 88,184 L 88,208" fill="none" stroke="black"/>
                  <path d="M 112,176 L 112,432" fill="none" stroke="black"/>
                  <path d="M 128,144 L 128,400" fill="none" stroke="black"/>
                  <path d="M 144,112 L 144,368" fill="none" stroke="black"/>
                  <path d="M 160,80 L 160,272" fill="none" stroke="black"/>
                  <path d="M 184,48 L 184,176" fill="none" stroke="black"/>
                  <path d="M 184,208 L 184,264" fill="none" stroke="black"/>
                  <path d="M 184,280 L 184,360" fill="none" stroke="black"/>
                  <path d="M 184,440 L 184,624" fill="none" stroke="black"/>
                  <path d="M 200,64 L 200,160" fill="none" stroke="black"/>
                  <path d="M 200,224 L 200,608" fill="none" stroke="black"/>
                  <path d="M 248,64 L 248,160" fill="none" stroke="black"/>
                  <path d="M 248,224 L 248,608" fill="none" stroke="black"/>
                  <path d="M 264,48 L 264,72" fill="none" stroke="black"/>
                  <path d="M 264,152 L 264,176" fill="none" stroke="black"/>
                  <path d="M 264,208 L 264,296" fill="none" stroke="black"/>
                  <path d="M 264,344 L 264,456" fill="none" stroke="black"/>
                  <path d="M 264,600 L 264,624" fill="none" stroke="black"/>
                  <path d="M 288,80 L 288,104" fill="none" stroke="black"/>
                  <path d="M 288,152 L 288,304" fill="none" stroke="black"/>
                  <path d="M 304,112 L 304,136" fill="none" stroke="black"/>
                  <path d="M 304,152 L 304,328" fill="none" stroke="black"/>
                  <path d="M 304,344 L 304,464" fill="none" stroke="black"/>
                  <path d="M 320,144 L 320,328" fill="none" stroke="black"/>
                  <path d="M 320,344 L 320,496" fill="none" stroke="black"/>
                  <path d="M 344,48 L 344,208" fill="none" stroke="black"/>
                  <path d="M 360,64 L 360,192" fill="none" stroke="black"/>
                  <path d="M 408,64 L 408,192" fill="none" stroke="black"/>
                  <path d="M 424,48 L 424,72" fill="none" stroke="black"/>
                  <path d="M 424,184 L 424,208" fill="none" stroke="black"/>
                  <path d="M 448,80 L 448,104" fill="none" stroke="black"/>
                  <path d="M 448,184 L 448,336" fill="none" stroke="black"/>
                  <path d="M 464,112 L 464,136" fill="none" stroke="black"/>
                  <path d="M 464,184 L 464,528" fill="none" stroke="black"/>
                  <path d="M 480,144 L 480,168" fill="none" stroke="black"/>
                  <path d="M 480,184 L 480,560" fill="none" stroke="black"/>
                  <path d="M 496,176 L 496,592" fill="none" stroke="black"/>
                  <path d="M 8,48 L 88,48" fill="none" stroke="black"/>
                  <path d="M 184,48 L 264,48" fill="none" stroke="black"/>
                  <path d="M 344,48 L 424,48" fill="none" stroke="black"/>
                  <path d="M 24,64 L 72,64" fill="none" stroke="black"/>
                  <path d="M 200,64 L 248,64" fill="none" stroke="black"/>
                  <path d="M 360,64 L 408,64" fill="none" stroke="black"/>
                  <path d="M 80,80 L 160,80" fill="none" stroke="black"/>
                  <path d="M 256,80 L 288,80" fill="none" stroke="black"/>
                  <path d="M 416,80 L 448,80" fill="none" stroke="black"/>
                  <path d="M 24,96 L 72,96" fill="none" stroke="black"/>
                  <path d="M 200,96 L 248,96" fill="none" stroke="black"/>
                  <path d="M 360,96 L 408,96" fill="none" stroke="black"/>
                  <path d="M 80,112 L 144,112" fill="none" stroke="black"/>
                  <path d="M 256,112 L 304,112" fill="none" stroke="black"/>
                  <path d="M 416,112 L 464,112" fill="none" stroke="black"/>
                  <path d="M 24,128 L 72,128" fill="none" stroke="black"/>
                  <path d="M 200,128 L 248,128" fill="none" stroke="black"/>
                  <path d="M 360,128 L 408,128" fill="none" stroke="black"/>
                  <path d="M 80,144 L 128,144" fill="none" stroke="black"/>
                  <path d="M 256,144 L 320,144" fill="none" stroke="black"/>
                  <path d="M 416,144 L 480,144" fill="none" stroke="black"/>
                  <path d="M 24,160 L 72,160" fill="none" stroke="black"/>
                  <path d="M 200,160 L 248,160" fill="none" stroke="black"/>
                  <path d="M 360,160 L 408,160" fill="none" stroke="black"/>
                  <path d="M 80,176 L 112,176" fill="none" stroke="black"/>
                  <path d="M 184,176 L 264,176" fill="none" stroke="black"/>
                  <path d="M 416,176 L 496,176" fill="none" stroke="black"/>
                  <path d="M 24,192 L 72,192" fill="none" stroke="black"/>
                  <path d="M 360,192 L 408,192" fill="none" stroke="black"/>
                  <path d="M 8,208 L 88,208" fill="none" stroke="black"/>
                  <path d="M 184,208 L 264,208" fill="none" stroke="black"/>
                  <path d="M 344,208 L 424,208" fill="none" stroke="black"/>
                  <path d="M 200,224 L 248,224" fill="none" stroke="black"/>
                  <path d="M 200,256 L 248,256" fill="none" stroke="black"/>
                  <path d="M 160,272 L 192,272" fill="none" stroke="black"/>
                  <path d="M 200,288 L 248,288" fill="none" stroke="black"/>
                  <path d="M 256,304 L 288,304" fill="none" stroke="black"/>
                  <path d="M 200,320 L 248,320" fill="none" stroke="black"/>
                  <path d="M 256,336 L 448,336" fill="none" stroke="black"/>
                  <path d="M 200,352 L 248,352" fill="none" stroke="black"/>
                  <path d="M 144,368 L 192,368" fill="none" stroke="black"/>
                  <path d="M 200,384 L 248,384" fill="none" stroke="black"/>
                  <path d="M 128,400 L 192,400" fill="none" stroke="black"/>
                  <path d="M 200,416 L 248,416" fill="none" stroke="black"/>
                  <path d="M 112,432 L 192,432" fill="none" stroke="black"/>
                  <path d="M 200,448 L 248,448" fill="none" stroke="black"/>
                  <path d="M 256,464 L 304,464" fill="none" stroke="black"/>
                  <path d="M 200,480 L 248,480" fill="none" stroke="black"/>
                  <path d="M 256,496 L 320,496" fill="none" stroke="black"/>
                  <path d="M 200,512 L 248,512" fill="none" stroke="black"/>
                  <path d="M 256,528 L 464,528" fill="none" stroke="black"/>
                  <path d="M 200,544 L 248,544" fill="none" stroke="black"/>
                  <path d="M 256,560 L 480,560" fill="none" stroke="black"/>
                  <path d="M 200,576 L 248,576" fill="none" stroke="black"/>
                  <path d="M 256,592 L 496,592" fill="none" stroke="black"/>
                  <path d="M 200,608 L 248,608" fill="none" stroke="black"/>
                  <path d="M 184,624 L 264,624" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="264,592 252,586.4 252,597.6" fill="black" transform="rotate(180,256,592)"/>
                  <polygon class="arrowhead" points="264,560 252,554.4 252,565.6" fill="black" transform="rotate(180,256,560)"/>
                  <polygon class="arrowhead" points="264,528 252,522.4 252,533.6" fill="black" transform="rotate(180,256,528)"/>
                  <polygon class="arrowhead" points="264,496 252,490.4 252,501.6" fill="black" transform="rotate(180,256,496)"/>
                  <polygon class="arrowhead" points="264,464 252,458.4 252,469.6" fill="black" transform="rotate(180,256,464)"/>
                  <polygon class="arrowhead" points="264,336 252,330.4 252,341.6" fill="black" transform="rotate(180,256,336)"/>
                  <polygon class="arrowhead" points="264,304 252,298.4 252,309.6" fill="black" transform="rotate(180,256,304)"/>
                  <polygon class="arrowhead" points="200,432 188,426.4 188,437.6" fill="black" transform="rotate(0,192,432)"/>
                  <polygon class="arrowhead" points="200,400 188,394.4 188,405.6" fill="black" transform="rotate(0,192,400)"/>
                  <polygon class="arrowhead" points="200,368 188,362.4 188,373.6" fill="black" transform="rotate(0,192,368)"/>
                  <polygon class="arrowhead" points="200,272 188,266.4 188,277.6" fill="black" transform="rotate(0,192,272)"/>
                  <g class="text">
                    <text x="52" y="36">Up-Segment</text>
                    <text x="228" y="36">Core-Segment</text>
                    <text x="388" y="36">Down-Segment</text>
                    <text x="48" y="84">INF</text>
                    <text x="224" y="84">INF</text>
                    <text x="384" y="84">INF</text>
                    <text x="88" y="100">|</text>
                    <text x="264" y="100">|</text>
                    <text x="424" y="100">|</text>
                    <text x="44" y="116">HF</text>
                    <text x="220" y="116">HF</text>
                    <text x="380" y="116">HF</text>
                    <text x="88" y="132">|</text>
                    <text x="264" y="132">|</text>
                    <text x="288" y="132">|</text>
                    <text x="424" y="132">|</text>
                    <text x="448" y="132">|</text>
                    <text x="44" y="148">HF</text>
                    <text x="220" y="148">HF</text>
                    <text x="380" y="148">HF</text>
                    <text x="88" y="164">|</text>
                    <text x="424" y="164">|</text>
                    <text x="448" y="164">|</text>
                    <text x="464" y="164">|</text>
                    <text x="44" y="180">HF</text>
                    <text x="380" y="180">HF</text>
                    <text x="220" y="244">Meta</text>
                    <text x="224" y="276">INF</text>
                    <text x="224" y="308">INF</text>
                    <text x="264" y="324">|</text>
                    <text x="224" y="340">INF</text>
                    <text x="220" y="372">HF</text>
                    <text x="184" y="388">|</text>
                    <text x="220" y="404">HF</text>
                    <text x="184" y="420">|</text>
                    <text x="220" y="436">HF</text>
                    <text x="220" y="468">HF</text>
                    <text x="264" y="484">|</text>
                    <text x="84" y="500">Forwarding</text>
                    <text x="148" y="500">Path</text>
                    <text x="220" y="500">HF</text>
                    <text x="264" y="516">|</text>
                    <text x="220" y="532">HF</text>
                    <text x="264" y="548">|</text>
                    <text x="220" y="564">HF</text>
                    <text x="264" y="580">|</text>
                    <text x="220" y="596">HF</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
    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>Path offset calculations enable SCION border routers to locate the currently active Info Field and Hop Field during packet processing.</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 seconds since Epoch according to <xref target="POSIX.1-2024"/> Section 4.19, 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, and 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). This timestamp wraps around every 2^32 seconds (roughly 136 years) with the next wraparound occurring in year 2106. Care should be taken by implementations while computing validity during a wraparound.</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 Layer 4 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>Bootstrapping beaconing between neighboring ASes relies on the <tt>OneHopPath</tt> path type (<tt>PathType=2</tt>). 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. Any entity with access to the AS forwarding key can create a valid info and Hop Field as described in <xref target="inffield"/> and <xref target="hopfld"/> respectively. 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>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 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) and 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 describes the life 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. The forwarding logic is uniform across intra- and inter-ISD scenarios. An inter-ISD scenario would use an additional core path segment or a peering link.</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 where both 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.</t>
        <t>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. 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 then 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, and 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 path 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 by 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 fulfil 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 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>. 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> - i.e. 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 <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"/>.</t>
            <t>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, and 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.</t>
            <t>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's 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, and 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's 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.</t>
          <t>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 an endpoint 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 example, 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 who 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 (SPAO) to authenticate addresses, provide integrity protection for payloads, and replay protection. 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 allocated by the SCION Association (see <xref target="ISD-AS-assignments"/>).</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.dekater-scion-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="4" month="December" 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-13"/>
        </reference>
        <reference anchor="POSIX.1-2024" target="https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap04.html">
          <front>
            <title>Standard for Information Technology--Portable Operating System Interface (POSIX™) Base Specifications, Issue 8</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="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="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="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" target="http://scion.org/registry/">
          <front>
            <title>SCION Registry</title>
            <author>
              <organization/>
            </author>
            <date year="2026"/>
          </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 1523?>

<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="protnum-table">
        <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-10">
        <name>draft-dekater-scion-dataplane-10</name>
        <ul spacing="normal">
          <li>
            <t>Add normative reference to POSIX time and clarify timestamp behavior at wraparound</t>
          </li>
          <li>
            <t>Clarify distinction between SCION ASes and BGP ASes through the text</t>
          </li>
          <li>
            <t>Figure 1: split into two smaller figures to fit in a single page</t>
          </li>
          <li>
            <t>Figure 9 (Path construction example): shorten and remove superfluous AS chain</t>
          </li>
          <li>
            <t>Configuration: clarify text on intra vs inter-domain interface id mappings</t>
          </li>
          <li>
            <t>Remove unused informative reference to I-D.dekater-panrg-scion-overview, to RFC5280, and to Anapaya's ISD assignments, since they are taken over by SCION Association in 2026</t>
          </li>
          <li>
            <t>Overall review and wording polish</t>
          </li>
        </ul>
      </section>
      <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:
H4sIAAAAAAAAA+y9y3YbSZYguOdXeFOLICgA4ksKhTIjuihKSrFSIXFERlTm
ZNcEnYCD9BTgjnIHSCFF1enF/MTs5swsZjV/0KupP+kvmfs0u2buAEk9orIy
i1UZIgF3e1y7dt+PXq+3Nstn4+xJsn58cPjmdfIsnaXJ0TgtsvW19Oysyi79
V0fra4N0lp2X1eJJkhejcq2en03yus7LYraYZvjhMJtm8J9itrY2LAdFOoFP
h1U6mvWG2Tt4uerVA3i8N4R5pjhNb3trDebYXbuXpFWWwmyHb09erMOfV2X1
7rwq51P47CidXST7V/BE8jqb4Td5cZ68/d362rtsAX8OnySHBYxeZLPeM5xu
7TIr5tkTGCa5eQx4iNe//jars7QaXCS/w5fom0maj+GbaVpU5/+QV7NRv6zO
6Rt8EL65mM2m9ZMHD66urvp5xt8/wLd6+EB+mT24ys4e0PsP1tdgPfnsYn4G
LxIk0rouB3k6g18fCGimvxz2nuGTYwBYPTNTxG/0eax+XgbvPlgJ8f7FbDJe
X1tL57OLsnqytpb0kgSOrn6SHPSTYZb8Ht+C6eGHD/CgrPIii76CXSLQ/YHT
pxmDa/DLMPuFZv+H88n7/uDCzvK6n7yd17P8vCjHuZ3ndT4ox2njS5qJcXDf
7z2Yr8gH/0DbRODbuf6xj5t6OT8fL+xM/5ilRe/gosrrWTm9yOwDK/f153yQ
/cPlVTpb9AflxE50DLPks7/YSY7TyTwbm49p6P0inaaLNDle1LNsUgfDX8Cj
/5DyA33A5bW1oqwmsN1LQOUkgaPth4c6fZe3fzGAK1mVYzpwfOLozfHhH/rb
vZ2tnb0na36Nh8+fP6c/HRmYpcUwrYbJqKwADCOevyySk2xwAWdSni96vaOy
mqVn4yx5M80q+BruEW+Hb+EoHWTJBk35P//3/6uTPE3rLDmeZoN8lA9otLqb
HNb1PEser9PsgJwwOS6OF5NW5xkgvuL9dH5W90s4ELrLdMHKYgw4iV88+O7b
7777bhv/++AMZhpmo/rBz9u/DC7S6dYeYTsM+vbFweOdra0n/OvO3rd78uvu
9qPH8uve3ne78uvDx4/12Ud7u98+sSPkChU+lYOXP+2f7Ow8CcB4Akh1UE6m
42yWJb+b53B3ZiUjcbTjndYdD8uctrm91d/e2voW9vi4t9vb2t3ubT3cefy4
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

-->

</rfc>
