Frequently Asked Questions (FAQ) about SLP
(Last modified: 09Sep2005)
This document (10025313) is provided subject to the disclaimer at the end of this document.
Frequently Asked Questions (FAQ) about SLP
1. What is the expected number of SLP registrations a typical NT Novell
4.7 client workstation will perform (if any) on startup, shutdown, and
on-going ? I.e., how often ?
A typical 95/98/NT client will not perform any SLP Service registrations. SLP Registrations are performed by the Server Agent module for services such as bindery.novell (NDS Login server) or ndap.novell (NDS Replica server). A typical 95/98/NT Client will not have any services to advertise, though the Novell Client for Windows 95/98 and NT do ship with a fully functional SA. This is why each client will issue an IGMP packet to notify any routers that they are a member of the 188.8.131.52 multicast group. The clients are ensuring that they will be able to receive any SA SLP Service multicasts (assuming multicast is enabled across the router) in the event they have the requested service. If for some reason the client was registering SLP Services, they would default to re-registering them every 3 hours (SLP Service Default Lifetime), whereas a NW5 server defaults to re-registering them every hour.
2. What is the expected number of SLP queries a typical NT Novell 4.7
client workstation will perform (if any) on startup, shutdown, and
on-going ? I.e., how often ?
This is really going to depend on their SLP configuration/design. By default there is no assigned DA or Scope and Dynamic Discovery is enabled. This means that there will be up to 5 multicast packets for the 184.108.40.206 DA Advertisement/Discovery address. If it finds a DA, then all requests from that point on will be unicast to the DA. If no DA is discovered/configured, then the SLP client goes into "SA mode" where all SLP Service and Attribute Requests are on the 220.127.116.11 multicast address (IGMP registered to by all SAs on the LAN).
Once either a DA has been discovered or the SLP Client has reverted to SA mode, then every time a new SLP Service is requested (i.e. if a login script tried to map a drive to MyFS1:SYS\PUBLIC, the client would hand the MyFS1 value to SLP to attempt to resolve within it's configured Scope), an SLP Service Request packet will be issued. If there are successful replies, it will then issue an SLP Attribute Request packet to read the server's network address(es) (IP and/or IPX).
So a typical SLP Service query using a DA will only take 4 packets for each DA the client discovers (will send to all DAs). If in SA mode, it will still only send out the one SLP Service Request packet, but there may be multiple replies followed by multiple SLP Service Attribute requests.
Once an SLP Service is discovered, it is cached for the amount of time specified in the SLP Cache Relies parameter. The next time SLP receives a request, it will check it's cache before attempting to locate the service on the network.
3. What is the expected number of SLP registrations a typical Novell 5.1
server will perform (if any) on startup, shutdown, and on-going ? I.e.,
how often ?
It will perform a registration for each of the services it needs to advertise. This is typically one for nwserver.novell and an ndap.novell for EACH replica the server holds (if there were 4 replicas on the server, there will be 4 different ndap.novell registrations). There are also other services such as srs.novell for the NDPS Broker (BROKER.NLM) or rconsole.novell for the Java Rconsole. So it depends on what is loaded on the server. Each of these services will default to having a lifetime of 1 hour (can change using the SET SLP SA DEFAULT LIFETIME parameter on each server advertising services). The SA will reregister the service so that it has a new 1 hour lifetime within 128 seconds of when it is going to expire. For details on the algorithm used in service reregistration see TID 2951567.
4. What is the expected number of SLP queries a typical Novell 5.1 server
will perform (if any) on startup, shutdown, and on-going ? I.e., how often?
This is once again dependent on how the Server is configured for SLP and the environment the server is in. If there is no DA assigned or dynamically located, then the SLP traffic can be very high when NDS attempts to build replica ring information via SLP (i.e. when the server first boots). If a DA is assigned, the traffic is much more minimal (the total number of packets will depend on how many partitions and replicas of each partition there is in the tree).
5. What is the average traffic of an SLP registration request/response,
assuming successful ?
SLP Service registration only occurs when a DA is present and discovered by SAs on the network. If there is no DA, then SLP does not register services, each SA becomes it's own island of information and only knows about services it holds and no one else's. If a DA is configured, the SLP registration is a 2 packet exchange between the SA and DA (req/rply).
The DA will do an unsolicited advertisement using the 18.104.22.168 multicast address every 3 hours by default. This can be configured using the SET SLP DA HEART BEAT TIME parameter. When the DA advertises it allows several SAs to "discover" it simultaneously and they will then register their services to it if they belong in the same Scope(s).
6. What is the average traffic an SLP query, assuming successful ?
assuming failed ?
If the SA has discovered a DA, the SA will typically send 2 Requests (with only 2 Replies) to get Service information. The first request if an SLP Service Req (do you have a Service object that meets this criteria), the second is an SLP Attribute Req (found the right service object, now I need to know some it's details). If there were multiple Service objects that match the search criteria, then there will be an SLP Attribute Req/Rply for each. If there are multiple DAs discovered by the SA, then this process is used against all of them simultaneously (good reason not to point your clients to more than 2-3 DAs).
If failed, then it depends on the application for a "fallback" method. When using a DA, SLP does not necessarily get creative about trying to find something that "sounds like" what was requested. The Novell client does perform some fallback methods for locating servers (i.e. find server X in this Scope, find server X in any Scope OR find nds tree X in this Scope, find nds tree X in any Scope)., but this is only used when trying to locate a server/tree through our client. This will not control how other applications will try to locate SLP services.
7. How much data does it require in the NDS SLP database to store each
registered name, attribute, etc ? I realize that attributes are probably
variable in size, so I am looking for data based on the sizes of the
typical attributes present for answers #1 and #3.
The "NDS SLP database" is directly stored in Novell's NDS database. All SLP Services are NDS objects. The SLP DA will also maintain a cache/table of the objects in Scope Units it services, but will update this when it is notified of a change in an SLP object via NDS synchronization. The size of the object varies between services. All of the Novell SLP objects I have seen are all less than 1K in size (most significantly less). Other 3rd party SLP Services could be larger/smaller depending on what attributes they hold and the sizes of these attributes.
8. Assuming no changes occur to a DA's database, how much traffic would be required to verify that 2 DA's are synchronized ?
DAs do not have some kind of special new synchronization method, they piggy-back on top of NDS synchronization. As long as both DAs have a replica of the Scope Unit object, then they monitor changes there and automatically apply them to the DA cache/table. Also the SLP Service objects have some great enhancement/design to them to minimize NDS traffic. Typically only the Default Lifetime attribute is synched (SAs default to re-register every hour, but this could be increased). Even if the server goes down and deregisters the SLP Service, it does not delete the object, but sets a flag on the SLP Service Object to mark it as invalid. The SLP DAs in the tree remove the entry from their cache/table, but it remains in NDS for the time being. The server would have to be down for 1-2 days before the object would be deleted from the tree during the nightly DA purge operation (only deleted if the timestamp on the Invalid flag is older than 24 hours).
9. To populate DA's at each of our remote sites (i.e., sites over WAN
links) with the same SLP database, would each site need to hold a replica
of the container that contains the SLP database entries ?
It is recommended VERY, VERY strongly that each DA hold a replica of the Scope Units it services. If you do not do this, it will default to expiring all SLP entries 1 hour after the Purge operation at night ( net effect that the DA does not hold any services at all). There are ways to change setting so this is not true, but we basically do not support using a DA without a replica of the Scope Units it is assigned to use.
10. Is the SLP DA database indexed ? I.e., is the DA response time to a
client SLP query directly proportional to the number of entries ?
The SLP DA cache is indexed. Given the empirical data gathered from Sniffer/LANalyzer traces, the DA replies immediately to all requests, even in large SLP environments. Remember that most SLP DA cache/tables will typically hold less than 1000 entries. It does not take much of an indexed table design to be able to quickly sort and search this information. Server response times to SLP queries will still be subject to load on the server and other factors.
12. What is the recommended maximum number of services per scope? It is recommended that there be no more than 10,000 services registered per scope.
12. What other documents can I read to better understand SLP and how to effectively implement it:
Frequently Asked Questions about SLP
SLP Terms and Configuration Reference
Configuring a LAN/WAN Infrastructure for SLP
Configuring SLP for a NetWare Client
Configuring SLP for a NetWare Server
SLP Design and Implementation Guidelines
Formerly TID 2951566
|Document Title:||Frequently Asked Questions (FAQ) about SLP|
|Novell Product Class:||Connectivity Products|
The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.