NetBIOS (Network Basic Input/Output System) is a network service that enables applications on different computers to communicate with each other across a local area network. Today, NetBIOS is used to support legacy NetBIOS applications but is also widely used for NetBIOS name resolution.
NetBios is often mistaken for a protocol where in fact it is a standard application programming interface (API), most recent implimentation was in Windows systems (NetBEUI) or NetBios frames (NBF), unfortunately NetBEUI was not routable, meaning that computers were not able to communicate over different subnets by using this technology, enter NetBios over TCP (NBT).
Netbios over TCP (NBT)
ΝΒΤ is the current way of how windows machines can communicate with each other even if they are located in different networks since the NetBios information is within a TCP packet.
Nowadays each computer in the network has both an IP address and a NetBIOS name corresponding to a (possibly different) host name.
NBT uses different protocols/ports for different services.
|Name Service||TCP/UDP 137|
|Datagram Service – connectionless||UDP 138|
|Session Service||TCP 139|
Name Service : In order to start sessions or distribute datagrams, an application must register its NetBIOS name using the name service.
Datagram mode is connectionless the application is responsible for error detection and recovery.
Session mode lets two computers establish a connection, allows messages to span multiple packets, and provides error detection and recovery.
In the original protocol used to implement NetworkBIOS services on PC-Network, to establish a session, the initiating computer sends an Open request which is answered by an Open acknowledgment. The computer that started the session will then send a Session Request packet which will prompt either a Session Accept or Session Reject packet.
During an established session, each transmitted packet is answered by either a positive-acknowledgment (ACK) or negative-acknowledgment (NAK) response. A NAK will prompt retransmission of the data. Sessions are closed by the non-initiating computer by sending a close request. The computer that started the session will reply with a close response which prompts the final session closed packet.
On most Windows installations NBT is not enabled by default, you can however enable it manually.
Control Panel > Network and Internet > Network Connections > Properties (on the desired adapter) > Internet Protocol v4 TCP/IP > Advanced > WINS > Enable
- Netbios does not work with IPv6.
- A Windows machine’s NetBIOS name is not to be confused with the computer’s Internet host name.
- Generally a computer running Internet protocols usually has a host name.