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.
-
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.
-
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).
-
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.
|
-
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.
-
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).
-
If none of the UP IPs present in the response match with the associated sx peers, then, it leads to a session creation failure.
-
For S-GW dynamic UP selection, the DNS client context must be same as sgw-service
context.
-
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.
-
As part of the create session handling, PGW-C selects a virtual APN based on the TAC range.
-
The DNS (S-NAPTR) query is sent to the DNS server based on the configuration of the selected APN.
-
The response that is received from the DNS server is matched for service. The records with matching service fields are considered
for selection.
-
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.
-
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.
-
As part of the create session handling, PGW-C selects a virtual APN based on the TAC range.
-
The DNS (S-NAPTR) query is sent to the DNS server based on the configuration of the selected APN.
-
The response that is received from the DNS server is matched for service. The records with matching service fields are considered
for selection.
-
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.
-
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.
-
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.
-
S-GW receives the query response from the DNS server, which contains the list of UP IPs.
-
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.
-
The S-GW sends the DNS (S-NAPTR) query to the DNS server.
-
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.
-
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.
-
DNS Client must be configured and associated with P-GW and GGSN service.
-
UP FQDN must be configured in APN.
-
IP addresses of the primary and secondary DNS servers must be configured in the ISP context.
-
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:
-
DNS must be configured for NAPTR to record for ECFI/CGI/TAI/RAI/SAI, as applicable.
-
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.
-
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.
Question : NAPTR ?
ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org.
Name :
ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org.
Preference : 1
Service : x-3gpp-upf:x-sxb
Replacement : uplane-address2.3gppnetwork.org.
Name :
ci-lb34.ci-hb12.ci.lac-lb34.lac-hb12.lac.ggsn.mnc365.mcc214.3gppnetwork.org.
Service : x-3gpp-upf:x-sxb
Replacement : uplane-address1.3gppnetwork.org.
Type : Query
Question : A?
uplane-address2.3gppnetwork.org.
Query ID : 55480
Question : A?
uplane-address1.3gppnetwork.org.
Query ID : 55480
Question : A?
uplane-address1.3gppnetwork.org.
Name : uplane-address1.3gppnetwork.org.
Address : 20.20.20.108
Question : A?
uplane-address2.3gppnetwork.org.
Name
:
uplane-address2.3gppnetwork.org.
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:
show sgw-service
sgw-service_name
This show command can be used to check the following values:
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: