Article ID: 166159 - Last Review: July 19, 2007 - Revision: 4.2 Delay in NetBIOS connections from a multi-homed computerThis article was previously published under Q166159 Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base: 256986
(http://support.microsoft.com/kb/256986/
)
Description of the Microsoft Windows registry On This PageSYMPTOMS
When you use a multi-homed computer to connect to another computer, and the multi-homed computer is running one of the versions of Microsoft Windows that is referred to in the "Applies to" section, there may be a delay in establishing the connection. CAUSEThis problem occurs because, by default, the Windows redirector uses the following logic to establish a NetBIOS session:
If your multi-homed computer is on two networks that are connected by a router, and if the computer that you want to connect to is on only one of those networks, there are two paths to the target system. If the connection succeeds on both paths, the redirector chooses the primary transport as the preferred path. For example, the redirector may choose the local source IP address that is associated with that binding of NetBIOS over TCP/IP (NetBT) as the preferred path. The redirector cancels the remaining connection. Because of this choice, the packets that are sent from the multi-homed computer may be internally routed to the directly connected subnet, and the packets that the target system sends in response traverse the router. This scenario can be confusing to troubleshoot. RESOLUTIONWarning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk. A newer Windows redirector is available. You can configure this redirector to accept the first transport to complete a connection and immediately cancel the connections on the other transports. A newer version of NetBT that supports better handling of multiple calls and cancels is also available. To take advantage of this improvement, you must add a registry parameter. To configure the registry parameter to correct the issue that is referred to in this article, start Registry Editor, locate the appropriate subkey by using the information below, and then add the registry value. Microsoft Windows NT 4.0Use the following registry subkey and value:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters Note Setting this value to 1 (one) causes the redirector to accept the first
transport to complete a connection instead of waiting for success or failure
on the primary transport.Value name: IgnoreBindingOrder Value type: REG_DWORD (Boolean) Value data range: 0, 1 (False, True) Default value: 0 (False) Value: 1 Microsoft Windows Server 2003, Microsoft Windows XP, and Microsoft Windows 2000Use the following registry subkey and value:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MrxSmb\Parameters Value name: IgnoreBindingOrder Value type: REG_DWORD (Boolean) Value data range: 0, 1 (False, True) Default value: 1 (True) Value: 1 STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. MORE INFORMATIONTCP Connections to and from Multi-homed ComputersIf the connection is a NetBIOS-based connection that uses the redirector, little routing information is available at the application level. The NetBIOS interface supports connections over various protocols and has no knowledge of IP. Instead, the redirector places calls on all the transports that are bound to it. If there are two interfaces in the computer and one protocol is installed, there are two transports that are available to the redirector. Calls are placed on both transports. NetBT submits connection requests to the stack by using an IP address from each interface. Both calls may succeed. If so, the redirector cancels one of them. The choice of which one to cancel depends upon the redirector IgnoreBindingOrder registry value. If the registry value is 0, the primary transport, which is determined by binding order, is the preferred one. The redirector waits for the primary transport to time out before accepting the connection on the secondary transport. If this value is 1, the binding order is ignored. The redirector accepts the first connection that succeeds and cancels the others.Note Microsoft TechNet documentation references the wrong registry subkey (ObeyBindingOrder) on the following Microsoft Web site: http://technet.microsoft.com/en-us/library/cc780776.aspx
(http://technet.microsoft.com/en-us/library/cc780776.aspx)
This problem does not apply to Windows Sockets-based connections such as Web browsers make.
This behavior only occurs on NetBIOS over TCP/IP sessions such as file and print sharing. When a Windows Sockets program makes a connection from a multi-homed host,
the best local source address is automatically selected by using the route
table. This selection occurs unless the program is specifically set to select a local IP
address to use in the bind() call.For more information about how to select an outbound network adapter, click the following article number to view the article in the Microsoft Knowledge Base: 175396
(http://support.microsoft.com/kb/175396/
)
Windows Socket connection from a multiple-homed computer
APPLIES TO
| Article Translations
|
Back to the top
