Email This Page  

NetBIOS: Network Basic Input Output System

NetBIOS stands for Network Basic Input Output System which is created by IBM. NetBIOS defines a software interface and standard methods providing a communication interface between the application program and the attached medium. NetBIOS is used in various LAN (Ethernet, Token Ring etc) as well as WAN environment such TCP/IP, PPP and X.25 networks.

NetBIOS frees the application from having to understand the details of the network, including error recovery (in session mode). A NetBIOS request is provided in the form of a Network Control Block (NCB) which, among other things, specifies a message location and the name of a destination.

NetBIOS provides the session and transport services described in the Open Systems Interconnection (OSI) model. However, it does not provide a standard frame or data format for transmission. A standard frame format is provided by NetBEUI (NetBIOS Extended User Interface), which provides transport and network layer support to NetBIOS.

NetBIOS names are 16 bytes long (padded if necessary) and there are very few restraints on the byte values which can be used. There are three methods of mapping NetBIOS names to IP addresses on small networks that don't perform routing:

  1. IP broadcasting - A data packet with the NetBIOS computer name is broadcast when an associated address is not in the local cache. The host who has that name returns its address.
  2. The lmhosts file - This is a file that maps IP addresses and NetBIOS computer names. 
  3. NBNS - NetBIOS Name Server. A server that maps NetBIOS names to IP addresses. This service is provided by the nmbd daemon on Linux.



Protocol Structure - IBM NetBIOS: Network Basic Input Output SystemNetBIOS packets have many different formats depends on the services, message types as well as the transport protocols used to carry the NetBIOS packets. NeBIOS has three basic services: NAME, SESSION and DATAGRAM. As an example, we display the general NetBIOS Name packet format in the TCP/IP environment:

Header (12 bytes)

Question Entry (variable)

Answer Resource Records (variable)

Authority Resource Records (variable)

Additional Resource Records (variable)


The format of the NetBIOS header is shown below:

2

2

1

1

2

2

2 bytes

Length

Deliminator

Command

Data1

Data2

XMIT Cor

RSP Cor

Destination name (16 bytes)

Source name (16 bytes)


  • Length - The length of the NETBIOS header.
  • Deliminator - A delimiter indicating that subsequent data is destined for the NetBIOS function.
  • Command - A specific protocol command that indicates the type of function of the frame.
  • Data 1 - One byte of optional data per specific command.
  • Data 2 - Two bytes of optional data per specific command.
  • Xmit/response correlator - Used to associate received responses with transmitted requests.
  • Destination name/num - In non-session frames this field contains the 16-character name.
  • Source name/num - In non-session frames this field contains the 16-character source name. In session frames this field contains a 1 byte source session number.
   

Related Protocols
UDP , TCP , Ethernet , Token Ring , X.25 , PPP , IPX , NetBEUI

Sponsor Source

NetBIOS and NetBEUI are IBM protocols.



Reference

http://ourworld.compuserve.com/homepages/TimothyDEvans/contents.htm : NetBios, NetBEUI, NBF, SMB, CIFS Networking
http://www.javvin.com/protocol/rfc1001.pdf : PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: CONCEPTS AND METHODS
http://www.javvin.com/protocol/rfc1002.pdf : PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: DETAILED SPECIFICATIONS