<?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-ma-v6ops-5g-ipv6only-00" ipr="trust200902">
  <front>
    <title abbrev="5G IPv6-only Deployment Considerations">Considerations of
    Gradual IPv6-only Deployment in 5G Mobile Networks</title>

    <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="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>

    <date day="25" month="February" year="2025"/>

    <area>OPS Area</area>

    <workgroup>v6ops Working Group</workgroup>

    <keyword>5G IPv6-only</keyword>

    <abstract>
      <t>This document describes the approach of gradually deploying 464XLAT
      based IPv6-only technology on user plane in 3GPP 5G networks. It also
      discusses the challenges and potential solutions.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Currently, IPv6 has been widely in mobile networks of operators
      worldwide, and it has even gained the dominant position from the
      perspective of traffic. However, IPv4 applications still exist in the
      network, and the support for IPv4 services must still be considered to
      guarantee the users&rsquo; experience. Furthermore, operators have begun
      experimenting with deploying IPv6-only approach in their mobile
      networks.</t>

      <t>The 5G system is defined in the 3GPP standards organization. In the
      5G system architecture, the session related to the endpoint's access to
      the internet is called the Packet Data Unit (PDU) session, and its type
      determines the IP protocol used for user access. In the 5G standards,
      the PDU session supports both IPv6 and IPv4 protocols, and it also
      provides policies to ensure that user equipment (UE) can access the
      internet. When a UE only supports the IPv4 protocol while the network
      supports dual-stack (IPv4 and IPv6), the network will provide an IPv4
      protocol stack configuration for the UE. Accordingly, for UE only
      supporting IPv6,the network will provide an IPv6 protocol stack
      configuration for the UE. Additionally, there are policy configuration
      schemes related to static addresses and other aspects, but It does not
      specify the requirements related to IPv6-only technology.</t>

      <t>There are several IPv6-only transition technologies described in
      <xref target="RFC9313"/> . Most existing deployments utilize 464XLAT
      technology in cellular network. This document describes the architecture
      for deploying 464XLAT based IPv6-only technology on user plane in 3GPP
      5G system. Based on the field trail, this document also discusses the
      major issues encountered and potential solutions to address them.</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="Terms and abbreviation">
      <t>The following terms are defined in this document:<list
          style="symbols">
          <t>464XLAT: IPv6-Only Transition Mechanism (IPv6-to-IPv4
          Translation)</t>

          <t>5GC: 5G Core</t>

          <t>5GS: 5G System</t>

          <t>AMF: Access and Mobility Management Function</t>

          <t>CLAT: CLAT is customer-side translator (XLAT) that compiles with
          <xref target="RFC6146"/></t>

          <t>PLAT: PLAT is provider-side translator (XLAT) that compiles with
          <xref target="RFC7915"/></t>

          <t>PDU&#65306;Protocol Data Unit</t>

          <t>IMEI: International Mobile Equipment Identity</t>

          <t>SMF&#65306;Session Management Function</t>

          <t>UE: User Equipment, e.g., mobile phone.</t>

          <t>LBO&#65306;Local Break Out</t>
        </list></t>
    </section>

    <section title="5GS IPv6-only Architecture on User Plane">
      <t>Examples of 5GS IPv6-only architectures on user plane are shown in
      the figures in the following sections. In production 5GS network, there
      is roaming behavior which specifies where the PDU session anchor and its
      controlling SMF are located in. That decides whether UE&rsquo;s PDU
      sessions get IP configuration and access the Internet from home 5GS
      network or visited 5GS network. Regarding roaming, 5GS contains three
      scenarios including non-roaming, roaming with home routed, and roaming
      with local break out.</t>

      <section title="Non-roaming Network Scenario">
        <t>Based on wireless 3GPP network architecture defined in [RFC6877],
        the non-roaming network architecture is depicted as figure 1. When a
        mobile network operator run only a 5GC, there is just non-roaming
        network scenario. In this csae, the CLAT function is deployed on the
        UE, while the PLAT/stateful NAT64 function and DNS64 function are
        deployed on the network side.<figure>
            <artwork><![CDATA[ +-------+  +------------+      _________  
 |UE     |  |5GC         |     /         \ 
 |+----+ |  |  +-----+   |    /           \ 
 ||CLAT| +--+--+UPF  +---+---+  Internet  | 
 |+----+ |  |  +-----+   |    \          / 
 +-------+  +---/-----\--+     +--------+ 
               /       \                    
            +------+  +------+               
            |NAT64 |  |DNS64 |               
            +------+  +------+                                                      ]]></artwork>
          </figure></t>
      </section>

      <section title="Roaming Network Scenario with Home Routed">
        <t>Generally, large mobile operators run multiple 5GCs divided by
        administrative divisions or other geographical methods. The roaming
        network scenario with home routed is shown in figure 2. In this case,
        UEs acquire IP network configuration and access the Internet in their
        home 5GS network. The IP address allocation strategy and traffic exit
        interface are decided by their home 5GC. The CLAT function is deployed
        on the UE, while the PLAT/stateful NAT64 function and DNS64 function
        are deployed on the home network.</t>
      </section>

      <section title="Roaming Network Scenario with Local Break Out">
        <t>The roaming network scenario with LBO is shown in figure 3. In this
        case, UEs get IP network configuration and access the Internet in the
        visited network. The CLAT function is deployed on the UE, while the
        PLAT/stateful NAT64 function and DNS64 function are deployed on the
        visited network. Home network also need to support NAT64 and DNS64
        when UE is in the non-roaming case.</t>

        <t>The following table 1 summarizes 5GC's network capabilities where
        the mobile network shall have to provide IPv6-only connectivity
        service.<figure>
            <artwork><![CDATA[+------------------+-----+-------------+---------------+
|Scenario          |UE   |Home Network |Visited Network|
+------------------+-----+-------------+---------------+
|Non-roaming       |CLAT |NAT64 DNS64  |               |
+------------------+-----+-------------+---------------+
|Roaming with Local|CLAT |NAT64 DNS64  |NAT64 DNS64    |
|Breakout          |     |             |               |
+------------------+-----+-------------+---------------+
|Roaming with Home |CLAT |NAT64 DNS64  |               |
|Routed            |     |             |               |
+------------------+-----+-------------+---------------+
 Table 1. Network Capabilities for IPv6-only 5G Scenarios]]></artwork>
          </figure></t>
      </section>
    </section>

    <section title="Deployment Challenges">
      <t>Based on our practices, for large-size mobile network operators,
      it&rsquo;s very difficult for operators to deploy IPv6-only capabilities
      across the whole network at once. There is a transition period that the
      IPv6-only capability is deployed gradually. This section identifies the
      major challenges when applying 464XLAT in a production network.</t>

      <section title="Roaming Challenge">
        <t>In the scenario where 5GC A supports IPv6-only capability while 5GC
        B doesn&rsquo;t. When UE A from 5GC A roams to 5GC B, it only obtains
        IPv6 configuration and accesses Internet according to the local
        breakout roaming policy. In this case, the access to IPv4 Internet may
        fail due to 5GC B lacks NAT64 and DNS64 capabilities.</t>
      </section>

      <section title="UE Challenge">
        <t>Regarding UE challenge, a significant number of terminals have not
        enabled CLAT functionality. The vast majority of Android terminals
        support and have enabled the CLAT functionality. Most new terminals
        like smart watch do not support this feature. Moreover, Apple's iOS in
        China does not enable CLAT functionality.</t>
      </section>

      <section title="UP Layer Challenge">
        <t>When IPv6-only users access IPv4 sites, the actual address they
        reach is generated by the DNS64 server, which combines a special IPv6
        prefix with the IPv4 site address to form an IPv6 address. Existing
        layer 3&amp;layer 4 content billing rules based on IPv4 addresses will
        no longer be effective and will need to be adjusted to accommodate the
        IPv6 addresses formed by DNS64.</t>
      </section>

      <section title=" DNS64 Configuration Challenge">
        <t>After enabling the DNS64 functionality, there is an increase in the
        processing load due to the additional handling of IPv6 queries and the
        DNS64 conversion, which consumes some device performance. The extent
        of this performance demand increase depends on the scale of IPv6
        queries. In a 5G network, once the DNS64 functionality is enabled, DNS
        resolution requests from both IPv6-only and dual-stack users will be
        processed by the DNS64 server. Even IPv4 resolution requests from
        dual-stack users will be treated as if they were from IPv6-only users,
        which place a significant load pressure on the DNS server. This may
        futher impact the service logic of the existing dual-stack users.</t>
      </section>
    </section>

    <section title="Deployment Solution">
      <t/>

      <section title="IMEI Configuration at Network Side">
        <t>One solution is to enhance the core network's capability to
        configure IP addresses and DNS server addresses based on IMEI number
        ranges. The IMEI is a unique sequence of 14 to 15 digits assigned to
        each mobile phone. It serves as a device identification number,
        enabling service providers to recognize the phone within the network.
        The primary purpose of the IMEI is to uniquely identify each device,
        allowing the network to determine whether the UE supports CLAT
        functionality. By configuring a whitelist of IMEIs that support CLAT
        functionality in the network, the network can assign an IPv6-only
        environment to UEs listed in the whitelist.</t>
      </section>

      <section title="Option 108">
        <t>One possible solution is to use the option108 [RFC 8925] method,
        allowing UE to choose whether to join the IPv6-only environment.
        Additionally, a method for configuring DNS64 server addresses needs to
        be considered. However, in practical deployments, core network support
        for DHCPv4 functionality is optional and may not be applicable to all
        networks.</t>

        <t>Another possible solution is to transmit Pref64 and DNS64 address
        information through the RA option. In 5G systems, RA is used to
        advertise IPv6 prefixes in the SLAAC, which is a mandatory
        functionality. Transmitting this information through RA is also a
        favorable option. Currently, the IETF has produced two RFCs, namely
        [RFC 8106] and [RFC 8781]. In practical implementations, the mobile
        core network supporting IPv6-only environments (IPv6-only mode) should
        include these two options in the RA messages. Upon receiving this
        message, the UE can abandon the IPv4 interface and operate in
        IPv6-only mode. In this solution, the core network does not need to be
        aware of the protocol stack ultimately used by UE.</t>
      </section>
    </section>

    <section title="Security Considerations">
      <t>TBD.</t>
    </section>

    <section title="IANA Considerations">
      <t>TBD.</t>
    </section>

    <section title="Acknowledgements">
      <t>The comments and suggestions of the following are gratefully
      acknowledged:</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

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

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

      <?rfc include='reference.RFC.6877'?>

      <?rfc include='reference.RFC.7915'?>

      <?rfc include='reference.RFC.8106'?>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.8781'?>

      <?rfc include='reference.RFC.8925'?>

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