Why UDP is better than TCP in VDI environment

It is been a usual discussion with my customer when talking about virtual desktop opportunity stating that VMware View uses UDP protocol in PCoIP for the user desktop. the argument is that UDP is not a reliable protocol like TCP that is used by default in other desktop virtualization products in the market. well, it takes a very easy explanation to convince the customers that UDP is the protocol that should be used for desktop virtualization, before i start explaining the reasons i would like you to take a minute to show 2 diagrams of how TCP and UDP works.

Starting with TCP.


Finishing with UDP


These above 2 funny pictures can explain somehow the difference between TCP and UDP, so as obvious above the number of packets that is exchanged between the 2 connection points in TCP is higher then when using UDP protocol, stating that the network requirement in term of bandwidth should be higher to allow sending and receiving of packets from both ends. with that in mind let us put an example.

imagine a pixel that is transmitted from the Security or Connection Server using TCP protocol to the end point. once this pixel packet is received the end-point has to acknowledge that it has received the pixel packet. however, depending on the data being displayed on the end-point the amount of refresh can vary and the pixel transmitted may not stay on the end-point screen for more than a second which makes the acknowledgement transmission back to the security or connection server a waste of bandwidth specially in high latency networks. if we use UDP and assume that the packet was not delivered from the virtual desktop to the end point, then it will not be sensed by the user since a new pixel will be transmitted with a new packet later.

For display protocol other than PCoIP, graphics primitives are being sent over to the end-point not Pixels. which means they would require TCP transmission protocol to make sure that all packets are transmitted reliably as well as in order. If 3 packets are being sent for these display protocol they have to arrive reliably to the end point and also they have to arrive in order. if these packets are A, B and C then the protocol will transmit A and make sure it is delivered then B and make sure it is delivered and finally C and also make sure it is delivered. this highly increase latency and adds a huge overhead to the network traffic.

Customers may see this as no issue in the network environment when it comes to LAN but when remote users are using the VDI environment. latency and bandwidth really adds an overhead to the organization for WAN.

you can also read the following post on teradici website to understand how this transmission effects latency in VDI environment. http://www.teradici.com/blog/?p=33


PS: Images above are courtesy to their own designers and the website i took it from http://skullbox.net











Leave a Reply

Your email address will not be published. Required fields are marked *