RAS (Remote Access Service)
A computer running one of the following operating systems can function as a RAS server that allows clients to connect to it using a WAN connection:
You can use RAS in any computing environment that has a wide area network (WAN) or a virtual private network (VPN). RAS makes it possible to connect a remote client computer to a network server over a WAN or a VPN.
A Windows-based RAS server can accept connections through any Network Driver Interface Specification (NDIS) miniport in a WAN, including the Point‑to‑Point‑Tunneling Protocol (PPTP) and AsyncMAC miniports. AsyncMAC is an NDIS WAN miniport driver that manages the sending and receiving of packets over TAPI devices. These devices include direct serial and modem connections.
The RAS server implementation supports authentication through the Password Authentication Protocol (PAP), Challenge Handshake Authentication Protocol (CHAP) and Microsoft Challenge Handshake Authentication Protocol (MSCHAP). The Point-to-Point Protocol (PPP) supports 128-bit and 40-bit encryption.
In Windows, a RAS server is configured through the registry and I/O control codes (IOCTLs). Registry settings are used for boot-time configuration, and the IOCTLs are used for dynamic information.
The Windows versions supported by Psion computers do not support server callback or multilink connections. These Windows versions also do not support user domains. In user credentials, you can specify the user name and password, but not the domain name.
Depending on the operating system, a connection can be made either through RAS or through Windows Connection Manager.
Computer
Operating System
Supports RAS
Supports Windows Connection Manager
In the Windows networking architecture, the Windows-based device functioning as a RAS server communicates directly with PPP. This corresponds with the underlying WAN miniport — either PPTP or AsyncMAC — through Transmission Control Protocol/Internet Protocol (TCP/IP). When PPP receives requests to send IP packets from TCP/IP, it passes the packet on to the AsyncMAC miniport. After receiving a packet from PPP, the AsyncMAC miniport performs the asynchronous framing, and then forwards the packet to the TAPI device by calling Microsoft Win32 serial APIs. When receiving a packet through the network, the AsyncMAC miniport strips the asynchronous framing off the packet, verifies the Cyclic Redundancy Check (CRC), and passes the packet to PPP through the NDIS layer.
In a VPN, the PPTP WAN miniport communicates directly with TCP/IP. After receiving a packet that is addressed to the private network from TCP/IP, PPP performs the framing, and then forwards the packet to the PPTP WAN miniport. The PPTP WAN miniport encapsulates the information contained in the packet header, and then reroutes the packet back to TCP/IP. IP then attaches another header that contains the address of the PPTP server to the packet, and passes the packet on to PPP. PPP forwards the packet to either the AsyncMAC WAN miniport or a local area network (LAN) adaptor, such as an NE2000 adaptor. After receiving the packet over the network, the PPTP server strips the PPTP header off the packet, and then passes the packet to PPP.
In addition to RAS, Windows Mobile devices come with a Connection Manager which some applications, such as Internet Explorer, use to determine if there is an Internet connection. If an Internet connection is made using the Mobile Devices SDK RAS API, the Connection Manager will not be aware of it, thus any applications that rely on the Connection Manager will not be able to connect to the Internet through it.
Microsoft provides an API for creating connections through the Connection Manager. For more information, visit the following URLs:
http://msdn2.microsoft.com/en-us/library/bb416435.aspx
http://msdn2.microsoft.com/en-us/library/bb840031.aspx
Applications using direct socket connections will still be able to connect using a RAS connection on both Windows CE and Windows Mobile devices.
For articles on Ingenuity Working that will guide you in getting started with working with RAS:
community.psion.com/tags/ras/noteDG
For postings on Ingenuity Working that contain code samples that use RAS see:
community.psion.com/tags/ras/codeDG
C++: The RAS server on all Psion computers is controlled using the Microsoft RAS Win32 APIs.
Java: The RAS server on all Psion computers is controlled using the com.teklogix.ras package.
.NET: The RAS server on all Psion computers is controlled using the PsionTeklogix.RAS namespace.