What Is NetBIOS?

NetBIOS allows applications and computers to communicate over a LAN

Cables connecting to internet
Heidi Jong Baw / Contributor / Getty Images

In short, NetBIOS provides communication services on local networks. It uses a software protocol called NetBIOS Frames (NBF) that allows applications and computers on a local area network (LAN) to communicate with network hardware and to transmit data across the network.

NetBIOS, an abbreviation for Network Basic Input/Output System, is a networking industry standard. It was created in 1983 by Sytek and is often used with the NetBIOS over TCP/IP (NBT) protocol.

However, it's also used in Token Ring networks, as well as by Microsoft Windows.

Note: NetBIOS and NetBEUI are separate but related technologies. NetBEUI extended the first implementations of NetBIOS with additional networking capabilities.

How NetBIOS Works With Applications

Software applications on a NetBIOS network locate and identify each other via their NetBIOS names. In Windows, the NetBIOS name is separate from the computer name, and can be up to 16 characters long.

Applications on other computers access NetBIOS names over UDP, a simple OSI transport layer protocol for client/server network applications based on Internet Protocol (IP), via port 137 (in NBT).

Registering the NetBIOS name is required by the application but is not supported by Microsoft for IPv6. The last octet is usually the NetBIOS Suffix that explains which services the system has available.

The Windows Internet Naming Service (WINS) provides name resolution services for NetBIOS.

Two applications start a NetBIOS session when the client sends a command to "call" another client (the server) over TCP port 139. This is referred to as the session mode, where both sides issue "send" and "receive" commands to deliver messages in both directions. The "hang-up" command terminates a NetBIOS session.

NetBIOS also supports connectionless communications via UDP. Applications listen on UDP port 138 to receive NetBIOS datagrams. The datagram service can send and receive datagrams and broadcast datagrams.

More Information on NetBIOS

Following are some of the options the name service is allowed to send via NetBIOS:

  • Add name to register the NetBIOS name
  • Add group name is similar but registers the NetBIOS group name
  • Delete name is for unregistering a NetBIOS name, whether it be a name or group
  • Find name is for looking up a NetBIOS name on the network

The session services allows these primitives:

  • Call to start a session via the NetBIOS name
  • Listen will see if an attempt can be made to open the session
  • Hang Up is used to close a session
  • Send will send a packet over the session
  • Send No Ack is the same as send but doesn't require an acknowledgement that it was sent through the session
  • Receive waits for the incoming packet

When in datagram mode, these primitives are supported:

  • Send Datagram will send a datagram via the NetBIOS name
  • Send Broadcast Datagram is for sending a datagram to every registered NetBIOS name on the network
  • Receive Datagram waits for a Send Datagram packet
  • Receive Broadcast Datagram waits for a Send Broadcast packet