Dynamic User Plane Selection

Revision History


Note


Revision history details are not provided for features introduced before release 21.24.


Revision Details

Release

First introduced.

Pre 21.24

Feature Description

In a Multi-access Edge Computing (MEC) architecture, selecting an edge User Plane (UP) provides low latency and maximum bandwidth efficiency. The location information of the user equipment (UE) is used to select an UP.

For selecting an edge UP, the following levels of granularity are considered:

  • E-UTRAN Cell Global Identifier (ECGI) or Cell Global Identification (CGI) offers the lowest level of granularity.

  • Tracking Area Identifier (TAI) or Routing Area Identity (RAI) or Service Area Identifier (SAI) offers the next level of granularity.

  • TAI-SAI-RAI-ECGI offers fixed priority of TAI, SAI, RAI and ECGI in which the ULI type is matched when more than one ULI type is received.

Architecture

To select a UP based on the location parameter of the upcoming session, a DNS Name Authority Pointer (NAPTR) query including TAI/RAI /SAI or ECGI/CGI is sent to the DNS server. The DNS (NAPTR) response contains a list of UP IPs. To select an UP from this list, a Load Control Information (LCI) and session count is applied to shortlist.

This feature enables virtual APN selection along with dynamic UP selection. As a result, APN is selected based on the specified criteria. The selection criteria for the virtual APN is also based on location, for example, the Radio Admission Control (RAC) range.

Dynamic UP selection is based on the configure fqdn postfix CLI command and the type of selected APN. If the type is ECGI or CGI, then a DNS Straightforward NAPTR (S-NAPTR) query is sent based on the cell ID. If the type is configured as tracking or routing area, then TAI or RAI or SAI is used for DNS (S-NAPTR) query.

To get the list of associated Sx peers, UP group from the selected APN is used. The UP IPs in DNS (S-NAPTR) response is matched with the list of Sx peers in the group. The peer that is either least loaded or have the least sessions is selected from this list.

If ULI contains unsupported location data, dynamic UP selection is based on the RAI IE that comes outside ULI.

How it Works

This section describes the sequence of operation.

  1. For P-GW, GGSN, or SAEGW, Fully Qualified Domain Names (FQDN) in UP, which contains fqdn-postfix and FQDN type (EGCI/CGI or TAI/RAI/SAI) are configured at APN level.

  2. During an S6b interface protocol-based authorization, the fqdn-postfix value in the authorization response is used (applicable for P-GW, GGSN, or SAEGW service only).

  3. The DNS (S-NAPTR) query is sent to the DNS server.


    Note


    DNS (S-NAPTR) is generated based on the type (E-CGI | RAI-TAI-SAI | TAI-SAI-RAI-ECGI) configured in user plane FQDN at APN level for GGSN.
  4. The response that is received from the DNS server is matched for service x-3gpp-upf:x-sxb for P-GW/GGSN/SAEGW (Collapsed) and x-3gpp-upf:x-sxa for S-GW.

  5. The matching DNS (S-NAPTR) response is processed recursively for UP IPs.

    • If enabled, the processed IPs are shortlisted for LCI-based UP selection.

    • If not enabled, the processed IPs are shortlisted for session count based UP selection (with or without LCI).

  6. If none of the UP IPs present in the response match with the associated Sx peers, then it leads to a session creation failure.

  7. For S-GW dynamic UP selection, the DNS client context must be the same as sgw-service context.

  8. If there is a successful DNS response for S-GW dynamic UP selection, UPs are selected from the DNS dynamic list of UP addresses. If there is DNS failure (DNS response is empty without any UP address or DNS time-out), the UP selection falls back to the statically configured APN profile based user-plane-groups functionality.


    Note


    • Pure S-GW multi-PDNs work with independent DNS-based UP selection.

    • S-GW relocation use cases work with independent DNS-based UP selection during a handover. If user-plane-group is configured under APN-profile, dynamic UP selection takes preference.

    • After the DNS (NAPTR) query is sent, there is a delat of few seconds (equivalent to tx + rx ) to receive the response.

    • If the DNS server is not reachable, session establishment might be delayed upto a maximum of 30 seconds before it uses the legacy method to select an UP.


The following sections describe various scenarios that are associated with the Dynamic UP Selection feature.

P-GW Dynamic UP Selection Having Virtual APN with Associated IP Pool

This section describes the sequence of operation for P-GW to dynamically select an UP having a virtual APN with an associated IP pool.

  1. As part of create session handling, PGW-C selects a virtual APN based on the TAC range.

  2. The DNS (S-NAPTR) query is sent to the DNS server based on the configuration of the selected APN.

  3. The response that is received from the DNS server is matched for service. The records with matching service fields are considered for selection.

  4. The UP IPs that are part of a configured IP pool and present in the response are matched with the associated Sx peers that are based on the UP group of the selected APN.

  5. From the matching list, P-GW selects the UP that is least loaded.

P-GW Dynamic UP Selection Having Virtual APN without Associated IP Pool

This section describes the sequence of operation for P-GW to dynamically select an UP having a virtual APN without an associated IP pool.

  1. As part of create session handling, PGW-C selects a virtual APN based on the TAC range.

  2. The DNS (S-NAPTR) query is sent to the DNS server based on the configuration of the selected APN.

  3. The response that is received from the DNS server is matched for service. The records with matching service fields are considered for selection.

  4. The UP IPs that are part of any public IP pool and present in the response are matched with the associated Sx peers that are based on the UP group of the selected APN.

  5. From the matching list, P-GW selects the UP that is least loaded.

S-GW Dynamic UP Selection for Successful DNS Response

This section describes the sequence of operation for S-GW to dynamically select an UP after receiving a successful response from the DNS server.

  1. After an UE in a tracking area (or Cell ID) sends an attach request to S-GW with Dynamic ECGI, RAI-TAI-SAI | TAI-SAI-RAI-ECGI based UP selection feature enabled and the DNS (S-NAPTR) query is sent to the DNS server.

  2. S-GW receives the query response from the DNS server, which contains the list of UP IPs.

  3. From the list of UP IPs, S-GW selects the UP that is least loaded.

S-GW Dynamic UP Selection for DNS Response Time-out

This section describe the sequence of operation for S-GW to dynamically select an UP after the DNS server time-out or the server sends a negative response.

  1. The S-GW sends the DNS (S-NAPTR) query to the DNS server.

  2. If there is a DNS server timeout or the server sends a negative response after the DNS (S-NAPTR) query is sent to the DNS server, then S-GW selects an UP from the APN-profile UP group that are configured with static IPs.

  3. From the list of UP IPs, S-GW selects the UP that is least loaded.

Call flows

This section includes the following call flows.

DNS Query Generation and Response Handling Call Flow

Table 1. DNS Query Generation and Response Handling Call Flow Description
Step Description
1 MME or S-GW sends a Create Session Request message to the Control Plane (S-GW, P-GW, GGSN, or SAEGW).
2 Control Plane (CP) sends an FQDN query (E-CGI or TAI-RAI -SAI or TAI-SAI-RAI-ECGI) to the DNS server.
3 CP receives the response to the FQDN query with a list of UP IPs.
4
  • If there are one or more UP IPs in the received list, CP applies LCI to the dynamic IP list to select an UP IP.

  • Or else, CP applies session count to the static IP list to select an UP IP.

5
  • If an UP is selected, CP sends an Sx Establishment Request message is sent to UP (skip to step 6).

  • Or else, a Create Session Reject message is sent to MME or S-GW.

6

UP responds and sends an Sx Establishment Response message to CP.

7

CP sends a Create Session Response message to MME or S-GW.

DNS Query Timeout for Primary DNS Call Flow

Table 2. DNS Query Timeout for Primary DNS Call Flow Description
Step Description
1 MME or S-GW sends a Create Session Request message to the Control Plane (S-GW, P-GW, GGSN, or SAEGW).
2 Control Plane (CP) sends an FQDN query (E-CGI or TAI-RAI-SAI or TAI-SAI-RAI-ECGI) to the primary DNS server.
3

When there is no response to the query from the primary DNS server due to a time-out, CP retries to send the FQDN query to the secondary DNS server.

4 CP receives the response to the FQDN query from the secondary DNS server with a list of UP IPs.
5
  • If there are one or more UP IPs in the received list, CP applies LCI to the dynamic IP list to select an UP IP.

  • Or else, CP applies session count to the static IP list to select an UP IP.

6
  • If an UP is selected, CP sends an Sx Establishment Request message is sent to UP (skip to step 7).

  • Or else, a Create Session Reject message is sent to MME or S-GW.

7

UP responds and sends an Sx Establishment Response message to CP.

8

CP sends a Create Session Response message to MME or S-GW.

DNS Query Timeout for Primary and Secondary DNS Call Flow

Table 3. DNS Query Timeout for Primary and Secondary DNS Call Flow Description
Step Description
1 MME or S-GW sends a Create Session Request message to the Control Plane (S-GW, P-GW, GGSN, or SAEGW).
2 Control Plane (CP) sends an FQDN query (E-CGI or TAI-RAI-SAI or TAI-SAI-RAI-ECGI) to the primary DNS server.
3

When there is no response to the query from the primary DNS server due to a time-out, CP retries to send the FQDN query to the secondary DNS server.

4

When there is no response to the query from the secondary DNS server also, CP selects an UP IP from the list of static IPs.

5
  • If an UP is selected, CP sends an Sx Establishment Request message is sent to UP (skip to step 6).

  • Or else, a Create Session Reject message is sent to MME or S-GW.

6

UP responds and sends an Sx Establishment Response message to CP.

7

CP sends a Create Session Response message to MME or S-GW.

Limitations

The Dynamic UP Selection feature has the following limitations:

  • It is applicable to P-GW, S-GW, and SAEGW only.

  • For SR and ICSR, no specific parameters are stored. If smgr is reset, the configured values are pushed again from sessctrl.

  • Any changes to the DNS Server is not considered.

  • The number of IPs handled for UP are limited to six. These IPs are a combination of IPv4 and IPv6 addresses.

Configuring the Dynamic User Plane Selection Feature

This section describes how to configure the Dynamic User Plane Selection feature.

Configuring FQDN for P-GW or GGSN

To configure FQDN for P-GW or GGSN (Pure-P and Collapsed calls), use the following configuration:

configure 
   context context_name 
      apn apn_name 
         user-plane-fqdn 
         user-plane-fqdn fqdn_postfix_string type [ E-CGI | RAI-TAI -SAI | TAI-SAI-RAI-ECGI ] 
         end 

NOTES:

  • user-plane-fqdn —Enable locally configured FQDN-postfix for dynamic UP selection (DNS-based).

  • E-CGI —Configure FQDN query type as E-CGI for UP selection.

  • RAI-TAI-SAI —Configure FQDN query type as RAI-TAI-SAI for UP selection.

  • TAI-SAI-RAI-ECGI —Configure FQDN query type as TAI-SAI-RAI-ECGI for UP selection.

Configuring FQDN for S-GW

To configure FQDN for S-GW (Pure-S calls), use the following configuration:

configure 
   context context_name 
      sgw-service sgw-service_name 
         user-plane-fqdn 
         user-plane-fqdn fqdn_postfix_string type [ E-CGI | RAI-TAI -SAI | TAI-SAI-RAI-ECGI ] 
         end 

NOTES:

  • user-plane-fqdn —Enable locally configured FQDN-postfix for dynamic UP selection (DNS based).

  • E-CGI —Configure FQDN query type as E-CGI for UP selection.

  • RAI-TAI-SAI —Configure FQDN query type as RAI-TAI-SAI for UP selection.

  • TAI-SAI-RAI-ECGI —Configure FQDN query type as TAI-SAI-RAI-ECGI for UP selection.

Boxer Configurations

This section describes the following boxer configurations and restrictions:

  1. DNS client must be configured and associated with P-GW and GGSN service.

  2. UP FQDN must be configured in APN.

  3. IP addresses of the primary and secondary DNS servers must be configured in the ISP context.

  4. UP FQDN must be configured in S-GW service for S-GW dynamic UP selection.

DNS Server Configurations

This section describes the following guidelines and restrictions to configure an external DNS server:

  1. DNS must be configured for NAPTR to record for ECFI/CGI/TAI/RAI/SAI, as applicable.

  2. NAPTR record must have service field as "x-3gpp-upf:x-sxb" for P-GW/SAEGW (Collapsed) and GGSN service, and "x-3gpp-upf:x-sxa" for S-GW.

  3. NAPTR record must have flags as a to indicate that the replacement string is FQDN for A or AAAA records.

The following CLI commands represent a sample DNS server configuration:

$ORIGIN 3gppnetwork.org.

$TTL 60              ; Put the Default
        TTL in seconds here (Its 1 day currently)
3gppnetwork.org.     IN SOA  nsbng.3gppnetwork.org. root.3gppnetwork.org.

273 ; serial

7200 ; refresh (2 hours)

3600 ; retry (1 hour)

86400 ; expire (1 day)

43200 ; minimum (12 hours)

)

 NS    nsbng.3gppnetwork.org.

ns AAAA 3001::41

;CUPS NAPTR Records Start From Here

;TAI NAPTR Records

tac-lb89.tac-hb67.tac.epc.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  "a"   "x-3gpp-upf:x-sxb" ""
        uplane-address1-v4.3gppnetwork.org.
tac-lb89.tac-hb67.tac.epc.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  "a"   "x-3gpp-upf:x-sxb" ""
        uplane-address1-v6.3gppnetwork.org.
tac-lb89.tac-hb67.tac.epc.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  "a"   "x-3gpp-upf:x-sxa" ""
        uplane-address1-v4.3gppnetwork.org.
tac-lb89.tac-hb67.tac.epc.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  "a"   "x-3gpp-upf:x-sxa" ""
        uplane-address1-v6.3gppnetwork.org.

;RAI NAPTR Records

rac34.lac-lb34.lac-hb12.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  "a"   "x-3gpp-upf:x-sxb" ""
          uplane-address1-v4.3gppnetwork.org
.
rac34.lac-lb34.lac-hb12.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  2  "a"   "x-3gpp-upf:x-sxb" ""
        uplane-address1-v6.3gppnetwork.org.

;SAI NAPTR Records

sac1234.lac-lb34.lac-hb12.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  'a'   'x-3gpp-upf:x-sxb' '' 
           uplane-address1-v4.3gppnetwork.org.
sac1234.lac-lb34.lac-hb12.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  2  'a'   'x-3gpp-upf:x-sxb' ''
         uplane-address1-v6.3gppnetwork.org.

;ECGI NAPTR Records

eci-b167.eci-b245.eci-b323.eci-b401.eci.epc.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  "a"   "x-3gpp-upf:x-sxb" ""
        uplane-address1-v4.3gppnetwork.org.
eci-b167.eci-b245.eci-b323.eci-b401.eci.epc.mnc365.mcc214.3gppnetwork.org. IN NAPTR 1  1  "a"   "x-3gpp-upf:x-sxb" ""
        uplane-address1-v6.3gppnetwork.org.

;CGI NAPTR Records

ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org. IN NAPTR
          1  1 
          "a"   "x-3gpp-upf:x-sxb" ""
        uplane-address1-v4.3gppnetwork.org.
ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org. IN NAPTR
          1  1 
          "a"   "x-3gpp-upf:x-sxb" ""s
        uplane-address1-v6.3gppnetwork.org.

;A Records

uplane-address1-v4   100     IN     
          A    209.165.200.225
;uplane-address1-v4   100     IN      A   
      209.165.200.225
uplane-address1-v4   100     IN     
          A    209.165.200.225
;uplane-address2-v4   100     IN     
          A    209.165.200.225

;AAAA Records

uplane-address1-v6   100     IN     
          AAAA    1::1:111
uplane-address1-v6   100     IN     
          AAAA    1111::1:111
;uplane-address2-v6   100     IN     
          AAAA    1111::1:111

S6b Configuration (Optional)

This section describes guidelines to configure an external S6b to support custom attribute aaa-uplane-fqdn and fqdn_post_fix_string.
AA-Answer 
   apn-config 
      uplane-fqdn 

Interface

The following sections describe the format of the DNS query and response.

DNS (S-NAPTR) Query Format

This section describes the format of the DNS (S-NAPTR) query message.


Important


SAI-based FQDN is proprietary formatted and not as specified in 3GPP TS 23.003 19.4.2 Fully Qualified Domain Names.
Network Node Query format
SGW-C

ECGI-based

eci b1<ECI byte-1>.eci b2<ECI-byte-2>. Eci b3<ECI byte-3>

.eci b4<ECI-byte-4>.eci.epc.mnc <MNC.mcc<MCC>.3gppnetwork.org

TAI-based

tac lb<TAC low byte>.tac hb<TAC-high-byte>

.tac.epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org

PGW-C

ECGI-based

eci‑b1<TAC‑byte-1>.eci‑b2 <ECI-byte-2.Eci‑b3<TAC‑byte-3>

.eci‑b4<ECI-byte-4>.eci.epc.mnc<MNC>

.mcc<MCC>.3gppnetwork.org

TAI-based

tac‑lb<TAC‑low‑byte>.tac‑hb<TAC-high-byte>

.tac.epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org

GGSN-C

CGI-based

ci‑lb<CI‑low-byte>.ci‑hb<CI-high-byte>

.eci.lac‑lb<LAC‑low‑byte>.lac‑hb<LAC-high-byte>

.lac.ggsn.mnc<MNC>.mcc<MCC>. 3gppnetwork.org

RAI-based

rac<RAC>.lac‑lb<LAC‑low‑byte>

