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.
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 nameAdd group name is similar but registers the NetBIOS group nameDelete name is for unregistering a NetBIOS name, whether it be a name or groupFind 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 nameListen will see if an attempt can be made to open the sessionHang Up is used to close a sessionSend will send a packet over the sessionSend No Ack is the same as send but doesn’t require an acknowledgment that it was sent through the sessionReceive waits for the incoming packet
When in datagram mode, these primitives are supported:
Send Datagram will send a datagram through0. the NetBIOS nameSend Broadcast Datagram is for sending a datagram to every registered NetBIOS name on the networkReceive Datagram waits for a Send Datagram packetReceive Broadcast Datagram waits for a Send Broadcast packet