Connecting to NetBIOS Resources Using DNS Names or IP Addresses

Last reviewed: October 28, 1997
Article ID: Q161431
The information in this article applies to:
  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows NT Server version 4.0

SUMMARY

Windows NT 4.0 lets you use a Domain Name System (DNS) to resolve a computername to an IP address for Windows networking functions, or to connect directly to an IP address without knowing the NetBIOS name. Some examples are:

   net use * \\ftp.microsoft.com\data
   net view \\10.57.8.191

When using this new functionality, it is still necessary for the calling computer to know one of the NetBIOS names that is registered on the remote computer. There are currently three ways of finding a valid NetBIOS name to connect to on the target computer:
  • If a Fully Qualified Domain Name (FQDN) was entered, try a NetBIOS session setup to the hostname portion. For example, if "net use \\host1.domain1.com\share" was entered, a NetBIOS session setup to the name "host1" can be tried.
  • Try a NetBIOS session setup to the new "*SMBSERVER" name that recent implementations support.
  • Issue a NetBIOS adapter status request to the destination IP address, and then parse the returned name table for the name registered by the server service (<computername>[0x20]).

MORE INFORMATION

NetBIOS sessions are established between two NetBIOS names. A session setup involves the following phases:

1) NetBIOS name resolution (via a name server, broadcast, or static file)

   NetBIOS name query request -->
                              <--  NetBIOS name query response


2) A TCP connection is established:

   SYN  -->
        <--  SYN-ACK
   ACK  -->


3) A NetBIOS session is set up over that connection:

   NetBIOS session setup request -->
                                 <--  NetBIOS session setup response


When using a DNS to resolve names, or when connecting directly to an IP address, there is no assurance that the NetBIOS name for the called system is known.

The DNS (host) name is not necessarily the same as the NetBIOS name (and in many cases the DNS name is actually an alias for any number of different computers). This means that the NetBIOS name must be verified before a session can be set up.

Windows NT 4.0 computers use the following methods:

  • Attempt to setup a session to the newly supported "*SMBSERVER " NetBIOS name

    -or, if that fails-

  • Send a NetBIOS adapter status request to the called IP address, and obtain the list of NetBIOS names registered for that adapter.

If a Fully Qualified Domain Name was specified, such as "net use \\host1.domain1.com\share": (see Q137565 for more details)
  • Attempt to setup a NetBIOS session to the hostname (host1)

    -or, if that fails-

  • Send a NetBIOS adapter status request to the called IP address, and obtain the list of NetBIOS names registered for that adapter.

For more information on this, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q137565
   TITLE     : System Error 53 When Connecting to a FQDN

The NetBIOS adapter status response contains the name table for the computer queried. It is parsed for the name registered by the server service (shown below), and then a TCP connection and NetBIOS session can be established.

RFC1002 states:

   NBNS can (optionally) ensure that the node is actually down by sending a
   NODE STATUS REQUEST. If such a request is sent, and no response is
   received, it can be assumed that the node is down.

In order to establish a connection from a Windows NT 4.0 computer to another computer using DNS name resolution, the remote computer must either support NetBIOS sessions to the special case *SMBSERVER name, or respond properly to an adapter status request. You can use the Windows NT "nbtstat -A <ipaddr>" command to test this. A sample is shown here:

D:\>nbtstat -A 10.57.9.147

       NetBIOS Remote Machine Name Table

   Name               Type         Status
<ServerName>   <1F>  UNIQUE      Registered
<ServerName>   <00>  UNIQUE      Registered
<ServerName>   <00>  GROUP       Registered
<ServerName>   <03>  UNIQUE      Registered
<ServerName>   <20>  UNIQUE      Registered   <--- The server service name
<ServerName>   <1E>  GROUP       Registered

MAC Address = 00-80-5F-50-E3-CC


Additional query words: 4.00
Keywords : NTSrvWkst nttcp kbnetwork
Version : WinNT:4.0
Platform : winnt


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: October 28, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.