3 4
Communication between SQL Server clients and servers requires various software and hardware layers. Each layer serves a specific purpose. Let's take a brief look at each of these layers; their functions will be described more fully later in this chapter.
The top layer is the SQL Server application programming interface (API). One of the following serves as the API layer:
The API functions on top of a network library layer, which comprises one or more net-libraries, or net-libs. Net-libraries transform SQL Server instructions and data into system calls that communicate with the underlying network protocol layer. Net-libraries are SQL Server components, whereas the network protocol layer is a component of the operating system. You can choose from among the following net-libraries:
Just as the network library layer can contain more than one net-library, the network protocol layer can contain more than one protocol, and each net-library communicates with one or more protocols. The network protocol layer is the operating system component that speaks the network protocol language. The SQL Server calls and data are encapsulated within network calls that can be transmitted across the network in this layer. With the exception of multiprotocol, each network protocol supports a particular net-library with the same name. The multiprotocol option utilizes the remote procedure call (RPC) facility of Windows 2000 and Windows NT. It supports TPC/IP sockets, NWLink IPX/SPX, and named pipes simultaneously.
It is quite common for a Windows NT or Windows 2000 Server to run several network protocols simultaneously. These protocols will be described in more detail in the section "Network Libraries" later in this chapter.
The lowest communication layer consists of the network hardware and device drivers. This layer is usually independent of the network protocol layer, but a few dependencies exist. For example, some devices support only certain network protocols. Many network technologies are available, and more are constantly being created. The network hardware layer can consist of multiple technologies, including the following:
The communication layers exist on both the client side and the server side, as illustrated in Figure 11-1. As you can see, quite a bit of processing is required to go from an ODBC call down to actual transmission. In this chapter, we'll examine not only how the various layers are supposed to function but also how to troubleshoot problems.
Figure 11-1. SQL Server communication layers.