Virtual Network Computing
Virtual Network Computing (VNC) is a remote-protocol with which the screen content of a remotely located computer is displayed on a local monitor, from which the work can be carried out. With Virtual Network Computing, the remote computer is the VNC Server and the local computer is the VNC Viewer. In principle, a person using the VNC Viewer can work as if on his or her own computer.
Originally developed by Olivetti & Oracle Research Laboratory in Cambridge and subsequently taken over by AT&T, VNC has turned into the most widely used remote control program ever developed, primarily because it is free of charge and limited to the most important function – remote control. As VNC is deployable not only under Windows, but also on Macs, Linux/Unix and numerous, almost forgotten, operating systems, network administrators can easily remotely control almost all of their hosts and platforms with a single tool.
In addition to the original version of VNC there are now numerous further developed variants, such as RealVNC, VNCtight and UltraVNC, all of which are all still compatible with the other versions.
The use of VNC as a global helpdesk application in enterprises is, nonetheless, problematic, as there is practically no consideration for data protection/privacy, because the connection is not encrypted.
Remote Desktop Protocol
The Remote Desktop Protocol (RDP) is a network protocol from Microsoft for the display and control of desktops from remote computers. It controls how the Remote Desktop Services are addressed and used in Microsoft Windows. The Remote Desktop Protocol is available for most versions of Windows operating systems, as well as for Mac OS X, Linux and FreeBSD.
With RDP, one of the two systems functions as a terminal server. This terminal server generates screen output on the terminal client. Additionally, mouse and keyboard entries can be received from the terminal client. The remote output on the terminal client can be either the only output that the terminal server generates for this session, or the actual screen output of the session will be made on the terminal server’s local monitor and the terminal client receives only a copy of this output. Depending on the intended use, the user of the terminal client will be enabled to “monitor” the terminal server’s workstation or even remotely control it. RDP controls the transmission of the screen content as well as the keyboard and mouse entries over the network.
Among the most notable characteristics of RDP are the encryption, smartcard-based authentication, bandwidth reduction, resource sharing, the ability to use several displays and the ability to bridge a temporary interruption without needing a new logon.
In addition to screen output as well as keyboard and mouse entries, with RDP, the session’s audio output and microphone can be redirected to the terminal client. A terminal client’s printer can also be used.
Every RDP version uses the RC4 encryption algorithm, which is designed for the encryption of data streams in networks. If the encryption is set to the lowest security level, then only the traffic from client to server is encrypted. This, at least, protects sensitive data such as passwords.
UltraVNC vs. RDP
Using traces, data transmission with UltraVNC and RDP were compared in a test. Hereby, special care was taken to ensure that both programs’ system settings were as closely identical as possible, so that an unambiguous comparison could be made.
The test was made using two different groups of settings. With the first group of settings, all screen backgrounds were switched off, i.e., on the local computer there is only a black background. This has the advantage that it avoids transmitting an excessive amount of data, making the connection faster. Additionally, with RDP the settings printer function, audio output and microphone were deactivated, as VNC does not support these extended functions.
In this case, the values received through VNC are up to four times as much as those with RDP. The same result is also seen with the performance of several identical tests and other scenarios with the same settings. If, however, one waits a few minutes and performs no tasks, with RDP data will still be sent. This also happens with VNC, but in a negligible amount.
With the second group of settings, all desktop backgrounds were activated. This means that on the client’s monitor the complete version of the server desktop appears exactly as if one were sitting at the remote machine. With these settings, working with VNC is even slower than previously, as here more data have to be sent. All performed tests showed that the difference in data volume is in the area of five to seven times higher.
With VNC one cannot establish a connection to the remote computer (server) if it is in a logged-off or switched-off state. With RDP one can connect to the remote computer if it is in a logged-off state, but not if it has been switched off.
Working with VNC is very much slower than with RDP, as refreshing the graphics requires a great deal of time.
With VNC the remote machine must already be running and the VNC server activated, otherwise no connection can be made.
Another, serious, disadvantage of VNC is that it is unencrypted. This means a third party could monitor the connection and passwords or even the entirety of the transmitted information can be intercepted and read. Furthermore, the compression is not particularly efficient, which negatively impacts working on the remote computer in the event of slower (upload) connections.