.lac‑hb<LAC-high-byte>.lac.ggsn.mnc<MNC>

.mcc<MCC>.3gppnetwork.org

SAI-based

sac<SAC>.lac‑lb<LAC‑low‑byte>.

lac‑hb<LAC-high-byte>.lac.ggsn

mnc<MNC>.mcc<MCC>.3gppnetwork.org

SAEGW-C (Collapsed) ECGI-based

eci‑b1<TAC‑byte-1>.eci‑b2<ECI-byte-2>

. Eci‑b3<TAC‑byte-3>.eci‑b4<ECI-byte-4>

.eci.epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org

TAI-based

tac‑lb<TAC‑low‑byte>

.tac‑hb<TAC-high-byte>.tac.epc.mnc

<MNC>.mcc<MCC>.3gppnetwork.org

SAI-based

sac<SAC>.lac lb<LAC low byte>

.lac hb<LAC-high-byte>.lac.epc.

mnc<MNC>.mcc<MCC>.3gppnetwork.org

DNS (S-NAPTR) Response Format

This section describes a sample format of the DNS (S-NAPTR) response message.

Query ID              : 22290     
Type                  : Response   
Question              : NAPTR ?
          ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org. 
Answer                :       
  Name                :
          ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org. 
  TTL                 : 60    
  Type                : NAPTR    
  Order               : 1     

Preference : 1

  Flags               : a  
  Service             : x-3gpp-upf:x-sxb    
  Regexp              :   

Replacement : uplane-address2.3gppnetwork.org.

  Name                :
        ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org.
  TTL                 : 60           
  Type                : NAPTR   
  Order               : 1  
  Preference          : 1  
  Flags               : a   
  Service             : x-3gpp-upf:x-sxb  
  Regexp              :    

Replacement : uplane-address1.3gppnetwork.org.

Query ID              : 44640  

Type : Query

Question              : A?
        uplane-address2.3gppnetwork.org.

Query ID : 55480

Type                  : Query 
Question              : A?
        uplane-address1.3gppnetwork.org.

Query ID : 55480

Type                  : Response     
Question              : A?
          uplane-address1.3gppnetwork.org. 
Answer                :   

Name : uplane-address1.3gppnetwork.org.

  TTL                 : 100   
  Type                : A  

Address : 20.20.20.108

Query ID              : 44640   
Type                  : Response  
Question              : A?
          uplane-address2.3gppnetwork.org.  
Answer                :   
  Name                : uplane-address2.3gppnetwork.org.   
  TTL                 : 100  
  Type                : A    

Address : 209.165.200.225

Show Commands

This section describes the supported commands for the Dynamic UP Selection feature.

show apn name apn_name

This command displays DNS related information for Pure-P and collapsed calls.

The output of this command can be used to check the following values:

  • FQDN of APN

  • Type of FQDN

show sgw-service name sgw_service_name

This command displays DNS related information for Pure-S calls.

The output of this command can be used to check the following values:

  • FQDN of APN

  • Type of FQDN

show saegw-service statistics

Use the show saegw-service statistics CLI command to collect the statistics information.

The following is a sample partial output of the show saegw-service statistics all and show saegw-service statistics name SAEGW21 CLI commands:

Dynamic Uplane Selection Statistics:
   Attempted              :             x
   Successful             :             x
   Failure                :             x
   Peer not Found         :             x
   Negative DNS response  :             x
   DNS timed out          :             x
   Unsolicited UP Selection Response:   x
   DNS Query Response post DNS timeout: x

The following is a sample partial output of the show saegw-service statistics all function sgw CLI command:

Dynamic Uplane Selection Statistics:
  Attempted:                             7
  Successful                             4
  Failure:                               3
    Mismatch DNS response:               1
    Negative DNS response:               1
    DNS timed out:                       1
    Unsolicited UP Selection Response:   1
    DNS Query Response post DNS timeout: 1

Bulk Statistics

SAEGW Schema

Use this schema to collect the following bulk statistics pertaining to the Dynamic User Plane Selection feature:

  • saegw-dyn-up-attempt

  • saegw-dyn-up-attempt

  • saegw-dyn-up-success

  • saegw-dyn-up-success

  • saegw-dyn-up-failure

  • saegw-dyn-up-failure

  • saegw-dyn-up-peer-not-found

  • saegw-dyn-up-peer-not-found

  • saegw-dyn-up-dns-timeout

  • saegw-dyn-up-dns-timeout

  • saegw-dyn-up-neg-resp

  • saegw-dyn-up-neg-resp