It's been a while, so I will better start.
Previously, I hope, I've managed to shed some light on the DNS in EPC in general, from high above, form. Today I would like to present a records that are used in the LTE EPC deployments I've been involved into.
DNS A & AAAA records
A records (or ‘Address Records’) return an IPv4 address. This is most commonly used to map hostnames to an IPv4 address. Alternatively it is also used by some applications for subnet masks.
AAAA records return an IPv6 address. This is most commonly used to map hostnames to an IPv6 address of the host.
Example of an A record:
topon.nodes.pgw.be.epc IN A 212.183.156.177
topon.nodes.pgw.ms.epc IN A 212.183.156.179
where IN = Internet, A = A-record.
Example of an AAAA record:
topon.nodes.pgw.be.epc IN AAAA 2600:1800:5::10
topon.nodes.pgw.ms.epc IN AAAA 2600:1800:5::20
where IN = Internet, AAAA = AAAA-record.
DNS SRV records
DNS Resource Records (RR) for specifying the location of services (DNS SRV). Clients can ask for a specific service/protocol for a specific domain, and get back the names of any available servers.
Example of an SRV record:
; SRV Records
; _Service._proto.Name TTL Class SRV Priority Weight Port Target
; SRV records for SGW
; There are multiple A records for each site to account for future nodes as there will be two PGWs at xBE and xMS.
topon.nodes.sgw.be.epc IN SRV 1 100 2123 node1.sgw.be.epc.mnc01.mcc234.3gppnetwork.org.
;topon.nodes.sgw.be.epc IN SRV 1 100 2123 node2.sgw.be.epc.mnc01.mcc234.3gppnetwork.org.
topon.nodes.sgw.ms.epc IN SRV 1 100 2123 node1.sgw.ms.epc.mnc01.mcc234.3gppnetwork.org.
;topon.nodes.sgw.ms.epc IN SRV 1 100 2123 node2.sgw.ms.epc.mnc01.mcc234.3gppnetwork.org.
The SRV record is formed of the following fields:
Priority – (=1 in the above example) a client must attempt to contact the target host with the lowest-numbered priority it can reach. Target hosts with the same priority should be tried in an order defined by the weight field.
Weight – (=100 in the above example) specifies a relative weight for entries with the same priority. Larger weights should be given a proportionally higher probability of being selected. A target with a weight of 0 corresponds to a backup.
Port – (=2123 [GTP] in the above example) is the port number assigned to the symbolic service specified in the record.
The system should compute the sum of all weights of those RRs having the lowest, identical precedence. Then choose a random number between 0 and the sum computed. Select the target associated to this random value.
DNS NAPTR records
Name Authority Pointer (NAPTR) resource records specify lookup services for a wide variety of resources names. When applied to an existing string, NAPTR will produce a new domain label or URI.
With EPC, we will use a variation called S-NAPTR where the regular-expression is empty. Straightforward NAPTR (S-NAPTR) is used to add particular services to a DNS entry. The result of this is that the DNS server can reply back to the query with a service-protocol specific entry. S-NAPTR records are particularly common with mail-reading applications whereby the DNS server can have separate S-NAPTR records for the POP3 and IMAP4 protocols.
When using S-NAPTR, the DNS query does not indicate the ‘service:protocol’ needed. The DNS server will provide all S-NAPTR requested and the DNS client will consider the ones matching only the desired ‘service:protocol’.
Example of a NAPTR record
wap.operator.com.apn.epc.mnc01.mcc234.3gppnetwork.org. IN NAPTR 1 5 "a" "x-3gpp-pgw:x-gn" "" topon.nodes.pgw.be.epc.mnc01.mcc234.3gppnetwork.org.
The NAPTR record is formed of the following fields:
Order – (=1 in above example) a client must attempt to contact the target host with the lowest-numbered order it can reach. Target hosts with the same order should be tried in an order defined by the preference field. The DNS client should not consider any NAPTR with higher value for order.
Preference – (=5 in above example) specifies how NAPTR with equal order should be processed. Low numbers are being processed before high numbers. A client may look at record with higher preference values if it has good reasons to do so such as not understanding the preferred protocol or service.
The important difference between Order and Preference is that once a match is found, the client must not consider records with a different order but they may process records with the same Order but different Preferences.
In other words, Preference is used to give weight to rules that are considered the same from an authority standpoint but not from a simple load-balancing standpoint.
Flags – (=a in above example) controls aspects of rewriting and interpretation in the record. While other flags are allowed with NAPTR, only "S", "A" or "" are allowed with S-NAPTR.
- The "S" Flag means that the next lookup should be for SRV records.
- The "A" Flag means that the next lookup should be either for A, AAAA records.
- An empty flag " " means that more NAPTR RR lookups are to be performed.
Source:
My own experience