Citrix XenDesktop's HDX and VMware View's PCoIP offer the same basic functionality -- providing video, sound, and peripheral support to remote desktop users -- but they each use a different transport protocol, HDX riding TCP and PCoIP riding UDP. Most end-users won't be interested in the TCP-versus-UDP debate, but network admins will always have an opinion, especially if their responsibilities include network monitoring, WAN optimization, or VPN support.
There are some fundamental differences between TCP and UDP traffic. TCP provides a reliable method of sending packets across the network. Each packet is numbered and must arrive at the other end in the same order as transmitted. If a packet fails to reach its destination, the recipient will alert the sender and the missing packet will be retransmitted. TCP is used when the application -- such as a Web app, a file transfer, or email -- requires the packets to arrive in the correct order.
[ Also on InfoWorld: "VDI shoot-out: Citrix XenDesktop vs. VMware View" | Download InfoWorld's Virtual Desktop Infrastructure Deep Dive special report | See which solution came out on top in InfoWorld's "Virtualization shoot-out: Citrix, Microsoft, Red Hat, and VMware" ]
UDP is not quite so structured. It sends datagrams without any form of error checking or end-to-end handshaking. This means that UDP packets may arrive at the destination out of order or go missing without the sender being alerted to the problem. UDP is used mostly for streaming content such as VoIP, online video broadcasts, and online games. In these apps, the loss of a few packets means only a slight degradation in the audio or video quality -- hardly a showstopper. UDP introduces less overhead than TCP, and there is less latency associated with it, allowing it to transfer large amounts of data quickly.
From the network administration standpoint, TCP is a much more manageable protocol, and every network monitoring tool and appliance can work with it. By contrast, UDP is not well supported by some network tools, particularly WAN optimization appliances and VPN tunnels. In order for UDP to pass through a VPN tunnel (to remotely access a virtual desktop, for example), it has to be wrapped by TCP. This of course increases the network overhead and negates the performance advantage UDP has over TCP.








