<?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-6man-mla-26" ipr="trust200902"
updates="rfc4007, rfc5889, rfc6724">
  <front>
    <title abbrev="IPv6 MLAs">IPv6 Addresses for Ad Hoc Networks</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>

    <date day="17" month="March" year="2025"/>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <abstract>
      <t>Ad Hoc networks often present a challenging environment for
      IPv6 addressing due to the undetermined neighborhood properties
      of their interfaces. IPv6 nodes assign IPv6 addresses to their
      Ad Hoc networks that must be locally unique. IPv6 nodes must
      therefore be able to assign topology-independent addresses when
      topology-oriented IPv6 address delegation services are either
      absent or only intermittently available. This document
      introduces a new IPv6 address type that a node can autonomously
      assign for each of its Ad-Hoc networks.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>When two or more IPv6 <xref target="RFC8200"/> nodes come
      together within an Ad Hoc network operating region, they must
      be able to assign unique addresses and exchange IPv6 packets
      with peers even if there is no Internetworking infrastructure
      present. A classical example is a Mobile Ad-hoc Network (MANET)
      where wireless nodes within a common radio frequency locality
      discover multihop routes to support peer-to-peer communications.
      However, arbitrary collections of fixed nodes interconnected by
      a potentially sparse collection of links are also examples. See
      <xref target="RFC5889"/> for further explanation of what is meant
      by an Ad Hoc network.</t>

      <t>Ad Hoc networks often include IPv6 nodes that configure
      interface connections to links with undetermined connectivity
      properties such that multihop traversal may be necessary to
      span the network. The transitive property of connectivity for
      conventional shared media links is therefore not assured, while
      nodes must still be able to configure IPv6 addresses that are
      unique within the local Ad Hoc network. This is true even for
      nodes that configure multiple interface connections to the
      same Ad Hoc network as a localized multihop forwarding domain
      with multiple links.</t>

      <t>By its nature, the term "Ad Hoc network" implies logical
      groupings whereas the historical term "site" suggested physical
      boundaries such as a building or a campus. In particular, Ad
      Hoc networks can self-organize amorphously even if they overlap
      with other (logical) networks, split apart to form multiple
      smaller networks or join together to form larger networks.
      Clustering has been suggested as a means to organize these
      logical groupings, but Ad Hoc network ecosystems are often
      in a constant state of flux and likely to change over time.
      An address type that can be used by nodes that float freely
      between logical Ad Hoc network boundaries is therefore necessary.</t>

      <t>The term "Ad Hoc" used throughout this document extends
      to include isolated local IPv6 networks where peer to peer
      communications may require multihop traversal of multiple
      links regardless of whether the network is particularly mobile
      and/or spontaneously organized. For any such isolated network
      (i.e., one for which IPv6 Internetworking routers are either
      absent or only intermittently available), a topology-independent
      IPv6 addressing scheme that allows peer nodes to communicate
      internally is necessary. Therefore, all nodes that connect
      to such isolated IPv6 networks should be prepared to operate
      according to this multilink Ad Hoc addressing model when
      necessary. Each node then coordinates multihop forwarding
      services at an IPv6-based architectural sublayer termed the
      "adaptation layer" below the Internetworking layer but
      above the true link layer.</t>
        
      <t>Section 6 of the "IP Addressing Model in Ad Hoc Networks"
      <xref target="RFC5889"/> states that: "an IP address configured
      on this (Ad Hoc) interface should be unique, at least within the
      routing domain" and: "no on-link subnet prefix is configured
      on this (Ad Hoc) interface". The section then continues to explain
      why IPv6 Link-Local Addresses (LLAs) are of limited utility on
      links with undetermined connectivity, to the point that they
      cannot be used exclusively within Ad Hoc network domains. (Note
      that <xref target="RFC5498"/> provides IANA allocations for
      MANET protocols as a complementary publication.)</t>

      <t><xref target="RFC5889"/> suggests Global Unicast <xref target=
      "RFC4291"/> (aka "GUA") and Unique-Local <xref target="RFC4193"/>
      (aka "ULA") addresses as Ad Hoc network addressing candidates.
      However, GUAs and ULAs are topology-oriented address types that
      must be obtained through either administrative actions or an
      address autoconfiguration service based on IPv6 Internetworking
      routers that connect the Ad Hoc network to other networks. (In
      particular topology-oriented address types are typically obtained
      through DHCPv6 messages and/or Router Advertisement Prefix Information
      Options with prefix length shorter than 128.) Since such Internetworking
      services may not always be available, however, this document asserts
      that a topology-independent and unique Ad Hoc network local IPv6
      address type is needed. The address type may include multiple
      sub-types, some of which may be coordinated with an address
      attestation service and others that may be partially or fully
      self-generated.</t>

      <t>The key feature of these Ad Hoc network adaptation layer IPv6
      addresses is that they must have excellent statistical uniqueness
      properties such that there is little/no chance of conflicting with
      an address assigned by another node. The addresses need not include
      topology-oriented prefixes, since the (newly-formed) Ad Hoc networks
      may not (yet) connect to established Internetworking topologies.</t>

      <t>Ad Hoc network nodes must be able to use adaptation layer
      IPv6 addresses for continuous local communications and/or to
      coordinate topology-oriented addresses for assignment on
      other interfaces. A new "Multilink Local" scope for the IPv6
      scoped addressing architecture <xref target="RFC4007"/> with
      scope greater than LLA but lesser than ULA/GUA is therefore
      needed. This document therefore defines a new unique local
      unicast address variant known as "Multilink Local Addresses
      (MLAs)".</t>
    </section>

    <section anchor="ipv6" title="IPv6 Ad Hoc Network Local Addressing">
      <t>The IPv6 addressing architecture specified in <xref target=
      "RFC4007"/>, <xref target="RFC4193"/> and <xref target="RFC4291"/>
      defines the supported IPv6 unicast/multicast/anycast address
      forms with various scopes. ULAs and GUAs are typically obtained
      through Stateless Address AutoConfiguration (SLAAC) <xref target=
      "RFC4862"/> and/or the Dynamic Host Configuration Protocol for
      IPv6 (DHCPv6) <xref target= "RFC8415"/>, but these services
      require the presence of IPv6 network infrastructure which may
      not be immediately available in spontaneously-formed Ad Hoc
      networks.</t>

      <t>Interface connections to Ad Hoc networks have the
      interesting property that a multihop router R will often need
      to forward packets between nodes A and B even though R uses
      the same interface in the inbound and outbound directions.
      Since nodes A and B may not be able to communicate directly
      even though both can communicate directly with R, the transitive
      property for link connectivity does not apply and the IPv6
      Neighbor Discovery (ND) Redirect service cannot be used.
      Conversely, R may need to forward packets between nodes A
      and B via different interfaces within a single Ad Hoc network
      that includes multiple distinct links/regions. Due to these
      indeterminant multilink properties, exclusive use of
      IPv6 LLAs is also out of scope.</t>

      <t>This document therefore introduces a new IPv6 MLA address
      type based on one or more well-formed IPv6 prefixes "TBD::/N"
      (see IANA Considerations). After a node creates an MLA, it
      can use the address within the context of spontaneously-organized
      Ad Hoc networks in which two or more nodes come together in the
      absence of stable supporting infrastructure and can still
      exchange IPv6 packets with little or no chance of address
      collisions. The node can limit MLA usage to bootstrapping
      the assignment of topology-oriented IPv6 addresses through
      other means mentioned earlier. The node can instead extend
      its MLA usage to longer term patterns such as sustained
      communications with single-hop neighbors on a local link
      or even between Ad Hoc network multihop peers.</t>
    </section>

    <section anchor="interface" title="Assigning an MLA to an Interface">
      <t>IPv6 MLAs are topology-independent and can therefore be
      assigned to a virtual interface of the node with a /128
      prefix length (i.e., as a singleton address). The node can
      then begin to use an MLA as the source/destination address
      of IPv6 packets that are forwarded over an interface connection
      to an Ad Hoc network multihop forwarding region.</t>

      <t>A node can specifically assign an MLA to a loopback interface
      to support the operation of an Ad Hoc network routing protocol
      while also assigning the MLA to an Overlay Multilink Network
      (OMNI) Interface <xref target="I-D.templin-6man-omni3"/>. In
      that case, MLAs based on a global unicast (or special-use) IPv6
      prefix can support extended communications with remote peers over
      the OMNI link overlay network.</t>

      <t>MLAs may then serve as a basis for multihop forwarding and/or
      for local neighborhood discovery over other IPv6 interface types.
      Due to their uniqueness properties, the node can assign MLAs as
      optimistic addresses per <xref target="RFC4429"/>, however it
      should take actions to deconflict if it detects in-service
      duplication.</t>
    </section>

    <section anchor="site-loc" title="MLAs in the Scoped Addressing Architecture">
      <t>Returning to a debate from more than 20 years ago, a
      case could be made for reclaiming the deprecated site-local
      address prefix "fec0::/10" for use as a top-level MLA
      prefix. However, some implementations still honor the deprecation
      and continue to regard the prefix as a non-functional historical
      artifact.</t>

      <t><xref target="RFC3879"/> documents the deprecation rationale
      including the assertion that "Site is an Ill-Defined Concept".
      However, the concept of an Ad Hoc network is a coherent logical
      one based on time-varying (multilink) connectivity and not
      necessarily one constrained by physical boundaries. Especially
      in Ad Hoc networks that employ a proactive local routing protocol
      the list of available adaptation layer addresses in each network
      is continuously updated for temporal consistency.</t>

      <t>For example, an IPv6 node may connect to multiple distinct
      Ad Hoc networks with a first set of interfaces connected to
      network "A", a second set of interfaces connected to network
      "B", etc. According to the scoped IPv6 addressing architecture
      <xref target="RFC4007"/>, the node would assign a separate MLA
      to virtual interfaces associated with each Ad Hoc network
      interface set A, B, etc. and maintain separate Ad Hoc network
      multihop routing protocol instances for each set. MLAs A, B,
      etc. then become the router IDs for the separate routing
      protocol instances, but the IPv6 node may elect to redistribute
      discovered adaptation layer routes between the instances. The
      uniqueness properties of MLAs therefore transcend logical
      Ad Hoc network boundaries but without "leaking" into
      external networks.</t>

      <t>A means for entering Ad Hoc network local IPv6 Zone
      Identifiers in user interfaces is necessary according
      to <xref target="I-D.ietf-6man-zone-ui"/>. Examples of
      an Ad Hoc network local unicast address qualified by a
      zone identifier are as follows:</t>

      <t><list style="empty">
        <t>TBD::884e:9d2a:73fc:2d94%netA</t>

        <t>TBD::c63d:9724:fca:1237%netB</t>
      </list></t>

      <t>This document updates the IPv6 scoped addressing architecture
      <xref target="RFC4007"/> by introducing a "Multilink-Local" unicast
      addressing scope. In particular, this document adds a third unicast
      address scope to Section 4 of <xref target="RFC4007"/> as follows:</t>

      <t><list style="symbols">
         <t>Multilink-Local scope, for uniquely identifying a node's
         attached Ad Hoc networks.</t>
      </list></t>

      <t>The size relationship among scopes is further updated as:</t>

      <t><list style="symbols">
         <t>For unicast scopes, link-local is a smaller scope than
         Multilink-Local, which is a smaller scope than global.</t>
      </list></t>

      <t>In <xref target="RFC4007"/>, Section 5 under: "Zones of the
      different scopes are instantiated as follows", add the new
      bullet:</t>

      <t><list style="symbols">
         <t>Each Ad Hoc network and the interfaces attached to that
         Ad Hoc network comprise a single zone of Multilink-Local scope
         (for unicast).</t>
      </list></t>
    </section>

    <section anchor="ad-hoc-addr" title="MLAs for Ad Hoc Networks">
      <t>This document updates <xref target="RFC5889"/> to add a new
      address type "Multilink-Local" to the list of IPv6 address types
      found in Section 1 as:</t>

        <t><list style="symbols">
        <t>For IPv6, these addresses may be global [RFC3587], Unique-Local
        [RFC4193], Multilink-Local [RFCXXXX] or Link-Local [RFC4291].</t>
      </list></t>
    </section>

    <section anchor="ula-gua" title="Obtaining and Assigning IPv6 ULAs/GUAs">
      <t>IPv6 nodes assign MLAs to an IPv6 virtual interface for use only
      within the scope of locally connected networks. These MLAs can
      appear in Ad Hoc network multihop routing protocol control messages
      and can also appear as the source and destination addresses for
      IPv6 packets forwarded within the locally connected Ad Hoc networks.</t>

      <t>In order to support communications beyond the Ad Hoc
      local scope, each IPv6 node is required to obtain an IPv6
      ULA/GUA pair through an IPv6 Internetworking border router
      or proxy that connects the Ad Hoc network to other networks.
      Since the border router/proxy may be multiple adaptation layer
      hops away, however, the IPv6 node configures and engages
      an OMNI Interface as specified in <xref target=
      "I-D.templin-6man-omni3"/>. The IPv6 node assigns the
      ULA/GUA to the OMNI interface which forwards original
      packets by inserting an adaptation layer IPv6 encapsulation
      header that uses MLAs as source/destination addresses while
      the original packet uses GUAs/ULAs.</t>

      <t>The IPv6 Internetworking border router/proxy may be
      configured as an IPv6-to-IPv6 Network Prefix Translation
      (NPTv6) gateway that maintains a 1:1 relationship between
      the ULA on the "inside" and a GUA on the "outside" as
      discussed in <xref target="RFC6296"/>. The NPTv6 gateway
      will then statelessly translate each ULA into its
      corresponding GUA (and vice versa) for IPv6 packets that
      transit between the inside and outside domains.</t>

      <t>The gateway provides service per the "ULA-Only" or
      "ULA+PA" <xref target="I-D.ietf-v6ops-ula-usage-considerations"/>
      connected network models. The IPv6 node can then use the
      ULA for local-scoped communications with internal peers
      and the GUA for global-scoped communications with external
      peers via the gateway as either a "NPTv6 translator" or
      "NPTv6 pass-through". IPv6 nodes can then select address
      pair combinations according to IPv6 default address
      selection rules <xref target="I-D.ietf-6man-rfc6724-update"/>.</t>

      <t>After receiving a ULA+PA GUA delegation, IPv6 nodes
      that require Provider-Independent (PI) GUAs can use the OMNI
      interface in conjunction with the Automatic Extended Route
      Optimization (AERO) global distributed mobility management
      service <xref target="I-D.templin-6man-aero3"/> to request
      and maintain IPv6 and/or IPv4 PI prefixes from the mobility
      service. The IPv6 node can then sub-delegate GUAs from
      the PI prefixes to its attached downstream local networks
      which may in turn engage an arbitrarily large IPv6 and/or
      IPv4 "Internet of Things".</t>
    </section>

   <section anchor="addrsel" title="Address Selection">
      <t>"Default Address Selection for Internet Protocol Version 6
      (IPv6)" <xref target="RFC6724"/> provides a policy table that
      specifies precedence values and preferred source prefixes for
      destination prefixes. "Preference for IPv6 ULAs over IPv4
      addresses in RFC6724" <xref target="I-D.ietf-6man-rfc6724-update"/>
      updates the policy table entries for ULAs, IPv4 addresses and
      the 6to4 prefix (2002::/16).</t>

      <t>This document proposes a further update to the policy table
      for IPv6 MLAs. The proposed update appears in the table below:

      <figure anchor="rfc6724update"
              title="Policy Table Update for Multilink Local Addresses">
          <artwork><![CDATA[
 draft-ietf-6man-rfc6724-update                           Updated
Prefix        Precedence Label        Prefix        Precedence Label
::1/128               50     0        ::1/128               50     0
::/0                  40     1        ::/0                  40     1
::ffff:0:0/96         20     4        ::ffff:0:0/96         20     4
2002::/16              5     2        2002::/16              5     2
2001::/32              5     5        2001::/32              5     5
fc00::/7              30    13        fc00::/7              30    13
::/96                  1     3        ::/96                  1     3
fec0::/10              1    11        fec0::/10              1    11
3ffe::/16              1    12        3ffe::/16              1    12
                                      TBD::/N                4    14 (*)
(*) value(s) changed in update
]]></artwork></figure>
      With the proposed updates, this new MLA address type appears as
      a lesser precedence than IPv6 GUAs, IPv6 ULAs and IPv4 addresses
      but as a greater precedence than deprecated IPv6 prefixes.</t>
   </section>

   <section anchor="reqs" title="Requirements">
      <t>IPv6 nodes MUST assign unique MLAs to an IPv6 virtual
      interface associated with each distinct Ad Hoc network. If
      the node becomes aware that an MLA is already in use by
      another node, it instead generates and assigns a new MLA.</t>

      <t>IPv6 routers MAY forward IPv6 packets with MLA source
      or destination addresses over multiple hops within the
      same Ad Hoc network as an adaptation layer function.</t>

      <t>IPv6 routers MUST NOT forward packets with MLA source
      or destination addresses to a link outside the packet's
      Ad Hoc network of origin as an adaptation layer service.</t>

      <t>IPv6 nodes MAY assign MLAs to the OMNI interface
      allowing routers to forward original packets with MLA
      addresses at the IPv6 layer. In that case, the MLAs
      appear as /128 routes in the OMNI link IPv6 routing
      service.</t>
   </section>

    <section anchor="implement" title="Implementation Status">
      <t>In progress.</t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>IANA considerations will be updated with specific requirements
      for MLA delegations prior to publication.</t>  
    </section>

    <section anchor="secure" title="Security Considerations">
      <t>IPv6 MLAs include very large uniquely-assigned bit strings
      in both the prefix and interface identifier components which
      together provide strong uniqueness properties.</t>

      <t>With the random generation procedures expected for
      the various MLA types, the only apparent opportunity for
      MLA duplication would be through either intentional or
      unintentional misconfiguration.</t>

      <t>Certain MLA types may have cryptographically generated
      portions tied to the node's public key while other portions
      of the address identify a remote attestation service where
      address proof-of-ownership can be verified. This stands in
      contrast to fully self-generated MLAs that rely on purely
      statistical uniqueness properties.</t>

      <t>An IPv6 node that configures an MLA and assigns it to
      a virtual interface with an optimistic expectation of
      uniqueness should therefore be prepared to deconflict
      with peer nodes if it detects a legitimate duplication.</t>
    </section>

    <section anchor="ack" title="Acknowledgements">
      <t>This work was inspired by continued investigations into
      5G MANET operations in cooperation with the Virginia Tech
      National Security Institute (VTNSI).</t>

      <t>Emerging discussions both in-person and on the IPv6
      maintenance (6man) and MANET mailing lists continue to
      shape updated versions of this document. The author
      acknowledges all those whose useful comments have helped
      further the understanding of this proposal.</t>

      <t>Honoring life, liberty and the pursuit of happiness.</t>
    </section>
  </middle>

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

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

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

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

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

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

      <?rfc include="reference.RFC.6724"?>
    </references>

    <references title="Informative References">

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

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

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

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

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

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

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

      <?rfc include="reference.I-D.templin-6man-aero3"?>

      <?rfc include="reference.I-D.templin-6man-omni3"?>

      <?rfc include="reference.I-D.ietf-6man-rfc6724-update"?>

      <?rfc include="reference.I-D.ietf-6man-zone-ui"?>

      <?rfc include="reference.I-D.ietf-v6ops-ula-usage-considerations"?>
    </references>

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

      <t>Differences from earlier versions:<list style="hanging">
          <t hangText="Draft -24 to -26"><vspace/><list style="symbols">
            <t>Stress address deconfliction instead of deprecation when
            address duplication is detected.</t>

            <t>Security considerations for MLA types that support remote
            attestation.</t>

            <t>Discussion of site as an ill-defined concept in contrast
            to "Multilink Local Scope".</t>
          </list></t>

         <t hangText="Draft -23 to -24"><vspace/><list style="symbols">
            <t>Change reference to RFC6296.</t>

            <t>Added more explanation about Ad Hoc Networks.</t>

            <t>MLAs now assigned only to a virtual interface
            associated with the Ad-Hoc network and not the physical
            interfaces themselves.</t>

            <t>Added specifics of how this document updates other RFCs.</t>
          </list></t>
        </list></t>
    </section>
  </back>
</rfc>
