1.9 Explain the purpose of NDIS and Novell ODI network standards.
NDIS, Network Driver Interface Specification, is a network driver interface from Microsoft and 3Com, which is called by the transport drivers to access the network card. There are two benefits on using NDIS.
Driver is also called device driver, which is a program routine that links a peripheral device to the operating system. Any hardware device such as keyboard, sound card or network adapter needs to install a corresponding driver (generally a software package) before communicating with the operating system. Some people may ask following question, 'I've installed network adapter driver however I've never installed the driver for the keyboard, what's wrong?' Nothing wrong! You don't install the keyboard driver doesn't mean a keyboard doesn't need the device driver. You should always remember that 'ANY hardware device needs a driver for communication with the operating system'. However, the system BIOS already includes the drivers for some fundamental devices such as key board, floppy and non-SCSI hard disks have their driver. You don't need to install the device driver for them again. Other devices such as network adapter, display adapter and sound card must install the corresponding driver manually. The device driver is generally from the manufactory of that device, but Microsoft also integrates some popular device drivers into its operating system such as Windows 95 and Windows NT. Some devices can even support plug-and-play. When you use a plug-and-play operating system such as Windows 95 (Windows NT 4.0 doesn't support plug-and-play), it can recognize the new device and install the corresponding device driver for you. Because these kind of additional device drivers are loaded at boot time, you always need to reboot the system when a new device driver is installed.
As we learnt before, the second layer of OSI model is the Data Link layer. We can divide it into two sublayers MAC (Media Access Control) and LLC (Logical Link Control). (Figure 1.21)
Figure 1.21 Divided Data Link layer into MAC and LLC two sublayer
Network adapter driver is also called MAC driver, which works on the MAC sublayer. Let's review the OSI model first, physical layer is under the data link layer while network and Transport layer is above the data link layer. We already know that physical layer is responsible for physical transmissions. But what is in the network and Transport layer? (Also don't forget NDIS is a network driver interface that is called by the transport drivers to access the network card.) The answer is the protocol. For example, TCP and SPX work on Transport layer while IP and IPX work on the network layer. Because NetBEUI is an unroutable protocol, it works on Transport layer (network layer is responsible for routing, forgot router works on network layer?).
Until late 1980s, people tired the transport protocol to a MAC-layer interface, which made it difficult for network adapter card vendors to support the different network operating systems. The manufactories of the network adapter need to write different driver for a variety of protocols in a variety of operating system. To overcome the above problem, Microsoft and 3Com developed a standard defining an interface for communication between the MAC layer and the transport protocol drivers in 1989. This standard is also known as NDIS.
Any NDIS-conformant protocol can pass data to any NDIS-conformant MAC driver, and vice versa.
Binding is a process to establish the initial communication channel between the protocol driver and the MAC driver. You can bind several protocols on a single network adapter that let you simultaneous access to different types of network servers with different network protocols. Moreover, binding the most often used protocol first can improve the network performance.
ODI, Open Data-Link Interface, is a network driver interface from Novell and Apple. ODI can also provide multiple protocol support such as NDIS. The functionality of ODI is similar with the NDIS, which allows network adapter to be independent of any particular transport protocols such as TCP/IP, IPX/SPX as well as NetBEUI.
Windows NT only supports NDIS 3.0. Windows 95 and Windows 98 support NDIS 3.1. Because plug and play is only supported by Windows 95/98 while not Windows NT. You cannot use NDIS 3.1 with plug and play supported on Windows NT.