Subject: Service Agent unicast port

From: David Arnold <[email-masked]>
Date: Mon, 25 Jan 1999 18:20:04 +1000

a quick query:

draft-ietf-svrloc-protocol-v2-11, section 3, page 5, states 

    "SAs MUST accept multicast service requests and unicast service
     requests."

in order to receive a unicast service request (SrvRqst), a SA would
have to be listening on unicast port 427.  this would preclude
multiple SA processes on a Unix machine without using some sort of
centralised reflector daemon.

however, i cannot see a circumstance under which a SA would need to
receive a unicast SrvRqst: it should either be handled by the DA
(after being unicast from a UA) or be multicast from the UA ...

can someone explain the requirement that a SA listen for unicast
SrvRqst packets?

(and similarly for AttrRqst and SrvTypeRqst packets?)

thanks,

-- David Arnold   ,=================================================
================='                             +617 33654310 (voice)
CRC for Distributed Systems Technology         +617 33654311   (fax)
University of Queensland                    [email-masked] (email)
Australia                     <http://www.pobox.com/~davida>   (web)

---

From: Erik Guttman <[email-masked]>
Date: Thu, 28 Jan 1999 13:32:09 +0100

The reason that SAs are required to be able to receive unicast
requests is that:

  - As in RFC 2165, SAs MUST be able to receive TCP requests
    which overflow a single unicast datagram.  

Even in the case where this will never happen (ie. requests 
will always be small,) replies may overflow and the UA will
have to retransmit the request directly to the SA using TCP.

In the case where requests and replies are guaranteed to be 
small (due to the UA and SA implementation), SLPv2 does not
require the SA to receive unicast requests.  

It was *still* thought to be important to have SAs be ready 
to receive unicast requests because:

  - In some applications, UAs will discover services and then
    directly poll the SAs which respond for attributes of 
    specific services rather than multicasting the requests.

This method of operation was inspired by the behavior of the
Ping Discovery Service, from Novell.

Note that it is possible for multiple SAs on a single host to
share UDP ports, at least on platforms which support the
socket API.  Only one TCP listener on port 427 is possible
per host, however.

Erik