<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?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 category="info"
     docName="draft-ietf-v6ops-framework-md-ipv6only-underlay-00"
     ipr="trust200902">
  <front>
    <title abbrev="Multi-domain IPv6-only Underlay">Framework of
    Multi-domain IPv6-only Underlay Networks and IPv4-as-a-Service</title>

    <author fullname="Chongfeng Xie" initials="C" surname="Xie">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street>Beiqijia Town, Changping District</street>

          <city>Beijing</city>

          <code>102209</code>

          <country>China</country>
        </postal>

        <email>xiechf@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Chenhao Ma" initials="C" surname="Ma">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street>Beiqijia Town, Changping District</street>

          <city>Beijing</city>

          <code>102209</code>

          <country>China</country>
        </postal>

        <email>machh@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Xing Li" initials="X" surname="Li">
      <organization>CERNET Center/Tsinghua University</organization>

      <address>
        <postal>
          <street>Shuangqing Road No.30, Haidian District</street>

          <city>Beijing</city>

          <code>100084</code>

          <country>China</country>
        </postal>

        <email>xing@cernet.edu.cn</email>
      </address>
    </author>

    <author fullname="Gyan Mishra" initials="G" surname="Mishra">
      <organization>Verizon Inc</organization>

      <address>
        <postal>
          <street/>
        </postal>

        <email>gyan.s.mishra@verizon.com</email>
      </address>
    </author>

    <author fullname="Mohamed Boucadair" initials="M" surname="Boucadair">
      <organization>Orange</organization>

      <address>
        <postal>
          <street/>

          <country>France</country>
        </postal>

        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>

    <author fullname="Thomas Graf" initials="T" surname="Graf">
      <organization>Swisscom</organization>

      <address>
        <postal>
          <street>Binzring 17</street>

          <city>CH-8045 Zurich</city>

          <country>Switzerland</country>
        </postal>

        <email>thomas.graf@swisscom.com</email>
      </address>
    </author>

    <date day="1" month="January" year="2023"/>

    <area>OPS Area</area>

    <workgroup>v6ops Working Group</workgroup>

    <keyword>RFC</keyword>

    <abstract>
      <t>For the IPv6 transition, dual-stack deployments require both IPv4 and
      IPv6 forwarding capabilities to be deployed in parallel. IPv6-only is
      considered as the ultimate stage where only IPv6 forwarding capabilities
      are used while ensuring global reachability for both IPv6 and IPv4 service(usually known as IPv4aaS). This document specifies requirements and
      proposes a framework for deploying IPv6-only as the underlay in
      multi-domain networks, discusses the requirements of service traffic,
      major components and interfaces, IPv6 mapping prefix allocation, typical
      procedures for service delivery. The document also discusses related
      considerations about security.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>IPv6 capabilities have been widely deployed during the past decade
      with IPv6 traffic growing faster than IPv4. <xref
      target="I-D.ietf-v6ops-ipv6-deployment"/> provides an overview of IPv6
      transition deployment status and how the transition to IPv6 is
      progressing among network operators and enterprises.</t>

      <t>As of 2022, most IPv6 deployments rely on dual-stack<xref
      target="RFC4213"/>. Dual-stack does have a few disadvantages in the long
      run, like the duplication of the network resources and states and
      increased complexity for network operation to maintain both stacks. For
      those reasons, and furthermore when IPv6 usage is dominant, it
      makes more sense to consider IPv6-only to reduce network resources and
      operational complexity.</t>

      <t>In 2016, the IAB announced that it "expects that the IETF will stop
      requiring IPv4 compatibility in new or extended protocols. Future IETF
      protocol work will then optimize for and depend on IPv6" <xref
      target="IAB-statement"/> only. In order to provide the connectivity
      service after IPv4 address depletion, operators need to provide IPv6
      services and preserve access to the global IPv4 Internet as a
      Service(IPv4aaS) is therefore a natural consideration for IPv6-only
      network.</t>

      <t>Several IPv4 service continuity mechanisms have been designed within
      IETF during the past twenty years<xref
      target="I-D.ietf-v6ops-transition-comparison"/>. Different types of IPv4
      and IPv6 conversion technologies may be considered. For instance
      464XLAT<xref target="RFC6877"/> uses stateful NAT64 translation,
      MAP-E<xref target="RFC7597"/>and MAP-T <xref target="RFC7599"/> use
      stateless IPv4-IPv6 address translation for encapsulation and
      translation respectively. DS-Lite<xref target="RFC6333"/> adopts
      AFTR-based 4over6 tunneling technology.</t>

      <t>This document specifies the requirements for multi-domain IPv6-only
      underlay networks and proposes a general framework for network
      operators. The objective of such a framework is to help large-scale
      operators implement the transition to IPv6-only and support
      cross-domain, end-to-end IPv4 service delivery over IPv6-only networks.
      In this document, the term of &ldquo;IPv6-only network&rdquo; stands for
      &ldquo;IPv6-only underlay network&rdquo;, unless there is a specific
      statement. This document does not introduce any new IPv6 transition
      mechanisms nor IPv4aaS.</t>

      <section title="Requirements Language">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" 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>
      </section>
    </section>

    <section title="Terminology">
      <t>The following terms are defined in this document:<list
          style="symbols">
          <t>Multi-domain IPv6-only network: An IPv6-only network which
          consists of multiple ASes belonging to and operated by the same
          operator.</t>

          <t>UE: User Equipment, e.g., mobile phone.</t>

          <t>CPE: Customer Premise Equipment.</t>

          <t>IXP: Internet Exchange Point.</t>

          <t>WKP: Well-Known Prefix.</t>

          <t>NSP: Network-Specific Prefix.</t>

          <t>PE : Provider Edge (Section 5.2 of <xref target="RFC4026"/>).</t>

          <t>IPv4-embedded IPv6 addresses: IPv6 addresses used to represent
          IPv4 nodes in an IPv6 network, 32 bits in the IPv6 address contain
          IPv4 address.<xref target="RFC6052"/></t>

          <t>IPv4-embedded IPv6 packet: IPv6 packet which is generated from
          IPv4 packet by algorithmically mapping of the source and destination
          IPv4 addresses to IPv6 addresses.</t>

          <t>ASBR: A PE which runs eBGP routing protocol and peering with the
          BGP router of external AS.</t>

          <t>AFBR: A type of PE which supports both IPv4 and IPv6 address
          families and serves to provide transit services for the other in a
          backbone network (Section 1 of <xref target="RFC5565"/>).</t>

          <t>ADPT: A function entity which implements the two-way IPv4 and
          IPv6 packet conversion for IPv4 service delivery over IPv6-only
          underlay network.</t>

          <t>Conversion point: A function which provides conversion between
          IPv4 and IPv6 realms. This is, for example, the XLAT function in
          <xref target="RFC6144"/></t>

          <t>GUA: IPv6 Global Unicast Address (Section 3 of <xref
          target="RFC3587"/>).</t>
        </list></t>
    </section>

    <section title="Focus on IPv6-only Networks">
      <t>The global industry has not given a unified definition of IPv6-only
      network so far. This document defines such a notion as a IPv6-centric
      network in which data packets are forwarded upon IPv6 capability, An
      IPv6-only network may interconnect with external networks, including
      IPv4-only networks.</t>

      <t>Generally, IPv6-only network should support the following
      scenarios,</t>

      <t>Scenario 1: IPv6 user to IPv4 server, i.e., IPv6-only user accesses
      IPv4 services hosted in cloud data centers.</t>

      <t>Scenario 2: IPv4 user to IPv4 server, i.e., IPv4-only user accesses
      IPv4 services hosted in cloud data centers.</t>

      <t>Scenario 3: IPv6 user to IPv6 server, i.e., IPv6-only user accesses
      IPv6 services hosted in cloud data centers.</t>

      <t>Scenario 4: DC-to-DC, i.e., IPv6-only network provides communications
      between VMs hosted in cloud data centers, despite they are IPv4, IPv6 or
      IPv4/IPv6 dual-stack.</t>

      <t>Scenario 5: Transit for neighbor networks, i.e., IPv6-only network
      serves as an interconnection between several segregated IPv4-only
      networks, IPv4 packets are transported over the IPv6-only network
      between IPv4 networks.</t>

      <t>Scenario 6: IPv6-only eBGP Edge peering in Internet Exchange Point
      (IXP)[I-D.ietf-bess-ipv6-only-pe-design], this serves to eliminate IPv4
      provisioning at the Edge of IXP that are facing IPv4 address depletion
      at large peering points.</t>

      <t>Scenario 7: 5G Transport service, SD-WAN, network slicing, etc.</t>

      <t>It should be noted that the scenarios above are only a subset of the
      scenarios that IPv6-only network will support in the future.</t>
    </section>

    <section title="Why Considering Multi-domain Factor When Implementing IPv6-only Networks?">
      <t>Generally, the networks of large-scale operators comprise multiple
      autonomous systems (ASes). Different ASes may serve different scenarios,
      such as metro network, backbone network, 4G or 5G mobile core, data
      center network and are often managed by different departments or
      institutions, using different routing and security policies.</t>

      <t>A typical model of multi-domain network is depicted in figure 1.
      Network 1, belonging to and operated by operator 1, is composed of
      multiple inter-connected ASes, AS1, AS2 and AS3. Network 1 provides
      access to multiple types of users, including mobile, home broadband and
      enterprise customers, denoted by UE1, UE2 and UE3 in figure 1. Routers
      that are outside the backbone but directly attached to it are known as
      &ldquo;Customer Edge&rdquo; (CE) routers. <xref target="RFC8585"/>
      specifies the IPv4 service continuity requirements for IPv6 Customer
      Edge (CE) routers. Specifically, it extends the basic requirements for IPv6 CE routers to allow for support of IPv4-as-a-Service (IPv4aaS) by
      means of transition technologies for delivering IPv4 in IPv6-only access networks. In addition, cloud services are hosted in data centers and
      connected across multiple data centers, the edge, and public and private
      clouds. The service instances in cloud data centers must be able to
      communicate across these multiple sites, both on-premises and in the
      cloud. Multi-domain Networks need to provide connections for cloud data
      center. Network 1 supports two connection modes of cloud data centers,
      the first one is between cloud data center and individual users, for
      instance, the user of CPE1 accesses the service hosted in DC1, the
      second one is the connection between cloud data centers, for instance,
      communications between VMs hosted in DC1 and DC2 separately.</t>

      <t>Network 1 is open, it is interworking with external networks.
      Operator 2 is one of the neighbor operators of operator 1, AS4 of
      operator 2 and AS3 of operator 1 are interconnected through BGP
      protocol. AS4 is an IPv4-only network, which means that it does not run
      IPv6. The edge nodes of the Network 1 are often known as &ldquo;Provider
      Edge&rdquo; (PE) routers. The term &ldquo;ingress&rdquo; (or
      &ldquo;ingress PE&rdquo;) refers to the router at which a packet enters
      the network, and the term &ldquo;egress&rdquo; (or &ldquo;egress
      PE&rdquo;) refers to the router at which it leaves the backbone.
      Interior nodes are often known as &ldquo;P routers&rdquo; (Provider
      Routers).</t>

      <t><figure>
          <artwork><![CDATA[                -----          -----
               /     \        /     \
              |  DC1  |      |  DC2  |
               \     /        \     /
                -----          -----
         ---------|--------------|---------
        |         |  (Operator1) |         |
        |       +---+  Network1+---+       |
        |       |PE3|          |PE4|       |     (Operator2)
        |       +---+          +---+       |       +--+
        |      /    \         /     \      |      /    \
 +----+ | +---+      +--+ +--+       +---+ | +---+      +
 |UE/ |---|PE1| AS1  |R1|-|R2|       |PE5|---|BR1|  AS4 |
 |CPE1| | +---+      +--+ +--+       +---+ | +---+      +
 +----+ |      \    /        |       |     |      \    /
        |       +--+         |       |     |       +--+
        |       |R5|         |       |     |
        |       +--+         | AS3   |     |
        |        |           |       |     |
        |       +--+         |       |     |
 +----+ |       |R6|         |       |     |     (Operator3)
 |UE/ | |       +--+         |       |     |       +--+
 |CPE2|\|      /    \        |       |     |      /    \
 +----+ \ +---+      +--+ +--+       +---+ | +---+      +
        |-|PE2| AS2  |R3|-|R4|       |PE6|---|BR2| AS5  |
 +----+ / +---+      +--+ +--+       +---+ | +---+      +
 |UE/ |/|      \    /         \     /      |      \    /
 |CPE3| |       ----           -----       |       +--+
 +----+ |                                  |
         ----------------------------------

   Figure 1. Multi-domain IPv6 Underlay Networks Model]]></artwork>
        </figure>For Network 1, transition to IPv6-only from dual-stack means
      some or all the IPv4 protocol instances of dual-stack network will be
      disabled gradually, thereby IPv6 will become the main network-layer
      protocol. To be specific, the P routers in the core only support IPv6,
      but the PEs support IPv4 on interfaces facing IPv4 client networks and
      IPv6 on interfaces facing the core, in this case, the PEs need to
      support both address families. Network 1 provides transportation
      services for packets that originate outside the network and whose
      destinations are outside the network. These packets enter the IPv6
      network at one of its PE routers. They are routed through the network to
      another PE router, after which they leave the network and continue their
      way.</t>

      <t>When IPv4 capabilities are disabled, the first question is how to
      make remaining IPv4 services running normally and users&rsquo;
      experience does not deteriorate. The deployment of IPv6-only should not
      be based on the premise of the extinction of all IPv4-only services, it
      is very possible that some portion of the Internet service will
      consistently be IPv4-based. In other words, IPv6-only network should not
      only carry native IPv6 services, but also allow to reach IPv4-only
      services. <xref target="RFC5565"/> describes the IPv4-over-IPv6
      scenario, where the network core is IPv6-only and the interconnected
      IPv4 networks are called IPv4 client networks. The P Routers in the core
      only support IPv6, but the ASBRs support IPv4 on interfaces facing IPv4
      client networks and IPv6 on interfaces facing the core. The routing
      solution defined in <xref target="RFC5565"/> is to run IBGP among AFBRs
      to exchange IPv4 routing information in the core, and the IPv4 packets
      are forwarded from one IPv4 client network to the other through a
      softwire using tunneling technologies, such as MPLS, LSP, GRE, VXLAN,
      L2TPv3, etc.</t>

      <t><xref target="RFC6992"/> describes a routing scenario where IPv4
      packets are transported over an IPv6 network, based on <xref
      target="RFC7915"/> and <xref target="RFC6052"/>, along with a separate
      OSPFv3 routing table for IPv4-embedded IPv6 routes in the IPv6
      network.</t>

      <t>For multi-domain networks, when introducing the IPv6-only scheme
      without collaboration between ASes, different ASes adopt the IPv6
      transition approach independently, the result is that multiple IPv6-only
      islands are connected by IPv4 links between domains. As shown in figure
      2, there will be more IPv4-IPv6 packet conversion gateways with
      different functions in the network. Under this circumstance, IPv6
      packets converted from IPv4 packets need to be transformed back to IPv4
      packets at the egress of one AS, and then back to IPv6 in the next
      domain, and the number of conversion gateways will increase along with
      the increasing of the number of ASes. Excessive IPv4-IPv6 conversion
      gateways lead to complexity of network and CAPEX increasing. Therefore,
      there is an urgent need for multi-domain IPv6-only solution to eliminate
      unnecessary conversion functions and improve data forwarding
      efficiency.</t>

      <t><figure>
          <artwork><![CDATA[
      +---+  +---+                          +------+
      |UE/|--|PGW|                          | IPv4 |
      |CPE|  +---+                          |Server|
      +---+    |                            +------+
               |                               |
        -----------                        -----------
       /Mobile Core\                      /           \                                                                                                                                
      |   Network   |                    |    IPv4     |
      | (IPv6-only) |                    |  Internet   |
       \           /                      \           /
        -----------                        -----------
            |                                  |
         +-----+                          +--------+
         |PLAT/|                          |IPv4 BGP|
         |NAT64|                          | Router |
         +-----+                          +--------+
           | IPv4 link                        |IPv4 link
           |            -----------           |
       +---------+     / Backbone  \     +---------+
       |Stateless|----|  Network     ----|Stateless|
       | NAT64   |     \(IPv6-only)/     | NAT64   |
       +---------+      -----------      +---------+
          XLAT-1                            XLAT-2
 
 Figure 2: IPv6-only Independent Deployment in Multi-domain Networks]]></artwork>
        </figure></t>
    </section>

    <section title="Requirements from Service Traffic">
      <t>Native-IPv6 traffic can be transported over an IPv6-only network
      following legacy procedures.</t>

      <t>In order to support IPv4 service continuity, the following
      requirements should be met by multi-domain IPv6-only networks.</t>

      <t>Requirement 1: beneficial to wider IPv6 adoption</t>

      <t>It should largely reduce IPv4 public address consumption and
      accelerate the deployment of IPv6, rather than prolonging the lifecycle
      of IPv4 by introducing multiple layers of NAT44.</t>

      <t>Requirement 2: IPv4-as-a-Service</t>

      <t>It should provide IPv4 service delivery and there should be no
      perceived degradation of customer experience when accessing the
      remaining IPv4 services.</t>

      <t>Requirement 3: optimized end-to-end</t>

      <t>For any given IPv4 traffic flow, there should be no IPv4-IPv6
      conversion point in the middle of the IPv6 data path when traversing
      multi-domain IPv6 networks, in other words, IPv4 packet should not
      appear in the middle of the IPv6 data path, the quantity of the
      conversion points should not exceed two. In addition, IPv6-only network
      should support the following two types of IPv6 data path.</t>

      <t>-From UE to egress, the packets of IPv4 service can be translated (or
      encapsulated) into IPv6 packets within the UE or CPE, and there should
      be no IPv6-IPv4 conversion before they reach the egress of the
      network.</t>

      <t>-From the ingress to egress, since the core of the network is
      IPv6-based, so all IPv4 packets which reach the edge of the network
      should be transformed into IPv6 packets by the ingress and forwarded to
      the egress of the network.</t>

      <t>The end-to-end requirement should also be valid for cloud-to-cloud
      communications.</t>

      <t>Requirement 4: support of double translation and encapsulation</t>

      <t>The data-plane has two approaches for traversing the IPv6 provider
      network: 4-6-4 translation and 4over6 encapsulation, at least one mode
      should be supported by IPv6-only network, the core nodes do not
      distinguish between translation-based IPv6 packet and
      encapsulation-based IPv6 packet. At the egress, the PE can recover IPv4
      packet by reading the next-header field of the packet. Moreover,
      translation mode and encapsulation mode should share the same IPv4-IPv6
      address mapping algorithm. Note that the double translation can reduce
      to single translation, while the encapsulation cannot.</t>

      <t>Requirement 5: user stateless at the border gateway</t>

      <t>Maintaining user status will need great volume of storage and
      computation power, so it is generally stored or managed at the edge of
      network and close to the user side. It is unsuitable to store
      user-related status at the inter-connection point. The border ASBR that
      is interworking with external networks should be unaware of the
      user-related information, it only needs to perform stateless translation
      or encapsulation/decapsulation.</t>

      <t>Requirement 6: high scalability</t>

      <t>It should achieve high scalability, simplicity and availability,
      especially for large-scale operators. When PE processes IPv4-features at
      the edge of the network, the quantity of the IPv4-related status should
      not increase linearly or exponentially along with the quantity of the
      user or traffic. Considering this, it is better to adopt algorithm-based
      mapping approach to avoid excessive status storage at the edge. It would
      also avoid overloading of the IPv6 routing table.</t>

      <t>Requirement 7: incremental deployment</t>

      <t>It should deploy in an incremental fashion and the overall transition
      process should be stable and operational.</t>

      <t>Requirement 8: no security compromise</t>

      <t>The technologies proposed must not introduce additional security
      compromise.</t>
    </section>

    <section title="Description of the Framework">
      <section title="Overview">
        <t>Multi-domain IPv6-only networks should support the forwarding of
        IPv4 service data, after transforming IPv4 packets into IPv6 ones in
        the UE/CPE or at the edge of the network. Take the latter case as an
        example, when IPv4 packets that need to traverse lPv6-only network,
        the ingress PE, i.e., PE1, will convert IPv4 packets into lPv6 packets
        by translation or encapsulation and send them into IPv6 network. After
        intra-domain and cross-domain transmission, the IPv6 packet reaches
        the egress PE, i.e., PE2, it can be restored to an IPv4 packet.</t>

        <t>As can be seen from the above, the routing of IPv4 data in the form
        of IPv6 packet will follow topology of IPv6 network. With this
        framework, each PE will be allocated and identified by at least one
        IPv6 mapping prefix, denoted by Pref6(PE), it will also have one or
        more associated IPv4 address blocks which are extracted from local
        IPv4 routing table or address pool. The mapping relationship between
        IPv4 address block and IPv6 mapping prefix is called mapping rule in
        this context. The mapping rule announced by a given PE will have at
        least the following data structure,</t>

        <t indent="8"> IPv4 address block: Pref6(PE)</t>

        <t>Since this is prefix-level mapping, there is no need to maintain
        user-related status or translation tables at the PE devices.</t>

        <t>The mapping rule is used by the ingress to generate corresponding
        IPv6 source and destination addresses from its IPv4 source and
        destination address when its egress is the given PE, and vice
        versa.</t>

        <t>-The IPv6 source address is derived by appending the IPv4 source
        address to the Pref6(ingress PE).</t>

        <t>-The IPv6 destination address is derived by appending the IPv4
        destination address to the Pref6(egress PE) in the mapping rule.</t>

        <t><xref target="RFC6052"/> illustrates the algorithmic translation of
        an IPv4 address to a corresponding IPv6 address, and vice versa, using
        only statically configured information. With this algorithm,
        IPv4-embedded IPv6 addresses are composed by concatenating the prefix,
        the 32 bits of the IPv4 address, and the suffix (if needed) to obtain
        a 128-bit address. The prefixes can only have one of the following
        lengths: 32, 40, 48,56, 64, or 96.</t>

        <t>For the deployment scenario in this document, it proposed that IPv4
        address is located at the last 32 bits of the IPv6 address, most
        significant bits first. The bits between IPv6 mapping prefix and IPv4
        address are reserved for future extensions and SHOULD be set to zero.
        Examples of such representations are presented in Table 1.</t>

        <figure>
          <artwork><![CDATA[+-------------------+------------+--------------------------+
|IPv6-mapping prefix|IPv4 address|IPv4-embedded IPv6 address|
+-------------------+------------+--------------------------+
|2001:db8::/32      |192.0.2.33  |2001:db8::192.0.2.33      |
|2001:db8:100::/40  |192.0.2.33  |2001:db8:100::192.0.2.33  |
|2001:db8:122::/48  |192.0.2.33  |2001:db8:122::192.0.2.33  |
+-------------------+------------+--------------------------+
 Table 1. Text Representation of IPv4-Embedded IPv6 Address
]]></artwork>
        </figure>

        <t>Using the mechanism of mapping rule exchange in IPv6-only network,
        an egress PE can tell other PEs that IPv4 packet whose IPv4
        destination address is within the scope IPv4 address block of the
        mapping rule, can be forwarded in the IPv6-only network through the
        egress PE identified by the corresponding IPv6 mapping prefix of the
        mapping rule. This mapping rule can be transmitted across domains.
        Therefore, it gives the direction of IPv4 service data transmission in
        multi-domain IPv6-only networks.</t>

        <t>It should be noted that the mapping rule contains not only the data
        structure above, but also other necessary information to support IPv4
        service delivery over IPv6-only network, the detailed structure of the
        mapping rule is out of the scope of this document.</t>

        <t>Although this document illustrates the framework of multi-domain
        IPv6-only networks operated by a single operator, this multi-domain
        model can naturally be extended to IPv6-only networks which consist of
        multiple ASes and are operated by different operators.</t>
      </section>

      <section title="ADPT Description">
        <t>This section illustrates the framework of multi-domain IPv6 network
        from the perspective of ADPT in PE devices. ADPT is the entity in PE
        which accommodates the conversion of IPv4 packets into IPv6 ones for
        IPv4 service delivery over IPv6-only network. ADPT comprises the
        following components, as shown in figure 3.</t>

        <figure>
          <artwork><![CDATA[+----- + +--------------------------------------------+
|      | | PE1           /------------\               | +-------+
|      | |              | ADPT         |              | |PE2    |
|      | |+-------+     |      +-----+ |              | | +---+ |
|      | ||IPv4   | I3  |      |     | |     I1       | | |   | |
|      +-++routing+--+--+------+ RM  +-+-----+--------+-|-+RM | |
|      | ||engine |     |  +---+     | |              | | |   | |
|      | |+-------+     |  |   +--+--+ |              | | +---+ |
|      | |    |         |  +I7    +I2  |              | |_______|
|      | |    |         |  |   +--+--+ |  +-------+   |
|      | |    |         |+-++  |     | |I4|IPv6   |   |  +------+
|R1    | |    |         ||MD|  | RP  +-+-++routing+---+--+      |
|IPv4  | |    |         |+-++  |     | |  |engine |   |  |      |
|Router| |    |         |  |   +-----+ |  +---+---+   |  |R2    |
|      | |    |         |  +I8         |      |       |  |IPv6  |
|      | |+----------+  |  |   +-----+ |  +---+------+|  |Router|
|      | ||IPv4      |I5|  +---+     | |I6|IPv6      ||  |      |
|      +-++packet    +-++------+ DF  +-+-++packet    ++--+      |
|      | ||forwarding|  |      |     | |  |forwarding||  |      |
|      | |+----------+  |      +-----+ |  +----------+|  +------+
|      | |              |______________|              |
+------+ +--------------------------------------------+

        Figure 3. Framework of Multi-domain IPv6-only Networks]]></artwork>
        </figure>

        <section title="Rule Management Layer">
          <t>The Rule Management Layer, i.e., RM, deals with the management of
          mapping relationship between IPv4 address block and IPv6 mapping
          prefix of PEs, as shown in figure 3.</t>

          <t>In each PE, there is a mapping rule database, i.e., MD, to store
          all the mapping rule records it receive from other PEs. Rule
          management layer provides management functions to mapping rule
          database through interface I7, for example, Rule Management Layer
          inserts, modifies, or deletes mapping rules in the MD. The interface
          with the ADPT of other PE is I1, which is used for the exchanging of
          mapping rule with each other. The interface with Routing Processing
          Layer, which will be illustrated in section 6.2.2, is I2, which is
          used for the transmission of mapping rule through Routing Processing
          Layer. PE1 can extract the IPv4 address blocks from its IPv4 BGP
          routing instance through interface I3, and generate the mapping
          rules of the device in combination with its own Pref6. When the
          mapping rules are ready, they will be sent to Routing Processing
          Layer through interface I2. Correspondingly, PE1 will receive the
          mapping rules of other PEs through interface I2 and stores them in
          the local mapping rule database.</t>

          <t>For some IPv4 address blocks which are not announced explicitly
          by any egress PEs to the ingress PE, there will be no corresponding
          mapping rule in the rule database. To solve this problem, the
          default egress PE is defined in this framework, which announces the
          default IPv6 mapping rule with the default mapping prefix to other
          PEs. The format of the mapping rule for default IPv4 address is as
          follows,</t>

          <t indent="8"> 0.0.0.0/0: Pref6(PE)</t>
        </section>

        <section title="Routing Processing Layer">
          <t>Routing Processing Layer, i.e., RP, is in charge of the
          exchanging of mapping rule with other PEs and its related routing
          information at the routing layer. The exchanging of the mapping rule
          should precede to the process of IPv4 data transmission, otherwise,
          the data originated from IPv4 network will be dropped due to the
          absence of the IPv6 mapping prefix corresponding to its destination
          address.</t>

          <t>When the request of the mapping rule from Rule Management Layer
          through interface I2 is being received, Routing Processing Layer
          will convert the mapping rule into data structure that is suitable
          for the transmission in the IPv6 routing system and send it to the
          IPv6 routing engine through interface I4. In opposite direction,
          when receiving the routing information from IPv6 routing engine
          through interface I4, Routing Processing Layer will extract mapping
          rule from the routing information and send it to the Rule management
          layer.</t>

          <t>To support the transmission of mapping rules at the routing
          layer, BGP4+ protocol or other control protocols needs to be
          extended. However, this has been out of the scope of the draft and
          will be discussed in other documents. In addition, routing process
          layer is responsible for announcing the IPv6 route corresponding to
          each IPv6 mapping prefix throughout the multi-domain IPv6-only
          networks.</t>
        </section>

        <section title="Data Forwarding Layer">
          <t>Data Forwarding Layer, i.e., DF, provides data forwarding
          function to IPv6 packets, including native IPv6 packets and
          IPv4-embedded IPv6 packets. Multi-domain IPv6-only networks need to
          support both translation and encapsulation technologies for IPv4
          data delivery:</t>

          <t>1. Translation</t>

          <t>Translation refers to the conversion of IPv4 packets into IPv6
          packets or reverse conversion. When receiving an IPv4 packet through
          interface I5 from IPv4 packet forwarding module, the data forwarding
          layer will look up the mapping rule database through the interface
          I8, if the mapping rule corresponding to the IPv4 destination
          address is found, the destination address of IPv6 header required
          for translation is generated by appending the IPv4 address to the
          Pref6 in the mapping rule. Otherwise, the default IPv6 mapping
          prefix is used to create the destination IPv6 address.</t>

          <t>2. Encapsulation</t>

          <t>Encapsulation means that PE encapsulates IPv4 packets in IPv6
          packets without changing the original IPv4 packets, and then
          transmits them in multi-domain IPv6-only networks. Address mapping
          in encapsulation mode is same to that in translation method, when
          receiving IPv4 packet through interface I5 from IPv4 packet
          forwarding module, the data forwarding layer will look up the
          mapping rule database through the interface I8, if the mapping rule
          corresponding to the IPv4 destination address is found, the
          destination address of IPv6 header required for encapsulation is
          generated by appending the IPv4 address to the Pref6 in the mapping
          rule. If the mapping prefix corresponding to the destination IPv4
          address is not found, the default IPv6 mapping prefix is used.</t>

          <t>For an IPv4-embedded IPv6 packet, whether it is based on
          translation or encapsulation, the Pref6 part of the destination
          address can identify the egress in the network, so the forwarding of
          the IPv6 packet can be implemented based on the Pref6 information of
          the destination address.</t>
        </section>
      </section>

      <section title="Mapping Prefix Allocation">
        <t>In order to support rule-based IPv4/IPv6 address mapping, a
        specific IPv6 address range will be planned to represent IPv4 address
        space by stateless mapping as with [RFC7915]. With this framework,
        there are two options to allocate IPv6 mapping prefix:</t>

        <t>1) WKP:</t>

        <t>A specific WKP can be allocated from the global IPv6 address
        prefix, e.g., 64:ff9b:: /96.</t>

        <t>Pros:</t>

        <t>Service providers do not need to allocate IPv6 address prefixes
        specially used for mapping IPv4 addresses from their own IPv6 address
        resources.</t>

        <t>Cons:</t>

        <t>After the IPv4 address is converted into IPv6 address with WKP, the
        IPv4 part of the IPv6 address is used for the routing of the origin of
        the data packet. In this way, many fine routes with prefix length
        greater than 96 will be introduced into the global IPv6 network. In
        most networks, fine routing with long prefix length greater than 96 is
        not supported.</t>

        <t>2) NSP:</t>

        <t>Operator allocates a specific prefix from their existing IPv6
        address resources for IPv4 addresses mapping.</t>

        <t>Pros:</t>

        <t>The specific IPv6 prefix allocated by operators can be considered
        as an parent prefix, and each PE can obtain IPv6 mapping prefixes
        allocated from the parent prefix. Within the multi-domain networks,
        the length of IPv6 mapping prefix can be easily tailored to meet the
        requirements of IPv6 network for routing length, and the routing of
        the packets can be based on the information of IPv6 mapping prefix
        part of the IPv6 address. Outside the multi-domain network, because
        the IPv6 mapping prefix has been included in its original IPv6 address
        prefix, it will not introduce any new routing items and affect the
        global IPv6 routing system.</t>

        <t>Cons:</t>

        <t>Not found yet.</t>

        <t>As mentioned earlier, each PE will be identified by at least one
        IPv6 mapping prefix, which is used as the basic routing information to
        forward IPv4-embedded IPv6 packet to the right egress PE. For a given
        operator, the selection of the length of IPv6 mapping prefix should be
        given specific consideration. Firstly, the length of the IPv6 mapping
        prefix should be smaller than the maximum length of the routing prefix
        that the IPv6-only network specifies, so the PE can successfully
        announce to its peers via BGP protocol. Secondly, the length of all
        the IPv6 mapping prefixes should be the same, to avoid unnecessary
        processing cost and complexity induced by the prefix length
        diversity.</t>
      </section>
    </section>

    <section title="Procedure">
      <t>This section gives a brief overview of the procedures of the IPv4
      service delivery over IPv6-only underlay network. The requisite of IPv4
      data delivery is that PEs have successfully exchanged the mapping rules
      with each other. The end-to-end IPv4 data delivery by IPv6-only network
      includes the following two cases,</t>

      <t>1. IPv4 delivery from ingress PE to egress PE</t>

      <t>When an ingress PE receives an IPv4 packet from a client-facing
      interface destined to a remote IPv4 network, it looks up in its mapping
      rule database to find the mapping rule which best matches the
      packet&rsquo;s destination IP address. The IPv6 mapping prefix in the
      mapping rule will help to find another PE, the egress PE. Since this
      happens in multi-domain IPv6-only networks, the ingress and egress may
      belong to different ASes, as shown in figure 4, the ingress PE1 is in AS
      1 and egress is PE3 in AS 3. The ingress PE must convert the IPv4
      destination address into IPv6 destination address using the IPv6 mapping
      prefix of PE3 and forward the IPv6 packet to PE3. When PE3 receives the
      IPv6 packet, it derives the IPv4 source and destination addresses from
      the IPv4-embedded IPv6 addresses respectively and restore the original
      IPv4 packet<xref target="RFC6052"/>. Afterwards, the IPv4 packet will be
      further forwarded according to the IPv4 routing table maintained on the
      egress. The IPv6 data-path can be shown as below.</t>

      <t><figure>
          <artwork><![CDATA[
                     IPv6 Data Path
                |<------------------------>|
                |                          |    (Operator2)
                |   ----           -----   |       ----
                |  /    \         /     \  |      /    \
     +----+   +---+      +--+ +--+       +---+   |      |
     |UE/ |---|PE1| AS1  |R1|-|R2|  AS3  |PE3|---| AS4  |
     |CPE1|   +---+      +--+ +--+       +---+   |      |
     +----+        \    /         \     /         \    /
                    ----           -----           ----

    Figure 4. IPv6 Data Path from Ingress PE to Egress PE
]]></artwork>
        </figure></t>

      <t>In this case, there are only two IPv4-IPv6 conversion actions, which
      occur in PE1 and PE3 respectively.</t>

      <t>2. IPv4 delivery from UE/CPE to egress PE</t>

      <t>Another case is that IPv4 packets may have been transformed into IPv6
      packet in UE/CPE, as done by CLAT of 464XLAT<xref target="RFC6877"/>,
      before they reach the edge of the network.</t>

      <t>In this case, the PLAT of 464XLAT and ADPT will converge in ingress
      PE, both the client-facing interface and the core-facing interface are
      IPv6. When IPv6 packet reaches the ingress PE, the ingress PE does not
      need to implement the conversion between IPv4 and IPv6 packets. For the
      source IPv6 address, because the address adopted by UE is generally GUA,
      and the source address of the IPv4-embedded IPv6 packet is IPv4-embedded
      address in the core of this framework, it is necessary to convert the
      source address from GUA to IPv4-embedded IPv6 address. In addition,
      because the quantity of IPv4-embedded IPv6 address is limited, it is
      necessary to take IPv6 address multiplexing here, one or more
      IPv4-embedded IPv6 addresses are shared among several IPv6-only clients
      with GUA addresses. For the destination address, with 464XLAT, UE
      synthesizes the destination IPv4 address into IPv6 address by appending
      IPv4 address to the IPv6 prefix provided by DNS64 server. When the IPv6
      packet reaches the edge the multi-domain IPv6 network, i.e. PE1, the
      destination IPv6 address is converted into IPv4-embedded IPv6 address.
      This process is implemented by looking for the mapping rule
      corresponding to the original destination IPv4 address in the MD
      database, and then substituting the NAT64 prefix with the IPv6 mapping
      prefix of the egress PE.</t>

      <t><figure>
          <artwork><![CDATA[                  IPv6 Data Path
       |<--------------------------------->|
       |                                   |    (Operator2)
       |            ----           -----   |       ----
       |           /    \         /     \  |      /    \
     +----+   +---+      +--+ +--+       +---+   |      |
     |UE/ |---|PE1| AS1  |R1|-|R2|  AS3  |PE3|---| AS4  |
     |CPE1|   +---+      +--+ +--+       +---+   |      |
     +----+        \    /         \     /         \    /
                    ----           -----           ----

     Figure 5. IPv6 Data Path from UE/CPE to Egress PE]]></artwork>
        </figure>In this case, there are only one stateless IPv4-IPv6
      conversion action, which occurs in PE3. Compared with the case of
      independent deployment model mentioned in section 5, with the new
      framework the quantity of IPv4-IPv6 conversion points has been reduced
      from three to one.</t>
    </section>

    <section title="Security Considerations">
      <t>Besides regular security checks on configured mapping rules, the
      following two aspects need to be considered as well.</t>

      <section title="Authenticity and Integrity of Packets">
        <t>In this framework, for each egress PE, they assume that all ingress
        PEs are legal and authorized to convert the received IPv4 packets into
        IPv6 packets and send them into IPv6-only network. If IPv6 packets
        cannot guarantee its authenticity or integrity, then there may be a
        spoofing attack. Some faked ingress PEs can send IPv6 data converted
        from IPv4 to attack the egress PE. After the egress PE recovers the
        received IPv6 packets into IPv4 packets, it routes based on the
        destination IPv4 address and enters the Internet. They use global IPv4
        address, not private address. Therefore, these attacks cannot cause
        payload packets to be delivered to an address other than the one
        appearing in the destination address field of the IP packet. Since the
        PE in this framework is stateless, the effect of the attack is
        limited.</t>
      </section>

      <section title="BGP-4 and Multiprotocol Extensions for BGP-4">
        <t>The framework allows BGP to propagate mapping rule information over
        an IPv6-only underlay network, BGP is vulnerable to traffic diversion
        attacks. The ability to advertise a mapping rule adds a new means by
        which an attacker could cause traffic to be diverted from its normal
        path. Such an attack differs from pre-existing vulnerabilities in that
        traffic could be forwarded to a distant target across an intervening
        network infrastructure (e.g., an IPv6 core), allowing an attack to
        potentially succeed more easily since less infrastructure would have
        to be subverted. The security issues already exist in BGP-4 and MP-BGP
        for IPv6, the same security mechanisms are applicable.</t>
      </section>
    </section>

    <section title="IANA Considerations">
      <t>There are no other special IANA considerations.</t>
    </section>

    <section title="wledgement">
      <t>The authors would like to thank Brian E. Carpenter, Bob Harold, Fred Baker, 
      Xipeng Xiao, Giuseppe Fioccola, Vasilenko Eduard, Zhenbin Li, Jen Linkova, 
      Ron Bonica, Shuping Peng, Jingrong Xie, Eduard Metz, Wu Qin, Dhruv Dhody, Nick Buraglio, Linda Dunbar, Guoliang Han, Weiqiang Cheng, Aijun Wang, Tianran Zhou and Huaimo Chen for their review and comments.
      </t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.3587"?>

      <?rfc include="reference.RFC.4026"?>

      <?rfc include="reference.RFC.5565"
?>

      <?rfc include="reference.RFC.6052"?>

      <?rfc include="reference.RFC.6144"?>

      <?rfc include='reference.RFC.6877'?>

      <?rfc include='reference.RFC.7915'?>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.I-D.ietf-bess-ipv6-only-pe-design'?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.4213"?>

      <?rfc include='reference.RFC.6333'?>

      <?rfc include='reference.RFC.6992'?>

      <?rfc include='reference.RFC.7597'?>

      <?rfc include='reference.RFC.7599'?>

      <?rfc include='reference.RFC.8585'?>

      <?rfc include='reference.I-D.ietf-v6ops-ipv6-deployment'?>

      <?rfc include='reference.I-D.ietf-v6ops-transition-comparison'?>

      <reference anchor="IAB-statement"
                 target="https://www.iab.org/2016/11/07/iab-statement-on-ipv6/">
        <front>
          <title>IAB statement</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
