Skip to content
Related Articles
Open in App
Not now

Related Articles

Differences between TCP and UDP

Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 16 Nov, 2022
Improve Article
Save Article
Like Article

Prerequisite – Transport Layer responsibilities
 

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, and 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 message stream.
Overhead Low but higher than UDP. Very low.

A short example to understand the differences clearly : 
Suppose there are two houses, H1 and H2 and a letter have 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 through 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 in data or error. 
And 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, or it will drop the letter on the way, or some issue is encountered in mid-travel. 

My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!