Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Aptitude
  • Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • DBMS
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Algorithms
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
Open In App
Next Article:
IPv4 Datagram Header
Next article icon

User Datagram Protocol (UDP)

Last Updated : 27 Dec, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

User Datagram Protocol (UDP) is a Transport Layer protocol. UDP is a part of the Internet Protocol suite, referred to as 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 over the network. The UDP enables process-to-process communication.

What is User Datagram Protocol?

User Datagram Protocol (UDP) is one of the core protocols of the Internet Protocol (IP) suite. It is a communication protocol used across the internet for time-sensitive transmissions such as video playback or DNS lookups . Unlike Transmission Control Protocol (TCP), UDP is connectionless and does not guarantee delivery, order, or error checking, making it a lightweight and efficient option for certain types of data transmission.

UDP

UDP Header

UDP header is an 8-byte fixed and simple header, while for TCP it may vary from 20 bytes to 60 bytes. The first 8 Bytes contain all necessary header information and the remaining part consists of data. UDP port number fields are each 16 bits long, therefore the range for port numbers is defined from 0 to 65535; port number 0 is reserved. Port numbers help to distinguish different user requests or processes.


UDP-header
UDP Header


  • Source Port: Source Port is a 2 Byte long field used to identify the port number of the source.
  • Destination Port: It is a 2 Byte long field, used to identify the port of the destined packet.
  • Length: Length is the length of UDP including the header and the data. It is a 16-bits field.
  • Checksum: Checksum is 2 Bytes long field. It is the 16-bit one's complement of the one's complement sum of the UDP header, the pseudo-header of information from the IP header, and the data, padded with zero octets at the end (if necessary) to make a multiple of two octets.

Notes - Unlike TCP, the Checksum calculation is not mandatory in UDP. No Error control or flow control is provided by UDP. Hence UDP depends on IP and ICMP for error reporting. Also UDP provides port numbers so that is can differentiate between users requests.

Applications 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.
  • VoIP (Voice over Internet Protocol) services, such as Skype and WhatsApp, use UDP for real-time voice communication. The delay in voice communication can be noticeable if packets are delayed due to congestion control, so UDP is used to ensure fast and efficient data transmission.
  • DNS (Domain Name System) also uses UDP for its query/response messages. DNS queries are typically small and require a quick response time, making UDP a suitable protocol for this application.
  • DHCP (Dynamic Host Configuration Protocol) uses UDP to dynamically assign IP addresses to devices on a network. DHCP messages are typically small, and the delay caused by packet loss or retransmission is generally not critical for this application.
  • Following implementations uses UDP as a transport layer protocol:
    • NTP (Network Time Protocol)
    • DNS (Domain Name Service)
    • BOOTP, DHCP.
    • NNP (Network News Protocol)
    • Quote of the day protocol
    • TFTP, RTSP, RIP.
  • The application layer can do some of the tasks through UDP-
    • Trace Route
    • Record Route
    • Timestamp
  • UDP takes a datagram from Network Layer , attaches its header, and sends it to the user. So, it works fast.

TCP vs UDP

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.
Acknowledgme nt 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.

Advantages of UDP

  • Speed: UDP is faster than TCP because it does not have the overhead of establishing a connection and ensuring reliable data delivery.
  • Lower latency: Since there is no connection establishment, there is lower latency and faster response time.
  • Simplicity: UDP has a simpler protocol design than TCP, making it easier to implement and manage.
  • Broadcast support: UDP supports broadcasting to multiple recipients, making it useful for applications such as video streaming and online gaming.
  • Smaller packet size: UDP uses smaller packet sizes than TCP, which can reduce network congestion and improve overall network performance.
  • User Datagram Protocol (UDP) is more efficient in terms of both latency and bandwidth.

Disadvantages of UDP

  • No reliability: UDP does not guarantee delivery of packets or order of delivery, which can lead to missing or duplicate data.
  • No congestion control: UDP does not have congestion control, which means that it can send packets at a rate that can cause network congestion.
  • Vulnerable to attacks: UDP is vulnerable to denial-of-service attacks , where an attacker can flood a network with UDP packets, overwhelming the network and causing it to crash.
  • Limited use cases: UDP is not suitable for applications that require reliable data delivery, such as email or file transfers, and is better suited for applications that can tolerate some data loss, such as video streaming or online gaming.

How is UDP used in DDoS attacks?

