Skip to content
Related Articles

Related Articles

Differences between TCP and UDP

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

Prerequisite – Transport Layer responsibilities

BasisTransmission control protocol (TCP)User datagram protocol (UDP)
Type of ServiceTCP 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.
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 mechanismTCP 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.
SequenceSequencing 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 message stream.
OverheadLow 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
Related Articles

Start Your Coding Journey Now!