Subject: Re: List of Service Types

From: Stuart Cheshire <[email-masked]>
Date: Tue, 30 Jul 2002 22:57:25 -0700

>Greetings List,
>
>In his speech at Apple's developer conference last spring, Stuart 
>Cheshire said that a list of Zeroconf registered Service Types 
>(e.g. _printer) is available from IANA at
>
>   http://www.iana.org/assignments/port-numbers   
>
>I could not find any Zeroconf registered service types at this location.
>Does anyone know where I can find the current list of registered 
>Service Types?
>
>Noel Enet

There are no "Zeroconf service types".

My DNS Service Discovery draft follows the convention established in RFC
2782 -- service types are defined by the protocol names in the IANA list
of well-known ports at <http://www.iana.org/assignments/port-numbers>.

If you choose to implement DNS-SD in your product, then my recommendation 
is that you should advertise *every* listening UDP and TCP port that you 
have open.

For example:

If you have an embedded Web server, then advertise that you offer
"_http._tcp"

If you accept telnet connections, then advertise _telnet._tcp

If you accept ssh connections, then advertise _ssh._tcp

If you accept ftp connections, then advertise _ftp._tcp

If you implement snmp, then advertise _snmp._udp

... and so on.

This means that a telnet client can automatically find and display a list 
of entities on the network that are advertising that they will accept 
telnet connections (knowing what any of those entities actually are is 
not important to the author of the telnet client -- if you can connect to 
it with telnet, then the telnet client can talk to it).

An ssh client can automatically find and display a list of entities on 
the network that are advertising that they will accept ssh connections, 
and so on.

If you make some future "foobar" product, with which the user can 
communicate over an ssh connection, then my ssh client software doesn't 
need to know what a "foobar" is, it just needs to know that it can talk 
ssh to it. I (as a human being) may know what a "foobar" is, but my ssh 
client doesn't need to know.

There is precedent for this. Every time a new PostScript network printer 
comes out, users don't need a new driver for it (at least this is true on 
the Mac). As long as the printer speaks PostScript over AppleTalk 
properly, the Apple LaserWriter driver can find it and print on it, even 
though this particular printer model may not have even existed when the 
Apple LaserWriter driver was written.

Stuart Cheshire <[email-masked]>
 * Wizard Without Portfolio, Apple Computer
 * Chairman, IETF ZEROCONF
 * www.stuartcheshire.org

---

From: Brad Hards <[email-masked]>
Date: Wed, 31 Jul 2002 20:02:55 +1000

> is that you should advertise *every* listening UDP and TCP port that you
So in the file search example I raised earlier, you might do DNS queries for
_cifs._tcp
_rsync._tcp
_ftp._tcp
_http._tcp
_nfs._tcp 

Then you can map whatever services are offered, and search through the 
various drives for a certain name (or size, whatever the user wants).

Is this the intended approach?

Brad

-- 
http://conf.linux.org.au. 22-25Jan2003. Perth, Australia. Birds in Black.