Copyright (C) 1999, Sun Microsystems, Inc.
All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
The Service Location Protocol (SLP) is a dynamic service discovery protocol that runs on top of the Internet Protocol (IP). The protocol is specified by the IETF standard-track documents RFC 2165, RFC 2608, RFC 2609; the API is documented in RFC 2614. .
There are two components to the SLP technology. The first is a daemon, slpd(8), which coordinates SLP operations. The second is a software library, slp_api(3SLP), through which processes access a public API. Both components are configured by means of the SLP configuration file, slp.conf(5).
The SLP API is useful for two types of processes: Client Applications
Services and service information can be requested from the API. Clients do not need to know the location of a required service, only the type of service, and optionally, the service characteristics. SLP will supply the location and other information to the client through the API.
Programs that offer network services use the SLP API to advertise their location as well as other service information. The advertisement can optionally include attributes describing the service. Advertisements are accompanied by a lifetime; when the lifetime expires, the advertisement is flushed, unless it is refreshed prior to expiration.
API libraries are available for both the C and Java languages.
SLP provides the following additional features:
slpd(8) can be configured to function as a transparent directory agent. This feature makes SLP scalable to the enterprise. System administrators can configure directory agents to achieve a number of different strategies for scalability.
SLP service advertising and discovery is performed in scopes. Unless otherwise configured, all discovery and all advertisements are in the scope default. In the case of a larger network, scopes can be used to group services and client systems so that users will only find those services which are physically near them, belong to their department, or satisfy the specified criteria. Administrators can configure these scopes to achieve different service provider strategies.
Services may be registered by proxy through a serialized registration file. This is an alternative to registering services through the API. See slpd.reg(5) for more information.
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
CSI CSI-enabled |
Interface Stability Standard |
MT-Level MT-Safe |
slp_api (3SLP), slp.conf (5), slpd.reg (5), attributes (7), slpd (8)
Guttman, E., Perkins, C., Veizades, J., and Day, M., RFC 2608, Service Location Protocol, Version 2, The Internet Society, June 1999.
Guttman, E., Perkins, C., and Kempf, J., RFC 2609, Service Templates and Service: Schemes, The Internet Society, June 1999.
Kempf, J. and Guttman, E., RFC 2614, An API for Service Location, The Internet Society, June 1999.
Veizades, J., Guttman, E., Perkins, C., and Kaplan, S., RFC 2165, Service Location Protocol, Network Working Group, 1997.