NetBIOS provides communication services on local networks. It uses a software protocol called NetBIOS Frames that allows applications and computers on a local area network 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 protocol. However, it's also used in Token Ring networks, as well as by Microsoft Windows.
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 through 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 on port 137.
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 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 through UDP. Applications listen on UDP port 138 to receive NetBIOS datagrams. The datagram service sends and receives datagrams and broadcasts datagrams.
More Information on NetBIOS
Following are some of the options the name service is allowed to send through 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 allow these primitives:
- Call to start a session through 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 acknowledgment 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 through0. 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