Remote Desktop Protocol (RDP) is a "proprietary protocol developed by "Microsoft, which provides a user with a "graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software.

Microsoft provides the client required for connecting to newer RDP versions for downlevel operating systems. Since the server improvements are not available downlevel, the features introduced with each newer RDP version only work on downlevel operating systems when connecting to a higher version RDP server from these older operating systems, and not when using the RDP server in the older operating system.["clarification needed]

Based on the "ITU-T T.128 application sharing protocol (during draft also known as "T.share") from the "T.120 recommendation series, the first version of RDP (named version 4.0) was introduced by Microsoft with "Terminal Services", as a part of their product "Windows NT 4.0 Server, Terminal Server Edition. The Terminal Services Edition of NT 4.0 relied on "Citrix's MultiWin technology, previously provided as a part of "Citrix WinFrame atop Windows NT 3.51, in order to support multiple users and login sessions simultaneously. Microsoft required Citrix to license their MultiWin technology to Microsoft in order to be allowed to continue offering their own terminal-services product, then named Citrix MetaFrame, atop Windows NT 4.0. The Citrix-provided DLLs included in Windows NT 4.0 Terminal Services Edition still carry a Citrix copyright rather than a Microsoft copyright. Later versions of Windows integrated the necessary support directly. The T.128 application sharing technology was acquired by Microsoft from UK software developer Data Connection Limited.[5][6]

This version was introduced with "Windows XP Professional, included support for 24-bit color and sound. The client is available for "Windows 2000, "Windows 9x, "Windows NT 4.0.[7] With this version, the name of the client was changed from Terminal Services Client to Remote Desktop Connection; the heritage remains to this day, however, as the underlying executable is still named mstsc.exe.

This version was introduced with "Windows Server 2003, included support for console mode connections, a session directory, and local resource mapping. It also introduces Transport Layer Security (TLS) 1.0 for server authentication, and to encrypt terminal server communications.[8] This version is built into Windows XP Professional x64 Edition and Windows Server 2003 x64 & x86 Editions.

This version was introduced with "Windows Vista and incorporated support for "Windows Presentation Foundation applications, "Network Level Authentication, multi-monitor spanning and large desktop support, and "TLS 1.0 connections.[9] Version 6.0 client is available for Windows XP SP2, Windows Server 2003 SP1/SP2 (x86 and x64 editions) and Windows XP Professional x64 Edition. Microsoft Remote Desktop Connection Client for Macintosh OS X is also available with support for Intel and PowerPC Mac OS versions 10.4.9 and greater.

This version was released in February 2008 and is included with "Windows Server 2008, as well as with Windows Vista Service Pack 1. The client is included with Windows XP SP3.[10] In addition to changes related to how a remote administrator connects to the "console",[11] this version has new functionality introduced in Windows Server 2008, such as connecting remotely to individual programs and a new client-side printer redirection system that makes the client's print capabilities available to applications running on the server, without having to install print drivers on the server.[12][13]

This version was released to manufacturing in July 2009 and is included with "Windows Server 2008 R2, as well as with "Windows 7.[14] With this release, also changed from Terminal Services to Remote Desktop Services. This version has new functions such as Windows Media Player redirection, bidirectional audio, multi-monitor support, Aero glass support, enhanced bitmap acceleration, Easy Print redirection,[15] "Language Bar docking. The RDP 7.0 client is available on Windows XP SP3 and Windows Vista SP1/SP2 through KB969084.[16] RDP 6.1 client and RDP 7.0 client are not supported on Windows Server 2003 x86 and Windows Server 2003 / Windows XP Professional x64 editions. RDP 7.0 is also not supported on Windows Server 2008. RDP 7.0 clients also do not support connecting to terminal servers running "Windows 2000 Server.[17]

Most RDP 7.0 features like Aero glass remote use, bidirectional audio, Windows Media Player redirection, multiple monitor support and Remote Desktop Easy Print are only available in Windows 7 Enterprise or Ultimate editions.[18][19]

This version was released in "Windows 8 and "Windows Server 2012. This version has new functions such as Adaptive Graphics (progressive rendering and related techniques), automatic selection of TCP or UDP as transport protocol, "multi touch support, DirectX 11 support for vGPU, USB redirection supported independently of vGPU support, etc.[20][21] A "connection quality" button is displayed in the RDP client connection bar for RDP 8.0 connections; clicking on it provides further information about connection, including whether UDP is in use or not.[22]

The RDP 8.0 client and server components are also available as an add-on for Windows 7 SP1. The RDP 8.0 client is also available for Windows Server 2008 R2 SP1, but the server components are not. The add-on requires the "DTLS protocol to be installed as prerequisite.[22] After installing the updates, for the RDP 8.0 protocol to be enabled between Windows 7 machines, an extra configuration step is needed using the "Group Policy editor.[23]

A new feature in RDP 8.0 is limited support for RDP session nesting; it only works for Windows 8 and Server 2012 though, Windows 7 and Server 2008 R2 (even with the RDP 8.0 update) do not support this feature.[24]

The "shadow" feature from RDP 7, which allowed an administrator to monitor (snoop) on a RDP connection has been removed in RDP 8. The Aero Glass remoting feature (applicable to Windows 7 machines connecting to each other) has also been removed in RDP 8.[21][22]

This version was released with "Windows 8.1 and "Windows Server 2012 R2. A RDP 8.1 client update exists for Windows 7 SP1 as well, but unlike the RDP 8.0 update for Windows 7, it does not add a RDP 8.1 server component to Windows 7. Furthermore, if RDP 8.0 server function is desired on Windows 7, the KB 2592687 (RDP 8.0 client and server components) update must be installed before installing the RDP 8.1 update.[25][26]

Support for session shadowing was added back in RDP version 8.1. This version also fixes some visual glitches with "Microsoft Office 2013 when running as a "RemoteApp.[25]

Version 8.1 of the RDP protocol also enables a "restricted admin" mode. Logging into this mode only requires knowledge of the hashed password, rather than of its "plaintext, therefore making a "pass the hash attack possible.[27] Microsoft has released an 82-page document explaining how to mitigate this type of attack.[28]

In March 2012, Microsoft released an update for a critical security vulnerability in the RDP protocol. The vulnerability allowed a Windows computer to be compromised by unauthenticated clients and "computer worms.[35]

RDP client version 6.1 can be used to reveal the names and pictures of all users on the RDP Server (no matter which Windows version) in order to pick one, if no username is specified for the RDP connection.["citation needed]

There are numerous non-Microsoft implementations of RDP clients and servers that implement subsets of the Microsoft functionality. For instance, the open-source command-line client "rdesktop is available for Linux/Unix and Microsoft Windows operating systems. There are many GUI clients, like "tsclient and "KRDC, that are built on top of rdesktop; CoRD is such a client for the Macintosh.[36] Unlike the Microsoft client for OS X, CoRD uses a single tabbed window for all remote sessions, which a "ZDNet reviewer found less confusing.[37] Another 2011 review found CoRD's connections more stable than Microsoft's OS X client.[38]

In 2009, rdesktop was forked as FreeRDP, a new project aiming at modularizing the code, addressing various issues, and implementing new features.[39] FreeRDP comes with its own command-line-client xfreerdp, which supports Seamless Windows in RDP6. There’s also a GTK-Application named "Remmina.

An open-source implementation of a Remote Desktop Protocol server on Unix is FreeRDP and xrdp. The Windows' Remote Desktop Connection client can be used to connect to a server. Proprietary RDP client solutions such as rdpclient are available as a stand-alone application or embedded with client hardware.

A new access paradigm, browser-based access, has enabled users to access Windows desktops and applications on any RDP hosts, such as Microsoft Remote Desktop (RDS) Session Hosts (Terminal Services) and virtual desktops, as well as remote physical PCs.

There is also a so-called VRDP protocol used in the "VirtualBox virtual machine implementation by "Oracle. This protocol is compatible with all RDP clients, such as that provided with Windows but, unlike the original RDP protocol, can be configured to accept unencrypted and password unprotected connections, which may be useful in secure and trusted networks, such as home or office "LANs. By default, Microsoft's RDP server refuses connections to user accounts with empty passwords (but this can be changed with the "Group Policy Editor[40]). External and guest authorization options are provided by VRDP as well. It does not matter which operating system is installed as a guest because VRDP is implemented on the virtual machine (host) level, not in the guest system. The "proprietary VirtualBox Extension Pack is required.

Microsoft requires third-party implementations to license the relevant RDP patents from itself.[41] As of February 2014[update], the extent to which open-source clients meet this requirement remains unknown.

^FreeRDP is a successor to rdesktop, a longtime-favored application for use on *nix systems to access Windows servers and workstations. The goal of FreeRDP is twofold: a more complete support of keyboard layouts; and support of newer Remote Desktop Protocol (RDP) features found in the Windows 6.0(Vista/2008) & 6.1 (7/2008R2) environments.(from README)