<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY I-D.zzhang-dmm-5g-distributed-upf SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.zzhang-dmm-5g-distributed-upf.xml">
<!ENTITY RFC7024 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7024.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-dmm-mup-evolution-03" category="info" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="MUP Evolution">Mobile User Plane Evolution</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="K." surname="Patel" fullname="Keyur Patel">
      <organization>Arrcus</organization>
      <address>
        <email>keyur@arrcus.com</email>
      </address>
    </author>
    <author initials="L." surname="Contreras" fullname="Luis M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author initials="K." surname="Islam" fullname="Kashif Islam">
      <organization>Redhat</organization>
      <address>
        <email>kislam@redhat.com</email>
      </address>
    </author>
    <author initials="J." surname="Mutikainen" fullname="Jari Mutikainen">
      <organization>NTT Docomo</organization>
      <address>
        <email>mutikainen@docomolab-euro.com</email>
      </address>
    </author>
    <author initials="T." surname="Jiang" fullname="Tianji Jiang">
      <organization>China Mobile</organization>
      <address>
        <email>tianjijiang@chinamobile.com</email>
      </address>
    </author>
    <author initials="L." surname="Jalil" fullname="Luay Jalil">
      <organization>Verizon</organization>
      <address>
        <email>luay.jalil@verizon.com</email>
      </address>
    </author>
    <author initials="O." surname="Sejati" fullname="Ori Prio Sejati">
      <organization>XL Axiata</organization>
      <address>
        <email>ORIP@xl.co.id</email>
      </address>
    </author>

    <date year="2023" month="February" day="04"/>

    <area>Routing</area>
    <workgroup>dmm</workgroup>
    <keyword>5g, UPF</keyword>

    <abstract>


<t><xref target="I-D.zzhang-dmm-5g-distributed-upf"/> describes evolution of mobile user plane in 5G, including
distributed User Plane Functions (UPFs)and alternative user plane implementations that some
vendors/operators are promoting without changing 3GPP architecture/signaling.
Building on top of that, this document further discusses potentially integrating
UPF and Access Node (AN) in a future generation (xG) of mobile network.</t>

<t>This document is not an attempt to do 3GPP work in IETF. Rather, it discusses
potential integration of IETF/wireline and 3GPP/wireless technologies
- first among parties who are familiar with both areas and friendly with
IETF/wireline technologies. If the ideas in this document are deemed
reasonable, feasible and desired among these parties, they can then be brought
to 3GPP for further discussions.</t>



    </abstract>



  </front>

  <middle>


<section anchor="mup-evolution"><name>MUP Evolution</name>

<t><xref target="I-D.zzhang-dmm-5g-distributed-upf"/> describes evolution of mobile user plane in 5G
<xref target="_3GPP-23.501"/>,
including distributed UPFs and alternative user plane implementations that some
vendors/operators are pushing without changing 3GPP architecture/signaling.</t>

<t>This document discusses potential MUP evolution in a future generation
(referred to as xG) of mobile networks. It does involve changes in 3GPP
architecture and signaling, so the purpose of this section is to share
the ideas in IETF/wireline community first. If it gains consensus within IETF/wireline
community especially among mobile operators, then the proposal may be
brought to 3GPP community for further discussions.</t>

<section anchor="upf-distribution-and-ran-decomposition"><name>UPF Distribution and RAN Decomposition</name>

<t>In 5G, in the opposite direction of UPF distribution, some RAN components are
becoming centralized as a result of the disaggregation and decomposition of
baseband processing functions. The AN functionality is now divided into the Radio Unit (RU, comprising
the antenna and radiating elements), the Distributed Unit (DU, comprising the
functions for the real time processing of the signal), and the Centralized Unit (CU,
comprising the remaining signal processing functions). CU is the AN function
that handles N3 GTP-U encapsulation for UpLink (UL) traffic and decapsulation for DownLink (DL) traffic.</t>

<t>This is also specified in <xref target="ORAN-Arch"/>, with corresponding O-RU, O-DU and O-CU terms.</t>

<t>The placement of the decomposed CU component can converge
with the distribution process of the UPF to some optimal and
convenient location in the network - they become co-located
in an edge or far edge data center (DC) either with direct/short
local connections in between or both running as virtual functions on
the same compute server.</t>

