Noel Chiappa <jnc@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxx> * Wizard Without Portfolio, Apple Computer, Inc. * www.stuartcheshire.org _______________________________________________ Ietf@xxxxxxxx https://www1.ietf.org/mailman/listinfo/ietf