Patent Publication Number: US-2023164110-A1

Title: Methods, systems, and computer readable media for dynamically updating domain name system (dns) records from registered network function (nf) profile information

Description:
TECHNICAL FIELD 
     The subject matter described herein relates to dynamic DNS configuration. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for dynamically updating DNS records from registered NF profile information. 
     BACKGROUND 
     In 5G telecommunications networks, a network function that provides service is referred to as a producer NF or NF service producer. A network function that consumes services is referred to as a consumer NF or NF service consumer. A network function can be a producer NF, a consumer NF, or both, depending on whether the network function is consuming, producing, or consuming and producing services. The terms “producer NF” and “NF service producer” are used interchangeably herein. Similarly, the terms “consumer NF” and “NF service consumer” are used interchangeably herein. 
     A given producer NF may have many service endpoints, where a service endpoint is the point of contact for one or more NF instances hosted by the producer NF. The service endpoint is identified by a combination of Internet protocol (IP) address and port number or a fully qualified domain name that resolves to an IP address and port number on a network node that hosts a producer NF. An NF instance is an instance of a producer NF that provides a service. A given producer NF may include more than one NF instance. It should also be noted that multiple NF instances can share the same service endpoint. 
     Producer NFs register with a network function repository function (NRF). The NRF maintains service profiles of available NF instances identifying the services supported by each NF instance. The terms “service profiles” and “NF profiles” are used interchangeably herein. Consumer NFs can obtain information about producer NF instances that have registered with the NRF through the NF service discovery procedure. According to the NF service discovery procedure, a consumer NF sends an NF discovery request to the NRF. The NF discovery request includes query parameters that the NRF uses to locate NF profiles of producer NFs capable of providing the service identified by the query parameters. NF profiles are data structures that define the type of service provided by a producer NF instance as well as contact and capacity information regarding the producer NF instance. 
     In addition to consumer NFs, another type of network node that can invoke the NF service discovery procedure to obtain information about NF service instances is a service communications proxy (SCP). The case where the SCP uses the NF service discovery procedure to obtain information about producer NF instances on behalf of consumer NFs is referred to as delegated discovery. Consumer NFs connect to the service communications proxy, and the service communications proxy load balances traffic among producer NF service instances that provide the required services or directly routes the traffic to the destination producer NF instances. The communications model where consumer NFs communicate with producer NFs via the SCP is referred to as the indirect communications model. 
     In addition to the SCP, another example of an intermediate proxy that forwards traffic between producer and consumer NFs is the security edge protection proxy (SEPP). The SEPP is the network function used to protect control plane traffic that is exchanged between different 5G public land mobile networks (PLMNs). As such, the SEPP performs message filtering, policing and topology hiding for all application programming interface (API) messages that are transmitted between PLMNs. 
     One problem that can occur in 5G and other communications networks is that network functions can be associated with many different fully qualified domain names (FQDNs), and the network functions (NFs) are required to maintain DNS resource records for the domain names. For example, network functions can have network function profile level FQDNs, inter-PLMN FQDNs, NF set level FQDNs, NF service level FQDNs, and standalone non-public network (SNPN) FQDNs. In addition, an FQDN may be associated with IPv4 address or an IPv6 address, which correspond to different types of DNS resource records. Depending on the configuration of an operator&#39;s network, the network functions may be required to maintain DNS resource records with one or more of the different FQDNs and/or IP address versions. Requiring each network function to maintain its own DNS resource records, especially in light of the variety of DNS resource records that may be required by a network operator for each NF, is undesirable. Accordingly, there exists a need for improved methods, systems, and computer readable media for dynamically updating DNS resource records from registered NF profile information. 
     SUMMARY 
     A method for dynamically updating domain name system (DNS) records from network function (NF) profile information includes, at an NF repository function (NRF) including at least one processor, receiving a message relating to an NF profile of an NF. The method further includes constructing, based on NF service availability information in the NF profile and local configuration of the NRF, a DNS resource record for the NF. The method further includes utilizing a dynamic DNS update procedure to dynamically update a DNS resource record for the NF with a DNS server. 
     According to another aspect of the subject matter described herein, receiving a message concerning an NF profile of the NF includes receiving an NF register or NF update message for registering or updating the NF profile of the NF and generating the DNS resource record includes generating a DNS A record or a DNS AAAA record using a fully qualified domain name (FQDN) and an IP address in the NF profile. 
     According to another aspect of the subject matter described herein, the FQDN comprises an NF profile or service level FQDN and the IP address comprises an NF profile or NF service level IP address and generating the DNS A record or the DNS AAAA record includes generating the DNS A or the DNS AAAA record mapping the NF profile or service level FQDN to the NF profile or service level IP address. 
     According to another aspect of the subject matter described herein, the FQDN comprises an inter-public land mobile network (inter-PLMN) FQDN. 
     According to another aspect of the subject matter described herein, the FQDN identifies an NF set. 
     According to another aspect of the subject matter described herein, the FQDN identifies a standalone non-public network (SNPN). 
     According to another aspect of the subject matter described herein, utilizing the dynamic DNS update procedure includes generating a dynamic DNS update message formatted according to Internet Engineering Task Force (IETF) Request for Comments (RFC) 2136 and transmitting the dynamic DNS update message to a DNS server. 
     According to another aspect of the subject matter described herein, receiving a message concerning the NF profile of the NF includes receiving an NF deregister message for deregistering the NF profile of the NF and utilizing the dynamic DNS update procedure to dynamically update a DNS resource record for the NF with a DNS includes utilizing the dynamic DNS update procedure to delete the DNS resource record for the NF with the DNS server. 
     According to another aspect of the subject matter described herein, the method includes, at the NRF, receiving one or more messages concerning NF profiles of different NFs that share an IP address or domain name and generating a single dynamic DNS update message for updating DNS resource records of the NFs with the DNS server. 
     According to another aspect of the subject matter described herein, the NF comprises a 4G or a 5G NF. 
     According to another aspect of the subject matter described herein, a system for dynamically updating domain name system (DNS) records from network function (NF) profile information is provided. The system includes an NF repository function (NRF) including at least one processor. The system further includes a dynamic DNS record constructor/updater for receiving a message relating to an NF profile of an NF, constructing, based on NF service availability information in the NF profile and local configuration of the NRF, a DNS resource record for the NF, and utilizing a dynamic DNS update procedure to dynamically update a DNS resource record for the NF with a DNS server. 
     According to another aspect of the subject matter described herein, the message relating to the NF profile of the NF comprises an NF register or NF update message for registering or updating the NF profile of the NF and the dynamic DNS record constructor/updater is configured to generate a DNS A record or a DNS AAAA record using a fully qualified domain name (FQDN) and an IP address in the NF profile. 
     According to another aspect of the subject matter described herein, the FQDN comprises an NF profile or NF service level FQDN and the IP address comprises an NF profile or NF service level IP address and the dynamic DNS record constructor/updater is configured to generate the DNS A or the DNS AAAA record mapping the NF profile or service level FQDN to the NF profile or service level IP address. 
     According to another aspect of the subject matter described herein, wherein the FQDN comprises an inter-public land mobile network (inter-PLMN) FQDN. 
     According to another aspect of the subject matter described herein, wherein the FQDN identifies an NF set. 
     According to another aspect of the subject matter described herein, the FQDN identifies a standalone non-public network (SNPN). 
     According to another aspect of the subject matter described herein, the dynamic DNS record constructor/updater is configured to generate a dynamic DNS update message formatted according to Internet Engineering Task Force (IETF) Request for Comments (RFC) 2136 and transmit the dynamic DNS update message to a DNS server. 
     According to another aspect of the subject matter described herein, the message concerning the NF profile of the NF includes an NF deregister message for deregistering the NF profile of the NF and the dynamic DNS record constructor/updater is configured to utilize the dynamic DNS update procedure to delete the DNS resource record for the NF with the DNS server. 
     According to another aspect of the subject matter described herein, the dynamic DNS record constructor/updater is configured to receive one or more messages concerning NF profiles of different NFs that share an IP address or domain name and generate a single dynamic DNS update message for updating DNS resource records of the NFs with the DNS server. 
     According to another aspect of the subject matter described herein, one or more non-transitory computer readable media having stored thereon executable instructions that when executed by a processor of a network function (NF) repository function (NRF) control the NRF to perform steps are provided. The steps include receiving a message relating to an NF profile of an NF. The steps further include constructing, based on NF service availability information in the NF profile and local configuration of the NRF, a domain name system (DNS) resource record for the NF. The steps further include utilizing a dynamic DNS update procedure to dynamically update a DNS resource record for the NF with a DNS server. 
     The subject matter described herein can be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein can be implemented in software executed by a processor. In one exemplary implementation, the subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Exemplary implementations of the subject matter described herein will now be explained with reference to the accompanying drawings, of which: 
         FIG.  1    is a network diagram illustrating an exemplary 5G system network architecture; 
         FIG.  2    is a network diagram illustrating the current 5GC network where network functions maintain their own DNS resource records; 
         FIG.  3    is a network diagram illustrating an exemplary system for dynamically updating DNS records using registered NF profile information; 
         FIG.  4    is a block diagram illustrating an exemplary architecture for an NRF for dynamically updating DNS records from registered NF profile information; and 
         FIG.  5    is a flow chart illustrating an exemplary process for dynamically updating DNS resource records using registered NF profile information. 
     
    
    
     DETAILED DESCRIPTION 
       FIG.  1    is a block diagram illustrating an exemplary 5G system network architecture. The architecture in  FIG.  1    includes NRF  100  and SCP  101 , which may be located in the same home public land mobile network (HPLMN). As described above, NRF  100  may maintain profiles of available producer NF service instances and their supported services and allow consumer NFs or SCPs to subscribe to and be notified of the registration of new/updated producer NF service instances. SCP  101  may also support service discovery and selection of producer NF instances. SCP  101  may perform load balancing of connections between consumer and producer NFs. 
     NRF  100  is a repository for NF or service profiles of producer NF instances. In order to communicate with a producer NF instance, a consumer NF or an SCP must obtain the NF or service profile of the producer NF instance from NRF  100 . The NF or service profile is a JavaScript object notation (JSON) data structure defined in 3GPP TS 29.510. The NF or service profile includes attributes that indicate the type of service provided, capacity of the NF instance, and information for contacting the NF instance. 
     In  FIG.  1   , any of the network functions can be consumer NFs, producer NFs, or both, depending on whether they are requesting, providing, or requesting and providing services. In the illustrated example, the NFs include a policy control function (PCF)  102  that performs policy related operations in a network, a user defined management (UDM)  104  that manages user data, and an application function (AF)  106  that provides application services. 
     The NFs illustrated in  FIG.  1    further include a session management function (SMF)  108  that manages sessions between access and mobility management function (AMF)  110  and PCF  102 . AMF  110  performs mobility management operations similar to those performed by a mobility management entity (MME) in 4G networks. An authentication server function (AUSF)  112  performs authentication services for user equipment (UEs), such as user equipment (UE)  114 , seeking access to the network. 
     A network slice selection function (NSSF)  116  provides network slicing services for devices seeking to access specific network capabilities and characteristics associated with a network slice. A network exposure function (NEF)  118  provides application programming interfaces (APIs) for application functions seeking to obtain information about Internet of things (loT) devices and other UEs attached to the network. NEF  118  performs similar functions to the service capability exposure function (SCEF) in 4G networks. 
     A radio access network (RAN)  120  connects user equipment (UE)  114  to the network via a wireless link. Radio access network  120  may be accessed using a g-Node B (gNB) (not shown in  FIG.  1   ) or other wireless access point. A user plane function (UPF)  122  can support various proxy functionality for user plane services. One example of such proxy functionality is multipath transmission control protocol (MPTCP) proxy functionality. UPF  122  may also support performance measurement functionality, which may be used by UE  114  to obtain network performance measurements. Also illustrated in  FIG.  1    is a data network (DN)  124  through which UEs access data network services, such as Internet services. 
     SEPP  126  filters incoming traffic from another PLMN and performs topology hiding for traffic exiting the home PLMN. SEPP  126  may communicate with a SEPP in a foreign PLMN which manages security for the foreign PLMN. Thus, traffic between NFs in different PLMNs may traverse two SEPP functions, one for the home PLMN and the other for the foreign PLMN. 
     As stated above, one problem that can occur in 5G and other networks is that network operators can use different FQDNs and different IP address versions to identify 4G and 5G NFs, and 4G and 5G NFs are required to maintain their own DNS resource records for the FQDNs and IP address versions with DNS servers. Currently, as per 3GPP specifications (i.e., 3GPP TS 29.501/29.502), all 5G (and some 4G NFs) register their NF profiles with the NRF. The NRF thus maintains the NF profile(s) of available NF instances and their supported services. The NF profiles registered by these NFs contain service accessibility information in the following attributes:
         Fqdn   interPlmnFqdn   ipv4Addresses   ipv6Addresses
 
