Description
The Directory Name Service (DNS) in 3GPP is a critical infrastructure component based on the Internet Engineering Task Force (IETF) standards, specifically RFC 1034 and RFC 1035. It operates as a distributed database that resolves Fully Qualified Domain Names (FQDNs) into corresponding IP addresses and other resource records, such as NAPTR (Naming Authority Pointer) and SRV (Service) records. Within the 3GPP architecture, DNS is used extensively by core network functions for dynamic discovery and selection of peer network elements. For instance, during the establishment of a Packet Data Network (PDN) connection, the Packet Data Network Gateway (PGW) or Session Management Function (SMF) may be selected based on DNS queries that consider the Access Point Name (APN), subscriber's location, and network policies. The system employs a hierarchical structure with root servers, top-level domains, and authoritative name servers specific to the operator's network (e.g., epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org). DNS queries are initiated by various network functions, including the Mobility Management Entity (MME), Serving GPRS Support Node (SGSN), Home Subscriber Server (HSS), and Policy and Charging Rules Function (PCRF), to locate services like the PGW/SMF, HSS/UDM, or application servers. The resolution process involves recursive and iterative queries, with caching mechanisms at resolvers to improve efficiency and reduce latency. DNS is also pivotal for inter-operator connectivity, enabling the resolution of FQDNs for roaming scenarios and interconnection between different Public Land Mobile Networks (PLMNs). In 5G systems, DNS remains essential for service-based architecture (SBA), where Network Function (NF) instances register their profiles and endpoints in the Network Repository Function (NRF), and consumer NFs use DNS-based service discovery to find appropriate producer NFs based on service names, NF types, and other selection criteria.
Purpose & Motivation
DNS was introduced to solve the problem of static, hard-coded network element addressing, which was inflexible and difficult to manage in large-scale, dynamic mobile networks. Prior to its adoption, network configurations required manual updates of IP addresses in network elements, leading to operational complexity, scalability issues, and increased risk of errors during network expansions or failures. The primary motivation was to enable automated, dynamic discovery and selection of network functions, which is essential for load balancing, redundancy, and efficient resource utilization. DNS provides a standardized, scalable mechanism for service and node discovery across the core network, supporting features like APN resolution, PGW/SMF selection, and inter-operator roaming. It abstracts the underlying network topology, allowing operators to deploy and relocate network functions without reconfiguring every dependent element. This flexibility is crucial for the evolution towards cloud-native, virtualized networks and 5G's service-based architecture, where network functions can be instantiated and scaled elastically. DNS also facilitates the implementation of advanced traffic steering policies, network slicing, and multi-vendor interoperability by providing a common resolution framework.
Key Features
- Resolution of Fully Qualified Domain Names (FQDNs) to IP addresses for network elements and services
- Support for multiple DNS record types including A, AAAA, NAPTR, and SRV for advanced service discovery
- Dynamic selection of gateways (e.g., PGW, SMF) based on Access Point Name (APN), subscriber location, and network policies
- Essential for inter-PLMN roaming and interconnection by resolving FQDNs across operator boundaries
- Integration with 5G Service-Based Architecture (SBA) for Network Function (NF) discovery and selection
- Caching mechanisms at DNS resolvers to reduce query latency and network load
Evolution Across Releases
Introduced DNS as a core component for GPRS and UMTS networks, primarily for APN resolution and GGSN selection. It enabled dynamic discovery of network elements, moving away from static configurations, and supported basic A record lookups for gateway selection.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 22.975 | 3GPP TS 22.975 |
| TS 23.060 | 3GPP TS 23.060 |
| TS 23.140 | 3GPP TS 23.140 |
| TS 23.228 | 3GPP TS 23.228 |
| TS 23.234 | 3GPP TS 23.234 |
| TS 23.236 | 3GPP TS 23.236 |
| TS 23.271 | 3GPP TS 23.271 |
| TS 23.327 | 3GPP TS 23.327 |
| TS 23.722 | 3GPP TS 23.722 |
| TS 23.758 | 3GPP TS 23.758 |
| TS 23.976 | 3GPP TS 23.976 |
| TS 23.981 | 3GPP TS 23.981 |
| TS 24.228 | 3GPP TS 24.228 |
| TS 24.229 | 3GPP TS 24.229 |
| TS 24.234 | 3GPP TS 24.234 |
| TS 24.302 | 3GPP TS 24.302 |
| TS 24.501 | 3GPP TS 24.501 |
| TS 24.502 | 3GPP TS 24.502 |
| TS 24.525 | 3GPP TS 24.525 |
| TS 24.543 | 3GPP TS 24.543 |
| TS 24.554 | 3GPP TS 24.554 |
| TS 24.802 | 3GPP TS 24.802 |
| TS 26.247 | 3GPP TS 26.247 |
| TS 26.512 | 3GPP TS 26.512 |
| TS 26.802 | 3GPP TS 26.802 |
| TS 26.803 | 3GPP TS 26.803 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.805 | 3GPP TS 26.805 |
| TS 26.891 | 3GPP TS 26.891 |
| TS 26.928 | 3GPP TS 26.928 |
| TS 26.944 | 3GPP TS 26.944 |
| TS 27.060 | 3GPP TS 27.060 |
| TS 28.314 | 3GPP TS 28.314 |
| TS 29.061 | 3GPP TS 29.061 |
| TS 29.161 | 3GPP TS 29.161 |
| TS 29.201 | 3GPP TS 29.201 |
| TS 29.303 | 3GPP TS 29.303 |
| TS 29.333 | 3GPP TS 29.333 |
| TS 29.368 | 3GPP TS 29.368 |
| TS 29.819 | 3GPP TS 29.819 |
| TS 32.101 | 3GPP TR 32.101 |
| TS 32.158 | 3GPP TR 32.158 |
| TS 32.300 | 3GPP TR 32.300 |
| TS 32.501 | 3GPP TR 32.501 |
| TS 32.502 | 3GPP TR 32.502 |
| TS 32.583 | 3GPP TR 32.583 |
| TS 32.593 | 3GPP TR 32.593 |
| TS 32.833 | 3GPP TR 32.833 |
| TS 33.222 | 3GPP TR 33.222 |
| TS 33.320 | 3GPP TR 33.320 |
| TS 33.739 | 3GPP TR 33.739 |
| TS 33.823 | 3GPP TR 33.823 |
| TS 43.318 | 3GPP TR 43.318 |
| TS 43.902 | 3GPP TR 43.902 |
| TS 44.318 | 3GPP TR 44.318 |