Network Basic Input/Output System provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network.

<aside> ❗ As strictly an API, NetBIOS is NOT a networking protocol.

</aside>

In modern networks, NetBIOS normally runs over TCP/IP via the NetBIOS over TCP/IP (NBT) protocol. This results in each computer in the network having both an IP address and a NetBIOS name corresponding to a (possibly different) host name.

NetBIOS name

NetBIOS name of a domain joined computer

NetBIOS name of a domain joined computer

is 16 ASCII characters, however Microsoft limits the host name to 15 characters and reserves the 16th character as a NetBIOS Suffix. This suffix describes the service or name record type such as host record, master browser record, or domain controller record or other services.

The host name (or short host name) is specified when Windows networking is installed/configured, the suffixes registered are determined by the individual services supplied by the host. In order to connect to a computer running TCP/IP via its NetBIOS name, the name must be resolved to a network address. Today this is usually an IP address (the NetBIOS name to IP address resolution is often done by either broadcasts or a WINS Server – NetBIOS Name Server).

<aside> ℹī¸ A computer's NetBIOS name is often the same as that computer's host name, although truncated to 15 characters, but it may also be completely different.

</aside>

NetBIOS services

NetBIOS provides three distinct services:

In NBT, the name service operates on UDP port 137 (TCP port 137 can also be used, but rarely is).

The name service primitives offered by NetBIOS are:

IPv6 is NOT supported!

In NBT, the datagram service runs on UDP port 138.

The datagram service primitives offered by NetBIOS are:

- **Send Datagram** : send a datagram to a remote NetBIOS name.
- ****Send Broadcast Datagram : send a datagram to all NetBIOS names on the network.
- Receive Datagram : wait for a packet to arrive from a Send Datagram operation.
- Receive Broadcast Datagram : wait for a packet to arrive from a Send Broadcast Datagram operation.

In NBT, the session service runs on TCP port 139.

The session service primitives offered by NetBIOS are: