The point of interface between SLP and NDS is the SLP Directory agent. The Directory agent is a common data storage of network service information collected through SLP. The Directory agent uses NDS as its database for network service information that is distributed globally. NDS adds significant value to SLP by leveraging existing NDS standards for configuring NDS tree structures, for a central point of administration, and for the ability of NDS to replicate service information.NDS replication services allow Directory agent-to-Directory agent communication. This is unique in SLP implementations and it facilitates global distribution of SLP database information. NDS replica services give the Directory agent the ability to access global services from a local replica. The Directory agent is responsible for processing the following SLP protocol messages:
These SLP protocol messages either enter, delete, or query information in the Directory agent’s service database.
A Service agent forwards all known services to the Directory agent using a service register request. The register contains the URL, attributes, language indicator, and a time to live (lifetime). The service registration occurs when attributes are being updated or modified and once every lifetime period.
A Service agent sends a service deregister request to the Directory agent when the service is no longer available.
A User agent sends a service request to the Directory agent when it is looking for services. The Directory agent returns only those services with a valid lifetime. The User agent might filter services by providing a predicate list. The Directory agent must filter services when the predicate list is supplied.
A user agent sends a service type request to the Directory agent when it is looking for all service types or all service types within a specific name authority.
A User agent sends an attribute request to the Directory agent either for a specific URL or for a group of URLs specified by the service type.
As mentioned previously, once the SLP service information has been stored in the NDS tree, the normal replication and distribution processing of NDS will guarantee its global accessibility. Only those Directory agents granted access rights to the Scope container object will have access to the SLP service information in that scope.To reduce bandwidth requirements on large networks, the NetWare SLP Directory agent doesn’t use IP multicast. In a small network, IP multicast is a viable technology that can be coupled with the SLP user and Service agents to provide acceptable discovery service. As the network expands, the IP multicast can cause some bandwidth reduction, as routers must forward the multicast packets to all registered nodes. To solve this problem, NetWare SLP Directory agents collect the information from local segments and then establish IP unicast relationships. Although the SLP RFC defines the Directory agent and its relationship to the user and Service agents, the specification doesn’t address the relationship among multiple Directory agents. A Directory Agent-to-Directory Agent protocol is mentioned in the specification, but the work has been left to a future version of the RFC. NDS, however, provides a solution. The NDS replicated database can provide authenticated and synchronized information across networks while preserving network bandwidth.