NetBIOS
Encyclopedia
NetBIOS is an acronym for Network Basic Input/Output System. It provides services related to the session layer
Session layer
The session layer is layer 5 of the seven-layer OSI model of computer networking.The session layer provides the mechanism for opening, closing and managing a session between end-user application processes, i.e., a semi-permanent dialogue. Communication sessions consist of requests and responses...

 of the OSI model
OSI model
The Open Systems Interconnection model is a product of the Open Systems Interconnection effort at the International Organization for Standardization. It is a prescription of characterizing and standardizing the functions of a communications system in terms of abstraction layers. Similar...

 allowing applications on separate computers to communicate over a local area network
Local area network
A local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...

. As strictly an API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

, NetBIOS is not a networking protocol. Older operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s ran NetBIOS over IEEE 802.2
IEEE 802.2
IEEE 802.2 is the IEEE 802 standard defining Logical Link Control , which is the upper portion of the data link layer of the OSI Model. The LLC sublayer presents a uniform interface to the user of the data link service, usually the network layer...

 and IPX/SPX
IPX/SPX
IPX/SPX stands for Internetwork Packet Exchange/Sequenced Packet Exchange. IPX and SPX are networking protocols used primarily on networks using the Novell NetWare operating systems.-Protocol Layers:...

 using the NetBIOS Frames (NBF) and NetBIOS over IPX/SPX (NBX) protocols, respectively. In modern networks, NetBIOS normally runs over TCP/IP via the NetBIOS over TCP/IP (NBT) protocol. This results in each computer in the network having both an IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

 and a NetBIOS name corresponding to a (possibly different) host name.

History and terminology

NetBIOS was developed in 1983 by Sytek Inc
Sytek Inc
The Sytek Inc., now known as , created the NetBIOS protocol, used by Microsoft to make its networks with MS Windows 3.x and 9x.Sytek was founded in Silicon Valley and last officed in their own building on Charleston Road in Mountain View. During this crucial period in LAN development, there were...

. as an API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 for software communication over IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

's PC-Network
PC-Network
PC-Network was a LAN system consisting of network cards, cables, and a small device driver known as NetBIOS . It used a data rate of 2 Mbit/s....

 LAN
Local area network
A local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...

 technology. On PC-Network, as an API alone, NetBIOS relied on proprietary Sytek networking protocols for communication over the wire. Because PC-Network only supported up to 80 devices in its most accommodating mode (baseband
Baseband
In telecommunications and signal processing, baseband is an adjective that describes signals and systems whose range of frequencies is measured from close to 0 hertz to a cut-off frequency, a maximum bandwidth or highest signal frequency; it is sometimes used as a noun for a band of frequencies...

), NetBIOS was itself designed with limited nodes in mind.

In 1985, IBM went forward with the token ring network scheme and a NetBIOS emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

 was produced to allow NetBIOS-aware applications from the PC-Network era to work over this new design. This emulator, named NetBIOS Extended User Interface (NetBEUI), expanded the base NetBIOS API with, among other things, the ability to deal with the greater node capacity of token ring. A new networking protocol, NBF, was simultaneously produced to allow NetBEUI (NetBIOS) to provide its services over token ring — specifically, at the IEEE 802.2
IEEE 802.2
IEEE 802.2 is the IEEE 802 standard defining Logical Link Control , which is the upper portion of the data link layer of the OSI Model. The LLC sublayer presents a uniform interface to the user of the data link service, usually the network layer...

 Logical Link Control
Logical Link Control
The logical link control data communication protocol layer is the upper sub-layer of the data link layer in the seven-layer OSI reference model...

 layer.

Also in 1985, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 created a NetBIOS implementation for its MS-NET networking technology. As in the case of IBM's token ring, the services of Microsoft's NetBIOS implementation were provided over the IEEE 802.2 Logical Link Control layer by the NBF protocol.

In 1986, Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...

 released Advanced Novell NetWare
Novell NetWare
NetWare is a network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, with network protocols based on the archetypal Xerox Network Systems stack....

 2.0 featuring the company's own NetBIOS emulator. Its services were encapsulated within NetWare's IPX/SPX
IPX/SPX
IPX/SPX stands for Internetwork Packet Exchange/Sequenced Packet Exchange. IPX and SPX are networking protocols used primarily on networks using the Novell NetWare operating systems.-Protocol Layers:...

 protocol using the NetBIOS over IPX/SPX (NBX) protocol.

In 1987, a method of encapsulating NetBIOS in TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

 and UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...

 packets, NetBIOS over TCP/IP (NBT), was published. It was described in RFC 1001 ("Protocol Standard for a NetBIOS Service on a TCP/UDP Transport: Concepts and Methods") and RFC 1002 ("Protocol Standard for a NetBIOS Service on a TCP/UDP Transport: Detailed Specifications"). The NBT protocol was developed in order to "allow an implementation [of NetBIOS applications] to be built on virtually any type of system where the TCP/IP protocol suite is available," and to "allow NetBIOS interoperation in the Internet."

