SLP user agent Service Location Protocol (SLP) SLP directory agent

The Service Location Protocol (SLP) user agent (UA) is a process working on the behalf of the user to establish contact with some network service. The UA retrieves service information from the service agents or directory agents.

The UA is a component of SLP that is closely associated with a client application or a user who is searching for the location of one or more services on the network. You can use the SLP UA by defining a service type that you want the SLP UA to locate. The SLP UA then retrieves a set of discovered services, including their service Uniform Resource Locator (URL) and any service attributes. You can then use the service's URL to connect to the service.

The SLP UA locates the registered services, based on a general description of the services that the user or client application has specified. This description usually consists of a service type, and any service attributes, which are matched against the service URLs registered in the SLP service agents.

The SLP UA usually runs in the same process as the client application, although it is not necessary to do so. The SLP UA processes find requests by sending out multicast messages to the network and targeting all SLP SAs within the multicast range with a single User Datagram Protocol (UDP) message. The SLP UA is, therefore, able to discover these SAs with a minimum of network overhead. When an SA receives a service request, it compares its own registered services with the requested service type and any service attributes, if specified, and returns matches to the UA using a unicast reply message. The SLP UA follows the multicast convergence algorithm, and sends out repeated multicast messages until no new replies are received. The resulting set of discovered services, including their service URL and any service attributes, are returned to the client application or user. The client application or user is then responsible for contacting the individual services, as needed, using the service's URL.

Figure 10 shows the interactions of a SLP UA in an environment without SLP device agents (DAs).

Figure 10. Interactions of an SLP UA in an environment without SLP DAs
Interactions of an SLP UA in an environment without SLP DAs

A SLP UA is not required to discover all matching services that exist on the network, but only enough of them to provide useful results. This restriction is mainly due to the transmission size limits for UDP packets, which could be exceeded when there are many registered services or when the registered services have lengthy URLs or a large number of attributes. However, in most modern SLP implementations, the UAs are able to recognize truncated service replies and establish TCP connections to retrieve all of the information of the registered services. With this type of UA and SA implementation, the only exposure that remains is when there are too many SAs within the multicast range, which could cut short the multicast convergence mechanism. This exposure can be mitigated by the SLP administrator by setting up one or more SLP DAs.

Related topics Service Location Protocol (SLP) SLP directory agent

(C) Copyright International Business Machines Corporation 2004