The Microsoft Remote Desktop Protocol (RDP) provides remote display and input capabilities over network
connections for Microsoft 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 Remote Desktop Web Connection Reference and the
Terminal Services WMI Provider
interface.
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 Terminal Services 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 Terminal Services session, and between sessions.
- Print redirection
Applications running within a Terminal Services 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 Terminal Services session.
- Remote control
Computer support staff can view and control a Terminal Services session. Sharing input
and display graphics between two Terminal Services 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 Terminal Services.
- Keyboard hooking. The ability to direct special Microsoft 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 Terminal Services software, and local client drives will be visible to the
Terminal Services session.
Send comments about this topic to Microsoft
Build date: 9/25/2008