draft-ietf-urn-naptr-rr-01.txt   draft-ietf-urn-naptr-rr-02.txt 
Network Working Group M. Mealling Network Working Group M. Mealling
draft-ietf-urn-naptr-rr-01.txt Network Solutions, Inc. draft-ietf-urn-naptr-rr-02.txt Network Solutions, Inc.
Category: Standards Track R. Daniel Category: Standards Track R. Daniel
Expires: August, 1999 DATAFUSION, Inc. Expires: September, 1999 DATAFUSION, Inc.
The Naming Authority Pointer (NAPTR) DNS Resource Record The Naming Authority Pointer (NAPTR) DNS Resource Record
Status of this Memo Status of this Memo
=================== ===================
This document is an Internet-Draft and is in full conformance This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026. with all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
skipping to change at page 10, line ? skipping to change at page 10, line ?
domain. While all hosts, such as mordred, could have their very own domain. While all hosts, such as mordred, could have their very own
NAPTR, maintaining those records for all the machines at a site as NAPTR, maintaining those records for all the machines at a site as
large as Georgia Tech would be an intolerable burden. Wildcards are large as Georgia Tech would be an intolerable burden. Wildcards are
not appropriate here since they only return results when there is no not appropriate here since they only return results when there is no
exactly matching names already in the system. exactly matching names already in the system.
The record returned from the query on "gatech.edu" might look like: The record returned from the query on "gatech.edu" might look like:
gatech.edu IN NAPTR gatech.edu IN NAPTR
;; order pref flags service regexp replacement ;; order pref flags service regexp replacement
IN NAPTR 100 50 "s" "z3950+N2L+N2C" "" z3950.tcp.gatech.edu IN NAPTR 100 50 "s" "z3950+N2L+N2C" "" _z3950._tcp.gatech.edu
IN NAPTR 100 50 "s" "rcds+N2C" "" rcds.udp.gatech.edu IN NAPTR 100 50 "s" "rcds+N2C" "" _rcds._udp.gatech.edu
IN NAPTR 100 50 "s" "http+N2L+N2C+N2R" "" http.tcp.gatech.edu IN NAPTR 100 50 "s" "http+N2L+N2C+N2R" "" _http._tcp.gatech.edu
Continuing with the example, note that the values of the order and Continuing with the example, note that the values of the order and
preference fields are equal in all records, so the client is free to preference fields are equal in all records, so the client is free to
pick any record. The flags field tells us that these are the last pick any record. The flags field tells us that these are the last
NAPTR patterns we should see, and after the rewrite (a simple NAPTR patterns we should see, and after the rewrite (a simple
replacement in this case) we should look up SRV records to get replacement in this case) we should look up SRV records to get
information on the hosts that can provide the necessary service. information on the hosts that can provide the necessary service.
Assuming we prefer the Z39.50 protocol, our lookup might return: Assuming we prefer the Z39.50 protocol, our lookup might return:
;; Pref Weight Port Target ;; Pref Weight Port Target
z3950.tcp.gatech.edu IN SRV 0 0 1000 z3950.gatech.edu _z3950._tcp.gatech.edu IN SRV 0 0 1000 z3950.gatech.edu
IN SRV 0 0 1000 z3950.cc.gatech.edu IN SRV 0 0 1000 z3950.cc.gatech.edu
IN SRV 0 0 1000 z3950.uga.edu IN SRV 0 0 1000 z3950.uga.edu
telling us three hosts that could actually do the resolution, and telling us three hosts that could actually do the resolution, and
giving us the port we should use to talk to their Z39.50 server. giving us the port we should use to talk to their Z39.50 server.
Recall that the regular expression used \2 to extract a domain name Recall that the regular expression used \2 to extract a domain name
from the CID, and \. for matching the literal '.' characters from the CID, and \. for matching the literal '.' characters
separating the domain name components. Since '\' is the escape separating the domain name components. Since '\' is the escape
character, literal occurances of a backslash must be escaped by character, literal occurances of a backslash must be escaped by
skipping to change at page 10, line ? skipping to change at page 10, line ?
the parts of the substitution expression. Otherwise we would have to the parts of the substitution expression. Otherwise we would have to
use backslashes to escape the forward slashes and would have a use backslashes to escape the forward slashes and would have a
regexp in the zone file that looked like regexp in the zone file that looked like
"/http:\\/\\/([^\\/:]+)/\\1/i".). "/http:\\/\\/([^\\/:]+)/\\1/i".).
Applying this pattern to the URL extracts "www.foo.com". Looking up Applying this pattern to the URL extracts "www.foo.com". Looking up
NAPTR records for that might return: NAPTR records for that might return:
www.foo.com www.foo.com
;; order pref flags service regexp replacement ;; order pref flags service regexp replacement
IN NAPTR 100 100 "s" "http+L2R" "" http.tcp.foo.com IN NAPTR 100 100 "s" "http+L2R" "" _http._tcp.foo.com
IN NAPTR 100 100 "s" "ftp+L2R" "" ftp.tcp.foo.com IN NAPTR 100 100 "s" "ftp+L2R" "" _ftp._tcp.foo.com
Looking up SRV records for http.tcp.foo.com would return information Looking up SRV records for http.tcp.foo.com would return information
on the hosts that foo.com has designated to be its mirror sites. The on the hosts that foo.com has designated to be its mirror sites. The
client can then pick one for the user. client can then pick one for the user.
Example 3 Example 3
--------- ---------
A non-URI example is where a NAPTR is used to specify the available A non-URI example is where a NAPTR is used to specify the available
mappings from a domain-name to telephony based endpoints. In this mappings from a domain-name to telephony based endpoints. In this
example the regular expression field is not used since the important example the regular expression field is not used since the important
information is encoded within the services field. information is encoded within the services field.
0.0.0.4.6.2.6.5.8.6.4.e164.int. 0.0.0.4.6.2.6.5.8.6.4.e164.int.
IN NAPTR 100 10 "s" "h323call+N2R" "" tele2.se. IN NAPTR 100 10 "s" "h323call+N2R" "" _h323._udp.tele2.se.
IN NAPTR 102 10 "s" "potscall+N2R" "" tele2.se. IN NAPTR 102 10 "s" "potscall+N2R" "" _potscall._tcp.tele2.se.
IN NAPTR 102 10 "s" "smtp+N2R" "" tele2.se. IN NAPTR 102 10 "s" "smtp+N2R" "" _smtp._tcp.tele2.se.
In these examples the domain is an encoded E164 telephone number. In these examples the domain is an encoded E164 telephone number.
The services field specifies that, for this particular telephone The services field specifies that, for this particular telephone
number, the services that are available are h323call, potscall number, the services that are available are h323call, potscall
and smtp; and that "tele2.se" is the target that provides those and smtp; and that "tele2.se" is the target that provides those
services. Since the flag is "s", the next step should be a services. Since the flag is "s", the next step should be a
query for an SRV record which will contain specific information query for an SRV record which will contain specific information
about the "tele2.se" domain. about the "tele2.se" domain.
DNS Packet Format DNS Packet Format
 End of changes. 6 change blocks. 
11 lines changed or deleted 11 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/