<?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.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-dataplane-11" 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-11"/>
    <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="February" day="06"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 213?>

<t>This document describes the Data Plane of SCION (Scalability, Control, and Isolation On Next-generation networks), a path-aware, inter-domain network architecture.</t>
      <t>Unlike IP-based forwarding, SCION embeds inter-domain forwarding directives in the packet header, enabling endpoints to construct and select end-to-end paths from segments discovered by the Control Plane. The role of the Data Plane is to combine such segments into end-to-end paths, and to forward data according to the specified path.</t>
      <t>This document  describes the SCION packet format, header structure, and extension headers. It also describes the cryptographic mechanisms used for path authorization, processing at routers including a life of a packet example.</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"/>. 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>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>
      <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 authenticates 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. Endpoints can create one 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). Endpoints use up to three path segments 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, removing the need for specialized hardware. 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>
        <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; reusing 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> and forwarding key, 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>The current SCION implementation runs over the UDP/IP protocol, although 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 with 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>
        </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>
        <ul spacing="normal">
          <li>
            <t><strong>Communication through a core AS with 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>
          <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. The up and down segments do not need to originate from the same core AS and the peering link could also be traversing to a different ISD.</t>
          </li>
          <li>
            <t><strong>AS shortcut</strong> (Cases 4a and 4b): The up and down segments intersect at a non-core AS below the ISD core, thus creating a shortcut. In this case, a shorter path is made possible by removing the extraneous part of the path to the core. Note that the up and down segments do not need to originate from the same core AS.</t>
          </li>
          <li>
            <t><strong>On-path</strong> (Case 5): In the case where the source's up segment contains the destination AS or the destination's down segment contains the source AS, a single segment is sufficient to construct a forwarding path. Again, no core AS is on the final path.</t>
          </li>
        </ul>
      </section>
      <section anchor="path-authorization">
        <name>Path Authorization</name>
        <t>The SCION Data Plane provides <em>path authorization</em>. This 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. It is described in <xref target="path-type-field"/>.</t>
          </li>
          <li>
            <t><tt>DT/DL/ST/SL</tt> (Address Type And Length): Define the endpoint address type and length. They are described in <xref target="addr-type-length-field"/>.</t>
          </li>
          <li>
            <t><tt>RSV</tt>: These bits are currently reserved for future use.</t>
          </li>
        </ul>
        <section anchor="path-type-field">
          <name>Path Type Field</name>
          <table anchor="_table-1">
            <name>Currently defined 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>
          <t>The Path Type field determines the type of the SCION path and it is 8 bits long. The format of one path type is independent of all other path types. 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>
        </section>
        <section anchor="addr-type-length-field">
          <name>Address Type And Length Fields</name>
          <t>These fields, also abbreviated <tt>DT/DL/ST/SL</tt>, define the endpoint address type and endpoint address length for the source and destination endpoint.</t>
          <t>The possible endpoint address length values are:</t>
          <table anchor="_table-2">
            <name>Address length values. `DL` and `SL` stand for Destination Length and Source Length.</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>
          <t>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.</t>
          <t>The "type" identifier is only defined in combination with a specific address length. Per address length, several sub-types are possible. The currently assigned combinations of lengths and types are:</t>
          <table anchor="_table-3">
            <name>Allocations of length and type combinations. `DT` and `ST` stand for Destination Type and Source Type.</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>Service addresses are described in <xref target="service-addresses"/>.</t>
        </section>
      </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>
      </section>
      <section anchor="service-addresses">
        <name>Service Addresses</name>
        <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.
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>For more information on addressing, see <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. A Message Authentication Code (MAC) authenticates this information 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>The Hop Field that represents the last Hop in the first segment (seen in the direction of travel) specifies only the ingress interface. 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 carries <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 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>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 inserts 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 inserts 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.</t>
      <section anchor="example-topology">
        <name>Example Topology</name>
        <figure anchor="_figure-16">
          <name>Topology used in examples below.</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>
        <ul spacing="normal">
          <li>
            <t>R1, R2, R3, R4 are SCION routers, deployed at the edge of their AS. Their interface IDs are represented close to their interfaces (e.g., i2a for R1).</t>
          </li>
          <li>
            <t>AS ff00:0:1 is a core AS, ASes ff00:0:2 and ff00:0:3 are non-core. All ASes are part of ISD 1.</t>
          </li>
          <li>
            <t>Endpoint A is the source endpoint and it is in AS ff00:0:2</t>
          </li>
          <li>
            <t>Endpoint B the destination endpoint and it is in AS ff00:0:3</t>
          </li>
          <li>
            <t>both endpoints run a native SCION network stack.</t>
          </li>
        </ul>
        <t>Since this example consists of only one ISD and 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. A scenario with more core ASes and/or ISDs would use an additional core path segment or a peering link.</t>
      </section>
      <section anchor="source-endpoint-path-lookup-and-segment-combination">
        <name>Source Endpoint: Path Lookup and Segment Combination</name>
        <t>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>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="intermediate-routers-forwarding-and-header-snapshots">
        <name>Intermediate Routers: Forwarding and Header Snapshots</name>
        <t>This section shows simplified snapshots of the packet header at each hop of the example topology. 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>Example: 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>Example: 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 R2 drops the packet. 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>Example: 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>Example: 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>Example: 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>
      </section>
      <section anchor="destination-endpoint">
        <name>Destination Endpoint</name>
        <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> be configured to use the same algorithm (see <eref target="configuration"/>). 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 unforgeable 48-bit value. Unforgeable specifically means "existentially unforgeable 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 core AS control services and SCION routers is required because path segments are generated by core AS control services and subsequently validated by routers in the data plane. Specifically, routers rely on the timestamp in the Info Field and the expiration time of Hop Fields to verify Hop Field validity, see <xref target="process-router-ingress"/>.</t>
            <t>Clock offsets between the originating control service and the validating router impact this 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>Given the minimum Hop Field expiration of 337.5 seconds (see <xref target="hopfld"/>), offsets between a router and core ASes in the order of minutes are tolerable.</t>
            <t>Operators should ensure that control plane instances and routers maintain coarse time synchronization, though the specific methods used to achieve this are outside the scope of this document.</t>
            <t>For details on clock inaccuracies relative to beaconing, and for related security considerations, see <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 using an out-of-band mechanism 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 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>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="16" month="January" year="2026"/>
            <abstract>
              <t>   This document presents the trust concept and design of the SCION
   _Control Plane Public Key Infrastructure (CP-PKI)_. SCION
   (Scalability, Control, and Isolation On Next-generation networks) is
   a path-aware, inter-domain network architecture where the Control
   Plane PKI handles cryptographic material and is the foundation of the
   authentication procedures in SCION.  It is used by SCION's Control
   Plane ([I-D.dekater-scion-controlplane]) to authenticate and verify
   path information, and provisions SCION's trust model based on
   Isolation Domains.

   This document describes the trust model behind the SCION Control
   Plane PKI, including the specifications of the different types of
   certificates and the Trust Root Configuration.  It also describes how
   to deploy the Control Plane PKI infrastructure.

   This document contains new approaches to secure path aware
   networking.  It is not an Internet Standard, has not received any
   formal review of the IETF, nor was the work developed through the
   rough consensus process.  The approaches offered in this work are
   offered to the community for its consideration in the further
   evolution of the Internet.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekater-scion-pki-11"/>
        </reference>
        <reference anchor="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="February" year="2026"/>
            <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 SCION 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 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-15"/>
        </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 1532?>

<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-11">
        <name>draft-dekater-scion-dataplane-11</name>
        <ul spacing="normal">
          <li>
            <t>Reduce use of passive tense and clarify subject</t>
          </li>
          <li>
            <t>Abstract, Introduction: reworded and shortened, with reference to longer -controlplane introduction</t>
          </li>
          <li>
            <t>Tables 1-4: move them to dedicated subsections to increase readability</t>
          </li>
          <li>
            <t>Figures 2, 3: move text to after figures</t>
          </li>
          <li>
            <t>Life of a SCION Data Packet: restructure section and clarify role of example topology</t>
          </li>
          <li>
            <t>Effects of Clock Inaccuracy: reword, clarify tolerable offset, remove duplicated part about beacon propagation and point to -controlplane</t>
          </li>
        </ul>
      </section>
      <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>
    <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>
  </back>
  <!-- ##markdown-source:
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
mkWzGYQ8cxKzQpVBRHycGI1L44/E60HyDsoMfriRGz+N2ENLwvx7MeHda1OH
0EiIttqNDfJW0lJST2edJ2PSt3TlXRsnP0Wd2YtsiyuWsKxp2hhTghgitRG7
1g8O8EBdHZ8oq2SBcvCA3z08/cYobmJnMJoviftlyNLInMzyjuuu6G/s8oge
3wTEL1FkvQR1GzN6RFr1A6ZCmaK/sdcw1ByUFFdH8Mwo6i5lvunYcrzINaEw
GrbWoIrI480CEuv3qKWRInfS0cebtJb+xj5vwkoC9kw9ow2eMEdBLzOOyTfW
N4yphWcpncDYxvAt2cm65fY3Hvajt6Any0naAFRcT9cBS+KdO2gE6YKyF247
E5zpFP82h8wuisW48XS7rpJdNpgj2kyH/Y1HbRYRxzi3bmT+65vSO3obkyhR
IyaYlAJsovOnZfUCbh/GC5wjHP5ExyYI84L2BJKWYFCPN9kR+nCUZ8TxeKoP
90bu38C3nvguJqHTiOsL2L547iVbzgvdgR1R+DkIhS7BR4QJglxNHE25lPoB
6OZEUi/AYzFdfD5DOpy4vKAAHUB4JrXeugEws6Qjge04EPm3PCufBmRRUE5p
lqDDJGOUdpWVIxtLTPYfXI7ZTCFxsLHR83beh79JEsFiSRiyWVBIcEHe6hGw
4HGXrNCdvvMY6wEkMc+XFG0bA8onrJu6IaESp8PlYUTo13vDwTwV71iCu8zu
cVmv1MIpcgPI3UPEWucbY7cFHAyPDx983i4VHChS2Pg9J15MUKKZbgXEzRrQ
NN+HLCM9zl+aTeHmVRdzG0cH4tNSTEN/soT158MjwPqLSW8ej3q5eCE6oQHt
XbJSg/x8Se48j++S4EITBQl5p2LsCMzbZHkwpiBj0RSPNWGgRvPWRIat86dn
D56eUjwbqlMfPpCdqLf38SNlPvp2X2LZM0PAdFQ+U7FyGV25iZUwqZon1UVu
3bUYkI4yW3mh0Xo0iRjq0QKg0gfBw/O1cbQaiXOmIoTRa/0bpJHLrOOWBlOJ
2TtpKnlBBkTlmtZ8qm59s1xeEWbqko5bJwd8NLD3lGMQQoo2ymMKwE3h4MtV
Nroocr1oLA16gRlozqliSgoxkXejWT561wMoj2C98WhFMXhnDtMXKcYHBQiu
pQ0qEEODw7hm6FWQyCC0mqLbm6RSEJdU5y4dpdtxnUuSkYY1OXGNNiLFhDyX
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
fLlyMRVmRNM3UIVZ+hfQx7xyoJIxbKr9Uek/LeHXSP9Mpq+zFw6TdKRH9IqI
b9xeFhLCuNlfl7T/hAspI7yp0u1y4UqQZZuYCLS0QcPfbzKvNJQ4lULvIKfp
ozYeRJ4w1IBorDW0T+Dbi9C6rHgj4l1a2on8mFGclx7S6tAapcrCKYuO4xyj
sV0LO0YWo89NrNUNHMabxLEIP/kvyu9Fq30FLbqd8q8j/EKlv6xt90bS/6mU
34RCemTf8svW6SwpqsGyjfLbSb5/sna5d97d7Sn/Q6T8+0j5n3Bra6+In+5C
at62eNeMX1uUWHJx+8FO0WGXy/Jm0Z+XQDLLq3jhRjO0VGhOymayXDiVWV2z
MDnRpcJrSFjdWAWvUHapkYTDZJpy1QyxAnjlVYPKavJdh6tZcSwX1oPJi/Qv
scnzri562MVBG4TG3gPTZVwA6BI1T3CXMq7uCxNdxSvpT6Bb1Sg8rlPqx3Lo
0FIVG7hhLjFzZG4UMKo/UnqhHWf8CXIxU4iSWzBznEGGqjzZe90ew8CYberG
HI4Ep9SmpobjanurssqLZOz69bueDMGvSCBm4zSLpRafr/ywPzdWgGt8hX0O
HJcDIgbWfdU4x76WpSUlZ1SsFlU+LeLFRTqylXO5Ngl2U065N6vNJQ7Pkzmb
8yZCx0Bju1zN5wmWetl25zJVXyhqEfBuTU+QMtr6+fCoNDEHtqsdB5WMlkUr
dDS1HF51K897USEsyGGSFpmWMDzDqoc4M+1I27xIkrIEcazoO2mMZvK2Vo34
K4Eselso7MiEHIpoeMRt+HjaD/XWfKYMtzsI12Y6elJKMwo/1ql+AbS/WxPA
ajBG6oI6rNuVhQOQOHZVor1YGLTjDJcVEw2MGp2CrDu13fXgki4XJfbbmON7
4XnYrCDT3gXBV2r9PO9wotfS1wUbpPmdXiQ/3umH6NA+L89IWhdQUBS3u+Ni
zCdcZogaZmAoS5ovSydgmKyfWiWgSECvJyKK/ioqZkQVXdBIa4oheXZVzWYK
u0Iawb9GtDB6OsUC71iRxq6NR6UcQ1yJaQjjdiOi8MOCA504hw2XwE0UGqLj
OOCE44scEusFI2O1f/+2Cv/wyJPfTttta8AiMgWe2o3RM6atUTfsYsRVy21d
fY4knCxnk5T0oNI0LJS+RI2l7tks89tyOfwh/e0D/I+NwaagcIEecPXEqfpc
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
dtWP6wEA

-->

</rfc>
