Windows NT Workstation Network Access
Microsoft programs access resources whether they are local or remote using the Application program Interface(API) which is called the NTI/O API in NT. Networking application layer components are:
- Server service - Manages security and creation of resources that are shared. It processes client connection requests and may deny requests.
- Workstation service - Enables connections to shared directories, logging in and supports the IPC mechanisms below. There are two components:
The server.exe file manages client connection requests. The srv.sys file manages the filesystem interacting with the network.
- User mode interface - Determines the filesystem the user request is for.
- Redirector - Works at the filesystem layer of Microsoft's network model translating print and file requests to lower layer components. It is a link between applications requesting resources and the various redirectors that support the system. This way applications don't need to know about the number of type of redirectors installed.
These components are used to support file and print sharing. Other support layers include:
- MPR - Multi-Provider Router is used for applications that use the Win32 API. It knows what redirector handles a specific UNC named drive. The request path is: I/O Manager -> UNC Name -> MUP -> Redirector. This router presents all services in a single list.
- MUP - Multiple Universal Naming Convention Provider is used to redirect requests to the correct network service when a UNC name is not being used. The IDs for shares used or redirector names are saved for 15 minutes. If the share was not accessed within fifteen minutes, the redirectors are tried by binding priority order. The request path through the MUP is: I/O Manager -> Nonunc -> Provider DLL -> Redirector.
IPC - Interprocess Communication
The connection between computers is called the IPC mechanism. When a resource request is made, a path to the resource must be determined. The path is through the layers of the client computer, through the network and through the layers of the server. The paths are called the bindings for the computer. There may be bindings to multiple protocols to allow communication to computers using various network protocols including TCP/IP, NetWare and NetBEUI. The file system driver layer supports these communication mechanisms which can be broken into two categories.
- Mailslots - A connection less one-way connection channel in which data is sent with no acknowledgment of receipt. It is used by browser service. This is similar to named pipes except named pipes are connection oriented.
- Named Pipes - A bidirectional connection oriented channel. Connection oriented indicates that the receiving station acknowledges receipt of data. This means the data transport is reliable and data is guaranteed to be sent and received or the sender will be aware of it.
- Programming interfaces
- NetBIOS - Allows browsing of network resources and handles basic functions of a Windows network. Two way acknowledged data transfer is used.
- Windows Sockets - A Windows application programming interface (API) that allows interface to transport mechanisms such as TCP/IP and IPX/SPX. It provides a two way connection oriented data transfer between computers. Communications support is provided for IPX/SPX with NetWare Loadable Modules (NLMs).
- NetDDE - Network Dynamic Data Exchange opens pipes across the network between two applications. Communication with the network components is facilitated with NetBios APIs by NetDDE. This is similar to DDE (Dyanamic data Exchange) which allows copying of date on a local computer from one application to another.
- RPC - Remote Procedure Call provides an ability for a remote computer to call a procedure residing in a server process which is running on a remote machine. Remote computers can use this mechanism to send data to and run programs on server computers and receive the data output from the program being run on the server computer. Components
- Stub - packages request
- Runtime - Passes data between local and remote computers.
- Application stub - Accepts RPC requests and makes the procedure call
- Remote procedure
- DCOM - Distributed Component Object Model is a method provided by Microsoft to optimize performance of network programs by allowing the distribution of processes on multiple servers. Microsoft's version of RPC.