On Sep 12, 2011, at 4:57 PM, Joe Touch wrote: Most RRs tie some set of data to a domain name which is historicallya host name, though in recent years it's become a somewhat morenebulous concept (e.g. "a collection of services", or in the case ofMX records "a collection of recipient mailboxes"). SRV is odd in thatit overloads the domain to include "service name" and transportprotocol. It would be useful to have a richer way to describe services, which could include: SRV appears to have been designed with the idea that the DNS was agood place to advertise port numbers of services, and that it wouldmake sense to have a standard mechanism to advertise alternate portnumbers that would work across all applications. For a wide varietyof reasons, this is not a good idea. But because SRV already existsand is deployed, and we occasionally find applications that needsomething similar to SRV, people keep trying to use it in ways thatare contrary to its design. Mumble. I'd argue that in the case of SMTP at least that port 25 is much more significant than that. Sure, any given SMTP session could potentially occur over a different port as long as client and server had some mechanism for agreeing to use it. But the worldwide basis for exchange of email is that MX servers for a domain listen on port 25, and clients know to use port 25 to contact them. The ability to indicate the local map of service:port seems entirely appropriate in an E2E sense. Further, it avoids the burden of pre-allocating port numbers (a quite constrained resource) for services that might never be used at a given endpoint, and allows that map to be assigned dynamically and locally. Consider that the DNS distributed /etc/hosts, and basically SRVs distribute /etc/services (Disclaimer: I do use /etc/services as documentation. e.g. when I want to know which port a particular protocol uses, it's easier to grep /etc/services than it is to look up the port number in the IANA registry. I just don't use getservbyname whenever I can help doing so.) Or would your arguments against SRV use also apply to the DNS? :-) My preferred way to use DNS for mobile hosts is to have each host be its own authoritative DNS/LLMNR server, with its domains explicitly delegated to it by its parent zones, and replicated from there to secondary servers with stable IP addresses. That way, the master copy is always in sync with reality, DNS and LLMNR are always in sync, and the replica copies of the zone are always in sync with the master copy whenever the host has network access and the replica servers are reachable. If DNS were generally implemented that way, using SRV as originally intended would make a bit more sense, because it would take the DNS administrator out of the loop and increase the potential for the DNS and the host to be in sync with one another about which services were running on which ports. But it would still increase the potential for NATs to cause even more trouble than they do now. NATs are something that need to be phased out as IPv6 is phased in, not something that need more support and encouragement from the architecture. If DNS were easier to extend - in particular if RR types weren'tlimited to small integers but rather something like OIDs, and if theformat of RDATA weren't hard-coded into DNS servers - I'd absolutelyagree that the thing to do would be to deprecate SRV for newapplications and define new RR types whenever needed. But then you want to change SRVs - for the same reason you don't want a new RR type. Again, I remain confused as to your position. Agree with that much. But "services as they're currently assigned by IANA" and that are reasonable to use with SRV are few, and a new RR is difficult to and time-consuming to deploy. This is a case where I think pragmatic reuse of SRV makes more sense than a purist approach. Keith |
_______________________________________________ Ietf mailing list Ietf@xxxxxxxx https://www.ietf.org/mailman/listinfo/ietf