Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32637
  • 博文数量: 15
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-22 10:49
文章分类

全部博文(15)

文章存档

2009年(11)

2008年(4)

我的朋友
最近访客

分类: 系统运维

2009-05-13 14:11:41

 

There is a suite or family of protocols which includes the NetBIOS Frames Protocol, NBF, (often referred to as NetBEUI or sometimes as NetBIOS), the Server Message Block protocol, SMB, and Common Internet File System, CIFS. These protocols are associated with the original NetBIOS implementation with which they have a historical link.

Many systems use SMB including Microsoft's Windows for Workgroups, Windows 95 / 98 / ME, LAN Manager, Windows NT, Windows 2000 and IBM's OS/2 and LAN Server, NetWare 6 and the SAMBA implementation.

While there is documentation readily available for protocol suits such as AppleTalk, DECnet, IPX/SPX and TCP/IP, it is difficult to find documentation for SMB and the other protocols in the suite; this documentation attempts to provide some information on these protocols.

It is assumed that the reader is familiar with one or more networking protocols. Comparisons are made with other well known protocols in order to better explain the roles of the various protocols described here and how they fit together.

This document begins by describing a suite of protocols which includes the Name Management Protocol (NMP), Diagnostic and Monitoring Protocol (DMP), User Datagram Protocol (UDP) and the Session Management Protocol (SMP). These protocols are often referred to as NetBIOS (Network Basic Input / Output System) or NetBEUI (NetBIOS Extended User Interface) or NBF (NetBIOS Frames protocol). Encapsulation of these protocols is considered as well as using these protocols to encapsulate other protocols.

Some important protocols (such as SMB, CIFS and the browser service) that run over these lower protocols are also described.

There is no formal standard which defines the protocol(s) used with NetBIOS; in practice the IBM LAN Technical Reference IEEE 802.2 and NetBIOS Application Program Interfaces is used as a reference.

There are many implementations of NetBIOS networking and these implementations are generally incompatible. It is because of the diversity and lack of a formal standard that makes understanding NetBIOS networking difficult.

It is not clear whether there is only one protocol or several protocols involved in NetBIOS networking. The original implementation for the PC Network certainly seemed to have the above mentioned protocols (NMP, DMP, UDP and SMP) however the distinction is less clear with NetBIOS on Token-Ring and other implementations. Given that at least network layer and session layer functions are involved, the various packets used will be discussed in terms of the original protocols for convenience, even if the distinctions are some what arbitrary.

The NetBIOS interface was developed by Sytec Inc. (now Hughes LAN Systems) for International Business Machines Corporation (IBM) in 1983. This operated over proprietary Sytec protocols on IBM's PC Network which is a broadband local area network. The broadband PC Network is a bus-attached LAN which can accommodate up to 72 connecting devices. The baseband PC Network is also a bus-attached LAN which can accommodate up to 80 connecting devices; It is important to note the scale of LAN which NetBIOS was designed for. NetBIOS was not designed for large networks.

When IBM announced the Token-Ring, an emulator for NetBIOS was produced allowing applications developed for the PC Network to operate on Token-Ring. The NetBIOS Extended User Interface (NetBEUI) was introduced in 1985. The Token-Ring network can accommodate up to 260 devices on one ring and multiple rings can be connected by Bridges.

In 1986 Novell released Advanced NetWare version 2.0. With version 2.0 and all subsequent packages a NetBIOS interface has been included.

With the Personal System /2 computer (PS/2) in 1987, IBM announced the PC LAN Support Program which included a NetBIOS driver.

In March 1987, RFC 1001 was published which described a "Protocol Standard for a NetBIOS Service on a TCP/UDP Transport".

Prior to the IBM Lan Support Program, versions of NetBIOS were named with version numbers 1.X. With the LAN Support Program the following NetBIOS versions were used:

LAN Support Program version NetBIOS version
1.00 2.0
1.01 2.1
1.02 2.2

Version 2.x of NetBIOS has been superseded by NetBIOS version 3.0 and version 4.0.

In 1987 Microsoft announced the LAN Manager which runs natively over NetBIOS frames.

NetBIOS is often described as a "Session Layer" protocol and a variety of transport systems have been used in different implementations. Some of these implementations are described in "Encapsulation" . The protocols used to encapsulate NetBIOS are generally well understood and well documented; what is often not well understood are implementations of NetBIOS "on the wire" in a "raw" un-encapsulated form.

Two implementations of NetBIOS "on the wire" are considered here: The original NetBIOS in IBM PC Networks (See Appendix: Comparison of NetBIOS protocols in IBM PC Network ) and NetBIOS Frames Protocol on 802.2 networks. Although the IBM PC Network version was developed first, the current NetBIOS Frames Protocol on 802.2 networks is emphasised in this document as being the more relevant.

It should be noted that the frames in NetBIOS in IBM PC Networks are more complex and seem less consistent than frames in the NetBIOS Frames Protocol on 802.2 networks. The IBM PC Networks implementation separates in to the protocols mentioned above, where as all the frames in NetBIOS Frames Protocol on 802.2 networks are more consistent in their format.

Because of the history (see above) of the protocols being discussed here and lack of standards, there is often confusion in the use of some of the terms; it is not uncommon to hear statements of the form "NetBIOS is not a protocol" or "NetBEUI is a protocol".

NetBIOS is not a protocol

As described in the history above, NetBIOS was designed as an interface. NetBIOS was designed to be an extension to the BIOS to provide networking services. At the risk of being pedantic, NetBIOS was designed as an application programming interface (API). It is interesting (and the source of some confusion) that it was the API which was the standard.

NetBIOS is a protocol

The term "protocol" is often used as a shorthand reference to a suite of protocols (a well known example is the use of the term "TCP/IP protocol" to refer to a collection of protocols). The informal use of the term "protocol" is well understood and accepted practice. It has become standard practice to use the term "NetBIOS protocol" to refer to the original set of protocols in use with the NetBIOS API and the protocols which followed. The current official term used by IBM is "NetBIOS Frames Protocol" (NBF) and it is not unreasonable to shorten this to "NetBIOS".

NetBEUI is not a protocol

If NetBIOS is not a protocol, but is an API, then an "Extended User Interface" to this API is also not a protocol. As mentioned above, and described in the history, when IBM developed Token Ring it was continuity of the API to ensure applications would continue to function which was important. The NetBIOS API was preserved and extended in the NetBIOS Extended user Interface, NetBEUI.

NetBEUI is a protocol

With the development of NetBEUI, a set of protocols was developed, now know as the NetBIOS Frames Protocol. Since the NetBIOS Frames Protocol was used with the NetBEUI API it became accepted practice to refer to these protocols as the "NetBEUI protocol". It is still common to find documentation which refers to the "NetBEUI protocol".

I would like to thank the following people for their comments and corrections.

  • Ernie Cooper (bama@us.ibm.com)
  • Giampaolo Tomassoni (tomassoni@ftbcc.it)

Notation

Hexadecimal numbers are shown either as 0xNNNN or NNNNh.


阅读(447) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~