Description of OS/2 LAN Manager Device Drivers and NDIS
ID: Q51088
|
The information in this article applies to:
-
Microsoft LAN Manager, versions 1.0, 1.1, 2.0, 2.1, 2.1a, 2.2
SUMMARY
This article explains what OS/2 LAN Manager device drivers do and how
NDIS relates to OS/2 LAN Manager.
MORE INFORMATION
For two machines to communicate with each other using OS/2 LAN
Manager, the network software (that is, device drivers) must translate
OS/2 LAN Manager requests into more primitive commands that allow the
network hardware (that is, network adapters) to transmit the data over
the physical cable connecting the two machines. Similarly, when a
message is received from the network adapter, device drivers must
translate the message into the response format that the OS/2 LAN
Manager understands.
OS/2 LAN Manager issues NetBIOS requests to communicate with the network.
NetBIOS is an IBM standard corresponding to a set of higher-level
functions or commands that allow a program (such as OS/2 LAN Manager) to
access network resources. Network device drivers supply all the services
necessary to fulfill these NetBIOS requests.
Network device drivers perform two basic functions to ensure that data
transmission is achieved. At the most basic level, the device drivers
in the two machines communicate with the network hardware to send and
receive messages and ensure the link-level transmission is successful.
At a higher level, the device drivers interpret the message transfer in
terms of a set of rules or protocol that both machines understand.
Note that the protocol (or "conversation rules") used between the two
machines is separate from the actual transmission of the message over
the physical connection. For example, someone who speaks only the English
"protocol" may hear what a German person is saying, but not understand.
On the other hand, two English-speaking persons cannot have a conversation
if they cannot hear each other over a "link," such as sound waves passing
through air.
A single network device driver can incorporate all necessary protocol
and link-level functions required by OS/2 LAN Manager. This type of
driver is referred to as a "monolithic" NetBIOS driver, which has the
conversation protocol built in with the link-level transmission support.
Examples of monolithic drivers that were shipped with OS/2 LAN Manager
version 1.0 include the following drivers:
- Ungermann-Bass drivers (UBXNS.xxx) for the 8-bit and 16-bit PCNIU
adapter cards, as well as the PS/2 NIC (UBXNICPU.xxx). The
"xxx" extension depends on the MS-DOS or OS/2 version of the
driver.
- Sytek driver (SY.OS2) for the Sytek adapter card (OS/2 only).
These monolithic drivers do not allow an administrator to separate the
protocol-level support from the link-level support, and thus do not
provide a standard way of mixing and matching different links and
protocols (or of supporting multiple links and protocols) in the same
machine.
To work around this situation, Microsoft and 3Com Corporation devised
the Network Device Interface Specification (NDIS), which describes the
OS/2 LAN Manager driver architecture and interfaces to allow an MS-DOS
or OS/2 system to support one or more network adapters and protocols.
To simplify the job of supporting multiple adapters and protocols, the
architecture defines three kinds of drivers:
- Media Access Control (MAC) drivers, which provide low-level access
to network adapters. The main function of a MAC driver is to support
transmission and receipt of messages, or "packets," in addition to some
basic adapter-management functions.
- Protocol drivers, which provide higher-level communication services.
A typical protocol driver provides a NetBIOS interface at the top
(that is, to talk to OS/2 LAN Manager) and an "NDIS interface" at the
bottom (that is, to talk to a MAC driver). These drivers are sometimes
referred to as transport drivers.
- The Protocol Manager driver (PROTMAN.xxx, where "xxx" depends on the
MS-DOS or OS/2 version). This is a special driver that provides a
standard way for multiple MAC and protocol drivers to exchange
configuration information and "bind" together into the desired
configuration, as defined by the administrator in the PROTOCOL.INI
file.
Device drivers written to the interfaces defined in NDIS function
concurrently in a system with other networking protocol drivers, and
operate correctly with the OS/2 LAN Manager software for MS-DOS and OS/2.
While OS/2 LAN Manager version 1.0 includes monolithic NetBIOS-type
drivers that support the Ungermann Bass and Sytek adapters, only NDIS-
compliant MAC and protocol drivers are shipped with OS/2 LAN Manager
version 2.0.
Please refer to the "Microsoft LAN Manager Network Device Drivers
Guide" and the Microsoft Knowledge Base for a discussion of drivers
that are supported by Microsoft OS/2 LAN Manager.
Examples of MAC and protocol drivers that are available through Microsoft
include:
- 3Com EtherLink MAC drivers that support the EtherLink I (ELNK.OS2),
EtherLink II (ELNKII.OS2), and EtherLink/MC (ELNKMC.OS2) adapters.
- IBM Token-Ring MAC driver (IBMTOK.OS2) which supports the IBM
Token-Ring adapters.
- Microsoft NetBEUI protocol driver (NETBEUI.SYS or NETBEUI.EXE),
which supports the IBM NetBEUI protocol.
Microsoft encourages all network vendors to write "NDIS-compliant" MAC
drivers and have them certified by Microsoft to ensure that they work
with other NDIS-compliant MAC drivers and OS/2 LAN Manager.
When discussing NetBIOS and NDIS, it is useful to refer to the
International Standards Organization (ISO) reference model for Open
Systems Interconnect (OSI). The OSI model consists of seven layers of
protocols. Each layer provides a service to the layer directly below it.
The following chart illustrates how OS/2 LAN Manager drivers function in
relation to the OSI model:
OSI Model Layer
-------------- -----------------------------------------------------
| | |
7 - Applica- | | User Applications |
tion | | |
-------------- -----------------------------------------------------
-------------- -----------------------------------------------------
| | Operating System |
6 - Presen- | | & |
tation | | Microsoft OS/2 LAN Manager |
-------------- -----------------------------------------------------
********** NetBIOS Interface **********************
-------------- --------------- ------------ ----------- ------------
| | | | | | | | |
5 - Session | | Microsoft | | XNS | | Other | | Ungermann |
| | NetBEUI | | Protocol | | Protocol| | Bass |
-------------- | Protocol | | Driver | | Driver | | PCNIU |
-------------- | Driver | | | | | | Driver |
| | | | | | | | |
4 - Trans- | | | | | | | | |
port | | | | | | | | |
-------------- | | | | | | | |
-------------- | | | | | | | |
| | | | | | | | |
3 - Network | | | | | | | | |
| | | | | | | | |
-------------- ------------- ------------ ----------- | |
********** NDIS Interface ********* | |
-------------- ------------- ------------ ----------- | |
| | IBM Token | |3Com Ethnt| | Other | | |
2 - Data | | Ring MAC | | MAC | | MAC | | |
Link | | Driver | | Driver | | Driver | | |
-------------- ------------- ------------ ----------- -------------
-------------- ------- ------- ------------ ----------- ------------
| | TR | | TR | | Ethernet | | Other | | UB PCNIU |
1 - Physical | |Adptr| |Adptr| | Adapter | | Adapter | | LAN |
| | #1 | | #2 | | | | | | Adapter |
-------------- ------- ------- ------------ ----------- ------------
In the above example, the Ungermann-Bass PCNIU driver (UBXNS.OS2) is
an example of a monolithic-type NetBIOS driver, while the 3Com Ethernet
driver (such as ELNK.OS2, ELNKII.OS2, and ELNKMC.OS2 drivers) and IBM
token-ring driver (IBMTOK.OS2) are examples of NDIS-compliant MAC drivers.
The Microsoft NetBEUI driver (NETBEUI.SYS or NETBEUI.EXE) is an example of
a protocol driver.
It should be noted that the protocol drivers can be configured to use
any NDIS drivers in a "many-to-many relationship." Therefore, it is
possible to have a single protocol driver communicate through multiple
NDIS drivers, or for multiple protocol drivers to communicate through
one NDIS driver.
The Microsoft LAN Manager Protocol Driver (PROTMAN.OS2) is responsible
for "binding" the Protocol and NDIS drivers together, as defined by the
administrator in the PROTOCOL.INI file. The correct format of the
PROTOCOL.INI file is described in the "Microsoft LAN Manager Network
Device Drivers Guide." After all device drivers are loaded when
CONFIG.SYS is processed, the binding process occurs when NETBIND.EXE
is invoked (either by the operator or by the STARTUP.CMD or AUTOEXEC.BAT
file). In addition, the LANMAN.INI file's [networks] section must be
edited so that OS/2 LAN Manager knows which protocol drivers to
communicate with.
Please see the "Microsoft LAN Manager Network Device Drivers Guide"
for a description of the PROTOCOL.INI and LANMAN.INI configuration
requirements.
Additional query words:
Keywords :
Version : :1.0,1.1,2.0,2.1,2.1a,2.2
Platform :
Issue type :
|