How the Novell Client uses the IP/IPX protocols, and when.

(Last modified: 21Jul2003)

This document (10057730) is provided subject to the disclaimer at the end of this document.

goal

How the Novell Client uses the IP/IPX protocols, and when.

fact

Novell Client 3.21 for Windows 95/98

Novell Client 3.2 for Windows 95/98

Novell Client 4.8 for Windows NT/2000

Novell Client 4.71 for Windows NT/2000

Novell Client 4.7 for Windows NT/2000

Novell Client 4.81 for Windows NT/2000

Novell Client 4.82 for Windows XP

Novell Client 4.83 for Windows NT/2000/XP

Novell Client 4.9 for Windows NT/2000/XP

symptom

This document is intended to help administrators further understand how Novell's Client for Windows uses the IP/IPX protocols and what determines which protocol or underlying Name Space Provider/Resolver is used. Administrators should already be familiar with the contents of TID 10018391 before reading this document to avoid confusion about new concepts and terms.

fix

Introduction
The newer Novell Clients can communicate with a NetWare Server using TCP, UDP, or IPX. The bulk of the Novell Client traffic to a NetWare Server will usethe NetWare Core Protocol (NCP) format. This is similar in function to the Microsoft SMB or RPC protocol used to communicate between Windows devices (Windows for Workgroups 3.11, Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, etc...). However before NCP requests can be sent to a NetWare Server, the Client must locate a NetWare server and connect to it. This is the role of the Name Space Provider/Resolvers (NSPs). They locate the physical address (IPX or IP) of the NetWare Server given some sort of search criteria/rules. The search criteria could be a server name, tree name, DNS name, or restrictions about what type of NSP services are allowed (i.e. SAP will look for types 0004 and 0278; SLP will look for bindery.novell and ndap.novell services). Once the NSP has located an IP or IPX address for the desired NetWare Server, then the Novell Client will connect to it and access resources from it.

Name Cache
When the Novell Client first receives a service name to resolve, it initially checks an internal cache to see if it has previously resolved the name (if the name cache is enabled). If it finds an entry in cache, then the address or addresses from cache are returned to the application process that asked for them. The 95/98 and NT/2000/XP clients have different levels of control on how persistent this name cache information can be set to be.

The NT/2000/XP Client has the setting for "Server Cache Timeout" listed under the Advanced Settings tab of the Novell Client for Windows NT/2000/XP Properties dialog. It defaults to 21 days, but can be configured to be between 0 and 60 days (0 means to disable the cache completely). This parameter is stored in the following registry key:
key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetWareWorkstation\Parameters

[Dword] Value:
ServerCacheTimeout= 0x00000015 (21)

The actual server cache is stored in the registry for Windows NT/2000 in the following registry key:
HKEY_LOCAL_MACHINE\SOFWARE\Novell\NetWareWorkstation\ServerCache

Each Cache entry here includes the following elements:

 RemoteAddress - contains the IP, TCP, and UDP addresses discovered for the ServerName.

 ServerName - name of the service, usually the NetWare Server name (i.e. NDS1).

 Timestamp - time/date this information was last referenced, used in conjunction with the ServerCacheTimeout to determine when this entry should be automatically deleted.

The server name cache is persistent only as long as the workstation address does not change. That is, unless the workstation has been assigned a static IP address or, if using a DHCP assigned address, as long as the machine is not rebooted. The Client will flush the server name cache every time the workstation address changes.

The Windows 95/98 Client uses the Name Cache Level parameter that can be set in the Advanced Settings tab on the Novell NetWare Client Properties. The Name Cache Level setting has the following possible values:

0 = Server Name Cache disabled (not stored in memory or a file)
1 = Server Name Cache enabled (stored only in memory)
2 = Server Name Cache enabled with persistence (stored in memory and a file that will be read into cache during a reboot)

If Name Cache level is set to 2, then the service names and addresses will be written to the C:\NOVELL\CLIENT32\C32NMCAC.CAC file. This file is stored in a binary format, but the service names are visible in clear text if you attempt to open it into Notepad or other word processor. The addresses associated with the service names are NOT visible in clear text within Notepad, and Novell does not provide any type of utility at this time to read the contents of this file.

Preferred Protocol
If both IP and IPX were installed on a client machine, then the client has a setting known as Preferred Protocol that can partially control whether the Novell Client will communicate over IP or IPX to a NetWare server.

This setting is called "Preferred Network Protocol" for the Novell Client for Windows NT/2000/XP and is visible on the Protocol Preferences tab under the Novell Client for Windows NT/2000/XP Properties. This GUI control changes the following registry key:

Key:
HKEY_LOCAL_MACHINE\SOFTWARE\Novell\NetWareWorkstation\Policies\Network

