RDP (Remote Desktop Protocol)
This page was last modified on 24 June 2016, at 04:24.
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.
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 Windows 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 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-ТСР connection settings. This applies to all functions and methods that set environment variables in the Remote Desktop Web Connection Reference and the Remote Desktop Services WMI Provider interface.
Microsoft RDP includes the following features and capabilities:
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. 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.
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.
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.
Applications running within a remote desktop session can print to a printer attached to the client device.
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.
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 network load balancing (NLB), where available.
In addition, RDP contains the following features:
- 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.
Remote Desktop Connection
Open the Control Panel and go to System and Security -> System.
You have three options to choose from under Remote Desktop:
- "Don't allow remote connections to this computer" - This option will prevent users from connecting to your computer using Remote Desktop Connection or RemoteApp. RemoteApp connections are connections where the client only connects to a single application.
- "Allow remote connections to this computer" (Windows 10 and Windows 8.1) or "Allow connections from computers running any version of Remote Desktop" (in Windows 7) - This will allow users running any version of RemoteApp or Remote Desktop Connection to connect to your computer. Use this if you're not sure which version of Remote Desktop the client will be using, or if they are using a third-party Remote Desktop Connection application. For example, Ubuntu clients will likely require the second option.
- "Allow connections only from computers running Remote Desktop with Network Level Authentication" - This restricts Remote Desktop Connections to those running versions of Remote Desktop that have Network Level Authentication. Network Level Authentication was introduced in Remote Desktop Client 6.0. If the client computer is running Windows 10, Windows 8.1, Windows 7, or they've recently downloaded the Remote Desktop Connection client, use this option, as it's more secure.
At this point, you can click or tap OK and clients will be able to log in to your computer via Remote Desktop Connection using the login credentials for administrator level users.
If the RD Session Host role service is not installed on the computer, a connection can only allow a maximum of two simultaneous remote connections to the computer.
Remote Desktop Services
Installing RDS (Remote Desktop Services; step-by-step guide):):
Remote Desktop Licensing (RD Licensing), formerly Terminal Services Licensing (TS Licensing), manages the Remote Desktop Services client access licenses (RDS CALs) that are required for each device or user to connect to a Remote Desktop Session Host (RD Session Host) server. You use RD Licensing to install, issue, and track the availability of RDS CALs on a Remote Desktop license server.
When a client — either a user or a device — connects to an RD Session Host server, the RD Session Host server determines if an RDS CAL is needed. The RD Session Host server then requests an RDS CAL from a Remote Desktop license server on behalf of the client attempting to connect to the RD Session Host server. If an appropriate RDS CAL is available from a license server, the RDS CAL is issued to the client, and the client is able to connect to the RD Session Host server.
To configure the number of simultaneous remote connections allowed for a connection:
- On the RD Session Host server, open Remote Desktop Session Host Configuration. To open Remote Desktop Session Host Configuration, click Start, point to Administrative Tools, point to Remote Desktop Services, and then click Remote Desktop Session Host Configuration.
- Under Connections, right-click the name of the connection, and then click Properties.
- In the Properties dialog box for the connection, on the Network Adapter tab, click Maximum connections, enter the number of simultaneous remote connections that you want to allow for the connection, and then click OK.
If the Maximum connections option is selected and dimmed, the Limit number of connections Group Policy setting has been enabled and has been applied to the RD Session Host server.
You can also set the maximum number of simultaneous connections allowed for an RD Session Host server by applying the Limit number of connections Group Policy setting. This Group Policy setting is located in
Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections and can be configured by using either the Local Group Policy Editor or the Group Policy Management Console (GPMC). Note that the Group Policy setting will take precedence over the setting configured in Remote Desktop Session Host Configuration.