WinNT 4.0 SP2 Multi-Homed Computer Connection Enhancement

Last reviewed: November 14, 1997
Article ID: Q161425
The information in this article applies to:
  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows NT Server version 4.0

SYMPTOMS

When one of the network interfaces on a multi-homed computer is out of service, it is impossible to establish a NetBIOS-over-TCP/IP connection to the multi-homed computer.

CAUSE

NetBIOS over TCP (NetBT) only binds to one IP address per physical network interface. From the NetBT viewpoint, a computer is multi-homed only when it has more than one network interface card (NIC) installed. When a name registration packet is sent from a multi-homed computer, it is flagged as a multi-homed name registration so that it will not conflict with the same name being registered by another interface in the same computer.

If a broadcast name query is received by a multi-homed computer, all NetBT/interface bindings receiving the query will respond with their addresses, and by default the client will choose the first response and connect to the address supplied by it. This behavior can be controlled by the RandomAdapter registry parameter.

When a directed name query is sent to a Windows Internet Name Service (WINS) server, the WINS server responds with a list of all IP addresses that were registered with WINS by the multi-homed computer.

Choosing the best IP address to connect to on a multi-homed computer is a client function. The following algorithm is employed, in the order listed:

  • If one of the IP addresses in the name query response list is on the same logical subnet as the calling binding of NetBT on the local computer, then that address is selected. If more than one of the addresses meets this criteria, one is picked at random from those that match.
  • If one of the IP addresses in the list is on the same logical subnet as any binding of NetBT on the local computer, then that address is selected. If more than one of the addresses meets this criteria, one of these is picked at random.
  • If none of the IP addresses in the list is on the same subnet as any binding of NetBT on the local computer, then an address is selected at random from the list.

This algorithm provides a reasonably good way of balancing connections to a server across multiple NICs, while still favoring direct connections when they are available.

However, with computers running versions of Windows NT 4.0 prior to Windows NT 4.0 Service Pack 2 (SP2), if the IP address chosen from the list does not respond, the connection attempt will fail. In some cases (specifically, the ones listed above where an address was selected at random), a second or third attempt to connect the resource may succeed; however, the user or application may receive an error and the retries may need to be instigated manually.

RESOLUTION

Windows NT 4.0 SP2 includes an enhancement to NetBT. NetBT still uses the algorithm listed above to choose a "best" IP address to connect to on a multi-homed computer; however, now it retains the list of addresses and orders them by preference. It then attempts to "ping" each of the addresses in the list in order, until one of them responds. Two ping attempts are made for each address, with a two-second wait for a response after each attempt. If there is a successful response to one of the pings, then a TCP connection and NetBIOS session are established to that address. If none of the addresses respond to the ping attempts, then NetBT will revert to the "old" behavior, and attempt to establish a TCP connection to the "best" address in the list.

In addition, if a session is already in existence and the network interface responsible for the session on the multi-homed computer fails, the failure will be detected and a new session will be established over one of the working interfaces, provided that one exists. The status of open files may not be preserved, as file handles will be invalidated when the old session is deleted.

NOTE: This feature is specific to NetBT sessions, and does not apply to

      TCP connections used by other higher-level protocols or interfaces,
      such as Windows Sockets.

STATUS

Windows NT 4.0 Service Pack 2 includes an enhancement to NetBT that improves the ability to connect to multi-homed computers even when one or more of the network interfaces are disabled. There are currently no plans to "port" this enhancement back to prior versions of Windows NT.


Additional query words: multihomed
Keywords : NTPROTOCOL NTSrvWkst kbnetwork
Version : 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: November 14, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.