A UDP flood attack is a type of Distributed Denial of Service (DDoS) attack where an attacker sends a large number of User Datagram Protocol (UDP) packets to a target port.

  • UDP Protocol : Unlike TCP, UDP is connectionless and doesn’t require a handshake before data transfer. When a UDP packet arrives at a server, it checks the specified port for listening applications. If no app is found, the server sends an ICMP “destination unreachable” packet to the supposed sender (usually a random bystander due to spoofed IP addresses).
  • Attack Process :
    • The attacker sends UDP packets with spoofed IP sender addresses to random ports on the target system.
    • The server checks each incoming packet’s port for a listening application (usually not found due to random port selection).
    • The server sends ICMP “destination unreachable” packets to the spoofed sender (random bystanders).
    • The attacker floods the victim with UDP data packets, overwhelming its resources.
  • Mitigation : To protect against UDP flood attacks, monitoring network traffic for sudden spikes and implementing security measures are crucial. Organizations often use specialized tools and services to detect and mitigate such attacks effectively.

UDP Pseudo Header

  • The purpose of using a pseudo-header is to verify that the UDP packet has reached its correct destination
  • The correct destination consist of a specific machine and a specific protocol port number within that machine
UDP pseudo header


UDP Pseudo Header Details

  • The UDP header itself specify only protocol port number.thus , to verify the destination UDP on the sending machine computes a checksum that covers the destination IP address as well as the UDP packet.
  • At the ultimate destination, UDP software verifies the checksum using the destination IP address obtained from the header of the IP packet that carried the UDP message.
  • If the checksum agrees, then it must be true that the packet has reached the intended destination host as well as the correct protocol port within that host.

User Interface

A user interface should allow the creation of new receive ports, receive operations on the receive ports that returns the data octets and an indication of source port and source address, and an operation that allows a datagram to be sent, specifying the data, source and destination ports and address to be sent.

IP Interface

  • The UDP module must be able to determine the source and destination internet address and the protocol field from internet header
  • One possible UDP/IP interface would return the whole internet datagram including the entire internet header in response to a receive operation
  • Such an interface would also allow the UDP to pass a full internet datagram complete with header to the IP to send. the IP would verify certain fields for consistency and compute the internet header checksum.
  • The IP interface allows the UDP module to interact with the network layer of the protocol stack, which is responsible for routing and delivering data across the network.
  • The IP interface provides a mechanism for the UDP module to communicate with other hosts on the network by providing access to the underlying IP protocol.
  • The IP interface can be used by the UDP module to send and receive data packets over the network, with the help of IP routing and addressing mechanisms.

GATE Questions for Practice

  • GATE CS 2013, Question 12
  • GATE CS 2012, Question 65
  • GATE CS 2007, Question 20
  • GATE CS 2005, Question 23
  • GATE IT 2008, Question 66
  • GATE Mock 2015, Question 5

Conclusion

The User Datagram Protocol (UDP) is an important Transport Layer protocol in the Internet Protocol (IP) suite, identified for its speed and efficiency due to its connectionless and lightweight design. While UDP lacks TCP's stability and error-checking features, it used in applications that need low latency and real-time performance, such as streaming, online gaming, and DNS lookups. Its simplicity and support for broadcast and multicast broadcasts make it a useful tool for specialized applications, despite its vulnerability to data loss and network congestion.


Next Article
IPv4 Datagram Header

S

snakify16
Improve
Article Tags :
  • Computer Networks
  • GATE CS

