<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict='yes'?>
<?rfc iprnotified='no'?>
<rfc category="std" docName="draft-templin-atn-aero-interface-00.txt"
     ipr="trust200902" obsoletes="">
  <front>
    <title abbrev="IPv6 over AERO Interfaces">Transmission of IPv6 Packets
    over AERO Interfaces</title>

    <author fullname="Fred L. Templin" initials="F. L." role="editor"
            surname="Templin">
      <organization>Boeing Research &amp; Technology</organization>

      <address>
        <postal>
          <street>P.O. Box 3707</street>

          <city>Seattle</city>

          <region>WA</region>

          <code>98124</code>

          <country>USA</country>
        </postal>

        <email>fltemplin@acm.org</email>
      </address>
    </author>

    <author fullname="Tony Whyman" initials="A." surname="Whyman">
      <organization>MWA Ltd c/o Inmarsat Global Ltd</organization>

      <address>
        <postal>
          <street>99 City Road</street>

          <city>London</city>

          <region/>

          <code>EC1Y 1AX</code>

          <country>England</country>
        </postal>

        <email>tony.whyman@mccallumwhyman.com</email>
      </address>
    </author>

    <date day="29" month="March" year="2019"/>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <abstract>
      <t>Mobile nodes (e.g., aircraft of various configurations) act as mobile
      routers for their on-board networks, and may have multiple data links
      for communicating with networked correspondents. Mobile nodes configure
      a virtual interface (termed the "AERO interface") as a thin layer over
      their underlying data link interfaces. This document specifies the
      transmission of IPv6 packets over AERO interfaces.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>Mobile Nodes (MNs) such as aircraft of various configurations may
      have multiple data links for communicating with networked
      correspondents. These data links often have differing performance, cost
      and availability characteristics that can change dynamically according
      to mobility patterns, flight phases, proximity to infrastructure,
      etc.</t>

      <t>Each MN receives an IPv6 Mobile Network Prefix (MNP) that can be used
      by on-board networks regardless of the actual link or links selected for
      data transport. The MN acts as a mobile router on behalf of its on-board
      networks, but appears as a multi-addressed host from the perspective of
      off-board correspondents. This implies the need for a virtual interface
      (termed the "AERO interface") configured as a thin layer over the
      underlying data link interfaces.</t>

      <t>The AERO interface is therefore the only interface abstraction
      exposed to the IPv6 layer, and behaves according to the Non-Broadcast,
      Multiple Access (NBMA) interface principle. This document specifies the
      transmission of IPv6 packets <xref target="RFC8200"/> over AERO
      interfaces.</t>
    </section>

    <section anchor="terminology" title="Terminology">
      <t>The terminology in the normative references applies; especially, the
      terms "link" and "interface" are the same as defined in the IPv6 <xref
      target="RFC8200"/> and IPv6 Neighbor Discovery (ND) <xref
      target="RFC4861"/> specifications.</t>

      <t>The following terms are defined within the scope of this
      document:</t>

      <t><list style="hanging">
          <t hangText="underlying Internetwork"><vspace/>a connected network
          region that has a coherent IP addressing plan and is either
          physically isolated or separated from other networks by packet
          filtering border routers. Examples include private enterprise
          networks, aviation networks and the global public Internet
          itself.</t>

          <t hangText="AERO link"><vspace/>a Non-Broadcast, Multiple Access
          (NBMA) virtual overlay configured over an underlying Internetwork.
          Nodes on the AERO link appear as single-hop neighbors from the
          perspective of the virtual overlay even though they may be separated
          by many underlying Internetwork hops. An AERO link may comprise
          multiple segments joined by bridges the same as for any link; the
          underlying Internetwork addressing plans in each segment may be
          mutually exclusive and managed by different administrative
          entities.</t>

          <t hangText="AERO interface"><vspace/>a node's attachment to an AERO
          link, and configured over one or more underlying interfaces</t>

          <t hangText="AERO node"><vspace/>a node with an AERO interface
          attached to an AERO link.</t>

          <t hangText="AERO address"><vspace/>an IPv6 link-local address
          constructed as specified in <xref target="aero-address"/>.</t>

          <t hangText="underlying link"><vspace/>a link that connects an AERO
          node to the underlying Internetwork.</t>

          <t hangText="underlying interface"><vspace/>an AERO node's interface
          point of attachment to an underlying link.</t>
        </list></t>
    </section>

    <section anchor="reqs" title="Requirements">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref target="RFC2119"/>.
      Lower case uses of these words are not to be interpreted as carrying
      RFC2119 significance.</t>
    </section>

    <section anchor="aerospec" title="AERO Interface Model">
      <t>An AERO interface is a MN's virtual interface configured over one or
      more underlying links, which may be physical (e.g., an Ethernet) or
      virtual (e.g., an Internet or higher-layer "tunnel"). The MN discovers
      routers on the AERO link through Router Solicitation (RS) / Router
      Advertisement (RA) message exchanges.</t>

      <t>The AERO interface architectural layering model is the same as in
      <xref target="RFC7847"/>, and reproduced here (in an augmented form) as
      shown in <xref target="aeroint"/>. The AERO interface is therefore a
      single network-layer interface with multiple link-layer addresses.</t>

      <figure anchor="aeroint"
              title="AERO Interface Architectural Layering Model">
        <artwork><![CDATA[                                  +----------------------------+
                                  |          TCP/UDP           |
           Session-to-IP    +---->|                            |
           Address Binding  |     +----------------------------+
                            +---->|            IPv6            |
           IP Address       +---->|                            |
           Binding          |     +----------------------------+
                            +---->|       AERO Interface       |
           Logical-to-      +---->|       (AERO Address)       |
           Physical         |     +----------------------------+
           Interface        +---->|  L2  |  L2  |       |  L2  |
           Binding                |(IF#1)|(IF#2)| ..... |(IF#n)|
                                  +------+------+       +------+
                                  |  L1  |  L1  |       |  L1  |
                                  |      |      |       |      |
                                  +------+------+       +------+
]]></artwork>
      </figure>
    </section>

    <section anchor="intmtu" title="Maximum Transmission Unit">
      <t>The AERO interface Maximum Transmission Unit (MTU) is derived from
      the underlying interface MTUs and set to a value that ensures that the
      MTU for each underlying interface is respected. The AERO interface MTU
      may be common to all data flows or differ between data flows. Regardless
      of the strategy by which the MTU is determined, the AERO link
      administrative authority should configure routers to advertise a
      conservative MTU for all nodes noting that fragmentation should be
      avoided if possible.</t>

      <t>In common practice, there may be additional encapsulation headers
      inserted by various forms of Layer 2 tunnels on the path to an on-link
      neighbor. Such tunnels SHOULD be instrumented to accommodate the native
      MTU of the underlying interface, but in some cases it may be prudent to
      reduce the size of the underlying interface MTU to allow room for L2
      encapsulation. Especially for underlying links with low-end performance
      characteristics, it is imperative that packets that successfully
      traverse the underlying link are not dropped in the network due to a
      size restriction.</t>

      <t>In a preferred approach, the AERO interface MTU should be set to a
      value no smaller than the largest MTU among all underlying interfaces.
      The AERO interface itself then MUST return locally-generated ICMPv6
      "Packet Too Big" messages for packets that are too large to traverse the
      selected underlying interface in one piece. This ensures that the MTU is
      adaptive and reflects the underlying interface used for a given data
      flow.</t>

      <t>Alternatively, the AERO interface MTU may be determined as the
      minimum MTU among all underlying interfaces. However, this may result in
      under-utilization of robust underlying interfaces after a low-end
      underlying interface has degraded the common minimum MTU. For example,
      if the underlying interfaces have MTUs 1500, 1472 and 1400, then the
      minimum AERO interface MTU is 1400.</t>

      <t>If any underlying interface has an MTU smaller than 1280, the AERO
      interface MUST either perform IPv6 fragmentation when using this
      interface or disable the underlying interface.</t>

      <t>The MTU for an underlying interface is normally determined from
      information provided either statically or dynamically when the interface
      becomes active. If an underlying interface MTU dynamically reports an
      MTU smaller than any minimum MTU already determined then the AERO
      interface MUST either perform IPv6 fragmentation when using this
      interface, or disable the underlying interface.</t>

      <t>The AERO interface MAY also receive an RA with an MTU option. If the
      advertised MTU is no larger than 1500, the AERO interface MTU is set to
      the new value and the AERO interface MUST either perform IPv6
      fragmentation over any underlying interface having a smaller MTU or
      disable the underlying interface.</t>

      <t>If the advertised MTU is larger than 1500, the AERO interface sets
      the new value and disables any underlying interface having a smaller MTU
      instead of fragmenting, since IPv6 destinations are not required to
      reassemble more than 1500 bytes.</t>
    </section>

    <section anchor="frame" title="Frame Format">
      <t>AERO interfaces transmit IPv6 packets according to the frame format
      of the underlying interface. For example, for an Ethernet interface the
      frame format is exactly as specified in <xref target="RFC2464"/>, for an
      IPv6 tunnel over IPv4 the frame format is exactly as specified in <xref
      target="RFC4213"/>, etc.</t>
    </section>

    <section anchor="aero-address" title="Link-Local Addresses">
      <t>A MN's AERO address is an IPv6 link-local address with an interface
      identifier based on its assigned MNP. AERO addresses begin with the
      prefix fe80::/64 followed by a 64-bit prefix taken from the MNP. For
      example, for the MNP:</t>

      <t><list style="empty">
          <t>2001:db8:1000:2000::/56</t>
        </list>the corresponding AERO addresses are:</t>

      <t><list style="empty">
          <t>fe80::2001:db8:1000:2000</t>

          <t>fe80::2001:db8:1000:2001</t>

          <t>fe80::2001:db8:1000:2002</t>

          <t>... etc. ...</t>

          <t>fe80::2001:db8:1000:20ff</t>
        </list></t>

      <t>When the MN configures AERO addresses from its MNP, the
      lowest-numbered AERO address serves as the "base" address (for example,
      for the MNP 2001:db8:1000:2000::/56 the base AERO address is
      fe80::2001:db8:1000:2000). MNs and routers use the base address for the
      purpose of maintaining neighbor cache entries, but the MN accepts
      packets destined to all AERO addresses as equivalent.</t>

      <t>A router's AERO address is allocated from the range fe80::/96, and
      MUST be managed for uniqueness by the AERO link administrative
      authority. The lower 32 bits of the AERO address includes a unique
      integer value, e.g., fe80::1, fe80::2, fe80::3, etc. The address fe80::
      is reserved as the IPv6 link-local Subnet Router Anycast address <xref
      target="RFC4291"/>, and the address fe80::ffff:ffff is reserved as the
      unspecified AERO address; hence, these values are not available for
      general assignment.</t>

      <t>For multi-segment AERO links, the routers of each segment MUST assign
      AERO addresses that are unique among all routers on the (collective)
      link. Although the address assignment policy is completely at the
      discretion of the AERO link administrative authority, a useful technique
      may be to assign a different aggregated portion of the fe80::/96 prefix
      to each segment, e.g., fe80::/120, fe80::0100/120, fe80::0200/120,
      etc.</t>
    </section>

    <section anchor="interface" title="Address Mapping - Unicast">
      <t>AERO interfaces maintain a neighbor cache for tracking per-neighbor
      state the same as for any interface. AERO interfaces use standard IPv6
      Neighbor Discovery (ND) messages including Router Solicitation (RS),
      Router Advertisement (RA), Neighbor Solicitation (NS), Neighbor
      Advertisement (NA) and Redirect. AERO interface ND messages may include
      zero or more Source/Target Link-Layer Address Options (S/TLLAOs)
      formatted as shown in <xref target="llaov6"/>:</t>

      <t><figure anchor="llaov6"
          title="AERO Source/Target Link-Layer Address Option (S/TLLAO) Format">
          <artwork><![CDATA[      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |      Type     |   Length = 5  | Prefix Length |R|D|X|T| Resvd |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Interface ID         |          Port Number          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +                                                               +
     |                                                               |
     +                       Link-Layer Address                      +
     |                                                               |
     +                                                               +
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P00|P01|P02|P03|P04|P05|P06|P07|P08|P09|P10|P11|P12|P13|P14|P15|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P16|P17|P18|P19|P20|P21|P22|P23|P24|P25|P26|P27|P28|P29|P30|P31|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P32|P33|P34|P35|P36|P37|P38|P39|P40|P41|P42|P43|P44|P45|P46|P47|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P48|P49|P50|P51|P52|P53|P54|P55|P56|P57|P58|P59|P60|P61|P62|P63|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure></t>

      <t>In this format:</t>

      <t><list style="symbols">
          <t>Type is set to '1' for SLLAO or '2' for TLLAO.</t>

          <t>Length is set to the constant value '5' (i.e., 5 units of 8
          octets).</t>

          <t>Prefix Length is set to the MNP prefix length for the AERO
          address found in the source (RS), destination (RA) or target (NA)
          address of an ND message used for the purpose of asserting an MNP;
          otherwise set to 0. If the message contains multiple SLLAOs, only
          the Prefix Length value in the first SLLAO is consulted and the
          values in other SLLAOs are ignored. For RS messages, the router
          creates a neighbor cache entry and announces the MNP in the routing
          system, then returns an RA with Router Lifetime set to the MNP
          assertion lifetime.</t>

          <t>R (the "Release" bit) is set to '1' in the SLLAO of an RS message
          sent for the purpose of withdrawing an MNP; otherwise, set to '0'.
          If the message contains multiple SLLAOs, only the R value in the
          first SLLAO is consulted and the values in other SLLAOs are ignored.
          The router withdraws the MNP, then returns an RA with Router
          Lifetime set to '0'.</t>

          <t>D (the "Disable" bit) is set to '1' in the S/TLLAOs of an RS/NA
          message for each Interface ID that is to be disabled in the
          recipient's neighbor cache entry; otherwise, set to '0'. If the
          message contains an S/TLLAO with D=1 and Interface ID 255, the node
          disables the entire neighbor cache entry. If the message contains
          multiple S/TLLAOs the D value in each S/TLLAO is consulted.</t>

          <t>X (the "proXy" bit) is set to '1' in the SLLAO of an RS/RA
          message when there is a proxy in the path; otherwise, set to '0'. If
          the message contains multiple SLLAOs, only the X value in the first
          SLLAO is consulted and the values in other SLLAOs are ignored.</t>

          <t>T (the "Translator" bit) is set to '1' in the SLLAO of an RA
          message if there is a link-layer address translator in the path;
          otherwise, set to '0'. If the message contains multiple SLLAOs, only
          the T value in the first SLLAO is consulted and the values in other
          SLLAOs are ignored.</t>

          <t>Resvd is set to the value '0' on transmission and ignored on
          receipt.</t>

          <t>Interface ID is set to a 16-bit integer value corresponding to a
          specific underlying interface. Once the MN has assigned an Interface
          ID to an underlying interface, the assignment MUST remain unchanged
          until the MN disables the AERO interface. The value '255' is
          reserved as the router Interface ID, i.e., routers MUST use
          Interface ID '255', and MNs MUST number their Interface IDs with
          values in the range of 0-254.</t>

          <t>Port Number and Link-Layer Address are set to the addresses
          assigned to the underlying interface, or to '0' when the addresses
          are left unspecified. For transmission over physical interfaces such
          as Ethernet, the Link-Layer Address is set to the same format as in
          the appropriate interface specification (e.g., IPv6 over Ethernet
          <xref target="RFC2464"/>) beginning with the lowest-numbered byte of
          the field and ending in trailing null padding to a total of 16
          bytes. For transmission over tunnel interfaces, the Link-Layer
          address is set to an IPv6 address for IPv6 encapsulation or an
          IPv4-mapped IPv6 address for IPv4 encapsulation. When TCP or UDP are
          used as part of the encapsulation, Port Number is set to the
          encapsulation protocol port number; otherwise, set to '0'.</t>

          <t>P(i) is a set of Preferences that correspond to the 64
          Differentiated Service Code Point (DSCP) values <xref
          target="RFC2474"/>. Each P(i) is set to the value '0' ("disabled"),
          '1' ("low"), '2' ("medium") or '3' ("high") to indicate a QoS
          preference level for underlying interface selection purposes.</t>
        </list></t>

      <t>MNs such as aircraft typically have many wireless data link types
      (e.g. satellite-based, cellular, terrestrial, air-to-air directional,
      etc.) with diverse performance, cost and availability properties. From
      the perspective of ND, the AERO interface would therefore appear to have
      multiple link-layer addresses. In that case, ND messages MAY include
      multiple S/TLLAOs -- each with an Interface ID that corresponds to a
      specific underlying interface.</t>

      <t>When the MN includes S/TLLAOs solely for the purpose of announcing
      new QoS preferences, it sets both Port Number and Link-Layer Address to
      0 to indicate that the addresses are not to be updated in the router's
      neighbor cache.</t>

      <t>When an ND message includes multiple S/TLLAOs, the first S/TLLAO MUST
      correspond to the underlying interface used to transmit the message.</t>

      <t>Note that this S/TLLAO format includes network-layer information
      (e.g., Prefix Length) in a link-layer option. This is due to the fact
      that it is difficult to standardize new IPv6 ND options in a timely
      fashion. An experimental proposal defines a "Universal RA Option"
      intended for carrying generic network-layer information in RS/RA
      messages <xref target="I-D.troan-6man-universal-ra-option"/>. However,
      there is no way at this time to predict how long the experiment would
      take nor whether it will be successful.</t>
    </section>

    <section anchor="mcast" title="Address Mapping - Multicast">
      <t>When the underlying network does not support multicast, aircraft map
      link-scoped multicast addresses to the link-layer address of a router,
      which acts as a multicast forwarding agent. The mobile router on board
      the aircraft also serves as an IGMP/MLD Proxy for its EUNs and/or hosted
      applications per <xref target="RFC4605"/> while using the link-layer
      address of the router as the link-layer address for all multicast
      packets.</t>

      <t>When the underlying network supports multicast, AERO interfaces use
      the multicast address mapping specification found in <xref
      target="RFC2529"/> for IPv4 underlying networks and use a TBD
      site-scoped multicast mapping for IPv6 underlying networks. In that
      case, border routers must ensure that the encapsulated site-scoped
      multicast packets do not leak outside of the AERO link.</t>
    </section>

    <section anchor="aeropd" title="Router Discovery and MNP Assertion">
      <t>MNs and routers coordinate their MNP assertions and per-link
      parameters through RS/RA exchanges, and use ND messages to maintain
      neighbor cache entries. Routers configure their AERO interfaces as
      advertising interfaces, and therefore send unicast RA messages with
      configuration information in response to a MN's RS message. Thereafter,
      the MN sends additional RS messages to the router's unicast address to
      refresh MNP and/or router lifetimes.</t>

      <t>To assert an MNP, the MN sends an RS message over any underlying
      interface with its base AERO address as the source address, all-routers
      multicast as the destination address and with an SLLAO with a valid
      Prefix Length for the MNP. The SLLAO also contains valid Interface ID
      and P(i) values appropriate for the underlying interface. When the
      router receives the RS message it injects the MNP into the routing
      system if the prefix assertion was acceptable, then registers the new
      Interface ID, Port Number, Link-Layer Address and P(i) values in a
      neighbor cache entry. The router then returns an RA with its AERO
      address as the source address, the AERO address of the MN as the
      destination address and with Router Lifetime set to a non-zero value if
      the MNP assertion was accepted; otherwise set to zero. The message also
      includes an SLLAO with Prefix Length set to the length of the MNP
      assertion.</t>

      <t>After the MN receives the RA confirming the MNP assertion, it
      registers each additional underlying interface with the router by
      sending an RS over the underlying interface with its base AERO address
      as the source address, the router's AERO address as the destination
      address, and with an SLLAO with Prefix Length set to 0. The SLLAO also
      contains valid Interface ID and P(i) values appropriate for the
      underlying interface. When the router receives the RS message it
      registers the new Interface ID, Port Number, Link-Layer Address and P(i)
      values in the neighbor cache already established during MNP assertion.
      The router then returns an RA message with its AERO address as the
      source address, the AERO address of the MN as the destination address
      and with Router Lifetime set to a non-zero value. The message also
      includes an SLLAO with Prefix Length set to 0.</t>

      <t>The MN is responsible for retrying each RS/RA exchange up to
      MAX_RTR_SOLICITATIONS times separated by RTR_SOLICITATION_INTERVAL
      seconds until an RA is received. If no RA is received, the MN declares
      the underlying interface unreachable, but MAY try again later (e.g., if
      underlying link conditions become more favorable).</t>

      <t>MNs that do not need to assert MNP, Port Number, Link-Layer Address,
      Interface ID or P(i) values MAY omit SLLAOs in RS messages. Responding
      routers MAY also omit SLLAOs in the corresponding RAs.</t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>No IANA actions are required.</t>
    </section>

    <section anchor="secure" title="Security Considerations">
      <t>Security considerations are the same as defined for the underlying
      interface types, and readers are referred to the appropriate underlying
      interface specifications.</t>

      <t>IPv6 and IPv6 ND security considerations also apply, and are
      specified in the normative references.</t>
    </section>

    <section anchor="ack" title="Acknowledgements">
      <t>This document was prepared per the consensus decision at the 8th
      Conference of the International Civil Aviation Organization (ICAO)
      Working Group-I Mobility Subgroup on March 22, 2019. Attendees and
      contributors included: Guray Acar, Danny Bharj, Francois
      D&acute;Humieres, Pavel Drasil, Nikos Fistas, Giovanni Garofolo, Vaughn
      Maiolla, Tom McParland, Victor Moreno, Madhu Niraula, Brent Phillips,
      Liviu Popescu, Jacky Pouzet, Aloke Roy, Greg Saccone, Robert Segers,
      Stephane Tamalet, Fred Templin, Bela Varkonyi, Tony Whyman, and Dongsong
      Zeng.</t>

      <t>.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc include="reference.RFC.2119"?>

      <?rfc ?>

      <?rfc include="reference.RFC.8200"?>

      <?rfc include="reference.RFC.4291"?>

      <?rfc include="reference.RFC.2474"?>

      <?rfc ?>

      <?rfc include="reference.RFC.4861"?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>
    </references>

    <references title="Informative References">
      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc include="reference.RFC.7847"?>

      <?rfc include="reference.RFC.4213"?>

      <?rfc include="reference.RFC.4605"?>

      <?rfc include="reference.RFC.2529"?>

      <?rfc ?>

      <?rfc ?>

      <?rfc include="reference.I-D.troan-6man-universal-ra-option"?>

      <?rfc include="reference.RFC.2464"?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>
    </references>

    <section anchor="stllao-link"
             title="S/TLLAO Extensions for Special-Purpose Links">
      <t>The S/TLLAO format specified in <xref target="interface"/> includes a
      Length value of 5 (i.e., 5 units of 8 octets). However, special-purpose
      AERO links may extend the basic format to include additional fields and
      a Length value larger than 5.</t>

      <t>For example, adaptation of AERO to the Aeronautical
      Telecommunications Network with Internet Protocol Services (ATN/IPS)
      includes link selection preferences based on transport port numbers in
      addition to the existing DSCP-based preferences. ATN/IPS nodes maintain
      a map of transport port numbers to 64 possible preference fields, e.g.,
      TCP port 22 maps to preference field 8, TCP port 443 maps to preference
      field 20, UDP port 8060 maps to preference field 34, etc. The extended
      S/TLLAO format for ATN/IPS is shown in <xref target="ATN-IPS"/>, where
      the Length value is 7 and the 'Q(i)' fields provide link preferences for
      the corresponding transport port number.</t>

      <figure anchor="ATN-IPS" title="ATN/IPS Extended S/TLLAO Format">
        <artwork><![CDATA[      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |      Type     |   Length = 7  | Prefix Length |R|D|X|T| Resvd |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Interface ID         |          Port Number          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +                                                               +
     |                                                               |
     +                       Link-Layer Address                      +
     |                                                               |
     +                                                               +
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P00|P01|P02|P03|P04|P05|P06|P07|P08|P09|P10|P11|P12|P13|P14|P15|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P16|P17|P18|P19|P20|P21|P22|P23|P24|P25|P26|P27|P28|P29|P30|P31|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P32|P33|P34|P35|P36|P37|P38|P39|P40|P41|P42|P43|P44|P45|P46|P47|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |P48|P49|P50|P51|P52|P53|P54|P55|P56|P57|P58|P59|P60|P61|P62|P63|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Q00|Q01|Q02|Q03|Q04|Q05|Q06|Q07|Q08|Q09|Q10|Q11|Q12|Q13|Q14|Q15|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Q16|Q17|Q18|Q19|Q20|Q21|Q22|Q23|Q24|Q25|Q26|Q27|Q28|Q29|Q30|Q31|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Q32|Q33|Q34|Q35|Q36|Q37|Q38|Q39|Q40|Q41|Q42|Q43|Q44|Q45|Q46|Q47|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Q48|Q49|Q50|Q51|Q52|Q53|Q54|Q55|Q56|Q57|Q58|Q59|Q60|Q61|Q62|Q63|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
    </section>

    <section anchor="changes" title="Change Log">
      <t>&lt;&lt; RFC Editor - remove prior to publication &gt;&gt;</t>

      <t>First draft version (draft-templin-atn-aero-interface-00):<list
          style="symbols">
          <t>Draft based on consensus decision of ICAO Working Group I
          Mobility Subgroup March 22, 2019.</t>
        </list></t>
    </section>
  </back>
</rfc>
