Subject: Re: List of Service Types

From: Stuart Cheshire <[email-masked]>
Date: Tue, 6 Aug 2002 20:18:46 -0700

>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

Right. And if you are worrying that doing queries for five different 
protocols like this is horribly inefficient, I should let you know that 
Apple's Rendezvous software packs all five queries into a single UDP 
packet. Those of you on this list who already have OS X 10.2 will be able 
to see this using a packet sniffer.

>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?

Right. For example, the AFP protocol allows server-side searching. When 
you press Cmd-F in the Finder and search for files by name, size, date, 
etc., the search is not performed locally. A query description is sent to 
the server, executed on the server, and then the results are sent back. 
My belief is that complex queries like this will always be 
protocol-specific. The kinds of queries a file server has to answer are 
different to the kinds of queries a printer has to answer, and different 
to the kinds of queries a database engine has to answer. It is reasonable 
to expect each application protocol to support the appropriate query 
sematics for that application. I believe that it is unreasonable to 
expect a generic service discovery protocol to implement sufficient query 
sematics to cover all those cases -- especially when you also want a $49 
ink-jet printer to implement that service discovery protocol.

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

---

From: Stuart Cheshire <[email-masked]>
Date: Tue, 6 Aug 2002 21:07:14 -0700

>>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
>
>Maybe I'm missing something obvious, but using the DNS, how exactly is
>that intended to be accomplished?

<http://files.dns-sd.org/draft-cheshire-dnsext-nias.txt>

---

From: Stuart Cheshire <[email-masked]>
Date: Tue, 6 Aug 2002 21:25:27 -0700

>ps: Stuart, in the IETF we generally don't want to know "Apple's
>position" we want to know yours.   It is fine (if you're able) to tell
>us "Apple is shipping a product which ..." or even "Apple is about to
>ship a product which does ...", but corporate positions don't belong.

Fair point. I have endeavoured in this latest round of responses to 
express personal opinions about protocol design, not corporate positions.

---

From: Stuart Cheshire <[email-masked]>
Date: Wed, 7 Aug 2002 14:52:11 -0700

>Soo...  seems to me that a complete specification would need
>to have templates for the TXT records along the lines that
>SLP has schemas.  Or do you have something else in mind?

Percisely. This is what I wrote in "Discovering Named Instances of 
Abstract Services using DNS":

   Some services discovered via Service Instance Enumeration may need
   more than just an IP address and port number ...
   In these cases, the necessary additional data is stored in a TXT
   record with the same name as the SRV record. The specific nature of
   that additional data, and how it is to be used, is service-dependent.

And, in section 6 "Selective Queries":

   The list of possible subtypes, if any, and the additional data stored
   in TXT records, if any, are defined separately for each basic service
   type.