Windows NT DNR Does Not Cache Short Names

Last reviewed: March 6, 1998
Article ID: Q173941
The information in this article applies to:
  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows NT Server version 4.0

SYMPTOMS

When a Windows NT sockets application attempts to resolve a name using Gethostbyname(), your client computer may experience several time-outs if the Domain Name Service (DNS) server is unavailable. These time-outs may last several minutes as your client fails DNS resolution and then tries to use Windows Internet Name Service (WINS) or broadcast methods to successfully resolve the name.

NOTE: These time-outs occur repeatedly during the operation of Microsoft Exchange Server, because the client continues to attempt name resolution during various operations.

CAUSE

Windows NT clients are not properly caching "short names" that have been resolved successfully by the DNS Server.

RESOLUTION

To resolve this problem, use one of the methods below:

  • Obtain the following fix:

    This fix should have the following time stamp:

          06/17/97  08:13 PM              38,160 Rnr20.dll (Intel)
          06/17/97  08:13 PM              20,240 Wsock32.dll (Intel)
    
          06/17/97  07:13 PM              62,736 Rnr20.dll (Alpha)
          06/17/97  07:13 PM              24, 848 Wsock32.dll (Alpha)
    
       -or-
    
    
  • Edit the ServiceProvider priority so that WINS is used first. NetBIOS over TCP/IP (NetBT) fails quickly if WINS servers are unavailable.

    For additional information, please see the following articles in the Microsoft Knowledge Base:

          ARTICLE-ID: Q171567
    
          TITLE     : Windows NT 4.0 ServiceProvider Priority Values Not
                      Applied
    
          ARTICLE-ID: Q139270
          TITLE     : How to Change Name Resolution Order on Windows 95
                      and Windows NT
    
       -or-
    
    
  • Wait for the next Windows NT service pack.

STATUS

Microsoft has confirmed this to be a problem in Windows NT version 4.0. A supported fix is now available, but has not been fully regression-tested and should be applied only to systems experiencing this specific problem. Unless you are severely impacted by this specific problem, Microsoft recommends that you wait for the next Service Pack that contains this fix. Contact Microsoft Technical Support for more information.

MORE INFORMATION

Your Windows NT Domain Name Resolver (DNR) should be caching the DNS name for the time-to-live (TTL) provided by the DNS server. This caching assists with the time-outs by allowing the client to use cached names that have been resolved successfully. Repeated queries and the resulting time-outs will not occur until the name's TTL assigned by the DNS server has expired.

If a Windows NT sockets application attempts to resolve a name, the caching is only done for fully qualified domain names (FQDNs). "Short names," or names such as Host instead of host.domain.com, are not cached.

Winsock, the files that provide Windows Sockets to applications, has been modified so that short names are cached. This is done on a per-process basis. For example, when a Microsoft Exchange client is initialized and name resolution is performed through Winsock to the DNS server, two queries are observed. One query is performed in the Exchange process; the other query is performed on behalf of the MAPI spooler process. Subsequent Gethostbyname() requests made by a process are serviced from the cache. The entry will remain in cache for the TTL provided in the name query response.

Keywords          : kbbug4.00 kbfix4.00 ntnetserv NTSrvWkst nttcp kbnetwork
Version           : WinNT:4.0
Platform          : winnt
Issue type        : kbbug
Solution Type     : kbfix


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 6, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.