Draft on using SRV records to locate whois servers
Below is a draft of the document Gerhard, Linus and Marcos have been working on. It's been circulated to the list for discussion. Marcos will be giving a presentation on this at the WG meeting next week. Please submit any comments to the authors or, better still, to the mailing list. draft-whois-srv-01.txt Linus Corin Marcos Sanz Gerhard Winkler 24 April 2002 Using DNS SRV records to locate whois servers Status of this Memo This document is a draft on the usage of the DNS SRV RR for the location of whois servers. Abstract There is no common whois database where all domain objects are stored. Several TLDs run their own databases, which can be reached under different network locations and, for the user, there is no easy way to find the right whois server to answer their query by means of a simple whois client. This situation can be improved by using DNS SRV records and SRV-cognizant whois clients. 0. Definitions The key words "MUST", "SHOULD", and "RECOMMENDED" in this document are to be interpreted as described in [RFC 2119]. Other terms used in this document are defined in the DNS specification, [RFC 1034]. 1. Format The general format of DNS SRV records is documented in RFC 2782: _Service._Proto.Name TTL Class SRV Priority Weight Port Target Therefore the simplest format of an SRV record to locate a whois server is: _whois._tcp IN SRV 0 0 43 whois.nic.example. [RFC 1700] foresees the possibility of a whois service over UDP. Common use is TCP but nothing would prevent from analogously setting the _Proto field to the value _udp. The symbolic name of the service is defined as "whois" (case insensitive), which is the most familiar name, though it is also called "nicname" in [RFC 954]. Priority and Weight have a value of 0 in the example above just for readability purposes. It is RECOMMENDED to use the port number 43, as specified in [RFC 1700] or [IANA-NUM]. 2. Usage If there is a whois server running for a specific domain, such an SRV record can be defined. When used for looking up information about a domain, whois clients can do DNS lookups for SRV records, and can use the retrieved target information to point their whois queries accordingly. This kind of client is called "SRV-cognizant" or "SRV-aware" whois client. It is imaginable that this functionality could be extended for other purposes (like inetnum or handle lookup), but this remains open for a future discussion. 3. Restrictions The service record functionality is meant as an extension to the existing whois service and not as a new service. In the absence of a whois protocol whose specification calls for the use of other weighting information, the field Weight in the SRV record keeps the standard meaning specified in [RFC 2782]. As defined in [RFC 2782] the client SHOULD abort if it finds a record defined like: _whois._tcp IN SRV 0 0 0 . The given SRV record is valid for the zone where it appears. This means that it does not provide any information on subdomains or zones below; it is a onelevel information. Search for subdomains MUST behave like conventional DNS search algorithms. 4. Authority There is no authority which defines who should run a whois server, though it is usual that the TLD registry runs a whois service for the zone where it is authoritative. There is no definition of which target should be used as a default for an SRV-cognizant whois client if no whois server could be discovered by means of SRV records. The use of a default whois server is local dependent. 5. Security Considerations The same security considerations as defined in [RFC 2782] should apply. There is no discussion on security, data protection and privacy relating to the contents of the whois server in this paper. This is the responsibility of the whois server operator and has nothing to do with a mechanism that describes how whois servers can be reached. 6. References [RFC 954] NICNAME/WHOIS [RFC 1034] Domain names - concepts and facilities [RFC 1700] Assigned Numbers [RFC 2119] Key words for use in RFCs to Indicate Requirement Levels [RFC 2782] A DNS RR for specifying the location of services (DNS SRV) [IANA-NUM] www.iana.org: Directory of General Assigned Numbers 7. Authors' Addresses Linus Corin Telia International Carrier 4th Floor, 330 High Holborn WC1V 7QY London, United Kingdom linus@telia.net Marcos Sanz DENIC eG Wiesenhuettenplatz 26 D-60329 Frankfurt/Main, Germany sanz@denic.de Gerhard Winkler Vienna University Computer Center / NIC.AT Universitaetsstrasse 7 A-1100 Vienna, Austria gerhard.winkler@univie.ac.at
[Jim Reid wrote:]
Below is a draft of the document Gerhard, Linus and Marcos have been working on. It's been circulated to the list for discussion. Marcos
thank you folks for bringing this up. I'm sure this is a good idea and will fill a long standing gap. Find some comments, questions and suggestions below.
0. Definitions
The key words "MUST", "SHOULD", and "RECOMMENDED" in this document are to be interpreted as described in [RFC 2119]. Other terms used in this document are defined in the DNS specification, [RFC 1034].
Here's a rough version of a longer problem statement: Whois servers are used to locate administrative, technical and security contacts for given IP addresses, domain names or other network objects associated with an organisation, e.g. AS numbers. While usually Top Level Domain (TLD) registries run a whois server, there is no generic name for it and it may not even be obvious that the TLD registry's whois server is the right one to ask, ince there are TLDs where registration takes place under specialised second level domains (e.g. UK, AT). The Regional Internet Registries (RIR) [reference, anyone?] also provide whois service as part of their coordination task. Again, there is no easy uniform way to find out which RIR is responsible for a particular address or address range. All this can be solved by central "master" or "meta" whois servers, which keep track of all new and changing servers and refer to the DNS registries' or RIRs' whois servers (there are also omniscient clients, like "SuperWhois"). {XXX Bill Manning also had a DNS based AS-number directory} This document proposes an approach which eliminates the need for a central master repository and works down to lower levels in the hierarchy. It is the intent to locate a whois server as close to the target (in terms of hierarchy) as possible, while preserving the opportunity to locate higher level servers for escalation purposes.
1. Format
The general format of DNS SRV records is documented in RFC 2782:
_Service._Proto.Name TTL Class SRV Priority Weight Port Target
Therefore the simplest format of an SRV record to locate a whois server is:
_whois._tcp IN SRV 0 0 43 whois.nic.example.
[RFC 1700] foresees the possibility of a whois service over UDP. Common use is TCP but nothing would prevent from analogously setting the _Proto field to the value _udp.
RFC 1700 has been superseded by RFC 3232, so I'd suggest to cite either that or the IANA URL, as you do later [IANA-NUM]. Anyway, the whois protocol is not defined for UDP transport regardless of what "assigned numbers" says about port number assignment. The document should clearly say that it deals with the TCP case only.
The symbolic name of the service is defined as "whois" (case insensitive), which is the most familiar name, though it is also called "nicname" in [RFC 954].
So, did one want to allow both? I'd stick with "whois", unless there is demand to not only select the service based on the on-the-wire protocol but also based on the data format (e.g. "ripe-whois" vs. "generic-whois"). However, I doubt that this granularity would ease deployment.
Priority and Weight have a value of 0 in the example above just for readability purposes.
It is RECOMMENDED to use the port number 43, as specified in [RFC 1700] or [IANA-NUM].
The document mainly talks about client behaviour, so this recommendation regarding the server's port number seems a bit out of focus to me. And, it's not needed for interoperability since one purpose of SRV RRs is giving an administrator the opportunity of using non default ports.
If there is a whois server running for a specific domain, such an SRV record can be defined. When used for looking up information about a domain, whois clients can do DNS lookups for SRV records, and can use the retrieved target information to point their whois queries accordingly. This kind of client is called "SRV-cognizant" or "SRV-aware" whois client.
So, does this mean the SRV RR has to be owned by the domain you are interested in or by its parent? See below for a suggestion of a hierarchical approach.
It is imaginable that this functionality could be extended for other purposes (like inetnum or handle lookup), but this remains open for a future discussion.
See below for a suggestion for inetnum lookup.
As defined in [RFC 2782] the client SHOULD abort if it finds a record defined like:
_whois._tcp IN SRV 0 0 0 .
While this copies the definition from RFC 2782, I do not think the client is expected to abort (i.e. terminate) should this condition be met. Instead, only the SRV processing is aborted. IIRC this case was introduced to be able to explicitly state the absence of a particular service (or all services via a wildcard) as opposed to just having no SRV RR.
The given SRV record is valid for the zone where it appears. This means that it does not provide any information on subdomains or zones below;
This may result in a contradiction: If it's valid for the zone, it is also valid for subdomains of the zone apex. And, it costs additional work to find out which zone one actually resides in. And does this mean _whois._tcp.DE leads to a whois server which has no knwledge about Uni-Bielefeld.DE (subdomain and delegated zone in this case)?
it is a onelevel information. Search for subdomains MUST behave like conventional DNS search algorithms.
"conventional" algorithms depend on local search lists, while here you want searching along the domain name subject to the later whois query. In addition, conventional DNS search should not extend beyond domain names within local control (from the queriers point of view) [RFC 1535], while that is what you explicitly want here. However, it still could be abused (see security considerations). I'd think the search is the key feature in locating the whois server and an algorithm should be described, e.g. A whois query for "www.deep.weird.example" will lead to the following DNS queries for SRV RRs: _whois._tcp.www.deep.weird.example _whois._tcp.deep.weird.example _whois._tcp.weird.example _whois._tcp.example Always ask for the complete name first, including the leaf element, then walk up the DNS tree until either a SRV RRSet is found or the TLD is reached. Clients MAY continue the search after they've found a match. However, to avoid unnecessary load on the DNS root servers, a client MUST NOT ask for a whois server for the root domain, i.e. it MUST NOT issue queries for _whois._tcp. The "stop indicator" (i.e. single member RRSet "SRV 0 0 0 .") does not stop the search but makes the algorithm skip this node. The SRV RRs then could point to a (group of) whois server inside the organisation using the domain name ("weird.example"), to the registry, a registrar's whois server or a web hosters whois server. Question remains what to ask the whois server. If a match is found for _whois._tcp.example, should the server be asked for the full name www.deep.weird.example or just the smallest suffix needed for differentiation ("weird.example")? Are all whois servers capable of "closest match"? And how to deal with the fact that whois servers have no standardized way to indicate they do not know a key queried for. This scheme could be extended to cover inetnum lookups (only the IPv4 case is outlined here): For locating contacts for IPv4 addresses clients should ask in the IN-ADDR.ARPA DNS subtree, starting at the domain name representing the full address, e.g.: A whois query for 192.168.1.1 leads to DNS SRV queries for (in that order): _whois._tcp.1.1.168.192.IN-ADDR.ARPA _whois._tcp.1.168.192.IN-ADDR.ARPA _whois._tcp.168.192.IN-ADDR.ARPA _whois._tcp.192.IN-ADDR.ARPA _whois._tcp.IN-ADDR.ARPA (*) _whois._tcp.ARPA (*) The queries marked with (*) could probably be omitted, since they are not supposed to lead to an answer (there's no central inetnum whois server). Opinions?
There is no definition of which target should be used as a default for an SRV-cognizant whois client if no whois server could be discovered by means of SRV records. The use of a default whois server is local dependent.
In the absence of an appropriate SRV entry, the client MAY try "whois".<domain> (see RFC 2219); However, security implications should be payed attention to.
5. Security Considerations
The same security considerations as defined in [RFC 2782] should apply. There is no discussion on security, data protection and privacy relating to the contents of the whois server in this paper. This is the responsibility of the whois server operator and has nothing to do with a mechanism that describes how whois servers can be reached.
Use of the DNS search algorithm can lead to 2 problems: 1) By using DNS query logging an organisation could find out who is issuing whois queries about them even without operating a whois server themselves 2) An (malicious) organisation could use SRV RRs to misdirect whois requests. For example, a spamhaus using "spamhaus.example" could direct whois queries to their own whois server containing no or false information or even worse, innocent targets. For this reason, whois clients should be able to start the search above the leaf or particular inner nodes upon request. -Peter
At 3:11 PM +0200 2002/04/28, Peter Koch wrote:
Anyway, the whois protocol is not defined for UDP transport regardless of what "assigned numbers" says about port number assignment. The document should clearly say that it deals with the TCP case only.
Agreed. We should only talk about TCP and not mention UDP.
So, did one want to allow both? I'd stick with "whois", unless there is demand to not only select the service based on the on-the-wire protocol but also based on the data format (e.g. "ripe-whois" vs. "generic-whois"). However, I doubt that this granularity would ease deployment.
We could mention both "whois" and "nicname", with the observation that the latter is an older, deprecated alias, and SHOULD NOT be used.
The document mainly talks about client behaviour, so this recommendation regarding the server's port number seems a bit out of focus to me. And, it's not needed for interoperability since one purpose of SRV RRs is giving an administrator the opportunity of using non default ports.
I think we can mention the standard practice of running whois on port 43, but I definitely agree that one of the best things about SRV records is that they allow us to move things to other ports.
I'd think the search is the key feature in locating the whois server and an algorithm should be described, e.g.
A whois query for "www.deep.weird.example" will lead to the following DNS queries for SRV RRs:
_whois._tcp.www.deep.weird.example _whois._tcp.deep.weird.example _whois._tcp.weird.example _whois._tcp.example
Always ask for the complete name first, including the leaf element, then walk up the DNS tree until either a SRV RRSet is found or the TLD is reached.
Agreed. In the absence of a searchlist, the standard recursive search algorithm should be applied.
Clients MAY continue the search after they've found a match. However, to avoid unnecessary load on the DNS root servers, a client MUST NOT ask for a whois server for the root domain, i.e. it MUST NOT issue queries for _whois._tcp.
Now this I don't understand. We can query for NS records all the way up to the root zone, and there can be a whois server for the root zone -- it may only define delegation data for the TLDs, but this is still valid information). I don't understand why we should never query for this data, given that it should be the very last query in the sequence (and first match wins).
The "stop indicator" (i.e. single member RRSet "SRV 0 0 0 .") does not stop the search but makes the algorithm skip this node.
Good.
Question remains what to ask the whois server. If a match is found for _whois._tcp.example, should the server be asked for the full name www.deep.weird.example or just the smallest suffix needed for differentiation ("weird.example")? Are all whois servers capable of "closest match"? And how to deal with the fact that whois servers have no standardized way to indicate they do not know a key queried for.
I believe that we should use a similar recursive algorithm for what is looked up in the whois server, just as we do for finding out which whois server is appropriate. So, we would first look up www.deep.weird.example, and if that's not defined we would then look up deep.weird.example, and then weird.example, etc....
A whois query for 192.168.1.1 leads to DNS SRV queries for (in that order):
_whois._tcp.1.1.168.192.IN-ADDR.ARPA _whois._tcp.1.168.192.IN-ADDR.ARPA _whois._tcp.168.192.IN-ADDR.ARPA _whois._tcp.192.IN-ADDR.ARPA _whois._tcp.IN-ADDR.ARPA (*) _whois._tcp.ARPA (*)
The queries marked with (*) could probably be omitted, since they are not supposed to lead to an answer (there's no central inetnum whois server).
The last two queries are sub-optimal, yes. We could (and should) recommend that people avoid making these queries in their clients, for obvious performance reasons. However, I would not rule them out entirely -- what if we're looking up information that is only contained within the top-level IPv4 or IPv6 registry, and therefore we really would want to query _whois._tcp.IN-ADDR.ARPA or even _whois._tcp.ARPA.
2) An (malicious) organisation could use SRV RRs to misdirect whois requests. For example, a spamhaus using "spamhaus.example" could direct whois queries to their own whois server containing no or false information or even worse, innocent targets. For this reason, whois clients should be able to start the search above the leaf or particular inner nodes upon request.
I would go so far as to say that whois clients should query for both the level of the query as well as the level of the parent of the query, by default. We can see this behaviour on the horizon already, and we should be prepared for it now. -- Brad Knowles, <brad.knowles@skynet.be> "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, Historical Review of Pennsylvania.
Hi Brad, thanks for your comments. Just two short clarifications (I hope :-)
Agreed. In the absence of a searchlist, the standard recursive search algorithm should be applied.
Well, the local resolver's search list would have nothing to do with what we try here, so the resolution process should be independent of it. If I have TechFak.Uni-Bielefeld.DE and Uni-Bielefeld.DE in my search list, that should not alter the way "whois deep.weird.example" is treated.
for a whois server for the root domain, i.e. it MUST NOT issue queries for _whois._tcp.
Now this I don't understand. We can query for NS records all the way up to the root zone, and there can be a whois server for the root zone -- it may only define delegation data for the TLDs, but this is still valid information). I don't understand why we should never query for this data, given that it should be the very last query in the sequence (and first match wins).
The contribution to root server load (which suffers from garbage as we will probably learn on Thursday) may indeed be marginal. And you're right, there might be a whois server for the root. But then, "_tcp" would be a TLD and I do not believe it be established, so the queries will be useless. Anyway, this is fine tuning. -Peter
Hi, I have two points to make on the draft. They relate to the SRV owner name as envisaged by this draft and to the requirements for SRV targets. Firstly, this draft appears to use different semantics for the domain name of an SRV RR than those in RFC2782. My reading of 2782 is that the ``name'' portion of the RR owner (i.e. the name component of _service._protocol.name) is analogous to the server name the client wants to contact. Without SRV records, if I wish to use whois to talk to a server named whois.isp.net I should lookup the A record of whois.isp.net and contact that host. With SRV I should lookup the SRV of _whois._tcp.whois.isp.net and contact the host specified by the A record owned by the SRV target. If I were the operator of a whois server whose published name was ``whois.isp.net'' I might have the following in the isp.net zone to support that second scenario: $ORIGIN isp.net. _whois._tcp.whois IN SRV 10 0 43 dbserver.isp.net. IN SRV 20 0 43 dbbackup.isp.net. dbserver IN A 10.10.10.1 dbbackup IN A 10.20.20.1 SRVs are for adding indirection (amongst other features) to the names people type into browser address bars, MUA configurations and -h options to their whois clients. This draft changes the semantic meaning of the SRV ``name'' when used in a whois context to be ``a whois query string, or a domain above it in the DNS tree''. 2782 says if you want to contact host foo for service X over protocol Y, then lookup "_X._Y.foo IN SRV". This draft says if you want to send a query ABOUT foo to a whois server, lookup "_whois._tcp.foo IN SRV". The semantic meaning of ``foo'' has changed and that change is not explicitly stated. I would like it to be. Secondly, I feel a reminder that the target of an SRV must have an A RR is in order. Taking my isp.net example, above, again. If I controlled customer.com and wanted to use the mechanism in this draft to publish the fact that customer.com is in isp.net's whois server I cannot use: _whois._tcp.customer.com. IN SRV 10 0 43 whois.isp.net. as ``whois.isp.net'' does not have an A RR. I must ``undo'' the name indirection desired by isp.net and instead publish the following RRs (and keep them up to date): _whois._tcp.customer.com. IN SRV 10 0 43 dbserver.isp.net. IN SRV 20 0 43 dbbackup.isp.net. As an aside, when this was first mooted some years ago I wrote a SRV-aware whois client which implemented the mechanism is this draft. Recently I decided it made much more sense to have a SRV whois client that used SRVs in the way I think 2782 intended. My client does SRV processing on the ``server name''. Since this draft appeared I integrated both modes of operation. The support for this draft is referred to as ``wacky mode'' - no offence is intended :-) If anybody wants to play with it, it's at http://romana.now.ie/software/srv-whois Written in perl, requires Net::DNS. More testing would be great as would comments. Example: whois-srv -h whois.denic.de www.foo.de will do - SRV query for _whois._tcp.whois.denic.de and contact the target - If no SRV, do A query for whois.denic.de -- i.e. act as a normal client whois-srv -W -h whois.denic.de www.foo.de will do - SRV query for _whois._tcp.www.foo.de and contact the target - If no SRV, contact target of the _whois._tcp.foo.de SRV - If no SRV, contact target of the _whois._tcp.de SRV - If no SRV, do A query for whois.denic.de -- i.e. act as a normal client Regards, james
At 3:18 PM +0100 2002/05/01, James Raftery wrote:
Firstly, this draft appears to use different semantics for the domain name of an SRV RR than those in RFC2782. My reading of 2782 is that the ``name'' portion of the RR owner (i.e. the name component of _service._protocol.name) is analogous to the server name the client wants to contact.
Without SRV records, if I wish to use whois to talk to a server named whois.isp.net I should lookup the A record of whois.isp.net and contact that host.
With SRV I should lookup the SRV of _whois._tcp.whois.isp.net and contact the host specified by the A record owned by the SRV target.
Not correct. Think about mail and the MX record. You don't want to send mail to user@a.mx.aol.com, you want to send mail to user@aol.com. So, you look up the MX records for aol.com. Likewise for whois. You don't want the whois information for the server whois.domain.example, you want the whois information for domain.example itself, which is a different question. You only fall back to using whois.domain.example in the case where no SRV record exists for the whois service.
2782 says if you want to contact host foo for service X over protocol Y, then lookup "_X._Y.foo IN SRV".
Correct.
This draft says if you want to send a query ABOUT foo to a whois server, lookup "_whois._tcp.foo IN SRV".
Correct. Note that this is not "_whois._tcp.whois.foo IN SRV".
The semantic meaning of ``foo'' has changed and that change is not explicitly stated. I would like it to be.
I believe that you have misunderstood, or at least you are not sufficiently explaining exactly where in the draft you are seeing this apparent change.
Secondly, I feel a reminder that the target of an SRV must have an A RR is in order. Taking my isp.net example, above, again. If I controlled customer.com and wanted to use the mechanism in this draft to publish the fact that customer.com is in isp.net's whois server I cannot use:
_whois._tcp.customer.com. IN SRV 10 0 43 whois.isp.net.
as ``whois.isp.net'' does not have an A RR.
No, you wouldn't provide the glue for it in your zone, but the owner may very well have an A record defined somewhere else, presumably within the isp.net zone.
I must ``undo'' the name indirection desired by isp.net and instead publish the following RRs (and keep them up to date):
_whois._tcp.customer.com. IN SRV 10 0 43 dbserver.isp.net. IN SRV 20 0 43 dbbackup.isp.net.
I don't see how the RHS of this example is any different from the RHS of the example given above. Who says that whois.isp.net is not a perfectly valid host/domain name, which resolves to an A record, possibly among a whole host of other things? -- Brad Knowles, <brad.knowles@skynet.be> "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, Historical Review of Pennsylvania.
On Wed, 1 May 2002, Brad Knowles wrote:
At 3:18 PM +0100 2002/05/01, James Raftery wrote:
Without SRV records, if I wish to use whois to talk to a server named whois.isp.net I should lookup the A record of whois.isp.net and contact that host.
Yes.
With SRV I should lookup the SRV of _whois._tcp.whois.isp.net and contact the host specified by the A record owned by the SRV target.
No.
Not correct. Think about mail and the MX record. You don't want to send mail to user@a.mx.aol.com, you want to send mail to user@aol.com. So, you look up the MX records for aol.com.
Yes and no. The main difference (as I understand it and how I feel it should work) is that a search for an MX is an one level search; you try to find MX records for the domain 'aol.com', not the parent ('.com') or any children ('www.aol.com'). Most of this is similar to the SRV-specific information in the draft below, although the idea (using SRV records for whois) has been independently suggested by a number of people. http://www.ietf.org/internet-drafts/draft-hall-ldap-whois-01.txt A search for a whois server for a given record should start at the level that you want to find, and work down to the root until a match _that makes sense_ is found. To find a whois server for the domain, foobar.example.com, you would attempt to find SRV records for the following (in order): _nicname._tcp.foobar.example.com _nicname._tcp.example.com _nicname._tcp.com ( Note qualification by Patrik in dns-wg session, the protocol name recorded by IANA is 'nicname', not 'whois'. ) When you find a match from one of the above that makes sense, you then lookup the address record for the whois server, and contact it as per normal semantics, eg: _nicname._tcp.foobar.example.com (no match) _nicname._tcp.example.com IN SRV 0 0 43 whois.example.com whois.example.com IN A 192.168.192.168 whois -h whois.example.com foobar.example.com In the case that example.com's whois service is, shall we say, less than optimum, then you could also look for a record: _nicname._tcp.com (although the only information that you'd expect to get there is registration details for 'example.com', not 'foobar.example.com') You could also apply this to the reverse, eg: _nicname._tcp.3.2.1.193.in-addr.arpa _nicname._tcp.2.1.193.in-addr.arpa _nicname._tcp.1.193.in-addr.arpa _nicname._tcp.193.in-addr.arpa IN SRV 0 0 43 whois.ripe.net ( or at any point in the chain ) -- Bruce Campbell RIPE Systems/Network Engineer NCC www.ripe.net - PGP562C8B1B Operations
James Raftery <james.raftery@ucd.ie> wrote:
2782 says if you want to contact host foo for service X over protocol Y, then lookup "_X._Y.foo IN SRV". This draft says if you want to send a query ABOUT foo to a whois server, lookup "_whois._tcp.foo IN SRV". The semantic meaning of ``foo'' has changed and that change is not explicitly stated. I would like it to be.
RFC 2782 says in "Overview and rationale", 3rd paragraph: Clients ask for a specific service/protocol for a specific domain (the word domain is used here in the strict RFC 1034 sense), and get back the names of any available servers. The wording in the introductory example also supports this. In the case of "whois.denic.de" you actually do not want the whois server offering info about "denic.de" but that one covering "DE" (although they happen to be the same, but you have to *know* that in advance). SRV RRs are not only meant to (re-)direct host specific services, but also domain (or organisation) based services. This is what comes to use in this case. The "whois" or maybe "finger" or even "www" cases are special since there are common DNS aliases (RFC 2219) for them. SRV avoids cluttering the "visible" part of your name space by moving services into the "_" area.
Secondly, I feel a reminder that the target of an SRV must have an A RR is in order. Taking my isp.net example, above, again. If I controlled customer.com and wanted to use the mechanism in this draft to publish the fact that customer.com is in isp.net's whois server I cannot use:
_whois._tcp.customer.com. IN SRV 10 0 43 whois.isp.net.
as ``whois.isp.net'' does not have an A RR. I must ``undo'' the name indirection desired by isp.net and instead publish the following RRs (and keep them up to date):
_whois._tcp.customer.com. IN SRV 10 0 43 dbserver.isp.net. IN SRV 20 0 43 dbbackup.isp.net.
I wonder whether this will happen very often (i.e. we'll have to discuss, what the actual problem/task is we're going to solve). This might occur in cases where the registrar (instead of the registry) keeps the whois data and each and every domain will have to point to the appropriate one. However, unless the customer is running an additional whois server on their own, you might get away with a CNAME RR instead of "unrolling" the SRV.
Sounds interesting. I'll play wit it later. -Peter
participants (5)
-
Brad Knowles
-
Bruce Campbell
-
James Raftery
-
Jim Reid
-
Peter Koch