After the PS/2
IBM Personal System/2
The Personal System/2 or PS/2 was IBM's third generation of personal computers. The PS/2 line, released to the public in 1987, was created by IBM in an attempt to recapture control of the PC market by introducing an advanced proprietary architecture...

 computer hit the market in 1987, IBM released the PC LAN Support Program, which included a driver for NetBIOS.

Worth noting is the popular confusion between the names NetBIOS and NetBEUI. NetBEUI originated strictly as the moniker for IBM's enhanced 1985 NetBIOS emulator for token ring. The name NetBEUI should have died there, considering that at the time, the NetBIOS implementations by other companies were known simply as NetBIOS regardless of whether they incorporated the API extensions found in that emulator. For MS-NET, however, Microsoft elected to name its implementation of the NBF protocol "NetBEUI" — literally naming its implementation of the transport protocol after IBM's second version of the API. Consequently, even today, Microsoft file and printer sharing over Ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....

 continues to be called NetBEUI, with the name NetBIOS commonly used only in reference to file and printer sharing over TCP/IP. In truth, the former is NetBIOS over NBF, and the latter is NetBIOS over NBT.

Since its original publishing in a technical reference book from IBM, the NetBIOS API specification has become a de facto
De facto
De facto is a Latin expression that means "concerning fact." In law, it often means "in practice but not necessarily ordained by law" or "in practice or actuality, but not officially established." It is commonly used in contrast to de jure when referring to matters of law, governance, or...

 standard.

Services

NetBIOS provides three distinct services:
  • Name service for name registration and resolution
    Name resolution
    -In computer languages:Expressions in computer languages can contain identifiers. The semantics of such expressions depend on the entities that the identifiers refer to. The algorithm that determines what an identifier in a given context refers to is part of the language definition.The complexity...

    .
  • Session
    Session (computer science)
    In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user . A session is set up or established at a certain point...

     service for connection-oriented
    Connection-oriented
    Connection-oriented communication is a data communication mode in telecommunications whereby the devices at the end points use a protocol to establish an end-to-end logical or physical connection before any data may be sent. In case of digital transmission, in-order delivery of a bit stream or...

     communication.
  • Datagram
    Datagram
    A datagram is a basic transfer unit associated with a packet-switched network in which the delivery, arrival time, and order are not guaranteed....

     distribution service for connectionless communication.


(Note: SMB
Server Message Block
In computer networking, Server Message Block , also known as Common Internet File System operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an...

, 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. It can now run atop TCP with a small adaptation layer that adds a packet length to each SMB message; this is necessary because TCP only provides a byte-stream service with no notion of packet boundaries.)

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 octets in length and vary based on the particular implementation. Frequently, the 16th octet is used to designate a "type" similar to the use of ports in TCP/IP. It is called the NetBIOS Suffix (read below) or "resource type", and is used to tell other applications what type of services the system offers. In NBT, the name service operates on UDP port 137 (TCP port 137 can also be used, but it is rarely, if ever, used).

The name service primitives offered by NetBIOS are:
  • Add name — registers a NetBIOS name.
  • Add group name — registers a NetBIOS "group" name.
  • Delete name — un-registers a NetBIOS name or group name.
  • Find name — looks up a NetBIOS name on the network.


NetBIOS name resolution is not supported by Microsoft for Internet Protocol Version 6 (IPv6)
IPv6
Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

.

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. In NBT, the session service runs on TCP port 139.

The session service primitives offered by NetBIOS are:
  • Call — opens a session to a remote NetBIOS name.
  • Listen — listen for attempts to open a session to a NetBIOS name.
  • Hang Up — close a session.
  • Send — sends a packet to the computer on the other end of a session.
  • Send No Ack — like Send, but doesn't require an acknowledgment.
  • Receive — wait for a packet to arrive from a Send on the other end of a session.


In the original protocol used to implement NetworkBIOS services on PC-Network, to establish a session, 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 packet which will prompt either a Session Accept or Session Reject packet.
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. In NBT, the datagram service runs on UDP port 138.

The datagram service primitives offered by NetBIOS are:
  • Send Datagram — send a datagram to a remote NetBIOS name.
  • Send Broadcast Datagram — send a datagram to all NetBIOS names on the network.
  • Receive Datagram — wait for a packet to arrive from a Send Datagram operation.
  • Receive Broadcast Datagram — wait for a packet to arrive from a Send Broadcast Datagram operation.

NetBIOS name vs host name

When NetBIOS is run over the TCP/IP protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

, each computer may have multiple "names" — names for the NetBIOS API and another (or others) for basic TCP/IP.

NetBIOS name

