Network Resource Access
Applications reside above the redirector and server services in user mode. Like all other layers in the Windows 2000 networking architecture, there is a unified interface for accessing network resources, which is independent of any redirectors installed on the system. Access to resources is provided through the Multiple Uniform Naming Convention Provider (MUP) and the Multi-Provider Router (MPR).
Multiple Universal Naming Convention Provider
When applications make I/O calls containing Uniform Naming Convention (UNC) names, these requests are passed to the Multiple UNC Provider (MUP). MUP selects the appropriate UNC provider (redirector) to handle the I/O request.
Universal Naming Convention Names
UNC is a naming convention for describing network servers and the share points on those servers. UNC names start with two backslashes followed by the server name. All other fields in the name are separated by a single backslash. A typical UNC name appears as: \\server\share\subdirectory\filename .
Not all of the components of the UNC name need to be present with each command; only the share component is required. For example, the command dir \\servername\sharename can be used to obtain a directory listing of the root of the specified share. One of the design goals of the Windows 2000 networking environment is to provide a platform upon which others can build. MUP is a vital part of allowing multiple redirectors to coexist in the computer. MUP frees applications from maintaining their own UNC-provider listings. If there are multiple redirectors present there must be a means of deciding which one to use. MUP's function is to act as an arbitrator to decide the most appropriate redirector to use. Figure B.21 shows the Windows 2000 architecture of MUP.
Figure B.21 MUP Architecture
MUP is a driver, unlike the TDI interface, which merely defines the way a component on one layer communicates with a component on another layer. MUP also has defined paths to UNC providers (redirectors).
I/O requests from applications that contain UNC names are received by the I/O manager, which passes the requests to MUP. If MUP has not seen the UNC name during the previous 15 minutes (this is only an approximate time period and is subject to change), MUP sends the name to each of the UNC providers registered with it. MUP is a prerequisite of the workstation service.
When a request containing a UNC name is received by MUP, it checks with each redirector to find out which one can process the request. MUP looks for the redirector with the highest registered-priority response that claims it can establish a connection to the UNC. This connection remains as long as there is activity. If there has been no request for 15 minutes (this is only an approximate time period and is subject to change) on the UNC name, then MUP negotiates to find another appropriate redirector.
Not all programs use UNC names in their I/O requests. Some applications use WNet APIs, which are the Win32 network APIs. The Multi-Provider Router (MPR) was created to support these applications.
MPR is similar to MUP. MPR receives WNet commands, determines the appropriate redirector, and passes the command to that redirector. Because different network vendors use different interfaces for communicating with their redirector, there is a series of provider DLLs between MPR and the redirectors. The provider DLLs provide a standard interface so that MPR can communicate with them. The appropriate DLLs take the request from MPR and communicate it to their corresponding redirector. Figure B.22 illustrates the Multi-Provider Router architecture.
Figure B.22 Multi-Provider Router
The provider DLLs are supplied by the network-redirector vendor and are automatically installed when the redirector is installed.
The acronym MPR is also used for the Multi-Protocol Routing, a series of routing components supplied with Windows NT 4. In Windows 2000, Multi-Protocol Routing has become the Routing and Remote Access Service.