ID Number: Q51088
1.00 1.01 2.00
OS/2
Summary:
Below is information about 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 the OS/2 LAN
Manager, the network software (i.e., device drivers) must translate
OS/2 LAN Manager requests into more primitive commands that allow the
network hardware (i.e., 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 to 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 must communicate with the network hardware to send
and receive messages and assure that the link-level transmission is
successful. At a higher level, the device drivers must 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 only speaks the
English "protocol" may hear what a German person is saying, but does
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.00 include the following drivers:
1. Ungermann Bass drivers (UBXNS.xxx) for the 8-bit and 16-bit PCNIU
adapter cards, as well as the PS/2 NIC card (UBXNICPU.xxx). The
"xxx" extension depends on the MS-DOS or OS/2 version of the
driver.
2. Sytek driver (SY.OS2) for the Sytek adapter card (OS/2 only).
These monolithic drivers do not allow an administrator to replace 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:
1. Media Access Control (MAC) drivers, which provide low-level access
to network adapters. The main function of a MAC driver is to
support transmitting and receiving of messages or "packets," in
addition to some basic adapter management functions.
2. Protocol drivers, which provide higher-level communication
services. A typical protocol driver provides a NetBIOS interface at
the top (i.e., to talk to OS/2 LAN Manager) and an "NDIS interface"
at the bottom (i.e., to talk to a MAC driver). These drivers are
sometimes referred to as transport drivers.
3. 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 will function
concurrently in a system with other networking protocol drivers, and
will operate correctly with the OS/2 LAN Manager software for MS-DOS
and OS/2. While OS/2 LAN Manager Version 1.00 includes monolithic
NetBIOS-type drivers that support the Ungermann Bass and Sytek
adapters, only NDIS-compliant MAC and protocol drivers will be shipped
with OS/2 LAN Manager Version 2.00.
Please refer to the "Microsoft LAN Manager Network Device Drivers
Guide" and the Microsoft OnLine KnowledgeBase 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 the following:
1. 3Com Etherlink MAC drivers that support the Etherlink I (ELNK.OS2),
Etherlink II (ELNKII.OS2), and Etherlink/MC (ELNKMC.OS2) adapters.
2. IBM Token Ring MAC driver (IBMTOK.OS2) which supports the IBM Token
Ring adapters.
3. Microsoft NETBEUI protocol driver (NETBEUI.SYS), 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's (ISO) reference model for Open
Systems Interconnect (OSI). The OSI model consists of seven layers of
protocol in which 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) 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.