100% found this document useful (2 votes)
514 views7 pages

UDP - User Datagram Protocol

Overview of UDP protocol. UDP (User Datagram Protocol) is a simple extension of the Internet Protocol services. It basically provides simple packet transport service without any quality of service functions. Unlike TCP, UDP is connection-less and packet-based. Application PDUs (application packets) sent over a UDP socket are delivered to the receiving host application as is without fragmentation. UDP is mostly used by applications with simple request-response communication patterns like DNS, DHCP, RADIUS, RIP or RPC. Since UDP does provide any error recovery such as retransmission of lost packets, the application protocols have to take care of these situations.

Uploaded by

Peter R. Egli
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
514 views7 pages

UDP - User Datagram Protocol

Overview of UDP protocol. UDP (User Datagram Protocol) is a simple extension of the Internet Protocol services. It basically provides simple packet transport service without any quality of service functions. Unlike TCP, UDP is connection-less and packet-based. Application PDUs (application packets) sent over a UDP socket are delivered to the receiving host application as is without fragmentation. UDP is mostly used by applications with simple request-response communication patterns like DNS, DHCP, RADIUS, RIP or RPC. Since UDP does provide any error recovery such as retransmission of lost packets, the application protocols have to take care of these situations.

Uploaded by

Peter R. Egli
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

UDP - User Datagram Protocol

UDP

indigoo.com

USER DATAGRAM PROTOCOL


INTRODUCTION TO USER DATAGRAM PROTOCOL,
A SIMPLE PACKET TRANSPORT SERVICE IN THE
INTERNET PROTOCOL SUITE

Peter R. Egli 2015

PETER R. EGLI
INDIGOO.COM
1/7
Rev. 3.50

UDP - User Datagram Protocol

indigoo.com

Contents
1. UDP (RFC768) characteristics
2. UDP Service
3. Typical UDP applications
4. UDP Checksum
5. UDP versus TCP

Peter R. Egli 2015

2/7
Rev. 3.50

indigoo.com

UDP - User Datagram Protocol


1. UDP (RFC768) characteristics

No connection establishment/teardown; data is just sent right away.


No flow control / congestion control, sender can overrun receivers buffer:
UDP is not suited for bulk data transfer.
For data transfer with UDP a lock-step protocol is required (to be implemented
by the application).
No error control; corrupted data is not retransmitted (even though UDP header has a
checksum to detect errors and report these to the application).
Host 1

Host 2

1
1

Host 1 sends
packets.

Packet 1 is stored
in the receive queue.

2
1

Packet 2 is stored
in the receive queue.

3
2
1

Packet 3 is stored
in the receive queue.

3
2
1

5
3
2

Packet 4 is
dropped (buffer
overrun).
Packet 1 is sent
to the application.
1

Peter R. Egli 2015

Packet 4 is missing. The


packet loss needs
to be handled by
the application
(detection, retransmission).
3/7
Rev. 3.50

indigoo.com

UDP - User Datagram Protocol


2. UDP service

UDP is basically a simple extension of the IP datagram service.


UDP adds multiplexing (on port number) to IP datagram service.
Application writes are mapped 1:1 to UDP datagrams; UDP passes these 1:1 to the IP layer.
Appl.

Appl.

300

Application
reads packets
(APDUs)
from the
socket
interface

Application
sends packets
(APDUs) over
the socket
interface

2500
500
150

150
500
2500

300

Socket interface

UDP layer

UDP layer

300

150

2500

TPDUs
(UDP datagrams)

500
150

TPDUs
(UDP datagrams)

IP layer

Peter R. Egli 2015

2500
300

2500byte packet is too big. IP layer fragments


the UDP datagram.

300

500

IP layer
1000

1500

500

150

IP packets
4/7
Rev. 3.50

indigoo.com

UDP - User Datagram Protocol


3. Typical UDP applications

UDP is best suited for applications with short command-response type transactions
that do not justify the establishment / release prior to the data exchange.
Host 1

SNMP

Host 2

Host 1

SNMP GET Request

DHCP/Bootp

Host 2

Host 1

RADIUS
RADIUS Access Request

SNTP

Host 2

Time request

Time response

Host 2

Host 1

RIP

Host 2

RIP Route Update

RADIUS Access Accept

DHCP Response

RPC

Host 1

DNS Response

DHCP Request

Host 1

Host 2

DNS Query

SNMP GET Response

Host 1

DNS

Host 2

RPC Request

RPC Reply

Peter R. Egli 2015

5/7
Rev. 3.50

indigoo.com

UDP - User Datagram Protocol


4. UDP checksum

UDP has a checksum too that provides minimal protection against transmission errors.
The checksum is optional; if it is not used it shall be set to 0.
Becaus the IP addresses are used in the UDP checksum calculation,
UDP is tightly bound to the IP layer. Therefore UDP can only run on top of IP.

IP Source Address
Pseudo
header

IP Destination Address
The checksum is
calculated over
the pseudo header,
UDP header and
data (UDP payload).

00000000

Protocol=17

UDP
Length
UDP Length

Source Port

Destination Port

Checksum

Length

UDP
header

Data

Peter R. Egli 2015

6/7
Rev. 3.50

indigoo.com

UDP - User Datagram Protocol


5. UDP versus TCP
TCP
Connection-oriented, point-to-point (unicast)

UDP
Connection-less, best-effort

Reliable end-to-end:
No bit errors due to checksum.
Packet ordering preserved.
No duplicates.
No packet loss.

Not reliable (no retransmissions)

Stream-oriented (no message boundary preservation) Message boundary preservation


Has flow control to maximise throughput

No flow control

Has congestion control to minimise packet loss

No congestion control

Analogon: phone

Analogon: mail (snail mail)

Examples of application protocols using TCP:


HTTP, SMTP, FTP, TELNET

Examples of application protocols


using UDP:
SNMP, DNS, TFTP, RTP, DHCP, SNTP

N.B.: It is possible to run application protocols over both TCP and UDP. E.g. DNS is normally run on UDP, but
for zone transfers (higher data volume) DNS uses TCP. Actually there is a shift towards using TCP instead
UDP since TCP can better provide security (SSL/TLS, simpler filtering in firewalls etc.).
Peter R. Egli 2015

7/7
Rev. 3.50

You might also like