99

What's really the difference between the RDP and VNC?

They both provide the same function and features?

4 Answers 4

165

RDP is semantic. The RDP is aware of controls, fonts, and other similar graphical primitives. This means that when rendering a screen across a network, this information is used to compress the data stream significantly. For instance, if you know that this region of the screen if occupied by a button, with the color grey, then you don't need to send an image of the button across the network, but merely information such as location of this button, size and color.

VNC is "dumb" in this respect, and largely functions by sending the actual images across the network.

RDP is tightly coupled to the Windows platform whereas VNC is available for most platforms. RDP is also seen as far more performant than VNC, due to the semantic advantage.

5
  • 7
    One more thing: VNC allows you to share a session on the target machine (good for tech support and demos) where RDP does not. Nov 27, 2009 at 18:25
  • 5
    If you have the privileges, you can shadow another user's RDP session or the console session. It's not automatic, but it is possible. Nov 27, 2009 at 18:48
  • 7
    See this page for instructions on how to shadow RDP sessions: oreilly.com/pub/a/windows/2005/11/08/… Nov 27, 2009 at 18:51
  • 2
    So why it is possible to connect from Windows Remote Desktop on Windows to Xrdp server on Linux? The primitives elements are obviously different and impossible to convert properly between 2 systems.
    – Livy
    Apr 23, 2020 at 17:58
  • 3
    XRDP is still aware and is doing quite a bit of work including identifying common things like fonts or simply blocks of the screen that are a single or unchanging color to eliminate sending straight images over the network. github.com/neutrinolabs/xrdp
    – Preston
    May 19, 2021 at 2:06
16

RDP stands for Remote Desktop Protocol, and is a proprietary protocol developed by Microsoft. (More from Wikipedia)

VNC stands for Virtual Network Computing, and is platform-independent. (More from Wikipedia)

Although I've seen the terms interchanged, RDP is usually used to refer to connecting to a Windows PC. Windows PCs have the RDP built into them, but there are clients for both Mac and Linux. Linux users can use rdesktop to connect to a Windows computer.

VNC requires a separate client running on a PC, but is platform-independent, so I can have a VNC client on my PC and connect to a Linux box running a VNC server. VNC programs can usually inter-connect with one another, and often include other features that RDP doesn't, like file-sharing/transfers and chatting with the person on the other computer.

Our very own Jeff Atwood even has a Coding Horror article from 2005 about the two protocols.

2
  • 5
    Both RDP and VNC require a server on the remote system and a client on the local system. Not all windows pc's have the RDP Server built in.
    – menns
    Dec 11, 2009 at 17:12
  • 1
    Not all versions of Windows have RDP by default (e.g, Windows home).
    – s.ouchene
    Oct 14, 2020 at 14:13
8

Adding a bit of information on other answers which I found while doing a research,

RDP,

  • RDP stands for Remote Desktop Protocol. It is a proprietary protocol built by Microsoft to let users to graphically control remote computer.
  • RDP logs in a remote user to the server computer by effectively creating a real desktop session on the server computer including a user profile.
  • RDP works in the same way as if the user had logged in to the physical server directly.
  • RDP can support multiple remote users logged in to the same server that completely unaware of each other.
  • RDP supports multiple monitors, if the client has them

VNC,

  • VNC stands for Virtual Network Computing. It is an open platform independent graphical desktop sharing system designed to remotely control another computer.
  • VNC follows the older model of simply showing whatever is on the screen with no forced logins required.
  • VNC connects a remote user to the computer itself by sharing its screen, keyboard and mouse.
  • Consequently, when several users (including the one operating the real physical monitor and keyboard) connect to the same server they see the same thing and they type on the same keyboard.
  • VNC has security implications; if you remote into a machine that an Administrator is logged into, you'll effectively be an Administrator. And if you're both trying to use the computer at the same time, it's even more fun!

Similarities between both,

  • Both RDP and VNC technologies require client side and server side software to support communication protocol.
  • Both technologies use direct peer-to-peer communication. It means that the local user computer directly connects to the remote computer
6

RDP logs you into the remote system just like being at the console (just with lag and DirectX support isn't that good)... VNC just transmits keystrokes and mouse inputs blindly and receives the desktop in what amounts to a streaming video.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .