NICs play an important role in connecting a computer to the physical part of the network. No discussion of networking standards is complete without including drivers, the small software programs that enable a computer to work with a network card or other device. In this lesson we look at device drivers and how they relate to the OSI reference model.
After this lesson, you will be able to:
Estimated lesson time: 15 minutes
A driver (sometimes called a device driver) is software that enables a computer to work with a particular device. Although a device might be installed on a computer, the computer's operating system cannot communicate with the device until the driver for that device has been installed and configured. The software driver tells the computer how to drive or work with the device so that the device performs the job it is assigned in the way it is supposed to.
There are drivers for nearly every type of computer device and peripheral including:
Usually, the computer's operating system works with the driver to make the device perform. Printers provide a good illustration of how drivers are used. Printers built by different manufacturers all have different features and functions. It would be impossible for computer makers to equip new computers with all the software necessary to identify and work with every type of printer. Instead, printer manufacturers make drivers available for each printer. Before your computer can send documents to a printer, you must install the driver for that printer on your computer's hard drive.
As a general rule, manufacturers of components, such as peripherals or cards that must be physically installed, are responsible for supplying the drivers for their equipment. For example, NIC manufacturers are responsible for making drivers available for their cards. Drivers generally are included on a disk with the equipment when it is purchased, included with the computer's operating system, or made available for downloading from an Internet service provider such as the Microsoft Network (MSN), CompuServe, or others.
Network drivers provide communication between a NIC and the network redirector running in the computer. The redirector is the part of networking software that accepts input/output (I/O) requests for remote files and then sends, or redirects, them over the network to another computer. During installation, the driver is stored on the computer's hard disk.
NIC drivers reside in the MAC sublayer of the OSI reference model's data-link layer. The MAC sublayer is responsible for providing shared access to the physical layer for the computer's NICs. As shown in Figure 5.10, the NIC drivers provide virtual communication between the computer and the NIC. This, in turn, provides a link between the computer and the rest of the network.
Figure 5.10 Communication between the NIC and network software
It is common for a NIC manufacturer to provide drivers to the networking-software vendor so that the drivers can be included with the network operating software.
When purchasing a new hardware device, always make sure that it contains the correct drivers for the specified computer operating system on which it will be installed. If in doubt, or if you are missing the appropriate driver, consult the manufacturer before you install the device. Updated drivers or drivers for various operating systems often are available over the Internet for downloading.
The hardware compatibility list (HCL) supplied by operating-system manufacturers describes the drivers they have tested and included with their operating system. The HCL for a network operating system might list more than 100 NIC drivers. This does not mean that an unlisted driver won't work with that operating system; it means only that the operating-system manufacturer has not tested it.
Even if the driver for a particular card has not been included with the network operating system, it is usual for the manufacturer of the NIC to include drivers for most popular network operating systems on a disk that is shipped with the card. Before buying a card, however, make sure that the card has a driver that will work with a particular network operating system. Installation and configuration of drivers is discussed in detail in Chapter 8, "Designing and Installing a Network."
Network Driver Interface Specification (NDIS) is a standard that defines an interface for communication between the MAC sublayer and the protocol drivers. By permitting the simultaneous use of multiple protocols and drivers, NDIS allows for a flexible environment of data exchange. It defines the software interface, known as the NDIS interface. Protocol drivers use this interface to communicate with the NICs. The advantage of NDIS is that it offers protocol multiplexing, so that multiple protocol stacks can be used at the same time. Three types of network software have interfaces described by NDIS:
Microsoft and 3Com jointly developed the NDIS specification for use with Warp Server and Windows NT Server. All NIC manufacturers make their boards work with these operating systems by supplying NDIS-compliant software drivers.
Open Data-Link Interface (ODI) is a specification adopted by Novell and Apple to simplify driver development for their network operating systems. ODI provides support for multiple protocols on a single NIC. Similar to NDIS, ODI allows Novell NetWare drivers to be written without reference to the protocol that will be used on top of them. All NIC manufacturers can make their boards work with these operating systems by supplying ODI-compliant software drivers.
ODI and NDIS are incompatible. They present different programming interfaces to the upper layers of the network software. Novell, IBM, and Microsoft offer ODI-to-NDIS translation software to bridge the two interfaces. Two examples are ODI2NDI.SYS and ODINSUP.SYS.
Most network card manufacturers supply both NDIS- and ODI-compliant drivers with their boards.
The following points summarize the main elements of this lesson: