What is the difference between TCP and UDP?

by Oct 4, 2020IoT Connectivity

TCP and UDP are two protocols of the transport layer of the TCP/IP Model. Both are used for data transmission. You may have also heard their names when configuring firewall software, setting up a router, etc. But, what are the dissimilarities that make them different?

To understand the difference between TCP and UDP, first we have to see what they are.

What is TCP?

TCP stands for Transmission Control Protocol.

TCP is a connection-oriented transport communication protocol that guarantees the establishment of a connection between the sender and receiver before data transmission. It sends the data packets as a stream of bytes in an ordered manner. For instance, it is similar to a telephone system that requires a full connection between both ends before they can start talking to each other.

The Three-way Handshaking is being used for establishing the TCP connection. Three-way Handshaking is a process of establishing and acknowledging a connection. The process of data transfer begins after the establishment of a connection. TCP takes messages from a sender and divides them into segments/ data packets and transmits to the receiver. Each segment contains a header and data. The size of the header is 20 bytes. Until the completion of the exchange of messages, TCP ensures that a connection is maintained.

TCP ensures the order of data sent to the receiver. This will help to reorder the data packets if they arrived in the wrong order. Above all, TCP is more reliable. TCP has error detection and correction methods. After receiving the message, the recipient must message back to the sender for each packet, acknowledging what they received. If the sender doesn’t get a correct response then, it will resend the packets to ensure that the receiver received them. However, all the back-and-forth communication slows down the speed of data transmission. In addition, it also provides flow control to verify that a sender is not sending too many packets to the receiver at once.

What is UDP?

UDP stands for User Datagram Protocol.

The UDP is a connectionless transport protocol with very low overhead. Unlike, TCP UDP neither establishes a connection between the sender and receiver nor checks whether the receiver is ready to receive data or not. Due to this, UDP has fast transmission capabilities but no guarantee for message delivery. For example, traditional mail delivery is the same as UDP, as there is no acknowledgment for receiving a letter.

In UDP, a datagram is a unit for data transfer. In other words, the datagram is similar to the data packet. UDP is connectionless, so three-way handshaking is not required. It just uses a simple transmission model. Each segment contains an 8-byte header and variable-length data. UDP doesn’t ensure the sequence of data transmitted.

UDP only uses checksum for error detection. When the receiver detects an error through the checksum, the user datagram is simply discarded. The sender will not retransmit the data due to the absence of the concept of acknowledgment. It also does not provide flow control and may send abundant data to the receiver at once. This makes UDP less reliable. Although, it can be used when speed is preferred over coherence and error correction.

Comparison between TCP and UDP

FeaturesTCPUDP
Full-FormTransmission Control ProtocolUser Datagram Protocol
FunctionalityAlways establish a connection between sender and receiver before data transmissionSends data directly to the receiver without establishing any connection
ReliabilityMore reliable than UDPLess reliable than TCP
Connection TypeConnection-orientedConnectionless
Speed of TransmissionSlower than UDPFaster than TCP
Header Size20 bytes8 bytes
Sequence of data packetsTransmission of data packets in a particular orderNo sequencing
Retransmission of DataPossible, in case of data lossNo retransmission
AcknowledgementIt acknowledges the reception of data packetsNever provides acknowledgment
OverheadsLower but greater than UDPVery low
BroadcastingDoesn’t support Supports broadcasting and multicasting
Flow Control of DataIt provides flow-controlNo flow control mechanism
Error detection and correctionIt has error detection and correction mechanismIt only provides error checking via checksum
HandshakeUses SYN, SYN-ACK, ACK in the three-way handshakingNo handshake
WeightIt is a heavy-weight protocolIt is a lightweight protocol as there is no ordering of messages, no acknowledgment, etc.
Used ByHTTP, SMTP, FTP, etcDNS, SNMP, DHCP, etc
ApplicationsFile transfer, Emails, Web BrowsingVideo Conferencing, Online gaming, Live Streaming

Creating a multiplication Skill in Alexa using python

Written By Monisha Macharla

Hi, I'm Monisha. I am a tech blogger and a hobbyist. I am eager to learn and explore tech related stuff! also, I wanted to deliver you the same as much as the simpler way with more informative content. I generally appreciate learning by doing, rather than only learning. Thank you for reading my blog! Happy learning!

RELATED POSTS

What is Edge Intelligence: Architecture and Use Cases

What is Edge Intelligence: Architecture and Use Cases

Introduction With the latest advancements in AI technologies, we have noticed a significant increase in the deployment of AI-based applications and services in recent years. More recently, with the booming IoT industry in particular, billions of mobiles and IoT...

Apache Kafka vs Apache Spark : All you need to know

Apache Kafka vs Apache Spark : All you need to know

Introduction Due to the increase in the volume of data, the demand for Stream processing is on the rise. Just processing the data wouldn't be enough, it should be done quickly too so that organizations can react to changing market conditions on a real-time basis. This...

Creating a Multiplication Skill in Alexa using Python

Creating a Multiplication Skill in Alexa using Python

Introduction In this tutorial, we will be focusing on how to create a custom multiplication skill in Alexa using Python. If you're completely new to Alexa skills, you can get a brief idea about it by clicking here. Subsequently, we have posted regarding account...

Creating a Hello World Skill in Alexa using Python

Creating a Hello World Skill in Alexa using Python

Introduction In this tutorial, we will be focusing on how to create a Hello World Skill in Alexa Developer Console. This is the most basic skill, and it would give us an idea about Skill-building using Alexa's developer console. If you're completely new to Alexa, you...

Creating a custom Date-Time skill in Alexa using Python

Creating a custom Date-Time skill in Alexa using Python

Introduction In this tutorial, we will look at how to create a simple date-time skill in Alexa using Python. For this skill, the only prerequisites required are an Alexa developer account and some basic understanding of Python. Also, we have created a post on how to...

All you need to know about Amazon Alexa Skills

All you need to know about Amazon Alexa Skills

Introduction In this tutorial, we will be taking a quick look at Amazon Alexa Skills. So, let us get started with the most common question - What Is Amazon Alexa? Alexa is nothing but a cloud-based voice service provided by the tech giant Amazon. In today's world,...

Wi-Fi HaLow: IEEE 802.11ah Wireless Networking Protocol

Wi-Fi HaLow (pronounced "HEY-Low") is an IEEE 802.11ah wireless networking protocol. It was released in 2017 as an update to the IEEE 802.11-2007 wireless networking standard. It uses 900 MHz, license-exempt bands, to provide extended range Wi-Fi networks, as opposed...

What is IoT Cisco Virtualized Packet Core (VPC)?

What is IoT Cisco Virtualized Packet Core (VPC)?

In this article, we will discuss about what is Cisco Virtualized Packet Core (VPC), How it supports IOT. Finally, we discus about its use cases. What is Virtualized Packet Core (VPC)? Virtualized Packet Core (VPC) is a technology providing all services for 4G, 3G, 2G,...

10 Best FTP clients for Windows and MAC users

10 Best FTP clients for Windows and MAC users

FTP is the abbreviation for File Transfer Protocol. Its a commonly used protocol to exchange files over any network. FTP clients are specifically designed software to transfer files between PC and servers over the internet. When a file is being transferred from one...

What is DNS and How does it work?

What is DNS and How does it work?

The Internet is just a network of 'n' computers that can communicate over various communication channels. Now, anything you do on the Internet is only an exchange of information(through files, scripts, etc.) So for the exchange to happen, you need to locate the other...

VIDEOS – FOLLOW US ON YOUTUBE

EXPLORE OUR IOT PROJECTS

IoT Smart Gardening System – ESP8266, MQTT, Adafruit IO

Gardening is always a very calming pastime. However, our gardens' plants may not always receive the care they require due to our active lifestyles. What if we could remotely keep an eye on their health and provide them with the attention they require? In this article,...

How to Simulate IoT projects using Cisco Packet Tracer

In this tutorial, let's learn how to simulate the IoT project using the Cisco packet tracer. As an example, we shall build a simple Home Automation project to control and monitor devices. Introduction Firstly, let's quickly look at the overview of the software. Packet...

All you need to know about integrating NodeMCU with Ubidots over MQTT

In this tutorial, let's discuss Integrating NodeMCU and Ubidots IoT platform. As an illustration, we shall interface the DHT11 sensor to monitor temperature and Humidity. Additionally, an led bulb is controlled using the dashboard. Besides, the implementation will be...

All you need to know about integrating NodeMCU with Ubidots over Https

In this tutorial, let's discuss Integrating NodeMCU and Ubidots IoT platform. As an illustration, we shall interface the DHT11 sensor to monitor temperature and Humidity. Additionally, an led bulb is controlled using the dashboard. Besides, the implementation will be...

How to design a Wireless Blind Stick using nRF24L01 Module?

Introduction Let's learn to design a low-cost wireless blind stick using the nRF24L01 transceiver module. So the complete project is divided into the transmitter part and receiver part. Thus, the Transmitter part consists of an Arduino Nano microcontroller, ultrasonic...

Sending Temperature data to ThingSpeak Cloud and Visualize

In this article, we are going to learn “How to send temperature data to ThingSpeak Cloud?”. We can then visualize the temperature data uploaded to ThingSpeak Cloud anywhere in the world. But "What is ThingSpeak?” ThingSpeak is an open-source IoT platform that allows...

Amaze your friend with latest tricks of Raspberry Pi and Firebase

Introduction to our Raspberry Pi and Firebase trick Let me introduce you to the latest trick of Raspberry Pi and Firebase we'll be using to fool them. It begins with a small circuit to connect a temperature sensor and an Infrared sensor with Raspberry Pi. The circuit...

How to implement Machine Learning on IoT based Data?

Introduction The industrial scope for the convergence of the Internet of Things(IoT) and Machine learning(ML) is wide and informative. IoT renders an enormous amount of data from various sensors. On the other hand, ML opens up insight hidden in the acquired data....

Smart Display Board based on IoT and Google Firebase

Introduction In this tutorial, we are going to build a Smart Display Board based on IoT and Google Firebase by using NodeMCU8266 (or you can even use NodeMCU32) and LCD. Generally, in shops, hotels, offices, railway stations, notice/ display boards are used. They are...

Smart Gardening System – GO GREEN Project

Automation of farm activities can transform agricultural domain from being manual into a dynamic field to yield higher production with less human intervention. The project Green is developed to manage farms using modern information and communication technologies....