NetBIOS Over TCP/IP

Microsoft Windows, in its default state, uses TCP/IP, and NetBIOS Over TCP/IP, for networking. Sometimes, we forget this detail. NetBT is so easily overlooked, yet it is essential.

If we are looking at the output from "ipconfig /all", and we see


IP Address. . . . . . . . . . . . : 192.168.1.50
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.1.11
192.168.1.33
NetBIOS over Tcpip. . . . . . . . : Disabled
Lease Obtained. . . . . . . . . . : Wednesday, April 16, 2003 11:19:12
Lease Expires . . . . . . . . . . : Wednesday, April 23, 2003 11:19:12


Obviously, we're going to correct that. But what if we simply see

IP Address. . . . . . . . . . . . : 192.168.1.50
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.1.11
192.168.1.33
Lease Obtained. . . . . . . . . . : Wednesday, April 16, 2003 11:19:12
Lease Expires . . . . . . . . . . : Wednesday, April 23, 2003 11:19:12

Do we see any problem there? Probably not. Look in the TCP/IP - Advanced Properties wizard, WINS tab. There are 3 possible settings for NetBIOS Over TCP/IP
  • Default.
  • Enable.
  • Disable.

The last setting, Disable, becomes apparent when we see the first example above. But what if if we see the second example above? Well, that display can result from either the "Default", or the "Enable" setting. If it's not showing Disabled, it could be either.

The Default setting, according to the wizard, is for

Use NetBIOS setting from the DHCP server.

If your LAN
  • Has a domain.
  • Has computers running only Windows 2000, Windows 2002 (aka Windows XP), and Windows 2003 (aka Server 2003).
  • Uses DNS, properly setup, for name resolution.
then you may wish to disable NetBT, and use directly hosted SMBs.

But what if your LAN has a NAT router providing DHCP services, and / or has no domain? NAT routers are Operating System independent, and NetBT is a Microsoft Windows Networking feature. NAT routers have no setting for NetBIOS Over TCP/IP. If you select "Default", and you have a NAT router, what network functionality do you get?

The challenge is that this one setting affects multiple functions between your computer, and other computers, in both directions.
  1. Browsing: Ability to see other computers.
  2. File sharing: Ability to access resources on other computers.
  3. Name resolution: Ability to find out the addresses of other computers.


Depending upon what network hardware and software you have, any or all of the above functions may or may not work, in either direction (incoming or outgoing), between any pair of computers. And each different pair of computers may yield a different set of symptoms. If you have a NAT router providing DHCP services, the only way to deal with this reliably is to Enable NetBT consistently, on all computers.

In the TCP/IP - Advanced Properties - WINS wizard for all relevant network connections,

  • Select the radio button "Enable NetBIOS over TCP/IP".
  • Hit OK 3 times.
  • Close Network Connections, after enabling NetBT on all relevant network connections.

If you still see

NetBIOS over Tcpip. . . . . . . . : Disabled
after Enabling NetBT, check the TCP/IP NetBIOS Helper service.

Be safe - don't settle for "Default".

>> Top

9 comments:

Julian said...

Hi!
Well, I like this article, it's quite complete. But I have a big trouble with Windows 2000. I enabled the NetBIOS over TCP, but when I ran "ipconfig /all" it said "NetBIOS over Tcpip. . : Disabled"

I restart the server but the message of the ipconfig is the same.

I think, you could put some info on how to repair NetBIOS, that would be grate!

thanks! execellent blog

Chuck said...

Julian,

NetBT is pretty simple. It requires the TCP/IP NetBIOS Helper service.

Hans said...

i enabled the netbios in the settings and i have the helper service on... but it still says Disabled when i do ipconfig /all ...

anything i missed ??

Chuck said...

Hans,

I'd check all network components and services. Then look for a misbehaving personal firewall, and finally consider LSP / Winsock / TCP/IP corruption.

ehgoodrich said...

I've enjoyed reading through all of your blog but was particularly interested in this article since I've always wondered about the answer to the question you posed midway through:
"If you select "Default", and you have a NAT router, what network functionality do you get?"
Unfortunately, you never really answered it. Do you know what happens, for instance with a basic Linksys router, if you select "Use NETBIOS setting from DHCP server"?

Also, is there another way to test whether NetBT is Enabled, since your 2nd example of ipconfig/all doesn't show us??

Thanx again,
emmette

Chuck said...

Hi Emmette,

Thanks for the comments. You are asking a couple questions that I have been asking for a while, and so far found no official word from Microsoft.

The first question is purely rhetorical. NAT routers are concerned with only routing IP traffic. NetBT traffic is local to the LAN, and stays with the switch. Thus a DHCP server on a NAT router isn't going to have any concept of NetBT.

You have to have a dedicated DHCP server to have a NetBT setting provided. If NetBT is set to "Default", and the computer gets a DHCP setting from a NAT router, the result is undefined.

Apparently, if the ipconfig log doesn't say "NetBT disabled", then NetBT is enabled. You can check the current setting from the "net config" logs.

Dick said...

Hi,

Looks like I have the same problem as Julian above, but on W2003 server.
Netbios is enabled, the TCPIP helper service is running, nevertheless when I run netconfig /all I see netbios is disabled.

What can I do??

Thx
Dick

Chuck said...

Dick,

This is a lot easier to diagnose in an online forum, like my forum Nitecruzr Dot Net - Networking. Please head there for diagnosis.

Arie said...

This article was perfect and solved my problems - I don't know what happened on our network or why I may have been the only one affected, but simply changing the setting from Default to Enable worked perfectly. Thanks a ton for your help!