Improve the Windows Server 2012 Remote Desktop experience by using UDP

Server 2012 (and in turn Windows 8) has a nifty new feature in its Remote Desktop component, namely the ability to use UDP as transport for its data. The great thing about it, is you don’t have to do anything to enable it. And indeed, with a default remote desktop deployment we can see the server is already listening to UDP port 3389 and a firewall rule is present:



The client will automatically attempt to use UDP and will fall back to TCP if it can’t (note that authentication, etc… still happens using TCP). We can tell if the client is connected using UDP by clicking the quality icon:


Adjusting the network

You will need to modify any firewall policies/port forwardings on other devices to allow connections to UDP destination port 3389. If you’re used to forwarding port TCP port 3389, include UDP port 3389 as well.

Windows 7

These changes come with Remote Desktop Protocol version 8.0, so you need at least that version of the client too to be able to use this feature. Windows 8 already ships with the 8.0 Remote Desktop client, if you’re running Windows 7 you can download version 8.1 of the Remote Desktop client here:

If you are a home user running Windows 7 and you are connecting to it using Remote Desktop you can also take advantage of this new feature:

  • Install this update: “Description of the Remote Desktop Protocol 8.0 update for Windows 7 SP1 and Windows Server 2008 R2 SP1”
  • Follow the steps (in the same article) in the “How to enable RDP 8.0 on a remote computer that is running Windows 7 SP1” paragraph.
  • Install the latest Remote Desktop Client on any computers you use to connect to your own.

Unfortunately this does not work for Windows Server 2008 R2, you will need to upgrade to Server 2012 for that.

End result

By my testing, the ability to use UDP did increase responsivity and screen rebuild time when accessing the server over the internet. It is actually quite an improved experience, the typical RDP lag you used to notice is almost entirely gone and the animations are much more fluent. By using UDP we get rid of the time it takes to acknowledge the transceived data by the client and allowing it to immediately flow to the user.