What is NetBIOS?

NetBIOS is an abbreviation that stands for Network Basic Input Output System. It is an industry standard that facilitates communication between devices on a local area network with the hardware. It operated on the session layer (Layer 5) of the OSI (Open Systems Interconnection) model.

A brief history of NetBIOS

NetBIOS was first developed in 1983 by Systek Inc. Its API (Application Program Interface) was used for software communication in the IBM PC network (IBM’s first LAN system).

NetBIOS could support up to 80 computers in a LAN. It was then adopted by Microsoft and became the industry defacto.

Characteristics of NetBIOS

Non-routing protocol

NetBIOS is a non-routing protocol which means that it does not support a routing mechanism. This limits the use of NetBIOS to local area networks.

Communicating over Wide Area Network (WAN) requires the use of a different transmission protocol such as TCP (Transmission Control Protocol) in addition to NetBIOS.

Ports

NetBIOS commonly uses ports 137, 138 and 139 for communication. A network port (widely known as a port) refers to a location where information is sent. For example, HTTP uses port number 80 by default.

If your firewall blocks these ports, you will get errors while trying to communicate with other devices.

Commands

A NetBIOS session is started when the clients send a “call” command to the server (or another client) over TCP port 139. The two devices are said to be in session mode where both sides issue “send” and “receive” commands to deliver messages.

To terminate the session, “hang-up” command is used.

NetBIOS also supports UDP communications. UDP stands for user datagram protocol which is a form of connectionless communication. Using UDP, applications issue the command “listen” on port 138 to receive NetBIOS data.

This service allows a client to send, receive and broadcast data. When using UDP, the two devices are said to be in datagram mode.

NetBIOS name

Each client using NetBIOS will have a NetBIOS name used to identify the device on local area network. When NetBIOS is executed along with Internet protocols, each computer may have multiple names with one being NetBIOS name and other being Internet host name.

NetBIOS name is a string of 16 ASCII characters. When used with Microsoft Windows, the hostname is limited to 15 characters with the 16th character used as a NetBIOS suffix.

If a client is running TCP/IP at WAN level and NetBIOS at LAN level, a connection can be made using NetBIOS name. For this, the NetBIOS name should be resolved to a network address (For instance, IP address) using a NetBIOS Name Server (WINS Server).

A computer’s NetBIOS name can be the same as its hostname truncated to 15 characters.

NetBEUI

The first API of NetBIOS was extended for a token ring network and named NetBEUI. A token ring LAN is a communication protocol. It uses a unique three-byte frame (token) that travels around a logical ring of devices (clients or servers).

This token passing is a way to allow all the clients to share the channel in a fair manner, avoiding collisions of data packets.

Later on, the extensions of the API were adopted under the name of NetBIOS. However, Microsoft’s file and printer sharing over Ethernet is still called NetBEUI.