NAPTR record

NAPTR record

A Name Authority Pointer (NAPTR) is a type of resource record used in the Domain Name System (DNS).[1][2]

Contents

Rationale

Uniform Resource Names (URNs) are a subset of Uniform Resource Identifiers (URIs) used for abstract identifiers, such as a person's name or their telephone number. For URNs to be meaningful, they must be mapped to a concrete resource of some sort. Uniform Resource Locators (URLs) are often used to describe such resources, such as a computer hostname, or a local file.

As part of the standardization of URNs, NAPTR records were introduced to do just this. NAPTR records map between sets of URNs, URLs and plain domain names and suggest to clients what protocol should be used to talk to the mapped resource.[3] Each NAPTR record contains a service name, a set of flags, a regexp rule, an order value, a preference and a replacement. Multiple records can be chained together in a cascade to rewrite URIs in fairly sophisticated, but deterministic ways. These cascading rules have been standardized in RFC2915 and RFC3403.

Example

A common use for NAPTR records is in SIP, where it is used to route phone calls over the Internet. For example, the SIP URN for the US telephone number 1-800-555-1234 would be tel:+1-800-555-1234 and its domain name 4.3.2.1.5.5.5.0.0.8.1.e164.arpa. A SIP client doing a lookup on that name might receive:

$ORIGIN 4.3.2.1.5.5.5.0.0.8.1.e164.arpa.
IN NAPTR 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!i" .
IN NAPTR 102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!i" .

The first record has an order value of 100, which is lower than 102, so it is picked first. Its preference of 10 is unimportant as there are no other rules with order 100. The service name E2U+sip is an ENUM string indicating that the record can be used in phone number-to-SIP lookups.[4] The client then goes on to apply the regexp rule !^.*$!sip:customer-service@example.com!, which replaces its entire lookup URN tel:+1-800-555-1234 with sip:customer-service@example.com. The "U" flag indicates that the replacement string is a SIP URN, and that no further rules should be applied.

To resolve SIP URN, the client then performs a second NAPTR lookup—on example.com, yielding:

$ORIGIN example.com.
IN NAPTR 100 10 "S" "SIP+D2U" "!^.*$!sip:customer-service@example.com!" _sip._udp.example.com.
IN NAPTR 102 10 "S" "SIP+D2T" "!^.*$!sip:customer-service@example.com!" _sip._tcp.example.com.

As before, the client picks the first record because it has the lowest order value. The regexp rule replaces the lookup URN, this time with the domain name _sip._udp.example.com. The "S" flag indicates that resulting domain name points to a SRV record. The client thus finishes with _sip._udp.example.com, for which it can then fetch a SRV record to initiate a VOIP call.

Support

Vendor Product NAPTR support?
ISC BIND Yes
Cisco Systems CNR Yes
Daniel Bernstein djbdns No (requires patch)
Microsoft Windows Server 2003 DNS Server No
Microsoft Windows Server 2008 R2 DNS Server Yes
Bert Hubert PowerDNS Yes
NLnet Labs NSD Yes
Sam Trenholme MaraDNS Yes (as of version 1.4[5])
Unixservice, LLC. unxsBind Yes

EDNS is required for NAPTR implementations, as extended-length DNS packets are needed to encapsulate queries returning multiple NAPTR records.

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • NAPTR-Record — Mit NAPTR (Naming Authority Pointer) Resource Records werden DNS Namen Adressen von Servern und weitere Informationen zugeordnet. Inhaltsverzeichnis 1 Hintergrund 2 Aufbau 3 Beispiel mit regulärem Ausdruck 4 Weblinks …   Deutsch Wikipedia

  • NAPTR — Mit NAPTR (Naming Authority Pointer) Resource Records werden DNS Namen Adressen von Servern und weitere Informationen zugeordnet. Inhaltsverzeichnis 1 Hintergrund 2 Aufbau 3 Beispiel mit regulärem Ausdruck 4 Weblinks …   Deutsch Wikipedia

  • NAPTR Resource Record — Mit NAPTR (Naming Authority Pointer) Resource Records werden DNS Namen Adressen von Servern und weitere Informationen zugeordnet. Inhaltsverzeichnis 1 Hintergrund 2 Aufbau 3 Beispiel mit regulärem Ausdruck …   Deutsch Wikipedia

  • Resource-Record — Ein Resource Record (RR) ist die kleinste Informationseinheit im Domain Name System (DNS). Er tritt in ASCII Darstellung in Zonendateien oder in komprimierter Form in DNS Transport Paketen oder DNS Caches auf. Einige RR Typen – sogenannte Pseudo… …   Deutsch Wikipedia

  • List of DNS record types — This List of DNS record types provides an overview of types of resource records (database records) stored in the zone files of the Domain Name System (DNS). The DNS implements a distributed, hierarchical, and redundant database for information… …   Wikipedia

  • Resource Record — Ein Resource Record (RR) ist die grundlegende Informationseinheit im Domain Name System (DNS). Er tritt in ASCII Darstellung in Zonendateien oder in komprimierter Form in DNS Transport Paketen oder DNS Caches auf. Einige RR Typen – sogenannte… …   Deutsch Wikipedia

  • Telephone Number Mapping — (ENUM or Enum, from E.164 NUmber Mapping) is a suite of protocols to unify the telephone numbering system E.164 with the Internet addressing system DNS by using an indirect lookup method, to obtain NAPTR records. The records are stored at a DNS… …   Wikipedia

  • Domain Name System — Pour les articles homonymes, voir DNS. Domain Name System Fonction Traduction de nom de domaine en adresse IP …   Wikipédia en Français

  • Domain Name Server — Domain Name System Pour les articles homonymes, voir DNS. Pile de protocoles 7 • Application 6 • …   Wikipédia en Français

  • Domain Name Service — Domain Name System Pour les articles homonymes, voir DNS. Pile de protocoles 7 • Application 6 • …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”