UDP - User Datagram Protocol

PeterREgli 18,794 views 6 slides Dec 04, 2010
Slide 1
Slide 1 of 6
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6

About This Presentation

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) ...


Slide Content

© Peter R. Egli 2012
1
Rev. 3.20
UDP - User Datagram Protocol - RFC768 indigoo.com
• Contents
1. UDP (RFC768) characteristics
2. UDP Service
3. Typical UDP applications
4. UDP Checksum
5. UDP versus TCP

© Peter R. Egli 2012
2
Rev. 3.20
UDP - User Datagram Protocol - RFC768 indigoo.com
• UDP (RFC768) characteristics:
• No connection establishment/teardown; data is just sent right away.
• No flow control / congestion control, sender can overrun receiver‘s 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).
Packet 4 is
dropped (buffer
overrun).
Host 1 Host 2
Packet 1 is sent
to the application.
Packet 4 is missing. The
packet loss needs
to be handled by
the application
(detection, retransmission).
1
Packet 1 is stored
in the receive queue.
1
2
1
2
1
2
3
4
3
1
2
3
5
Packet 2 is stored
in the receive queue.
Packet 3 is stored
in the receive queue.
2
3
5
1
Host 1 sends
packets.

© Peter R. Egli 2012
3
Rev. 3.20
UDP - User Datagram Protocol - RFC768 indigoo.com
• 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.
UDP layer
Appl.
IP packets
Application
sends packets
(APDU’s) over
the socket
interface
Socket interface
IP layer
2500
300
500
150
TPDU’s
(UDP datagrams)
2500
300
500
150
300 500 150 1500 1000
IP layer
300
2500
500
150
UDP layer
300
2500
500
150
Appl.
Application
reads packets
(APDU’s)
from the
socket
interface
TPDU’s
(UDP datagrams)
2500byte packet is too big. IP layer fragments
the UDP datagram.

© Peter R. Egli 2012
4
Rev. 3.20
UDP - User Datagram Protocol - RFC768 indigoo.com
• 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 Host 2
SNMP GET Request
SNMP GET Response
SNMP
Host 1 Host 2
DNS Query
DNS Response
DNS
Host 1 Host 2
Time request
Time response
SNTP
Host 1 Host 2
DHCP Request
DHCP Response
DHCP/Bootp
Host 1 Host 1 Host 2
RIP Route Update
RIP
Host 2
RADIUS Access Request
RADIUS
RADIUS Access Accept
Host 1 Host 2
RPC Request
RPC Reply
RPC

© Peter R. Egli 2012
5
Rev. 3.20
UDP - User Datagram Protocol - RFC768 indigoo.com
• 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.
Pseudo
header
The checksum is
calculated over
the pseudo header,
UDP header and
data (UDP payload).
Source Port Destination Port
Checksum Length
Data
UDP Length 00000000 Protocol=17 UDP Length
IP Destination Address
IP Source Address
UDP
header

© Peter R. Egli 2012
6
Rev. 3.20
UDP - User Datagram Protocol - RFC768 indigoo.com
• UDP versus TCP:
TCP
 Connection-oriented, point-to-point (unicast)

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

 Stream-oriented (no message boundary preservation)

 Has flow control to maximise throughput

 Has congestion control to minimise packet loss

 Analogon: phone

Examples of application protocols using TCP:
HTTP, SMTP, FTP, TELNET
UDP
 Connection-less, best-effort

 Not reliable (no retransmissions)





 Message boundary preservation

 No flow control

 No congestion control

 Analogon: mail (snail mail)

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.).