Sinisa Botas - Fotolia

What are the differences between TCP and UDP?

When it comes to using TCP or UDP for sending packets of data through a network across devices, IT must know the differences and when each option is a good fit.

The Transmission Control Protocol and the User Datagram Protocol are both network communication protocols that work in conjunction with the Internet Protocol to enable network-attached devices to exchange data across the internet or other types of networks.

Remote display protocols, such as Citrix HDX, VMware Blast Extreme and Microsoft Remote Desktop Protocol all support both TCP and UDP for delivering remote desktop services.

TCP and UDP are part of the TCP/IP protocol suite, which includes a number of protocols for carrying out network communications. Although there are differences between TCP and UDP, some of the basics are the same.

When transmitting data across a network, for instance, TCP and UDP bundle data into packets that target IP addresses assigned to network-connected devices. Because of how the protocols transfer data across a network, however, it can be difficult for IT to control the order in which the protocols deliver packets or to guarantee that all the packets will reach their intended destination.

The differences between TCP and UDP

TCP helps IT control packet delivery in two ways. First, TCP numbers each packet so the target endpoint renders them in the correct order. Second, TCP includes mechanisms for ensuring that the target endpoint receives each data packet.

After receiving a packet, the recipient device sends a message back to the sender acknowledging delivery. If the sender does not receive a response from the recipient, the sender retransmits the packet until the endpoint successfully receives it or cancels communications, as in the case of a timeout. TCP also includes error-checking capabilities to ensure that no data is corrupted.

Quiz: Test your knowledge of network security fundamentals

Think you know network security basics inside and out? Take this 10-question quiz to find out how well you understand concepts such as using TCP and UDP to secure an enterprise network.

Unfortunately, all this reliability comes with significant overhead, resulting in more transmissions, greater demand on network bandwidth and overall slower processing.

UDP addresses these issues by eliminating the checks and balances of TCP, instead focusing only on transmitting the data. There is no packet numbering, error checking or acknowledging packet delivery. If packets get lost in transmission, they stay lost. If packets are out of order, they stay that way.

TCP and UDP
TCP and UDP connect the app to the network interface

The differences between TCP and UDP can determine which one is the best option. When it comes to streaming videos, for example, a few missing or mixed-up packets is not nearly as important as maximizing performance, making UDP an excellent fit. With virtual desktops, however, there are no clear answers.

If reliability is the priority, TCP is the best option.

Traditionally, remote desktop protocols tend to default to TCP, even if they also support UDP. On the other hand, VMware's PC over IP uses UDP by default, and some remote desktop protocols now provide an option for using both TCP and UDP together. For example, IT can configure Blast Extreme to use UDP for protocol traffic and TCP to control and broker communications.

With the differences between TCP and UDP in mind, IT should also consider the nature of the virtual desktop deployment and the quality of the network. If reliability is the priority, TCP is the best option. If performance is the primary concern, UDP might be the answer.

Keep in mind, however, that remote display protocols are changing every day in ways that promise to improve both TCP and UDP delivery, making the choice between the two less black and white than ever.

Next Steps

What to know about UDP vulnerabilities and security

Dig Deeper on Virtual desktop delivery tools