</section>
<section anchor="integrated-anup-function-in-xg"><name>Integrated AN/UP Function in xG</name>

<t>While the AN (CU) and UPF can be co-located, they are still  separate
functions connected by N3 tunneling over a short/internal transport
connection. Routing happens on the UPF between the DN and UEs over the N3
tunnels, and relay happens on the AN between the N3 tunnels and AN protocol
stack.</t>

<t>With AN and UPF functions more and more disaggregated and virtualized even
in 5G, it is becoming more and more feasible and attractive to integrate
the AN and UPF functions, eliminating the N3 tunneling and the relay
on AN entirely. The combined function is referred to as ANUP in this document,
which does routing between DN and UEs over the AN protocol stack directly:</t>

<figure><artwork><![CDATA[
                         N6
    UE1          ANUP     | 
+---------+               | 
|App Layer|     routing   |   
+---------+ +--/---+---\-+|
|PDU Layer| | PDU  |     ||      PE1     
+---------+ +------+IP+L2||    +----+--+ 
|         | |      |     ||----+VRF1|  |
| xG-AN   | |xG-AN +  or ||    +----+  |
|         | |      |     ||    |VRFn|  |
| Proto   | |Proto +Ether||    +----+--+
|         | |      |     ||   (         )
| Layers  | |Layers+-----+|  (           )
|         | |      |  L1 ||  ( Transport  )
+---------+ +------+-----+|  (            )
                          |  ( Network    )  PE3  
                          |  (            +--+----+
    UE2          ANUP     |  (            |  |VRF1|
+---------+               |  (            |  |----+
|App Layer|     routing   |  (            |  |VRFn|
+---------+ +--/---+---\-+|  (            +--+----+
|PDU Layer| | PDU  |     ||  (            )
+---------+ +------+IP+L2||  (           )
|         | |      |     ||   (         )  
| xG-AN   | |xG-AN +  or ||    +----+--+
|         | |      |     ||----+VRF1|  |
| Proto   | |Proto +Ether||    +----+  |
|         | |      |     ||    |VRFn|  |
| Layers  | |Layers+-----+|    +----+--+  
|         | |      |  L1 ||      PE2
+---------+ +------+-----+|
                          | 
]]></artwork></figure>

<t>With this architecture, 3GPP and IETF technologies are applied where they are
best applicable: 3GPP technologies responsible for radio access and IETF
technologies for the rest. As IETF technologies continue to evolve,
they can be automatically applied in mobile networks without any changes
in 3GPP architecture/specification.</t>

<t>One way to view this is that the ANUP is a router/switch with wireless
and wired interfaces and it routes/switches traffic among those interfaces.
The wireless interface is established by 3GPP technologies (just like
an Ethernet interface is established by IEEE technologies) and
the routing/switching function follows IETF/IEEE standards.</t>

<t>Some advantages of this new architecture include:</t>

<t><list style="symbols">
  <t>5G-LAN and MEC become transparent applications that wireline networks
have been supporting (PDU sessions terminate into the
closest ANUP and routed/switched to various DNs).</t>
  <t>MBS becomes very simple – the ANUP gets the multicast traffic in the DN
and then use either shared radio bearer or individual bearers to send to
interested UEs.</t>
  <t>Simplified signaling - instead of seven-steps of separate N2/N4 signaling
from separate AMF/SMF to separate AN/UPF and N11 signaling
between AMF and SMF to set up the N3 tunneling for a PDU session,
a two-step signaling between a new single control
plane entity to the single integrated ANUP is enough - see <xref target="signaling"/>
for details.</t>
  <t>Simplified/Optimized data plane - AN-UPF connection and GTP-U
encapsulation/decapsulation are not needed anymore. This can significantly
improve throughput, especially when compared to AN/UPF functions running
on servers.</t>
  <t>Natural local break-out in traffic forwarding, by allowing the more efficient
routing/switching of traffic according to its destination.</t>
  <t>Any kind of tunnels can be used for the DN VPN, whether it is MPLS or SRv6,
w/o the overhead of UDP/GTP encapsulation compared to GTP tunneling.
Network slicing and QoS functions are still supported (even with current
GTP tunneling the transport network need to instantiate slices and
implement QoS for N3/N9 tunnels as well).</t>
</list></t>

<t>Because the ANUP already implement the routing/switching functions, even the
PE functions (for the DN VPN) could be optionally integrated into it, further
streamlining end-to-end communication by reducing NFs and connections between
them. While integrating PE function is optional, it is desired and
today's AN can be already considered as a PE (<xref target="anpe"/>).</t>

</section>
</section>
<section anchor="some-considerations-with-integrated-anup"><name>Some considerations with integrated ANUP</name>

<t>Various considerations/concerns were brought up during the discussions
of the ANUP proposal. They are documented in the following sections.</t>

<section anchor="sep"><name>Separate AN/UP Functions</name>

<t>There are still cases where separate AN/UP functions are desired/required:</t>

<t><list style="symbols">
  <t>An MNO may want to deploy one UPF for a cluster of ANs in proximity
in some scenarios/locations</t>
  <t>An MNO may support MVNOs who have their own UP functions but make use of
the hosting MNO's ANs</t>
  <t>Home Routed roaming requires separate HPLMN UPs and VPLMN ANs</t>
</list></t>

<t>Therefore, the integration does not have to be always used. Rather, it is
"integration when desired and feasible, separation when necessary".</t>

<t>Note that, the same ANUP can handle both situations - some PDU sessions
may be tunneled to a separate UPF while other sessions are terminated
and then traffic is routed/switched to either local DN or remote/central DN.</t>

<t>This is also the basis of interworking between 5G and xG:</t>

<t><list style="symbols">
  <t>A 5G AN can have N3 tunneling to an xG UPF</t>
  <t>An xG ANUP can have N3 tunneling to a 5G/xG UPF</t>
</list></t>


</section>
<section anchor="signaling"><name>Simplified/reduced Signaling and optimized data plane</name>

<t>One may ask why bother with integration when it is still needed to
support separate AN and UPF anyway.</t>

<t>When AN and UPF are separate, to set up the N3 tunnel the following
seven steps are needed, involving four NFs and three Nx interfaces:</t>

<t><list style="numbers">
  <t>SMF sends request to UPF (N4)</t>
  <t>UPF responds with UPF-TEID (N4)</t>
  <t>SMF passes &lt;UPF, UPF-TEID&gt; to AMF (N11)</t>
  <t>AMF sends request to gNB, passing &lt;UPF, UPF-TEID&gt; (N2)</t>
  <t>gNB responds with AN-TEID (N2)</t>
  <t>AMF passes &lt;AN, AN-TEID&gt; to SMF (N11)</t>
  <t>SMF sends &lt;AN, AN-TEID&gt; to UPF (N4)</t>
</list></t>

<t>With integrated ANUP, there is no need for N3 tunnel anymore.
A new control plane NF only needs to tell the ANUP which DN that PDU session
belongs to.</t>

<t>Additionally, the N3 tunnel is maintained by periodical signaling refreshes
- otherwise timeout will happen. This causes significant control
plane load on the NFs and interfaces, which no longer exists with ANUP since
N3 tunneling is eliminated.</t>

<t>As mentioned before, with ANUP the AN-UPF connection and GTP-U
encapsulation/decapsulation are not needed anymore. This can significantly
improve performance/throughput, especially when compared to AN/UPF functions
running on servers.</t>

</section>
<section anchor="mobility"><name>Mobility Handover</name>

<t>Notice that ANUP is for the scenario of distributed UPFs (that are co-located
with ANs) and the handover procedures for distributed UPFs (that are not
integrated with ANs) applies to ANUP transparently as well. UEs may have
persistent IP addresses even when they re-anchor from one ANUP to another,
as described in Section 2 of <xref target="I-D.zzhang-dmm-5g-distributed-upf"/>, or
they can just get a new address when they re-anchor to a different ANUP,
in which case host routes are not needed.</t>

</section>
<section anchor="microservice-architecture"><name>Microservice architecture</name>

<t>One may argue that the integration of AN and UP functions are against
the microservice trend.</t>

<t>The following is a verbatim quote from https://microservices.io/:</t>

<figure><artwork><![CDATA[
  Microservices - also known as the microservice architecture -
  is an architectural style that structures an application as a
  collection of services that are:

  - Highly maintainable and testable
  - Loosely coupled
  - Independently deployable
  - Organized around business capabilities
  - Owned by a small team
  - The microservice architecture enables the rapid, frequent
    and reliable delivery of large, complex applications.
    It also enables an organization to evolve its technology stack.
]]></artwork></figure>

<t>The counter argument is that microservice is about decomposing complex
"applications". ANUP is about integrating co-located and mature data plane
entities to streamline and optimize forwarding. It has real and significant
benefits of simplified signaling and optimized data plane - it does not make
sense to force microservice here.</t>

</section>
<section anchor="increased-burden-on-previously-simple-an"><name>Increased burden on previously simple AN</name>

<t>One may think that the AN only needed to do simple traffic stitching
functions while now the ANUP has added UPF burden. However, the main use
case of ANUP is where the AN and UPF are co-located even if they are
separate functions. Therefore, the ANUP only absorbs the whatever
functionalities that the separate UPF at the same site need to do anyway,
with reduced signaling and data plane handling - the overall processing
at the site actually decreases. While a particular ANUP now has more
processing to do, it can offload some sessions to additional ANUPs
that are now made possible because of removal of separate UPFs
at the same site.</t>

<t>This may also make it easier to allocate resources at the edge DC.
Previously, an operator needs to consider how much resources to
allocate for the separate UPFs and assign which sessions to which UPFs.
Now it simply is to decide which sessions are assigned to which ANUP
(just like to decide which sessions are assigned to which AN).</t>

</section>
<section anchor="use-of-ulcl-i-upf-for-mec-purpose"><name>Use of ULCL I-UPF for MEC Purpose</name>

<t>Notice that the ANUP is to integrate AN and distributed UPF that are co-located
in edge DCs, and one use case of distributed UPF (in those edge DCs) is MEC.
UpLink CLassifier Intermediate UPF (ULCL I-UPF)
is an existing way to achieve local breakout routing for MEC purpose,
but it is not an optimized/elegant solution compared to ANUP.</t>

<t>The ULCL I-UPF is placed between an AN and a central UPF as a filtering
device. While called an UPF it is different from a typical UPF -
It inspects <em>all</em> GTP-U UL traffic, and based on N4 signaling from
SMF certain traffic is intercepted and forwarded to local DN.
This places additional control plane burden on SMF in addition to the need
of the special traffic-filtering UPF. For example, the SMF will need to
know which traffic (to some particular destination address) is  to be
intercepted.</t>

<t>For comparison, with ANUP there is no need for the additional special
UPF and corresponding N4 signaling at all. Everything is standard
routing/filtering w/o relying on SMF to determine which traffic is delivered locally:</t>

<t><list style="symbols">
  <t>For some PDU sessions, all traffic may be tunneled to a separate UPF.</t>
  <t>For a particular PDU session, some traffic may be delivered locally
while some other delivered to the central/remote DN all based on
routing/filtering in the DN.</t>
</list></t>

</section>
<section anchor="anpe"><name>VPN PE Function in AN/ANUP</name>

<t>As previously mentioned, the ANUP can optionally have the VPN PE
function integrated, instead of being a standalone CE device for
the VPN for the DN.</t>

<t>While optional, it is a desired optimization. Moreover, even the
separate AN itself can be considered as a spoke PE for a
hub-and-spoke VPN <xref target="RFC7024"/> for the DN.</t>

<t>Consider a hub-and-spoke VPN outside the mobile network context:</t>

<t><list style="symbols">
  <t>A spoke PE only imports a default route from a hub
PE and therefore sends all traffic from its CEs to the hub PE</t>
  <t>A hub PE imports routes from all PEs and sends traffic to
appropriate PEs or its CEs, whether the traffic is from
a local CE or another PE</t>
</list></t>

<t>Additionally, consider that a spoke PE advertise different
per-prefix (vs. per VRF) VPN labels. When it receives traffic with
a per-prefix label, it can send traffic to a local CE purely
based on the label without having to do a route lookup in the VRF.</t>

<t>Now consider the AN and the central UPF in a mobile network.
Effectively the AN is a spoke PE and the central UPF is a hub PE
for the DN:</t>

<t><list style="symbols">
  <t>The GTP-U tunnel corresponds to the MPLS label stack.</t>
  <t>For UL traffic, there is no need for route lookup on the AN
because all is to be tunneled to the UPF. The UPF TEID is
used by the UPF to determine which DN the traffic belongs to,
just like how a VPN label is used to determine VPN the traffic
belongs to.</t>
  <t>For DL traffic, the UPF does a lookup based on the destination
address (e.g., that of a UE) and a corresponding GTP-U tunnel
is used to send traffic to an AN. When traffic arrives on
the AN, the per-UE TEID allows traffic to be relayed to the
UE without a route lookup.</t>
</list></t>

<t>In other words, the separate ANs and UPF form a hub-and-spoke
VPN for the DN with per-prefix "labels", though no VRF is present
on the ANs because there is no need for route lookup at all.</t>

<t>For ANUP with VPN PE function integrated, the only difference is
the addition of VRF in the AN.
That's so that some sessions will be locally terminated and
traffic is locally routed. For DL traffic, the ANUP can either
advertise per-VRF label (or SID in case of SR) and do a lookup
for DL traffic, or advertises per-prefix/UE label (or SID in
case of SR) - just like per-UE TEID - so that it does not
to do a lookup before sending traffic to a UE.</t>

</section>
<section anchor="qos-handling"><name>QoS Handling</name>

<t>With separate AN and UPF, the QoS handling happens in the
following segments:</t>

<t><list style="symbols">
  <t>Between UE and AN over the air interface</t>
  <t>Between AN and UPF over the N3 tunnel, which can be:
  <list style="symbols">
      <t>through a transport network, or</t>
      <t>through a local/internal link in co-location case</t>
    </list></t>
</list></t>

<t>The QoS over the air interface is the same for both AN and ANUP cases.</t>

<t>For the trivial QoS previously over N3 tunnel through a local/internal
link in co-location case, it is now completely eliminated with ANUP.</t>

<t>The QoS over N3 tunnel through a transport network is realized through
QoS mechanisms in the transport network.
With ANUP, it's likely that similar QoS is needed between the ANUP
and a hub router in the DN, which is a VPN over the same transport
network. Therefore, it is similar to the QoS over N3 tunnel - only
that now it is QoS over VPN tunnel and realized through QoS mechanisms
in the transport network.</t>

<t>A central UPF may have rate limiting for N3 tunnels so that each PDU
session's DL traffic is limited and the AN won't be overwhelmed by
DL traffic. With distributed UPF (whether integrated into AN or not),
the routes advertised to the hub DN router may carry QoS information
like rate limiting parameters, so that the hub DN router can do
rate limiting.</t>

</section>
<section anchor="nat"><name>NAT</name>

<t>Addresses assigned to UEs may be from a private address space and
NAT is needed between the private space and public space.
In case of central UPFs, the NAT can be done on a central UPF
(though NAT is still a logically separate function) or by a separate
NAT Gateway (GW) connected to the central UPF.</t>

<t>With distributed UPFs (whether it is a separate UPF or an integrated
ANUP), NAT can be done by a central NAT GW connected to the hub router,
just like a NAT GW on or next to the previously central UPF.</t>

<t>A large operator may have multiple central UPFs for different regions,
and the regions may have overlapping private address spaces. Each UPF
will have its own NAT GW, and UE to UE traffic across regions will
go throw two NAT GWs. With distributed UPFs, each region will have
its own hub router with its own NAT GW, and UE to UE traffic across
regions will go through two NAT GWs and two hub routers.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>To be provided.</t>


</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors thank Arda Akamn, Constantine Polychronopoulos,
Sandeep Patel and Shraman Adhikary for their review, comments and
suggestions to make this document and solution more complete.</t>

</section>


  </middle>

  <back>



    <references title='Informative References'>

<reference anchor="_3GPP-23.501" >
  <front>
    <title>System architecture for the 5G System (5GS), V17.3.0</title>
    <author >
      <organization></organization>
    </author>
    <date year="2021" month="December"/>
  </front>
</reference>
<reference anchor="ORAN-Arch" >
  <front>
    <title>O-RAN Architecture Description, V06.00</title>
    <author >
      <organization></organization>
    </author>
    <date year="2022"/>
  </front>
</reference>
&I-D.zzhang-dmm-5g-distributed-upf;
&RFC7024;


    </references>



  </back>

</rfc>

