中文网站
  Advanced Search
Read the latest Blogs from IT professionals in the field. Read and write community created documents. Need IT help? Ask our staff. Connect with your peers. Check our Tech Shop for posters, books and software tools. Home

NBSS: NetBIOS Session Service over TCP/IP

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:

  • 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.
  • The lmhosts file - This is a file that maps IP addresses and NetBIOS computer names.
  • 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

NetBIOS 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 bytes 2 bytes 1 bytes 1 bytes 2 bytes 2 bytes 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 Terms: 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

Reply

The content of this field is kept private and will not be shown publicly.
  • Use <!--pagebreak--> to create page breaks.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <!--pagebreak--> <img> <br> <table> <tr> <td> <tbody> <p>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
3 + 1 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.