Value:
[Dword] Preferred (Possible values = 2 [IP], 6 [IPX], 0 [None preferred])
Key:

This setting is called "Protocol order" for the Novell Client for Windows 95/98 and is visible on the Protocol Preferences tab under the Novell NetWare Properties. This GUI control changes the following registry key:

HKEY_LOCAL_MACHINE\Network\Novell\System Config\NetWare DOS Requester\Transport Order

Value:
[String] 0 (Possible values = "IP,IPX", "IP", "IPX", "IPX,IP")

The Preferred Protocol setting is used to determine what protocol should be used to connect to a service if both IP and IPX are available. One thing to note here is that IF the Server Cache only contains ONE of the protocol type addresses, then when the NSP checks cache they will accept this address even if it is NOT the Preferred Prototocol. The reason why is that not every NetWare Server is going to have both an IP and an IPX address that can be used to communicate via NCP (i.e. NW4.11 only supports NCP over IPX). This is best understood by the studying the following example.

Example:
 Action:
 Trying to connect the NetWare server named NDS_Master by mapping a drive to \\NDS_Master\sys.

 Client Configuration:
 The Preferred Protocol is IP
 There is an entry in the Server Cache for the IPX Address ONLY (no IP address).

 Result:
 You will get connected to the server over IPX and NOT IP because when the Client checked the cache it found only the IPX address so there was never an opportunity to "prefer" IP because there was no IP address there.

This is typically not a problem, since, as noted above, the server cache is flushed every time the workstation address changes (including a reboot, unless using static IP addresses). In the event this becomes a problem, simply flush the server name cache by entering the following commands in a Command Prompt:
ipconfig /release
ipconfig /renew

Name Space Providers
The Name Space Providers (NSPs) are often called the name resolvers because their purpose is to take some service/server name and resolve it to an address the client can use to communicate with on the network. For Microsoft 95/98/NT, WINS and DNS are examples of name resolvers that the Microsoft Workstation/Server/Browser services can use to map a NetBios name to an IP, IPX, or NetBEUI address. This document only lists each NSP briefly without a detailed explanation. For details on exactly what NSPs the Novell Client can use, see TID 10018391.

NSPs available on IP (UDP/TCP)
 SLP
 DNS
 NDS (only available once the client has connected to a NetWare server running NDS)
 HOST/NWHOST file
 DHCP

NSPs available on IPX
 Bindery
 SAP
 NDS (only available once the client has connected to a NetWare server running NDS)

As noted above, the NDS NSP can only be used once you are already connected to a server that supports the Novell Directory Service. Unless you have a connection to an NDS server, then the Novell Client has no idea who to direct the NDS query to (similar to picking up a telephone and expecting someone to already be listening on the other end and ready to answer a question about about a product/service).

This means that for an IP-only environment (IPX is NOT routed between the Workstation and the NetWare servers) you must plan for the Novell Client to connect to the first NetWare server using the SLP, DNS, HOST/NWHOST file, or DHCP NSP methods.

The Novell Client for Windows NT/2000/XP allows you to selectively disable/enable the different NSPs. This is visible in the Protocol Preferences tab of the Novell Client for Windows NT/2000/XP Properties. You must first select which protocol (IP or IPX) you wish to configure and then select/deselect the NSPs listed in the "Protocol component settings" dialog. This information is stored in the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Novell\NetWareWorkstation\Policies\Network\IP\Address Resolution Providers\Configured

Possible registry values stored in this key are:
2 (NDS)
5 (SLP)
6 (DHCP NDS)
11 (Host File)
12 (DNS)

HKEY_LOCAL_MACHINE\SOFTWARE\Novell\NetWareWorkstation\Policies\Network\IPX\Address Resolution Providers\Configured

Possible registry values stored in this key are:
1 (SAP)
2 (NDS)
4 (Bindery)

The Novell Client for Windows 95/98 allows you both to selectively enable/disable these NSPs, but also allows you to change the order in which they are used (NT/2000 will query the NSPs asynchronously so there is no "order" to how they are checked). These controls are visible in the Protocol Preferences tab of the Novell NetWare Client Properties. You must first select which protocol (IP or IPX) you wish to configure and then "Add" or "Remove" the NSPs listed in the "Name Resolution Order" dialog. These settings are stored in the following registry keys:

Key:
HKLM\Network\Novell\System Config\NetWare DOS Requester\Name Resolving Order

Value:
[string] 0

document

Document Title: How the Novell Client uses the IP/IPX protocols, and when.
Document ID: 10057730
Solution ID: NOVL29676
Creation Date: 17Oct2000
Modified Date: 21Jul2003
Novell Product Class:NetWare

disclaimer

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.