The NetBIOS name is 16 ASCII characters, however Microsoft limits the host name to 15 characters and reserves the 16th character as a NetBIOS Suffix. This suffix describes the service or name record type such as host record, master browser record, or domain controller record. The host name (or short host name) is specified when Windows networking is installed/configured, the suffixes registered are determined by the individual services supplied by the host. In order to connect to a computer running TCP/IP via its NetBIOS name, the name must be resolved to a network address. Today this is usually an IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

 (the NetBIOS name-IP address resolution is often done by either broadcasts or a WINS
Windows Internet Naming Service
Windows Internet Name Service is Microsoft's implementation of NetBIOS Name Service , a name server and service for NetBIOS computer names. Effectively WINS is to NetBIOS names what DNS is to domain names — a central mapping of host names to network addresses...

 Server — NetBIOS Name Server). A computer's NetBIOS name is often the same as that computer's host name (see below), although truncated to 15 characters, but it may also be completely different. NetBIOS names can include almost any combination of alphanumeric characters except for spaces and the following characters:
\ / : * ? " ; | +

The Windows LMHOSTS
LMHOSTS
The LMHOSTS file is used to enable domain name resolution under Windows when other methods, e.g. WINS, fail. It is used in conjunction with workgroups and domains...

 file provides a NetBIOS name resolution method that can be used for small networks that do not use a WINS server.

Host name

A Windows machine's NetBIOS name is not to be confused with the computer's host name. Generally a computer running TCP/IP (whether it's a Windows machine or not) has a host name (also sometimes called a machine name or a DNS name). Generally the host name of a Windows computer is based on the NetBIOS name plus the Primary DNS Suffix, which are both set in the System Properties dialog box.

There may also be "connection specific suffixes" which can be viewed or changed on the DNS tab in Control Panel → Network → TCP/IP → Advanced Properties. Host names are used by applications
Application layer
The Internet protocol suite and the Open Systems Interconnection model of computer networking each specify a group of protocols and methods identified by the name application layer....

 such as telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

, ftp, web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

s, etc. In order to connect to a computer running the TCP/IP protocol using its HOST name, the host name must be resolved into an IP Address. Host name- or Fully Qualified Domain Name (FQDN
FQDN
A fully qualified domain name , sometimes also referred as an absolute domain name, is a domain name that specifies its exact location in the tree hierarchy of the Domain Name System . It specifies all domain levels, including the top-level domain and the root domain...

)-IP address resolution is typically done by a Domain Name System
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

 (DNS) server.

Node types

The node type of a networked computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

 relates to the way it resolves NetBIOS names to IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

es. There are four node types.
  • B-node: 0x01 Broadcast
  • P-node: 0x02 Peer (WINS only)
  • M-node: 0x04 Mixed (broadcast, then WINS)
  • H-node: 0x08 Hybrid (WINS, then broadcast)


The node type in use is displayed by opening a command line and typing ipconfig /all.
A Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 computer registry may also be configured in such a way as to display "unknown" for the node type.

NetBIOS Suffixes

The NetBIOS suffix, alternately called the NetBIOS End Character (endchar) is the 16th character of a NetBIOS name. This character specifies the record or service type for the registered name record. The number of record types is limited to 255. However in actual use the number of commonly used NetBIOS Suffixes is substantially smaller. The most common NetBIOS Suffixes:

ASCII Values of 16th characters of NetBIOS "names"
  • 00: Workstation Service
  • 03: Messenger Service
    Messenger Service
    Messenger Service is a network-based system notification service included in some versions of Microsoft Windows. This service, although it has a similar name, is not related in any way to the .NET Messenger Service or the Windows Messenger and MSN Messenger/Windows Live Messenger instant messaging...

  • 20: File Service
    File server
    In computing, a file server is a computer attached to a network that has the primary purpose of providing a location for shared disk access, i.e. shared storage of computer files that can be accessed by the workstations that are attached to the computer network...

     (also called Host Record)
  • 1B: Domain
    Windows Server domain
    A Windows domain is a collection of security principals that share a central directory database. This central database contains the user accounts and security information for...

     Master Browser
    Browser service
    Browser service or Computer Browser Service is a feature of Microsoft Windows to let users easily browse and locate shared resources in neighboring computers. This is done by aggregating the information in a single computer 'Browse Master'...

     - Primary Domain Controller for a domain
  • 1C: Domain Controllers
    Domain controller
    On Windows Server Systems, a domain controller is a server that responds to security authentication requests within the Windows Server domain...

     for a domain (group record with up to 25 IP addresses)
  • 1D: Master Browser
  • 1E: Browser Service Elections

NetBIOS Extended User Interface

The Microsoft adaptation of the IBM NetBIOS protocol. NetBEUI expands on NetBIOS by adding a Transport layer component. NetBEUI is a fast and efficient protocol that consumes few network resources, provides excellent error correction, and requires little configuration.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK