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) is key to providing 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, two levels of granularity are considered, they are as follows:

  • 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 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.

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

Dynamic UP selection is done 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 loaded least or have least sessions is selected from this list.

If ULI contains unsupported location data, Dynamic UP selection happens 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 services only).

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


    Note

    The DNS (S-NAPTR) is generated based on the type(E-CGI | RAI-TAI-SAI | TAI-SAI-RAI-ECGI) configured in uplane 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.

    • Or else, 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 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 are a few seconds of delay (equivalent to tx + rx ) to receive the response.

    • If the DNS server is not reachable, the 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 the 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 the 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 the 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 the 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 is 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 the 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 time-out 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 the 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
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
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
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's applicable for 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 in not considered.

  • Number of IPs handled for UP are limited to six, and this list of IPs can be 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 CLI commands for P-GW or GGSN

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 Enables use of locally configured FQDN-postfix for dynamic UP selection (DNS-based).

  • E-CGI Configures FQDN query type as E-CGI for UP selection

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

  • TAI-SAI-RAI-ECGI : Configures FQDN query type as TAI-SAI-RAI-ECGI for UP selection.

Configuring CLI Commands for S-GW

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 Enables use of locally configured FQDN-postfix for dynamic UP selection (DNS based).

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

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

  • TAI-SAI-RAI-ECGI : Configures 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 to provide fqdn_post_fix_string.
AA-Answer 
   apn-config 
      uplane-fqdn 

Interface

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

DNS (S-NAPTR) Query Format

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


Important

SAI based FQDN is proprietary formatted and not as per the 3GPP Standard 23.003 19.4.2 Fully Qualified Domain Names.
Network Node Query format
S-GW-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

P-GW-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 for 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 available show commands for the Dynamic UP Selection feature.

show apn name apn_name

This show command can be used to check the following values:

  • FQDN of APN

  • Type of FQDN

show sgw-service sgw-service_name

This show command can be used to check the following values:

  • FQDN of APN

  • Type of FQDN

Statistics

This section provides information about the show CLI commands available to collect the statistics.

The following is a sample partial output for 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 for 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