HELIOS Base User manual

8 Service Location Protocol (SLP)
Our software supports the Service Location Protocol (SLP), which allows users under UNIX systems to find available services without any knowledge of host names.

Note: Under Mac OS X SLP is preferred over the old AppleTalk Name Binding Protocol (NBP).

SLP is based on three different kinds of agents:
User Agents (UA)
This is basically the software that the user or a service uses to register, deregister and find services. Examples for such User Agents are the "slptool", which you can find in
"HELIOSDIR/bin", or the "Network Browser" under
Mac OS 9.x or Mac OS X.
Service Agents (SA)
An SLP Service Agent is responsible for storing information of services on a single system, answers User Agent calls and informs Directory Agents of local information changes. Examples of such Service Agents are HELIOS SLP-servers on systems with a single network interface, or Mac OS 9.x and Mac OS X clients with activated File Sharing.
Fig. 28: Server with 1 NIC

Directory Agents (DA)
These agents act as a central repository of a network. It collects the information of Service Agents to build a complete database of the whole network, which can be accessed by User Agents. A HELIOS SLP server on a computer with several network interfaces becomes Directory Agent by default.
Fig. 29: Server with 2 NICs

Service and Directory Agents are initiated by the same program ("slpsrv"), that can be configured to run as a Service or Directory Agent.
In the absence of a Directory Agent, User Agents that look for services will have to ask for Service Agents. Every Service Agent that sends a reply will then be asked for its local services of a certain kind. If a Directory Agent is available a User Agent will only contact the Directory Agent directly and ask for known services. Therefore Directory Agents can significantly reduce network traffic.
But there is a catch: if a Directory Agent was known, and did not deregister itself, User Agents will always try to contact the Directory Agent directly. If a Directory Agent cannot react (due to a server crash or network problems) they will wait for the connection to time out (which can take several minutes) before they start to look for other Directory or Service Agents.
Another difference between Directory and Service Agents arises on systems with multiple network interfaces. By default "slpsrv" works on such systems as a Directory Agent, so it gathers the services on each connected network, and computers in one network can use services in another network.
8.1 slptool
This utility makes use of the so-called "Service Location Protocol" which allows users under UNIX systems to find available services without any knowledge of host names.
Options may be:
(version) displays version of "slptool" and "OpenSLP"
(scope) followed by a comma separated list of scopes
(language) followed by a language tag
(dump all) request attributes
"Command-and-arguments" may be:
findsrvs service type [filter]
cd /usr/local/helios/bin
./slptool findsrvs afp
(Use slptool findsrvtypes to find all service types).
Reports all scopes, services and servers
findattrs url [attrids]
findsrvtypes [authority]
register url attrs
cd /usr/local/helios/bin
./slptool register (contin. next line)
./slptool register (contin. next line)
deregister url attrs
getproperty propertyname
possible propertynames = net.slp.useScopes

© 2002 HELIOS Software GmbH