Wednesday, December 16, 2009

Remote Desktop Services Using RDP

If you love the data on your desktop, and want it on the move, then this blog-post is for you. In this post, I will emphasize the Remote Desktop Protocol (RDP) of Microsoft using the Remote Desktop Services/Terminal Services.

Remote Desktop Protocol (RDP) is primarily a proprietary protocol developed by Microsoft, which focuses on providing user with a graphical interface to another computer.

Notable features of RDP include -

  • 32-bit color support
  • A 128-bit encryption algorithm and protection from vulnerabilities like the man-in-the-middle
  • Audio redirection
  • File System Redirection
  • Port Redirection
  • Support for Aero Glass Theme and ClearType font smoothing technology
  • Support for Transport Layer Security
  • Multiple monitor support

Remote Desktop Services, formerly known as Terminal Services, is one of the components of Microsoft Windows that allow a user to access applications and data on a remote computer over the network. It is built on the RDP protocol.

The RDP Desktop Services segregates the systems into two groups - the servers and the clients. RDP Servers and Clients exist for several versions of Microsoft Windows, Linux, UNIX, Mac OS X, etc.

This article will focus on configuring both, the RDP Servers and RDP Clients. The configuration steps mentioned here are restricted to the Windows line of Operating Systems - XP, Vista, etc; and for illustration purposes, I will be using Windows 7 as my server and Windows XP running on VirtualBox as my client.

Besides Windows, RDP servers are available for the UNIX Operating System in the form of several open-source projects. UNIX based RDP clients also exist, like the rdesktop.

Configuring RDP Servers

A RDP server is the heart of the RDP protocol. Once a system has been configured as a RDP server, any user with sufficient privileges can log into the system from any terminal and perform their tasks.

Configuring the RDP Server on Windows 7 involves the following steps -

  1. Right-click Computer and select Properties
  2. Click on Remote Settings link present in the left panel
  3. If you want to allow connections from any version of Remote Desktop, select the second option. This is a less secure configuration. However this will allow users from other versions of Windows and UNIX to connect to the system. For e.g. if a system with Windows 7 has been setup as a server, this option will allow older versions of Windows like XP and 2K to access it
  4. On the other hand if you are sure that you want users to connect from the same version of Remote Desktop, select the third option. This is a more secure configuration

Configuring RDP Clients

Once the server has been setup, any RDP Client can hook up to it from any system connected to it in the network.

Establishing a connection to a RDP Server from a system running Windows XP involves the following steps -

  1. Go to All Programs -> Accessories -> Remote Desktop Connection
  2. If the RDP Server has a computer name, enter the name. Else enter the IP address of the RDP Server
  3. Login with the proper username and password; and you are ready to work
  4. At the end, remember to log off and not shut down, because shutting the system down would require a physical startup the next time whereas logging in again can be done remotely

Remember - According the EULA of Microsoft Windows, only a single user can use the copy of Windows at a time. So there can be only one RDP Client active for a particular RDP Server. If another RDP Client logs in, the existing user will prompted to log off.

Facts and Features of RDP

  • RDP uses presentation virtualization to enable a much better end-user experience, scalability and bandwidth experience. RDP plugs into the Windows graphics system the same way a real display driver does, expect that, instead of being a driver for a physical video card, RDP is a virtual display driver
  • RDP usage of bandwidth is far less than expected. This is important as bandwidth is a very big constraint in networking. However, the bandwidth usage varies from the application to application being used. E.g. A slideshow in PowerPoint will drive more bandwidth than a simple movement of the mouse
  • RDP can be tuned as per the requirements of the user. Factors like user-experience can be compromised to reduce the usage of bandwidth. RDP can be configured to give better performance too
  • Color depths have no effect on the user-experience of RDP. Though the initial versions only supported 8bpp (bits per pixel), the newer versions support 32bpp, and in fact Aero needs 32bpp to function properly
  • RDP is highly secure as it supports strong encryption and uses Keberos or TLS/SSL for authentication
  • RDP is not only used in Remote Desktop Services, it is used in several applications like Windows Media Center Extenders (including Xbox 360), Windows Live Mesh, etc.
  • The RDP protocol is completely publicly documented. To understand the internal working of RDP, you can visit - http://msdn.microsoft.com/en-us/library/cc240445(PROT.10).aspx

Well that’s it for a simple RDP Server-Client setup. Do check back soon for my next article on Windows Meeting Space, which is another part of the Remote Desktop Services using the RDP.

9 comments:

Reza's Techno-Science said...

Nive info...thanks!!

Anonymous said...

Are there any known bugs or inherent problems with this service, because despite my best efforts I have had absolutely no luck in establishing a connection through it. I have found a solution with separate remote desktop software, but I would like to figure out where the connection is going wrong.

Unknown said...

Hi Mike!

As far as my knowledge goes, there aren't any bugs in Remote Desktop Services. It's a pure configure and run model.
Make sure the systems are connected over the network by using Ping. If they are then the process should work.

osx remote desktop said...

This is absolutely a commendable post, you share splendid piece of information here.

Unknown said...

Remote desktop provide different types of services like Windows, Linux, UNIX, Mac OS X, etc. It is useful for the remote desktop services.


Remote Desktop

Unknown said...

I like reading this blog and RDP features and configurations both on server and clients end has well explained I appreciate the quality content. canada vps hosting

Anonymous said...

So informative things are provided here, I really happy to read this post, I was just imagine about it and you provided me the correct information I really bookmark it, for further reading, So thanks for sharing the information. USA RDP

navya said...

I have read your blog its very attractive and impressive. I like it your blog.

.Net Training in Chennai | .Net Online Training | Dot Net Training in Chennai

Dot Net Online Training | LINQ Online Training

Zain said...

Thank you so much for the great information, really a nice topic.


USA RDP