NF services registered in NF profile(s) (i.e., nfServices (3GPP Release 15)/nfServiceList (3GPP Release 16) also define service accessibility information in the following attributes:
   Fqdn   interPlmnFqdn   ipEndPoints
 
Additionally, 3GPP specifications in many cases mandate that NFs form FQDNs in defined formats. Some examples are as follows:
   Local FQDNs exposed to consumer NFs within the same PLMN (defined in 3GPP TS 29.510)   Inter-PLMN FQDNs (i.e. FQDNs exposed to consumer NFs from different PLMNs) (defined in 3GPP TS 29.510)   NF set/NF service set based FQDNs (i.e., FQDNs that represent multiple NFs in an NF set or NF service set) (defined in 3GPP TS 23.003)   FQDNs of NFs in an operator&#39;s SNPN (defined in 3GPP TS 23.003)   FQDNs exposed to nodes outside of the 5GC network (e.g., an AMF exposing the N2 interface to a gNB, etc.)       

     As stated above, NFs are required to update their own profiles with the DNS server for the FQDNs contained in the NF profiles.  FIG.  2    is a network diagram illustrating the existing 4G and 5G network where NFs maintain their own DNS resource records. In  FIG.  2   , 5G and 4G NFs  200  register their NF profiles with NRF  100 . 5G and 4G NFs  200  communicate with other NFs, such as AF  106 , by discovering FQDNs of other NFs from NRF  100  and resolving the FQDNs into IP addresses by querying DNS server  202 . 5G and 4G NFs  200  and AF  106  are required to create and maintain DNS resource records with DNS server  202 . Such a system is burdensome on individual network functions. 
     In order to avoid the difficulties associated with each NF maintaining its own DNS resource records for the various different types of FQDNs that may be used to identify an NF, the subject matter described herein includes configuring the NRF to maintain DNS records on behalf of other NFs using a dynamic DNS update procedure. The NRF may, upon receiving NF register(s)/NRF update(s)/NF deregister(s) from other 5GC NFs, use dynamic DNS updates as described in Internet Engineering Task Force (IETF) Request for Comments (RFC) 2136 to add/update/delete DNS entries at the DNS server based on following parameters:
         NF Profile→fqdn   NF Profile→interPlmnFqdn   NF Profile→ipv4Addresses   NF Profile→ipv6Addresses   NF Profile→NF Service→fqdn   NF Profile→NF Service→interPlmnFqdn   NF Profile→NF Service→ipEndPoints   NF Profile→nfSetIdList   NF Profile→NF Service→nfServiceSetIdList   NF Profile→Nid
 
The NRF may construct 3GPP-defined FQDNs to be used in DNS records based on local settings/preferences and the above-listed parameters from an NF profile. The 3GPP-defined FQDNs that may be constructed include:
   Local FQDNs exposed to consumer NFs within a PLMN (defined in 3GPP TS 29.510);   Inter-PLMN FQDNs (i.e., FQDNs exposed to consumer NFs from different PLMNs) (defined in 3GPP TS 29.510);   NF set/NF service set based FQDNs (i.e., FQDNs that represent multiple NFs in an NF set or NF service set) (defined in 3GPP TS 23.003); and   FQDNs of NFs in an operator&#39;s SNPN (defined in 3GPP TS 23.003).
 
It may be possible that the same FQDN and/or IP address is being shared across multiple NFs. In such a case, the NRF may consult its NF profiles database to consolidate the changes in DNS entries before sending the dynamic updates to the DNS server. For example, if multiple producer NFs are located behind an API gateway or load balancer, and the IP address of the API gateway or load balancer changes, the NRF may send a single dynamic DNS update message to update the DNS resource records of all of the producer NFs located behind the API gateway.
       

       FIG.  3    is a network diagram illustrating a core network where the NRF constructs DNS resource records from NF profile parameters and dynamically updates DNS resource records for 5G and 4G NFs. In  FIG.  3   , 5G and 4G NFs  200  register their NF profiles with NRF  100 . 5G and 4G NFs  200  communicate with other NFs, such as AF  106 , by discovering FQDNs of other NFs from NRF  100  and resolving the FQDNs into IP addresses by querying DNS server  202 . NRF  100  creates and maintains DNS resource records for 5G and 4G NFs with DNS server  202 . For example, when NRF  100  receives an NF register message for registering the NF profile of a 4G or 5G NF, NRF  100  extracts service availability information (e.g., the FQDN and IP address(es)) from the NF profile, constructs one or more DNS resource records using the service availability information, and sends a dynamic DNS update message to DNS server  202  automatically create or update the DNS resource records for the 4G or 5G NF. When NRF  100  receives an NF update message for updating the NF profile of a 4G or 5G NF, NRF  100  extracts service availability information (e.g., the FQDN and IP address(es)) from the full or partial NF profile carried in the NF update message, constructs one or more DNS resource records using the service availability information, and sends a dynamic DNS update message to DNS server  202  automatically create or update the DNS resource records for the 4G or 5G NF. When NRF  100  receives an NF deregister message for deregistering the NF profile of a 4G or 5G NF, NRF  100  extracts the NF instance identifier, constructs and sends a dynamic DNS update message to DNS server  202  to delete one or more DNS resource records for the 4G or 5G NF. 
     As state above, the dynamic DNS update procedure in IETF RFC 2136 may be used to dynamically update DNS records for the 4G or 5G NF. The format for the dynamic DNS update message is as follows: 
     
       
         
         
             
             
         
       
     
     According to the specified message format, the header identifies the type of message, which, in the case of the NRF sending a message to the DNS server, would be an update message. The zone specifies the DNS zone to be updated. The prerequisites section identifies DNS resource records that must or must not exist as prerequisites to the updates specified in the update section. The update portion of the message carries the DNS resource records constructed by the NRF from the NF service availability parameters extracted from the NF profile. The additional data section contains additional data, that is not important in explaining the functionality of the NRF in performing dynamic DNS updates. 
     Table 1 shown below illustrates exemplary operations that may be performed by the NRF in building DNS resource records from NF profile parameters. For example, in the row in Table 1 after the header, the FQDN and the IP address are at the NF profile level (i.e., they identify the NF represented by the NF profile). In such a case, the NRF builds a DNS A record mapping the NF profile level FQDN to the NF profile level IPv4 address and a DNS AAAA record mapping the NF profile level FQDN to the NF profile level IPv6 address. The remaining scenarios in Table 1 are examples where the NRF builds DNS resource records from different level (NF profile, NF service, NF set, NF service set) NF profile parameters (FQDNs and IP addresses). 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 NF Profile Attribute to DNS Record Conversion 
               
            
           
           
               
               
               
            
               
                 Scenario 
                 NF Profile Parameters 
                 DNS Records formed 
               
               
                   
               
               
                 FQDN and IP Addresses 
                 NF Profile → fqdn 
                 DNS A Record: 
               
               
                 at NF profile 
                 (e.g. NF1.example.com) 
                 NF1.example.com 
               
               
                 level in NF profile 
                 NF Profile → ipv4Addresses 
                 10.20.20.25 
               
               
                   
                 (10.20.20.25) 
                 DNS AAAA Record: 
               
               
                   
                 NF Profile → ipv6Addresses 
                 NF1.example.com 
               
               
                   
                 (2001:db8:3333:4444:CCCC: 
                 2001:db8:3333:4444:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
                 DDDD:EEEE:FFFF 
               
               
                 FQDN and IP addresses 
                 NF Profile -&gt; NF Service -&gt; 
                 DNS A Record: 
               
               
                 at NF Service 
                 fqdn (svc1.NF1.example.com) 
                 svc1.NF1.example.com 
               
               
                 Level in NF Profile 
                 NF Profile -&gt; NF Service -&gt; 
                 10.20.20.30 
               
               
                   
                 ipEndPoints -&gt; ipv4Address 
                 DNS AAAA Record: 
               
               
                   
                 (10.20.20.30) 
                 svc1.NF1.example.com 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 2001:db8:3333:5555:CCCC: 
               
               
                   
                 ipEndPoints -&gt; ipv6Address 
                 DDDD:EEEE:FFFF 
               
               
                   
                 (2001:db8:3333:5555:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
               
               
                 FQDN at NF Profile Level 
                 NF Profile → fqdn 
                 DNS A Record: 
               
               
                 and IP Addresses 
                 (e.g. NF1.example.com) 
                 NF1.example.com 
               
               
                 at NF Service Level 
                 NF Profile -&gt; NF Service -&gt; 
                 10.20.20.35 
               
               
                   
                 ipEndPoints -&gt; ipv4Address 
                 DNS AAAA Record: 
               
               
                   
                 (10.20.20.35) 
                 NF1.example.com 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 2001:db8:3333:6666:CCCC: 
               
               
                   
                 ipEndPoints -&gt; ipv6Address 
                 DDDD:EEEE:FFFF 
               
               
                   
                 (2001:db8:3333:6666:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
               
               
                 FQDN at NF Service 
                 NF Profile -&gt; NF Service -&gt; 
                 DNS A Record: 
               
               
                 Level IP Addresses 
                 fqdn (svc2.NF2.example.com) 
                 svc2.NF2.example.com 
               
               
                 at NF Level 
                 NF Profile → ipv4Addresses 
                 10.20.20.40 
               
               
                   
                 (10.20.20.40) 
                 DNS AAAA Record: 
               
               
                   
                 NF Profile → ipv6Addresses 
                 svc2.NF2.example.com 
               
               
                   
                 (2001:db8:3333:7777:CCCC: 
                 2001:db8:3333:7777:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
                 DDDD:EEEE:FFFF 
               
               
                 Inter-PLMN FQDN and IP 
                 NF Profile -&gt; interPlmnFqdn 
                 DNS A Record: 
               
               
                 Addresses at NF Profile 
                 (NF1.5gc.mnc012.mcc345. 
                 NF1.example.com 
               
               
                 level in NF Profile 
                 3gppnetwork.org) 
                 10.20.20.25 
               
               
                   
                 NF Profile -&gt; ipv4Addresses 
                 DNS AAAA Record: 
               
               
                   
                 (10.20.20.45) 
                 NF1.example.com 
               
               
                   
                 NF Profile -&gt; ipv6Addresses 
                 2001:db8:3333:4444:CCCC: 
               
               
                   
                 (2001:db8:3333:8888:CCCC: 
                 DDDD:EEEE:FFFF 
               
               
                   
                 DDDD:EEEE:FFFF) 
               
               
                 Inter-PLMN FQDN and 
                 NF Profile -&gt; interPlmnFqdn 
                 DNS A Record: 
               
               
                 IP addresses at NF 
                 (NF1.5gc.mnc012.mcc345. 
                 svc1.NF1.example.com 
               
               
                 Service Level in 
                 3gppnetwork.org) 
                 10.20.20.30 
               
               
                 NF Profile 
                 NF Profile -&gt; NF Service -&gt; 
                 DNS AAAA Record: 
               
               
                   
                 ipEndPoints -&gt; ipv4Address 
                 svc1.NF1.example.com 
               
               
                   
                 (10.20.20.55) 
                 2001:db8:3333:5555:CCCC: 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 DDDD:EEEE:FFFF 
               
               
                   
                 ipEndPoints -&gt; ipv6Address 
               
               
                   
                 (2001:db8:3333:AAAA:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
               
               
                 Inter-PLMN FQDN at NF 
                 NF Profile -&gt; interPlmnFqdn 
                 DNS A Record: 
               
               
                 Profile Level and IP 
                 (NF1.5gc.mnc012.mcc345. 
                 svc1.NF1.example.com 
               
               
                 Addresses at NF 
                 3gppnetwork.org) 
                 10.20.20.30 
               
               
                 Service Level 
                 NF Profile -&gt; NF Service -&gt; 
                 DNS AAAA Record: 
               
               
                   
                 ipEndPoints -&gt; ipv4Address 
                 svc1.NF1.example.com 
               
               
                   
                 (10.20.20.55) 
                 2001:db8:3333:5555:CCCC: 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 DDDD:EEEE:FFFF 
               
               
                   
                 ipEndPoints -&gt; ipv6Address 
               
               
                   
                 (2001:db8:3333:AAAA:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
               
               
                 Inter-PLMN FQDN at NF 
                 NF Profile -&gt; interPlmnFqdn 
                 DNS A Record: 
               
               
                 Service Level IP 
                 (NF1.5gc.mnc012.mcc345. 
                 svc2.NF2.example.com 
               
               
                 Addresses at NF Level 
                 3gppnetwork.org) 
                 10.20.20.40 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 DNS AAAA Record: 
               
               
                   
                 ipEndPoints -&gt; ipv4Address 
                 svc2.NF2.example.com 
               
               
                   
                 (10.20.20.55) 
                 2001:db8:3333:7777:CCCC: 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 DDDD:EEEE:FFFF 
               
               
                   
                 ipEndPoints -&gt; ipv6Address 
               
               
                   
                 (2001:db8:3333:AAAA:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
               
               
                 NF Set based FQDNs 
                 NF Profile -&gt; nfSetIdList -&gt; NF 
                 DNS A Record: 
               
               
                 (.e. FQDNs represent 
                 Set Id 
                 setPOLICYSET.PCFset.5gc.mnc012. 
               
               
                 multiple NFs in NF Set) 
                 (setPOLICYSET.PCFset.5gc.mnc012. 
                 mcc345.3gppnetwork.org 
               
               
                   
                 mcc345.3gppnetwork.org) 
                 10.20.20.65 
               
               
                   
                 NF Profile → ipv4Addresses 
                 DNS AAAA Record: 
               
               
                   
                 (10.20.20.65) 
                 setPOLICYSET.PCFset.5gc.mnc012. 
               
               
                   
                 NF Profile → ipv6Addresses 
                 mcc345.3gppnetwork.org 
               
               
                   
                 (2001:db8:3333:0101:CCCC: 
                 2001:db8:3333:0101:CCCC:DDDD: 
               
               
                   
                 DDDD:EEEE:FFFF) 
                 EEEE:FFFF 
               
               
                 NF Service Set based 
                 NF Profile -&gt; NF Service -&gt; 
                 DNS A Record: 
               
               
                 FQDNs (.e. FQDNs represent 
                 nfServiceSetIdList -&gt; NF 
                 setPOLICYSET.snnpcf- 
               
               
                 multiple NF Service 
                 Service Set Id 
                 svc1.nfi54804518-4191-46b3-955c- 
               
               
                 Instances in NF Service Set) 
                 (setPOLICYSET.snnpcf- 
                 ac631f953ed8.5gc.mnc012.mcc345. 
               
               
                   
                 svc1.nfi54804518-4191-46b3-955c- 
                 3gppnetwork.org 10.20.20.70 
               
               
                   
                 ac631f953ed8.5gc.mnc012.mcc345. 
                 DNS AAAA Record: 
               
               
                   
                 3gppnetwork.org) 
                 setPOLICYSET.snnpcf-svc1. 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 nfi54804518-4191-46b3-955c- 
               
               
                   
                 ipEndPoints -&gt; ipv4Address 
                 ac631f953ed8.5gc.mnc012.mcc345. 
               
               
                   
                 (10.20.20.70) 
                 3gppnetwork.org 
               
               
                   
                 NF Profile -&gt; NF Service -&gt; 
                 2001:db8:3333:0101:CCCC:DDDD: 
               
               
                   
                 ipEndPoints -&gt; ipv6Address 
                 EEEE:FFFF 
               
               
                   
                 (2001:db8:3333:ABBA:CCCC: 
               
               
                   
                 DDDD:EEEE:FFFF) 
               
               
                 FQDN of NFs in 
                 NF Profile -&gt; nfSetIdList -&gt; NF 
                 DNS A Record: 
               
               
                 operator&#39;s SNPN 
                 Set Id 
                 setPOLICYSET.PCFset.5gc. 
               
               
                   
                 (setPOLICYSET.PCFset.5gc.mnc012. 
                 nid000007ed9d5.mnc012.mcc345. 
               
               
                   
                 mcc345.3gppnetwork.org) 
                 3gppnetwork.org 10.20.20.70 
               
               
                   
                 NF Profile → ipv4Addresses 
                 DNS AAAA Record: 
               
               
                   
                 (10.20.20.70) 
                 setPOLICYSET.PCFset.5gc. 
               
               
                   
                 NF Profile → ipv6Addresses 
                 nid000007ed9d5.mnc012.mcc345. 
               
               
                   
                 (2001:db8:3333:ABBD:CCCC:DDDD: 
                 3gppnetwork.org 
               
               
                   
                 EEEE:FFFF) 
                 2001:db8:3333:ABBD:CCCC:DDDD: 
               
               
                   
                 Nid: 000007ed9d5 
                 EEEE:FFFF 
               
               
                   
               
            
           
         
       
     
       FIG.  4    is a block diagram illustrating an exemplary architecture for an NRF for dynamically updating DNS records using registered NF profile information. Referring to  FIG.  4   , NRF  100  includes at least one processor  400  and memory  402 . NRF  100  further includes an NF profiles manager  404  and an NF profiles database  406 . NF profiles manager  404  receive NF register, NF update, and NF deregister message and registers, updates, and deregisters the corresponding NF profiles in NF profiles database  406 . NRF profiles manager  404  may also handle NF discovery request that allows other NFs to subscribe to receive updates in registered NF profiles. 
     NRF  100  further includes a dynamic DNS record constructor/updater  408 , which constructs DNS resource records for NFs based on NF service availability information obtained from messages concerning NF profiles of the NFs and local configuration of the NRF and that uses the DNS dynamic update procedure to update DNS resource records with a DNS server. For example, if dynamic DNS record constructor/updater  408  receives an NF register message for registering the NF profile of an NF and is configured to generate a DNS resource record at the NF profile level, DNS record constructor/updater  408  may read the NF profile level FQDN and NF profile level IP address from the NF profile transmitted with the NF register message, construct a DNS A or AAAA record containing the NF profile level FQDN and the NF profile level IP address, generate a dynamic DNS update message including the DNS A or AAAA record, and transmit the dynamic DNS update message to a DNS server. 
     In another example, if dynamic DNS record constructor/updater  408  receives an NF update message for updating the NF profile of an NF and is configured to generate a DNS resource record at the NF service level, dynamic DNS record constructor/updater  408  may read the NF service level FQDN and NF service level IP address from the NF profile transmitted with the NF register message, construct a DNS A or AAAA record containing the NF service level FQDN and the NF service level IP address, generate a dynamic DNS update message including the DNS A or AAAA record, and transmit the dynamic DNS update message to a DNS server. 
     In yet another example, if dynamic DNS record constructor/updater  408  receives an NF deregister message for deregistering the NF profile of an NF that is currently registered with NRF  100 , dynamic DNS record constructor/updater  408  may read the NF instance identifier from the NF deregister message, generate a dynamic DNS update message including an identifier for the DNS resource record to be deleted, and transmit the dynamic DNS update message to a DNS server. 
       FIG.  5    is a flow chart illustrating an exemplary process for dynamically updating DNS records for NFs. Referring to  FIG.  5   , in step  500 , the process includes receiving a message relating to an NF profile of an NF. For example, dynamic DNS record constructor/updater  408  may receive an NF register message, an NF update message, or an NF deregister message for registering, updating, or deregistering an NF profile of a 4G or 5G NF. 
     In step  502 , the process includes constructing, based on NF service availability information in the NF profile and local configuration of the NRF, a DNS resource record for the NF. For example, if the received message is an NF register message or an NF update message, dynamic DNS record constructor/updater  408  may generate one or more DNS resource records using parameters in the NF profile. The DNS resource records may include an FQDN of the NF and an IP address of the NF. The type of FQDN used in the DNS resource records may depend on the local configuration of the NRF. For example, the FQDN used may be an NF profile level FQDN, an NF service level FQDN, an NF set level FQDN, or an NF service set level FQDN. The FQDN may also, in some instances be an inter-PLMN FQDN or an FQDN that identifies a private network, such as a stand-alone non-public network (SNPN). 
     In step  504 , the process includes utilizing a dynamic DNS update procedure to dynamically update a DNS resource record for the NF with a DNS server. For example, dynamic DNS record constructor/updater  408  may generate a dynamic DNS update message using the format specified in IETF RFC 2136, insert the one or more DNS resource records in the dynamic DNS update message, and transmit the dynamic DNS update message to a DNS server. 
     The disclosure of each of the following references is incorporated herein by reference in its entirety. 
     REFERENCES 
     
         
         1. 3 rd  Generation Partnership Project; Technical Specification Group Core Network and Terminals; Numbering, addressing and identification; (Release 17) 3GPP TS 23.003 V17.3.0 (2021-09) 
         2. 3 rd  Generation Partnership Project; Technical Specification Group Core Network and Terminals; Technical Realization of Service Based Architecture (5GS); Stage 3 (Release 17) 3GPP TS 29.500 V17.4.0 (2021-09) 
         3. 3 rd  Generation Partnership Project; Technical Specification Group Services and System Aspects; System Architecture for the 5G System (5GS); Stage 2 (Release 17) 3GPP TS 23.501 V17.2.0 (2021-09) 
         4. 3 rd  Generation Partnership Project; Technical Specification Group Services and System Aspects; Procedures for the 5G System (5GS); Stage 2 (Release 17) 3GPP TS 23.502 V17.2.1 (2021-09) 
         5. 3 rd  Generation Partnership Project; Technical Specification Group Core Network and Terminals; Principles and Guidelines for Services Definition; Stage 3 (Release 17) 3GPP TS 29.501 V17.3.1 (2021-09) 
         6. 3 rd  Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Network Function Repository Services; Stage 3 (Release 17) 3GPP TS 29.510 V17.3.0 (2021-09) 
         7. 3 rd  Generation Partnership Project; Technical Specification Group Services and System Aspects; Security architecture and procedures for 5G System (5GS) (Release 17) 3GPP TS 33.501 V17.3.0 (2021-09) 
         8. Vixie et al., “Dynamic Updates in the Domain Name System (DNS UPDATE),” Internet Engineering Task Force (IETF) Request for Comments (RFC) 2136 (April 1997) 
       
    
     It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.