Differences between TCP and UDP - GeeksforGeeks (2024)

Prerequisite – Transport Layer responsibilities

Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) both are protocols of the Transport Layer. TCP is a connection-oriented protocol where as UDP is a part of the Internet Protocol suite, referred to as the UDP/IP suite. Unlike TCP, it is an unreliable and connectionless protocol.

Transmission Control Protocol (TCP)

TCP (Transmission Control Protocol) is one of the main protocols of the Internet protocol suite. It lies between the Application and Network Layers which are used in providing reliable delivery services. It is a connection-oriented protocol for communications that helps in the exchange of messages between different devices over a network. The Internet Protocol (IP), which establishes the technique for sending data packets between computers, works with TCP.

Differences between TCP and UDP - GeeksforGeeks (1)

Transmission Control Protocol

Features of TCP

  • TCP keeps track of the segments being transmitted or received by assigning numbers to every single one of them.
  • Flow control limits the rate at which a sender transfers data. This is done to ensure reliable delivery.
  • TCP implements an error control mechanism for reliable data transfer.
  • TCP takes into account the level of congestion in the network.

Advantages of TCP

  • It is reliable for maintaining a connection between Sender and Receiver.
  • It is responsible for sending data in a particular sequence.
  • Its operations are not dependent on OS.
  • It allows and supports many routing protocols.
  • It can reduce the speed of data based on the speed of the receiver.

Disadvantages of TCP

  • It is slower than UDP and it takes more bandwidth.
  • Slower upon starting of transfer of a file.
  • Not suitable for LAN and PAN Networks.
  • It does not have a multicast or broadcast category.
  • It does not load the whole page if a single data of the page is missing.

User Datagram Protocol (UDP)

User Datagram Protocol (UDP) is a Transport Layer protocol. UDP is a part of the Internet Protocol suite, referred to as the UDP/IP suite. Unlike TCP, it is an unreliable and connectionless protocol. So, there is no need to establish a connection before data transfer. The UDP helps to establish low-latency and loss-tolerating connections establish over the network. The UDP enables process-to-process communication.

Differences between TCP and UDP - GeeksforGeeks (2)

User Datagram Protocol

Features of UDP

  • Used for simple request-response communication when the size of data is less and hence there is lesser concern about flow and error control.
  • It is a suitable protocol for multicasting as UDP supports packet switching.
  • UDP is used for some routing update protocols like RIP(Routing Information Protocol).
  • Normally used for real-time applications which can not tolerate uneven delays between sections of a received message.

Advantages of UDP

  • It does not require any connection for sending or receiving data.
  • Broadcast and Multicast are available in UDP.
  • UDP can operate on a large range of networks.
  • UDP has live and real-time data.
  • UDP can deliver data if all the components of the data are not complete.

Disadvantages of UDP

  • We can not have any way to acknowledge the successful transfer of data.
  • UDP cannot have the mechanism to track the sequence of data.
  • UDP is connectionless, and due to this, it is unreliable to transfer data.
  • In case of a Collision, UDP packets are dropped by Routers in comparison to TCP.
  • UDP can drop packets in case of detection of errors.

Which Protocol is Better: TCP or UDP?

The answer to this question is difficult because it totally depends on what work we are doing and what type of data is being delivered. UDP is better in the case of online gaming as it allows us to work lag-free. TCP is better if we are transferring data like photos, videos, etc. because it ensures that data must be correct has to be sent.

In general, both TCP and UDP are useful in the context of the work assigned by us. Both have advantages upon the works we are performing, that’s why it is difficult to say, which one is better.

Differences between TCP and UDP - GeeksforGeeks (3)

Difference Between TCP and UDP

Where TCP is Used?

  • Sending Emails
  • Transferring Files
  • Web Browsing

Where UDP is Used?

  • Gaming
  • Video Streaming
  • Online Video Chats

Differences between TCP and UDP

The main differences between TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are:

Basis Transmission Control Protocol (TCP) User Datagram Protocol (UDP)
Type of Service

TCP is a connection-oriented protocol. Connection

orientation means that the communicating devices should establish a connection before transmitting data and should close the connection after transmitting the data.

UDP is the Datagram-oriented protocol. This is because

there is no overhead for opening a connection, maintaining a connection, or terminating a connection. UDP is efficient for broadcast and multicast types of network transmission.

ReliabilityTCP is reliable as it guarantees the delivery of data to the destination router.The delivery of data to the destination cannot be guaranteed in UDP.
Error checking mechanism

TCP provides extensive error-checking mechanisms.

It is because it provides flow control and acknowledgment of data.

UDP has only the basic error-checking mechanism using checksums.
AcknowledgmentAn acknowledgment segment is present.No acknowledgment segment.
Sequence

