Open In App

Differences between TCP and UDP

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. 

Transmission Control Protocol

Features of TCP

Advantages of TCP

Disadvantages of TCP

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.



User Datagram Protocol

Features of UDP

Advantages of UDP

Disadvantages of UDP

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.

Difference Between TCP and UDP

Where TCP is Used?

Where UDP is Used?

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.

Reliability TCP 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.
Acknowledgment An 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.
Speed TCP is comparatively slower than UDP. UDP is faster, simpler, and more efficient than TCP.
Retransmission Retransmission 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 Length TCP has a (20-60) bytes variable length header. UDP has an 8 bytes fixed-length header.
Weight TCP is heavy-weight. UDP is lightweight.
Handshaking Techniques Uses handshakes such as SYN, ACK, SYN-ACK It’s a connectionless protocol i.e. No handshake
Broadcasting TCP doesn’t support Broadcasting. UDP supports Broadcasting.
Protocols TCP is used by HTTP, HTTPs, FTP, SMTP and Telnet. UDP is used by DNS, DHCP, TFTP, SNMP, RIP, and VoIP.
Stream Type The TCP connection is a byte stream. UDP connection is a message stream.
Overhead Low but higher than UDP. Very low.
Applications This protocol is primarily utilized in situations when a safe and trustworthy communication procedure is necessary, such as in email, on the web surfing, and in military 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. 

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.


Article Tags :