Novell Service Location Providers; User Agents; C.2.2 User Agents - Novell EDIRECTORY 8.8 SP3 - ADMINISTRATION Administration Manual

Hide thumbs Also See for EDIRECTORY 8.8 SP3 - ADMINISTRATION:
Table of Contents

Advertisement

The directory agent's job is to provide a long-term persistent cache for advertised services, and to
provide a point of access for user agents to look up services. As a cache, the DA listens for SAs to
advertise new services, and caches those notifications. Over a short time, a DA's cache will become
more complete. Directory agents use an expiration algorithm to expire cache entries. When a
directory agent comes up, it reads its cache from persistent storage (generally a hard drive), and then
begins to expire entries according to the algorithm. When a new DA comes up, or when a cache has
been deleted, the DA detects this condition and sends out a special notification to all listening SAs to
dump their local databases so the DA can quickly build its cache.
In the absence of any directory agents, the UA will resort to a general multicast query that SAs can
respond to, building a list of the requested services in much the same manner that DAs use to build
their cache. The list of services returned by such a query is an incomplete and much more localized
list than that provided by a DA, especially in the presence of multicast filtering, which is done by
many network administrators, limiting broadcasts and multicasts to only the local subnet.
In summary, everything hinges on the directory agent that a user agent finds for a given scope.
C.2.1 Novell Service Location Providers
The Novell version of SLP takes certain liberties with the SLP standard in order to provide a more
robust service advertising environment, but it does so at the expense of some scalability.
For example, in order to improve scalability for a service advertising framework, we want to limit
the number of packets that are broadcast or multicast on a subnet. The SLP specification manages
this by imposing restrictions on service agents and user agents regarding directory agent queries.
The first directory agent discovered that services the desired scope is the one that a service agent
(and consequently, local user agents) will use for all future requests on that scope.
The Novell SLP implementation actually scans all of the directory agents it knows about looking for
query information. It assumes a 300-millisecond round trip time is too long, so it can scan 10 servers
in about 3 to 5 seconds. This doesn't need to be done if SLP is configured correctly on the network,
and OpenSLP assumes the network is in fact configured correctly for SLP traffic. OpenSLP's
response timeout values are greater than that of Novell's SLP service provider, and it limits the
number of directory agents to the first one that responds, whether or not that agent's information is
accurate and complete.

C.2.2 User Agents

A user agent takes the physical form of a static or dynamic library that is linked into an application.
It allows the application to query for SLP services.
User agents follow an algorithm to obtain the address of a directory agent to which queries will be
sent. Once they obtain a DA address for a specified scope, they continue to use that address for that
scope until it no longer responds, at which time they obtain another DA address for that scope. User
agents locate a directory agent address for a specified scope by:
1. Checking to see if the socket handle on the current request is connected to a DA for the
specified scope. (If the request happens to be a multipart request, there may already be a cached
connection present on the request.)
2. Checking its local known DA cache for a DA matching the specified scope.
3. Checking with the local SA for a DA with the specified scope (and adding new addresses to the
cache).
616 Novell eDirectory 8.8 Administration Guide

Advertisement

Table of Contents
loading

Table of Contents