This is an old revision of this page, as edited by Shell Kinney (talk | contribs) at 19:28, 29 September 2005 (+sections , +references, -POV microsoft comments, +service information, +wkfy). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Revision as of 19:28, 29 September 2005 by Shell Kinney (talk | contribs) (+sections , +references, -POV microsoft comments, +service information, +wkfy)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)NetBIOS is an acronym for Network Basic Input/Output System. The NetBIOS API allows applications on separate computers to communicate over a local area network. It provides services related to the session layer of the OSI model but is not routable and must be encapsulated within a protocol in order to be of use in a wide area network. NetBIOS makes wide use of broadcast messages, which accounts for its reputation as a chatty interface.
History
NetBIOS was developed by Sytec Inc. for IBM 's PC-Network in 1983. The interface was designed for small networks; PC-Network only supported up to 80 devices in its baseband form. Since the interface was only originally published through a technical reference book from IBM, the protocol's API became a de-facto standard.
In 1985, IBM went forward with the Token-Ring network scheme and a NetBIOS emulator was produced to allow PC-Network applications to work over this new design. With Novell's release of Advanced Novell Netware 2.0 in 1986, NetBIOS was reconfigured to be encapsulated in the IPX/SPX protocol. After the PS/2 computer hit the market in 1987 IBM was finally prompted to release the PC LAN Support Program, which included a driver for NetBIOS. At the same time, they also developed a method of encapsulating NetBIOS in a TCP packet (NBT) and released RFC 1001 - "Protocol Standard for a NetBIOS Service on a TCP/UDP Transport".
Services
NetBIOS provides three distinct services:
- Name service for name registration and resolution
- Session service for connection-oriented communication
- Datagram distribution service for connectionless communication
(Note: SMB, an upper layer, is a service that runs on top of the Session Service and the Datagram service, and is not to be confused as a necessary and integral part of NetBIOS itself)
Name service
In order to start Sessions or distribute Datagrams, an application must register its NetBIOS name using the Name service. NetBIOS names are 16 bytes in length and vary based on the particular implementation. Frequently, the 16th byte is used to designate a "type" similar to the use of ports in TCP/IP.
If NetBIOS name plus type is already in use, the Name service, running on the host that owns the name, sends a "Node Conflict" message out to every known computer and transport on the network.
The packet formats of the Name Service are identical to DNS. The key differences are the addition of NetBIOS "Node Status" query, dynamic registration and conflict marking packets.
Session service
Session mode lets two computers establish a connection for a "conversation," allows larger messages to be handled, and provides error detection and recovery.
Sessions are established by exchanging packets. The computer establishing the session sends an Open request which is responded to by an Open acknowledgment. The computer that started the session will then send a Session request which will prompt either a Session accept or Session reject response.
Data is transmitted during an established session by data packets which are responded to with either acknowledgment packets (ACK) or negative acknowledgment packets (NACK). Since NetBIOS is handling the error recovery, NACK packets will prompt retransmission of the data packet.
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.
Datagram distribution service
Datagram mode is "connectionless". Since each message is sent independently, they must be smaller; the application becomes responsible for error detection and recovery.
Non-session frames are used for functions such as name management or other functions that simply require a datagram delivery service. Datagram mode also supports the broadcast of a message to every computer on the LAN.
See also
External links
- Implementing CIFS (from the Samba team, published under the Open Publication License)
- NetBIOS specification
- NetBios, NetBEUI, NBF, SMB, CIFS Networking
References
- Haugdahl, J. Scott (1990). Inside NetBIOS. Architecture Technology Corp. ISBN 9991457348
- Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2004). Operating System Concepts. (7th Ed.). John Wiley & Sons. ISBN 0471694665