Sequencing of data is a feature of Transmission Control

Protocol (TCP). this means that packets arrive in order at the receiver.

There is no sequencing of data in UDP. If the order is required, it has to be managed by the application layer.
SpeedTCP is comparatively slower than UDP.UDP is faster, simpler, and more efficient than TCP.
RetransmissionRetransmission of lost packets is possible in TCP, but not in UDP.There is no retransmission of lost packets in the User Datagram Protocol (UDP).
Header LengthTCP has a (20-60) bytes variable length header.UDP has an 8 bytes fixed-length header.
WeightTCP is heavy-weight.UDP is lightweight.
Handshaking TechniquesUses handshakes such as SYN, ACK, SYN-ACKIt’s a connectionless protocol i.e. No handshake
BroadcastingTCP doesn’t support Broadcasting.UDP supports Broadcasting.
ProtocolsTCP is used by HTTP, HTTPs, FTP, SMTP and Telnet.UDP is used by DNS, DHCP, TFTP, SNMP, RIP, and VoIP.
Stream TypeThe TCP connection is a byte stream.UDP connection is a message stream.
OverheadLow but higher than UDP.Very low.
ApplicationsThis protocol is primarily utilized in situations when a safe and trustworthy communication procedure is necessary, such as in email, on the web surfing, and inmilitary services.This protocol is used in situations where quick communication is necessary but where dependability is not a concern, such as VoIP, game streaming, video, and music streaming, etc.

Example: Suppose there are two houses, H1 and H2, and a letter has to be sent from H1 to H2. But there is a river in between those two houses. Now how can we send the letter?
Solution 1: Make a bridge over the river and then it can be delivered.
Solution 2: Get it delivered by a pigeon.

  • Consider the first solution as TCP. A connection has to be made (bridge) to get the data (letter) delivered.The data is reliable because it will directly reach another end without loss of data or error.
  • The second solution is UDP. No connection is required for sending the data. The process is fast as compared to TCP, where we need to set up a connection(bridge). But the data is not reliable: we don’t know whether the pigeon will go in the right direction, will drop the letter on the way, or some issue is encountered mid-travel.

FAQs

1. Which is faster: TCP or UDP?

UDP is faster than TCP. The reason for the faster UDP is its non-existent acknowledge packet (ACK) which allows the streaming of continuous packets where as TCP always works on the acknowledgment of a set of packets calculated with the help of TCP window size and Round Trip Time (RTT).

2. Which is better for Video Conferencing?

Both Protocols, TCP and UDP have several practical uses in day-to-day life, but TCP has come as a better solution nowadays in the modern era as a solution for this question of who is better at Video Conferencing. The reason for this is because of the ability of UDP to order data correctly and it also produces the output without error. TCP can also be used for Video Conferencing when we have to focus more on quality rather than speed. UDP is generally used when speed matters most rather than the quality of the product. Some data packets might be lost or somehow received out of order, but UDP is more prominently used in the case of live streaming.


Last Updated :06 May, 2023

Like Article

Save Article

Differences between TCP and UDP - GeeksforGeeks (2024)

FAQs

Differences between TCP and UDP - GeeksforGeeks? ›

TCP is connection oriented, i.e., it creates a connection for the transmission to take place, and once the transfer is over that connection is terminated. UDP on the other hand is connectionless just like IP (Internet Protocol).

What are the differences between TCP and UDP? ›

TCP vs UDP: Differences between the protocols. The main difference between TCP (transmission control protocol) and UDP (user datagram protocol) is that TCP is a connection-based protocol and UDP is connectionless. While TCP is more reliable, it transfers data more slowly. UDP is less reliable but works more quickly.

What are 3 main differences between TCP and UDP? ›

KEY DIFFERENCES:

TCP is a connection-oriented protocol, whereas UDP is a connectionless protocol. The speed for TCP is slower while the speed of UDP is faster. TCP uses handshake protocol like SYN, SYN-ACK, ACK while UDP uses no handshake protocols.

Top Articles
Latest Posts
Article information

Author: Gregorio Kreiger

Last Updated:

Views: 6033

Rating: 4.7 / 5 (77 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Gregorio Kreiger

Birthday: 1994-12-18

Address: 89212 Tracey Ramp, Sunside, MT 08453-0951

Phone: +9014805370218

Job: Customer Designer

Hobby: Mountain biking, Orienteering, Hiking, Sewing, Backpacking, Mushroom hunting, Backpacking

Introduction: My name is Gregorio Kreiger, I am a tender, brainy, enthusiastic, combative, agreeable, gentle, gentle person who loves writing and wants to share my knowledge and understanding with you.