Address Resolution on the LAN

On a small LAN, with no DNS or WINS server, you'll use NetBIOS Over TCP for local name resolution. NetBT based name to address resolution is a pretty complex process, and a rather common cause of problems in Windows Networking.

To identify a possible problem on your LAN, start by running "ipconfig /all" in a command window, or in a Windows Vista command window. The value of NodeType will tell you if you have a problem with network based resolution. Remember to allow for local resolution too.

You might see output similar to this:


Windows IP Configuration

Host Name . . . . . . . . . . . . : MyComputer
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Broadcast

You might see any of 5 values for Node Type, and the various values will have varying effects on address resolution.


>> Top

Broadcast Node Type
For a small LAN with no name server, Broadcast, or B-node, makes the most sense. Broadcast simply resolves by broadcasting an address query to all computers on the subnet, then responds promptly with "name not found" if no response is received from the broadcast.

Note that Broadcast, and the variants of Broadcast (Hybrid / Mixed), depend upon packets broadcast over NetBIOS Over TCP (NetBT). Make sure that your DHCP server, if you have one, is setup to enable NetBT. If you're on a small LAN with a NAT router providing DHCP, make sure that NetBT is explictly Enabled on each computer, and make sure that all personal firewalls are properly configured for NetBT. Without NetBT, you'll need a DNS server, for name resolution.

Also note that the effect of NetBT Broadcast name resolution is much more pronounced on a large LAN with slow network speed, or with congestion. In a small LAN, with modern, high-speed components, the effects of NetBT broadcast will be minimal. For most small LANs, NetBT Broadcast is a perfectly acceptable method of name resolution.

>> Top

Hybrid Node Type
Node type Hybrid, or H-node, will work on a small LAN, but it may cause response issues. Hybrid queries the name server first, using directed NetBT, not broadcast NetBT. If there is no name server, the computer has to wait for the name server query to time out, before trying to resolve by Broadcast.

>> Top

Mixed Node Type
Node type Mixed, or M-node, will work on a small LAN, but it may cause response issues when trying to resolve invalid names. Mixed tries Broadcast first, then queries the name server if no response is received to the broadcast. If a computer with the desired name does not exist, the computer has to wait for the name server query to time out before responding with an error 53, "name not found".

>> Top

Peer-Peer Node Type
Node type "Peer-Peer", more appropriately called "Point-Point", is a problem on most small LANs. That means MyComputer requires a WINS server to resolve names. No WINS server means no name resolution, no access to its shared resources, and the dreaded "Name Not Found" error (among various symptoms).

Microsoft has documented (KB903267): a fix for this. You'll need to run the Registry Editor on MyComputer. You need to find the key [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \NetBT \Parameters], and delete these two values (which ever is there):

  • NodeType
  • DhcpNodeType

After restarting the computer, rerun IPConfig and examine the results.

>> Top

Unknown Node Type
An Unknown node type, if a WINS server is configured, will be treated as Hybrid. If you actually have a WINS server, then fine. If not, this could cause name resolution latency.

On a small LAN, with no WINS configuration, Node Type Unknown should not be a problem - Unknown will be treated as Broadcast. However, Microsoft has documented (KB310570): a fix for this, if seeing "Unknown" bothers you.

To resolve this issue, use Registry Editor (Regedit.exe) to locate the following key in the registry:
HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Netbt \Parameters
Change the value of the EnableProxy value in the preceding registry key to 0 or 1, quit Registry Editor, and then restart your computer.

The above fix simply says to change the value specified. Some people discover that their system has no registry entry for that value. If that's the situation you find yourself in, simply add a REG_DWORD value of that name, with value "0". Apparently, changing (or adding) that value forces the system to recalculate the correct value of NodeType.

>> Top

Changing The Node Type

There's no GUI applet to change Node Type. You'll have to use the Registry Editor, and change value [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \NetBT \Parameters \DHCPNodeType], or [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \NetBT \Parameters \NodeType] (which ever is there), or add [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \NetBT \Parameters \NodeType].

Value Node Type
1 Broadcast.
2 Peer-Peer.
4 Mixed.
8 Hybrid.


>> Top

The Total Picture

Microsoft, in Microsoft Windows NT Browser: Microsoft TCP/IP and Name Resolution, summarises the sequence of events involved in NetBT based name resolution.






(Click on either of the above 2 images for a larger view).

For more information, see:


>> Top

4 comments:

Dan said...

THANK YOU! This was driving me crazy - my Vista laptop could not access my XP computers by name - it just stopped working at some point - and I found the Vista PC was Peer-Peer. Never even knew what those node types were, or meant. A simple registry change as you described - Voila - Networking again!

anjinsan said...

After easily 40 hours of reviewing possible causes for this problem on other blogs & forums you've solved it. All other sites left me hanging. No final solutions. I knew it was an easy registry setting. A really big THANKS! I don't know how this setting got changed. My home network was working and then one day... I think this happened when there was a update to M$ ONE Care Antivirus. I can't believe this is such a big problem. It shouldn't be this difficult to resolve network issues. Thanks to M$ for no stinking support. Their products cost $150 to purchase and $10,000 in one's time to resolve issues. Every new M$ OS release has changes & bugs that prevent seamless integration with existing products. Then they stop support of previous releases and force the user into a cycle of dynamic obsolescence. There just losing business because I'll think long and hard before I upgrade their products anymore. Thanks again to PChuck's!!!

Morgan said...

Thank-You as well! I was working on a customer's computer, and for the life of me could not remember how to manually change the Node Type from Peer-Peer to "Unknown". Thanx for the location of that darn little reg value.

Dennis said...

Thanks!!!
I beat my head against this one quite a while. After I concluded it was a name resolution issue, I did a google search on "name resolution in LAN and found this article. It was exactly what I needed! Like anjinsan said, I do not know what caused things to go haywire after file and printer sharing on my small home network had been working smoothly for a couple of years.