Your IP: Unknown · Your Status: ProtectedUnprotectedUnknown

What is TCP and UDP? A simple explanation

Whether your data is transferred quickly and in full depends on which network protocols you use, UDP or TCP. They both do the same job but in different ways. One is more reliable and the other one is faster. Find out which one you need below.

Aurelija Andriekutė

Aurelija Andriekutė

What is TCP and UDP? A simple explanation

What is TCP?

TCP (Transmission Control Protocol) is a network protocol that transfers your data over the internet from your device to a web server. You use the TCP protocol whenever you chat to your friends on Skype, send emails, watch online videos, or simply browse the web.

TCP is connection-based, so it establishes a connection between the receiver and sender and maintains it while transferring data. It guarantees that the data arrives completely intact. Because of its reliability, TCP is the most popular network protocol.

What is UDP?

UDP stands for User Datagram Protocol. Compared to TCP, the UDP network protocol is less reliable, but faster and more straightforward. It’s often used in situations where higher speeds are crucial, like in streaming or gaming.

UDP is connectionless, so it doesn’t establish a prior connection between two parties. It has the potential to lose data along the way, but in return you’ll have much higher speeds.

How TCP and UDP work

TCP is more reliable than UDP. It transfers your data packets from your device to a web server. UDP is faster and simpler, but it doesn’t guarantee the delivery of packets.

Here’s what it does to send your data:

  1. TCP assigns each data packet a unique identifier and a sequence number. This lets the receiver identify which packet was received and which one is arriving next.
  2. Once the data packet is received, and if it’s in the correct order, the receiver sends an acknowledgement to the sender.
  3. The sender can now send another packet.
  4. If the packet is lost or sent in the wrong order the receiver stays silent, indicating that the same data packet needs to be resent.
How TCP works

Because the data is sent in sequence, it helps with data congestion and flow control, and makes it easier to spot and fix any errors. This also means that data sent over TCP is more likely to reach its destination in full. However, it has a downside. There’s a lot of back and forth communication between the two parties so it takes longer to establish a connection and exchange data.

UDP completes the same job without the need of unique identifiers or sequence numbers. It sends data in a stream and only has a checksum to ensure that the data arrived uncorrupted. UDP has almost no error correction, nor does it care about lost packets. It’s more error prone, but it sends data much faster than TCP.

How UDP works

Is UDP secure? It’s almost impossible to set up a firewall allowing only some UDP communications and blocking the rest. However, while it is much easier to secure TCP, UDP connections are not left entirely unprotected. Users can employ proxies for particular applications or establish a tunnel connection between the remote user and the company’s inside network.

What is the main difference between TCP and UDP?

UDP is faster than TCP, because the user doesn't have to allow or acknowledge receipt of the data to be resent. This lets UDP establish connections faster and transfer data faster. However, this also causes some concerns over how safe UDP actually is. In terms of the UDP vs TCP VPN debate, OpenVPN works best on a UDP port, although it can be configured to run on any port.

Here’s how they compare side by side:

TCPUDP
ReliabilityHighLower
SpeedLowerHigh
Transfer methodPackets are delivered in a sequencePackets are delivered in a stream
Error detection and correctionYesNo
Congestion controlYesNo
AcknowledgementYesOnly the checksum

Both UDP and TCP divide your data into smaller units called data packets. These include the sender’s and receiver’s IPs, various configurations, the actual data you are sending, and the trailer — the data that indicates the end of the packet.

So, which is better — UDP or TCP? Like in all such cases, it all depends on what you use them for. If you need a fast and constant data transmission for an application to work properly, you will have to use UDP. Otherwise, TCP is a stable and reliable protocol for transferring data and not losing any of it along the way.

TCP vs UDP: Speed differences

UDP is faster than TCP but is also more error-prone. The reason is that UDP doesn’t use such an acute checking of packets as TCP and employs a more continuous data flow. TCP sends its data in sequence, so it uses more flow control. It makes the connection safer and smoother but reduces speed due to a lot of back-and-forth communication between the sender and receiver.

Does OpenVPN use TCP or UDP?

OpenVPN is compatible with both TCP and UDP, but which you'll prefer will depend on what you need it for. OpenVPN is an open-source VPN protocol used by many leading VPN providers, including NordVPN. TCP is more reliable, but there are many uses where UDP is preferred and this is usually the default protocol on most VPN services.

UDP is a great option if you are gaming, streaming or using VoIP services. It may lose a packet or two but it won’t have a huge impact on your overall connection. Using TCP for such services might cause lag (especially if you’re connected to servers on the other side of the world), which can completely ruin your experience. Therefore, OpenVPN via TCP is recommended for static uses such as emailing, web browsing and file transfer.

Check out our video on TCP vs. UDP below.

Which protocol does NordVPN use?

NordVPN wants to provide the best browsing experience without compromising on speed, so we use the UDP protocol by default. We recommend trying the UDP protocol first and only switching to TCP if you experience any issues.

To change UDP to TCP on NordVPN (for Windows users):

  1. Go to Settings by clicking on a gear icon in the top right-hand corner;
  2. Select Advanced from the menu on the left-hand side;
  3. Under Protocol choose TCP.

To change UDP to TCP on NordVPN (for MacOS users):

  1. Open the Preferences panel by clicking on the slider button in the upper left-hand corner or finding NordVPN on your menu bar and selecting Preferences (default hotkey: Cmd + ,).
  2. Connection: Prefer UDP over TCP will be on by default. Click on the checkbox to turn it off.

If your speed has dropped, you can also try a few tricks to boost your VPN speed.


Aurelija Andriekutė
Aurelija Andriekutė Aurelija Andriekutė
Aurelija is a copywriter at NordVPN. She's eager to help her readers explore what makes the internet run and how to stay safe online.