Noel Chiappa <jnc(_at_)mercury(_dot_)lcs(_dot_)mit(_dot_)edu> wrote:
Yes. Architecturally speaking, it's somewhat dubious that information
which really only needs to be localized to the host (application<->port
binding) has to be sent to the DNS.
It would be easy to run a tiny little USP "binding" server that took in
an application name (yes, we'd have to register those, but string-space
is infinite), and returned the port.
You may be interested to know that this is the direction we took with
Multicast DNS and DNS-based Service Discovery (what Apple calls
"Bonjour").
Every machine runs a little process called 'mdnsd' that answers
peer-to-peer SRV queries.
The registry of "application names" (i.e. protocol names) is currently
maintained at:
<http://www.dns-sd.org/ServiceTypes.html>
Right now there are a couple of hundred application-layer protocols
implemented that work this way. They bind to zero, get a random port
assigned by the OS, and then register that port with the local 'mdnsd'
service.
The 'mdnsd' service also offers a workaround for the limitations of NAT.
If you have a NAT gateway that speaks NAT-PMP (or the UPnP equivalent),
then when the application registers its port with the local 'mdnsd'
service, mdnsd talks to the NAT gateway, gets a public-to-private inbound
port mapping created, and then mdnsd writes an SRV record into your DNS
server (requires permission to update a DNS subdomain where Secure DNS
Update is enabled) giving the *PUBLIC* IP address and port for your
service.
The result of this is that when you turn on Personal File Sharing on your
Mac at home behind a NAT gateway, then if you want to, you can advertise
that service globally. The port number won't be the usual well-known port
for Apple Personal File Sharing, but as long as the client looks up the
service via SRV record, it will find the correct port to connect to.
Details are given at:
<http://www.dns-sd.org/ClientSetup.html>
Stuart Cheshire <cheshire(_at_)apple(_dot_)com>
* Wizard Without Portfolio, Apple Computer, Inc.
* www.stuartcheshire.org
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf