The network driver interface specification (NDIS) describes the interface that network adapter card drivers use to communicate with underlying network interface cards, with overlying protocol drivers, and with the operating system.
Windows 95 included support for NDIS 2.x and 3.1 network adapter card and protocol drivers. Windows 98 still supports NDIS 2.x and 3.1 drivers, and adds support for extensions defined in NDIS 4.0 and NDIS 5.0.
This section provides technical background information about NDIS support in Windows 98.
In releases of NDIS before 3.1, adapter drivers implemented not only the media access functionality that was specific to the network adapter card, but also the media access functionality common to all NDIS drivers.
For NDIS 3.1 and later adapter miniport drivers, the Windows 98 NDIS wrapper implements the functionality common to all NDIS drivers. Thus, the miniport driver provided by the adapter manufacturer must implement only the functionality specific to the network adapter. This includes specific details such as establishing communications with the adapter, turning on and off electrical isolation for Plug and Play, providing media detection, and enabling any value-added features the adapter might contain.
Figure 29.9 shows the architecture for NDIS 3.1 or later network adapter and protocol drivers.
Figure 29.9 Windows 98 architecture for NDIS 3.1 or later protocols
Windows 98 provides miniport binary compatibility between Windows 98 and Windows NT 3.5 and later, so miniport drivers written for one operating system can also be used on the other.
NDIS 5.0 adds support for connection-oriented networks. This section gives a brief overview of connection-oriented networks and describes the general NDIS architecture for them. Next, it describes the specific NDIS architecture for asynchronous transfer mode (ATM) networks.
On connectionless networks such as Ethernet networks, computers do not wait to establish a connection before sending packets; they simply forward the packets. Both the sending and receiving computers then perform complex error-checking to ensure the packets arrived at their destination. In contrast, on connection-oriented networks such as Integrated Services Digital Network (ISDN) or ATM networks, two computers must establish a connection (sometimes called a virtual circuit [VC]) before either computer can transmit any data. NDIS 5.0 supports multiple virtual circuits on one network adapter. Computers use signaling protocols to establish virtual circuits.
On ATM networks, the signaling protocols may establish a particular Quality of Service (QoS), or level of service, during call setup. The QoS parameters defined by the ATM standards are used to negotiate such network attributes as the following:
Figure 29.10 shows how Windows 98 implements support for connection-oriented networks.
Figure 29.10 Windows 98 architecture for connection-oriented networks
NDIS 5.0 describes three entities in support of connection-oriented media:
Call manager.
The call manager implements the media-specific signaling protocol for virtual circuit (connection) management on connection-oriented networks.
Connection-oriented miniport driver.
Just as the connectionless local area network (LAN) miniport driver described in "NDIS Miniport Architecture" earlier in this section provides the hardware interface to connectionless media, the connection-oriented miniport driver provides the hardware interface to connection-oriented media.
Note
With NDIS 5.0, network adapter driver manufacturers can also create a single driver that provides both call manager and miniport functionality.
Connection-oriented protocol.
A connection-oriented protocol uses NDIS to establish and tear down virtual circuits and to send and receive data over those virtual circuits.
Figure 29.11 shows Windows 98 support for ATM networks.
Figure 29.11 Windows 98 support for asynchronous transfer mode
Windows 98 contains the following components to support ATM:
Support for ATM miniport drivers.
Windows 98 includes integrated support for many ATM miniport drivers. Microsoft distributes a driver development kit (DDK) and provides compatibility testing programs to ensure support for a variety of ATM adapters.
User-Network Interface (UNI) 3.1 call manager.
This call manager complies with the ATM Forum’s UNI specification for signaling on an ATM network.
ATM LAN Emulation 1.0.
Windows 98 includes a LAN Emulation (LANE) 1.0 module, which works with the LAN Emulation Services on an ATM switch to translate Ethernet addresses into ATM addresses, thus allowing LAN applications and protocols to function transparently on an ATM network.
Native ATM access for kernel-mode drivers.
NDIS 5.0 provides an API by which any kernel mode driver can establish and use connections on an ATM network, with full support for ATM’s Quality of Service. This will also allow Microsoft to expose native ATM access to Win32-based applications through such network programming APIs as Windows Sockets version 2.0.