Similar Reads

    CCNA Tutorial for Beginners
    This CCNA Tutorial is well-suited for the beginner as well as professionals, and It will cover all the basic to advanced concepts of CCNA like Components of Computer Networking, Transport Layer, Network Layer, CCNA training, Cisco Networking, Network Design, Routing and Switching, etc. which are req
    8 min read

    Basics of Computer Networking

    Network and Communication
    Networks and communication involve connecting different systems and devices to share data and information. This setup includes hardware like computers, routers, switches, and modems, as well as software protocols that manage how data flows between these devices. Protocols such as TCP/IP and HTTP are
    8 min read
    LAN Full Form - Local area network
    A Local area network (LAN) is a network that is used to link devices in a single office, building, or campus of up to a short distance. LAN is restricted in size. In LAN networks internet speed is from 10 Mbps to 100 Mbps (But now much higher speeds can be achieved). The most common topologies used
    10 min read
    What is OSI Model? - Layers of OSI Model
    The OSI (Open Systems Interconnection) Model is a set of rules that explains how different computer systems communicate over a network. OSI Model was developed by the International Organization for Standardization (ISO). The OSI Model consists of 7 layers and each layer has specific functions and re
    13 min read
    TCP/IP Model
    The TCP/IP model (Transmission Control Protocol/Internet Protocol) is a four-layer networking framework that enables reliable communication between devices over interconnected networks. It provides a standardized set of protocols for transmitting data across interconnected networks, ensuring efficie
    7 min read
    How Data Encapsulation and De-encapsulation Works?
    Data encapsulation and de-encapsulation are fundamental concepts in computer networking and communication protocols. These processes are essential for transferring data across networks efficiently and securely. What is Data Encapsulation?Encapsulation is the process of adding additional information
    4 min read

    Components of Computer Networking

    NIC Full Form - Network Interface Card
    NIC stands for Network Interface Card. NIC is additionally called Ethernet or physical or network card. NIC is one of the major and imperative components of associating a gadget with the network. Each gadget that must be associated with a network must have a network interface card. Even the switches
    4 min read
    What is a Network Switch and How Does it Work?
    The Switch is a network device that is used to segment the networks into different subnetworks called subnets or LAN segments. It is responsible for filtering and forwarding the packets between LAN segments based on MAC address. Switches have many ports, and when data arrives at any port, the destin
    9 min read
    What is Network Hub and How it Works?
    Hub in networking plays a vital role in data transmission and broadcasting. A hub is a hardware device used at the physical layer to connect multiple devices in the network. Hubs are widely used to connect LANs. A hub has multiple ports. Unlike a switch, a hub cannot filter the data, i.e. it cannot
    6 min read
    Introduction of a Router
    Network devices are physical devices that allow hardware on a computer network to communicate and interact with one another. For example Repeater, Hub, Bridge, Switch, Routers, Gateway, Router, and NIC, etc. What is a Router?A Router is a networking device that forwards data packets between computer
    12 min read
    Types of Ethernet Cable
    An ethernet cable allows the user to connect their devices such as computers, mobile phones, routers, etc, to a Local Area Network (LAN) that will allow a user to have internet access, and able to communicate with each other through a wired connection. It also carries broadband signals between devic
    5 min read

    Transport Layer

    Transport Layer responsibilities
    The transport Layer is the second layer in the TCP/IP model and the fourth layer in the OSI model. It is an end-to-end layer used to deliver messages to a host. It is termed an end-to-end layer because it provides a point-to-point connection rather than hop-to-hop, between the source host and destin
    5 min read
    Introduction of Ports in Computers
    A port is basically a physical docking point which is basically used to connect the external devices to the computer, or we can say that A port act as an interface between the computer and the external devices, e.g., we can connect hard drives, printers to the computer with the help of ports. Featur
    3 min read
    What is TCP (Transmission Control Protocol)?
    Transmission Control Protocol (TCP) is a connection-oriented protocol for communications that helps in the exchange of messages between different devices over a network. It is one of the main protocols of the TCP/IP suite. In OSI model, it operates at the transport layer(Layer 4). It lies between th
    5 min read
    TCP 3-Way Handshake Process
    The TCP 3-Way Handshake is a fundamental process that establishes a reliable connection between two devices over a TCP/IP network. It involves three steps: SYN (Synchronize), SYN-ACK (Synchronize-Acknowledge), and ACK (Acknowledge). During the handshake, the client and server exchange initial sequen
    6 min read
    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 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-late
    10 min read

    Network Layer

    IPv4 Datagram Header
    IP stands for Internet Protocol and v4 stands for Version Four (IPv4). IPv4 was the primary version brought into action for production within the ARPANET in 1983. IP version four addresses are 32-bit integers which will be expressed in decimal notation. In this article, we will discuss about IPv4 da
    4 min read
    Difference between Unicast, Broadcast and Multicast in Computer Network
    The cast term here signifies some data(stream of packets) is being transmitted to the recipient(s) from the client(s) side over the communication channel that helps them to communicate. Let's see some of the "cast" concepts that are prevailing in the computer networks field. What is Unicast?This typ
    5 min read
    Structure and Types of IP Address
    IP addresses are an important part of the Internet. It can be represented as Internet Protocol address. A unique address that identifies the device over the network. They are made up of a series of numbers or alphanumeric characters that help us to identify devices on a network. Almost every device
    8 min read

    IPv4 Addressing

    What is IPv4?
    IP stands for Internet Protocol version v4 stands for Version Four (IPv4), is the most widely used system for identifying devices on a network. It uses a set of four numbers, separated by periods (like 192.168.0.1), to give each device a unique address. This address helps data find its way from one
    5 min read
    Role of Subnet Mask
    A subnet mask is a 32-bit number that separates an IP address into two parts: the network ID and the host ID. It tells devices which portion of the address belongs to the network and which identifies individual devices. By doing this it helps to determine which devices belong to the same local netwo
    5 min read
    Introduction of Classful IP Addressing
    An IP address is an address that has information about how to reach a specific host, especially outside the LAN. An IP address is a 32-bit unique address having an address space of 232.Classful IP addressing is a way of organizing and managing IP addresses, which are used to identify devices on a ne
    11 min read

    Subnetting

    Introduction To Subnetting
    Subnetting is the process of dividing a large network into smaller networks called "subnets." Subnets provide each group of devices with their own space to communicate, which ultimately helps the network to work easily. This also boosts security and makes it easier to manage the network, as each sub
    8 min read
    Classless Inter Domain Routing (CIDR)
    Classless Inter-Domain Routing (CIDR) is a method of IP address allocation and IP routing that allows for more efficient use of IP addresses. CIDR is based on the idea that IP addresses can be allocated and routed based on their network prefix rather than their class, which was the traditional way o
    6 min read
    Introduction of Variable Length Subnet Mask (VLSM)
    Variable Length Subnet Mask (VLSM) is a technique used in IP network design to create subnets with different subnet masks. VLSM allows network administrators to allocate IP addresses more efficiently and effectively, by using smaller subnet masks for subnets with fewer hosts and larger subnet masks
    6 min read
    Private IP Addresses in Networking
    Private IP addresses play an important role in computer networking, permitting organizations to build internal networks that communicate securely without conflicting with public addresses. In this article, we will see private IP addresses in networking.What is a Private IP Address?Private IP Address
    8 min read

    Data Link Layer

    What is Ethernet?
    A LAN is a data communication network connecting various terminals or computers within a building or limited geographical area. The connection between the devices could be wired or wireless. Although Ethernet has been largely replaced by wireless networks, wired networking still uses Ethernet more f
    9 min read
    What is MAC Address?
    To communicate or transfer data from one computer to another, we need an address. In computer networks, various types of addresses are introduced; each works at a different layer. A MAC address, which stands for Media Access Control Address, is a physical address that works at the Data Link Layer. I
    12 min read
    What is an IP Address?
    Imagine every device on the internet as a house. For you to send a letter to a friend living in one of these houses, you need their home address. In the digital world, this home address is what we call an IP (Internet Protocol) Address. It's a unique string of numbers separated by periods (IPv4) or
    14 min read

    Physical Layer

    Ethernet Frame Format
    The basic frame format which is required for all MAC implementation is defined in IEEE 802.3 standard. Though several optional formats are being used to extend the protocol's basic capability. Ethernet frame starts with the Preamble and SFD, both work at the physical layer. The ethernet header conta
    8 min read
    What is Power Over Ethernet (POE)?
    Power Over Ethernet (POE) is a technique used for building wired Ethernet local area networks (LANs) which use Ethernet data cables instead of normal electrical power cords and wiring to carry the electrical current required to operate each device. The transfer of power through network cabling is po
    8 min read

    Cisco Networking Devices

    Network Devices (Hub, Repeater, Bridge, Switch, Router, Gateways and Brouter)
    Network devices are physical devices that allow hardware on a computer network to communicate and interact with each other. Network devices like hubs, repeaters, bridges, switches, routers, gateways, and brouter help manage and direct data flow in a network. They ensure efficient communication betwe
    9 min read
    Collision Detection in CSMA/CD
    CSMA/CD (Carrier Sense Multiple Access/ Collision Detection) is a media access control method that was widely used in Early Ethernet technology/LANs when there used to be shared Bus Topology and each node ( Computers) was connected by Coaxial Cables. Nowadays Ethernet is Full Duplex and Topology is
    7 min read
    Collision Domain and Broadcast Domain in Computer Network
    Prerequisite - Network Devices, Transmission Modes The most common network devices used are routers and switches. But we still hear people talking about hubs, repeaters, and bridges. Do you ever wonder why these former devices are preferred over the latter ones? One reason could be: 'because they ar
    5 min read
    Difference between layer-2 and layer-3 switches
    A switch is a device that sends a data packet to a local network. What is the advantage of a hub? A hub floods the network with the packet and only the destination system receives that packet while others just drop due to which the traffic increases a lot. To solve this problem switch came into the
    5 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences