NetBT: NetBIOS over TCP/IP

Last Edited



, ,

NetBIOS over TCP/IP, or NetBT, is a protocol that allows NetBIOS services to be used over TCP/IP networks. In an increasingly connected world, understanding this protocol can be critical for maintaining legacy systems and interfacing them with modern network architectures.

Table of Contents:

  1. What is NetBT?
  2. The Role of NetBT Protocol
  3. How Does NetBT Work?
  4. NetBT and WINS
  5. NetBIOS over TCP/IP on Windows NT
  6. NetBT and Modern Windows Versions
  7. NetBIOS over TCP/IP in Non-Windows Systems
  8. Real-World Applications
  9. Frequently Asked Questions
  10. References
NetBT - NetBIOS over TCP/IP

1. What is NetBT?

NetBT is the NetBIOS session-layer protocol and application programming interfaces (APIs) running on top of the TCP/IP network protocol. NetBIOS over TCP/IP (NetBT) supports NetBIOS session and naming functions such as the discovery, resolution, and release of NetBIOS names on a TCP/IP network, which allows the NetBIOS interface and client/server protocol to be extended over wide area networks (WANs).

What is NetBIOS?

NetBIOS, or Network Basic Input/Output System, is an API that provides services related to OSI model’s session layer. Initially developed for IBM’s PC Network, NetBIOS became a cornerstone for early LAN technologies but was not designed for routing over large networks, including the Internet. See our NetBIOS main article.

2. The Role of NetBT Protocol

NetBT serves as a bridge that enables NetBIOS to function effectively over TCP/IP networks. By layering NetBIOS over TCP/IP, NetBT allows for:

  1. Name Discovery and Resolution: NetBT helps in the registration, resolution, and release of NetBIOS names over TCP/IP networks.
  2. Session Support: NetBT manages NetBIOS sessions over TCP/IP, thus extending the reach of client-server communications over wide area networks (WANs) and even the Internet.
  3. Datagram Distribution: NetBT supports the sending and receiving of NetBIOS datagrams over TCP/IP.

3. How Does NetBT Work?

NetBIOS over TCP/IP essentially packages NetBIOS commands within TCP and UDP packets, enabling them to be routed over a TCP/IP network. The NetBT protocol operates on two ports:

  • TCP port 139: Utilized for NetBIOS session service
  • UDP port 137: Employed for NetBIOS name service

Steps Involved

  1. NetBIOS Name Resolution: When a device wants to communicate with another, it must first find out the IP address that corresponds to the NetBIOS name of the target device. This is done via the NetBIOS Name Service (NBNS).
  2. Session Establishment: After resolving the name to an IP address, a NetBIOS session is initiated over TCP. This involves a session request and acknowledgment, creating a reliable, connection-oriented channel.
  3. Data Communication: Once the session is established, data packets can be sent and received over the session. Each data packet is encapsulated in a TCP packet.
  4. Session Teardown: When data exchange is complete, the session is terminated through a proper teardown process, releasing the network resources.
  5. NetBIOS Datagram Service: For connectionless services, NetBT uses UDP to send NetBIOS datagrams for ‘quick and dirty’ communications where guaranteed delivery is not required.

Packet Structure

  • NetBIOS Header: Includes fields like session type, flags, and length.
  • NetBIOS Payload: Contains the actual NetBIOS message or data.
  • TCP/UDP Header: This encapsulates the NetBIOS packet depending on the type of service being utilized.

4. NetBT and WINS

The Windows Internet Naming Service (WINS) plays a crucial role in the functioning of NetBT, especially in larger, segmented networks. WINS is a name resolution service that resolves NetBIOS names to IP addresses in a TCP/IP network. Below are some key points detailing how NetBT and WINS work together:

Centralized Name Registration

WINS centralizes the NetBIOS name registration process, making it easier to manage a large number of devices on a network. This eliminates the need for broadcast-based name registrations, which are generally not scalable and cannot cross router boundaries.

Inter-Subnet Communication

WINS enables NetBT to function over different subnets by resolving NetBIOS names to IP addresses that can be routed over a TCP/IP network. This is particularly useful in larger enterprise settings where different subnets for different departments or geographic locations are common.

Name Resolution Caching

WINS maintains a database of NetBIOS names and their corresponding IP addresses. This makes the name resolution process faster, as repeated queries for the same NetBIOS name can be resolved locally from the cache.

NetBT Session Initiation

Once WINS resolves a NetBIOS name to an IP address, NetBT can establish a session between the two communicating parties, enabling data transfer over the network.

By providing a centralized mechanism for NetBIOS name resolution, WINS enhances the capabilities of NetBT, making it more efficient and scalable, especially in larger network settings.

5. NetBIOS over TCP/IP on Windows NT

In the Windows NT environment, various services such as Server, Workstation, NetLogon, Browser, and Messenger interact with NetBT using the Transport Driver Interface (TDI) component.

6. NetBT and Modern Windows Versions

As Windows operating systems have evolved, so has the implementation of NetBT. In Windows 2000 and beyond, including Windows 10 and Windows 11, NetBT is still available for backward compatibility, but the role of NetBIOS over TCP/IP has been somewhat supplanted by DNS for name resolution and Active Directory for network services. The core networking stack has moved more towards IPv6 where NetBIOS and, consequently, NetBT, are less prevalent. However, in mixed environments where older versions of Windows coexist with modern ones, understanding and sometimes implementing NetBT could be critical.

7. NetBIOS over TCP/IP in Non-Windows Systems

While NetBT is most commonly associated with Windows environments, it’s not limited to them. Linux and Unix systems can also support NetBT through Samba, which is a suite of programs that help with compatibility between Linux/Unix and Windows systems. Samba allows these operating systems to participate in a NetBIOS-over-TCP/IP environment, offering services like file and print sharing.

8. Real-World Applications

  1. Legacy System Support: Companies with older network infrastructure might still be reliant on NetBT for internal communications.
  2. Mixed Environments: In settings where Linux/Unix and Windows systems coexist, NetBT through Samba can ensure compatibility.
  3. Transitioning Phases: For organizations that are in the process of upgrading but have not fully transitioned to modern networking standards, NetBT serves as an interim solution.

9. Frequently Asked Questions

  1. Is NetBT still used in modern Windows?
    • While not as critical as before due to the rise of DNS and Active Directory, NetBT still exists for backward compatibility.
  2. Can Linux/Unix systems support NetBT?
    • Yes, through the use of Samba, Linux/Unix systems can participate in NetBIOS over TCP/IP networks.
  3. Is NetBT secure?
    • NetBT itself doesn’t provide encryption or secure channels, making it less secure than modern protocols. However, it can be tunneled through VPNs for added security.
  4. How do I disable NetBT?
    • NetBT can usually be disabled from the network settings, though doing so without understanding the implications can lead to network issues.
  5. What is the relation between NetBT and WINS?
    • WINS is often used for centralizing NetBIOS name registration in a TCP/IP network, making it easier for NetBT to function over different subnets.

10. References

  1. Server Message Block and NetBIOS,” Internet Engineering Task Force (IETF).
  2. Samba Official Documentation,” The Samba Team.
  3. NetBIOS name resolution
  4. NetBIOS scope ID
  5. NetBIOS over TCP/IP node types