RAS Architecture Overview (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.The Remote Access Service (RAS) allows remote workstations to establish a dial-up connection to a LAN and access resources on the LAN as if the remote workstation were on the LAN. WAN miniport drivers provide the interface between RAS and wide area network (WAN) cards such as: ISDN, X.25, and Switched 56 adapters.
The primary system-supplied components of the RAS architecture include NDISWAN, the TAPI service, NDPROXY, and NDISTAPI. Developers provide TAPI-aware applications and WAN miniport drivers. CoNDIS WAN developers may also provide WAN client protocols, a miniport call manager (MCM), or a separate call manager.
The following figure shows the RAS architecture.
The following are brief descriptions of the components included in the RAS architecture.
The components on the right side of the illustration implement TAPI-related call management operations, such as setting up and tearing down calls and connections. The details of these operations depend upon the WAN model (NDIS WAN or CoNDIS WAN).
User-mode applications call RAS functions to make RAS connections with remote computers. After a RAS connection is established, such applications can connect to network services using standard network interfaces such as Windows Sockets, NetBIOS, Named Pipes, or RPC.
TAPI-aware applications, which are capable of telephony communication, run in both application and service processes. Service providers communicate with specific devices. TAPI-aware applications communicate through the TAPI interface ( tapi32.dll) with their service providers. These service providers run in the TAPI serviceprocess.
The TAPI service ( tapisrv.exe) process presents the Telephony Service Provider Interface (TSPI) of service providers to TAPI-aware applications. These service providers are DLLs that run in the context of the TAPI service process.
The operating system supplies service providers that NDIS WAN or CoNDIS WAN miniport drivers use to communicate with user-mode applications. The service provider for NDIS WAN miniport drivers is KMDDSP. The service provider for CoNDIS WAN miniport drivers (and MCMs) is NDPTSP.
KMDDSP ( kmddsp.tsp) is a service provider DLL that runs in the context of the TAPI serviceprocess. KMDDSP provides a TSPI interface that the TAPI service presents to TAPI-aware applicationsso that NDISTAPIcan communicate with user-mode applications.
KMDDSP works with NDISTAPI to convert user-mode requests to corresponding TAPI OIDs (OID_TAPI_Xxx). For more information about TAPI OIDS, see TAPI Objects.
NDPTSP ( ndptsp.tsp) is a service provider DLL that runs in the context of the TAPI serviceprocess. NDPTSP provides a TSPI interface that the TAPI service presents to TAPI-aware applications so that NDPROXYcan communicate with user-mode applications.
NDPTSP works with NDPROXY to convert user-mode requests to TAPI connection-oriented OIDs (OID_CO_TAPI_Xxx). For more information about TAPI connection-oriented OIDs, see TAPI Extensions for Connection-Oriented NDIS.
NDISTAPI ( ndistapi.sys) receives TAPI requests from KMDDSPand then calls NdisRequestto route the corresponding TAPI OIDs to NDIS WAN miniport drivers. For more information about NDISTAPI, see NDISTAPI Overview.
NDPROXY ( ndproxy.sys) communicates with TAPI through the TSPI interface that NDPTSPprovides. NDPROXY communicates through NDIS with NDISWAN and CoNDIS WAN miniport drivers, MCMs, and call managers.
For more information about NDPROXY, see NDPROXY Overview.
The RAS system component provides transports such as PPP Authentication (PAP, CHAP) and network configuration protocols (IPCP, IPXCP, NBFCP, LCP, and so forth). A WAN miniport driver (or MCM) implements only PPP media-specific framing.
NDISWAN ( ndiswan.sys) is an NDIS intermediate driver. NDISWAN binds to NDIS protocol drivers at its upper edge and WAN miniport driversat its lower edge.
NDISWAN provides PPP protocol/link framing, compression/decompression, and encryption/decryption. NDISWAN interfaces with both NDIS WAN and CoNDIS WAN miniport drivers.
For more information about NDISWAN, see NDISWAN Overview.
This serial driver component is a standard device driver for internal serial ports or multiport serial cards. The asynchronous WAN miniport driver included with Microsoft Windows 2000 and later uses the internal serial driver for modem communications. Any driver that exports the same functions as the serial driver can interface with the built-in asynchronous WAN miniport driver.
Note X.25 vendors can implement serial driver emulators for an X.25 interface card. In this case, each virtual circuit on the X.25 card appears as a serial port with an X.25 packet assembler/disassembler (PAD) attached to it. The connection interface must correctly emulate serial signals such as DTR, DCD, CTS, RTS, and DSR.
X.25 vendors who implement a serial driver emulator for their X.25 card must also make an entry for their PAD in the pad.inf file. This file contains the command/response script required to make a connection through the X.25 PAD. For more information about the pad.inf file, see the Microsoft Windows SDK documentation.
A WAN miniport driver provides the interface between NDISWANand WAN NICs.
A WAN miniport driver can be implemented as an NDIS WAN miniport driver or a CoNDIS WAN miniport driver. For more information about choosing the miniport driver model that is most appropriate for your application, see Choosing a WAN Driver Model.