The Microsoft Remote Desktop Protocol (RDP) provides remote display and input capabilities over network connections for Windows-based applications running on a server. RDP is designed to support different types of network topologies and multiple LAN protocols.
Windows Server 2003: Uses RDP 5.2 for Remote Desktop Connection and for Remote Assistant. Remote Desktop Web Connection supports RDP 5.2 and is backward compatible with RDP 5.1 and 5.0.
Windows XP: Uses RDP 5.1 for Remote Desktop Connection and for Remote Assistant. Windows XP also includes Remote Desktop Web Connection, which is an updated version of the Terminal Services Advanced Client (TSAC), an RDP client based on a Microsoft ActiveX control. Remote Desktop Web Connection supports RDP 5.1 and is backward compatible with RDP 5.0.
Windows 2000: Terminal Services includes enhanced RDP 5.0. The TSAC also supports the RDP 5.0 feature set. While continuing to provide excellent performance over the LAN, RDP 5.0 also provides enhanced performance over low-speed connections.
Basic Architecture
RDP is based on, and an extension of, the ITU T.120 family of protocols. RDP is a multiple-channel capable protocol that allows for separate virtual channels for carrying device communication and presentation data from the server, as well as encrypted client mouse and keyboard data. RDP provides an extensible base and supports up to 64,000 separate channels for data transmission and provisions for multipoint transmission.
On the server, RDP uses its own video driver to render display output by constructing the rendering information into network packets by using RDP protocol and sending them over the network to the client. On the client, RDP receives rendering data and interprets the packets into corresponding Microsoft Win32 graphics device interface (GDI) API calls. For the input path, client mouse and keyboard events are redirected from the client to the server. On the server, RDP uses its own on-screen keyboard and mouse driver to receive these keyboard and mouse events.
In a Remote Desktop session, all environment variables—for example, variables determining color depth and wallpaper enabling and disabling—are determined by the RCP-Tcp connection settings. This applies to all functions and methods that set environment variables in the and the .
Features
Microsoft RDP includes the following features and capabilities:
- Encryption
-
RDP uses RSA Security's RC4 cipher, a stream cipher designed to efficiently encrypt small amounts of data. RC4 is designed for secure communications over networks. Beginning with Windows 2000, administrators can choose to encrypt data by using a 56- or 128-bit key.
- Bandwidth reduction features
-
RDP supports various mechanisms to reduce the amount of data transmitted over a network connection. Mechanisms include data compression, persistent caching of bitmaps, and caching of glyphs and fragments in RAM. The persistent bitmap cache can provide a substantial improvement in performance over low-bandwidth connections, especially when running applications that make extensive use of large bitmaps.
- Roaming disconnect
-
A user can manually disconnect from a remote desktop session without logging off. The user is automatically reconnected to their disconnected session when he or she logs back onto the system, either from the same device or a different device. When a user's session is unexpectedly terminated by a network or client failure, the user is disconnected but not logged off.
- Clipboard mapping
-
Users can delete, copy, and paste text and graphics between applications running on the local computer and those running in a remote desktop session, and between sessions.
- Print redirection
-
Applications running within a remote desktop session can print to a printer attached to the client device.
- Virtual channels
-
By using RDP virtual channel architecture, existing applications can be augmented and new applications can be developed to add features that require communications between the client device and an application running in a remote desktop session.
- Remote control
-
Computer support staff can view and control a remote desktop session. Sharing input and display graphics between two remote desktop sessions gives a support person the ability to diagnose and resolve problems remotely.
- Network load balancing
-
RDP takes advantage of NLB, where available.
In addition, RDP 5.1 adds the following features and enhancements:
- Support for 24-bit color.
- Improved performance over low-speed dial-up connections through reduced bandwidth.
- Smart Card authentication through Remote Desktop Services.
- Keyboard hooking. The ability to direct special Windows key combinations, in full-screen mode, to the local computer or to a remote computer.
- Sound, drive, port, and network printer redirection. Sounds that occur on the remote computer can be heard on the client computer running the RDC client, and local client drives will be visible to the remote desktop session.