User's Guide
PART 4. Database Administration and Advanced Use
CHAPTER 26. Client/Server Communications
The OSI model is close enough to current networking software and hardware to be a useful model for thinking about networks. There are inevitable complications because of the different ways in which software companies have designed their own systems. Also, there are complications when an individual computer is running more than one protocol stack, as is increasingly common.
The TCP/IP protocol is available on all major operating systems. In addition, some widely used network software packages implement their own protocol stacks. Here are some networking software vendors together with their most common proprietary protocol stacks.
Novell Novell NetWare typically operates using an SPX transport level atop an IPX network protocol (often written as SPX/IPX). Novell's IPX requires an ODI data link layer. The NetWare client installation installs this protocol stack on Novell NetWare client computers. Adaptive Server Anywhere has an interface directly to the IPX protocol, and does not rely on the services of the SPX layer.
NetWare, IPX, and ODI are often used interchangeably when discussing network protocols.
Microsoft Microsoft Windows NT 3.5 and later comes with networking software for NetBIOS, IPX, and TCP/IP. Windows 95 installs IPX as default networking software, and also comes with NetBEUI software. Windows for Workgroups typically uses NetBIOS on top of NetBEUI as the transport level protocol. The NDIS data link layer protocol was jointly developed by Microsoft and IBM, and is employed by all Microsoft's higher-level protocols.
IBM IBM LAN Server and other IBM networking software use a NetBIOS interface to a NetBEUI transport layer on top of an NDIS data link layer. The NDIS data link layer protocol was jointly developed by Microsoft and IBM, and is employed by all IBM's higher-level protocols.
In each case, the installed data link layer may be changed from ODI to NDIS (or vice versa) by other networking software if more than one network protocol is installed. In these cases a translation driver ensures that both ODI and NDIS data link layer interfaces are available to the higher levels of the protocol stack. Working with more than one protocol stack is discussed in more detail in the next section.
For two network applications (such as a client application and a database server) to communicate, the client computer and the server computer must have compatible protocol stacks at each level. When each computer has a single network protocol installed, it is fairly straightforward to ensure that each is running the same stack. However, when each computer is running multiple protocols, the situation becomes more complex.
At the transport and network layers, there is no problem with more than one protocol running at once; as long as there is a compatible path through the protocol stacks, the two applications can communicate.
There are two widely-used interfaces between the data link layer and the network layer above it: ODI and NDIS. The data link layer communicates directly with the network adapter, so only one data link driver can be installed at a time. However, because most data link layers do not modify the information placed on the network wire, an ODI data link driver on one computer is compatible with an NDIS driver on another computer.
Each network layer is written to work with one, and only one, of ODI or NDIS. However, translation drivers are available that enable network level protocols that require an NDIS (or ODI) data link interface to work with ODI (or NDIS) data link layers. Consequently, a protocol stack built on an ODI data link layer can be compatible with a protocol stack based on an NDIS data link layer as long as the upper layers are compatible.
For example, Novell provides a driver named odinsup, which enables support for NDIS network protocols on an ODI data link layer, as well as a driver named odi2ndi, which translates in the other direction. Microsoft provides an ODI to NDIS mapper called odihlp.exe with Windows for Workgroups and Windows 95.
The translation drivers enable NDIS-based protocol stacks to be compatible with ODI-based protocol stacks on other computers, and to coexist on the same computer. You can think of the network adapter driver, the NDIS or ODI interface, and (if present) the translation driver as together forming the data link layer. For instance, you can configure a computer running OS/2 with an NDIS driver to communicate (via odi2ndi) with a Novell NetWare server using IPX on ODI drivers and, at the same time, communicate (via the NDIS driver) with a Windows NT computer using TCP/IP on an NDIS driver.
Troubleshooting tip |