UDP Principles (Chapter 24) (User Datagram Protocol) : FALL 2005 Csi 4118 - University of Ottawa 1

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 12

Part 2.

UDP Principles (Chapter 24)


(User Datagram Protocol)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1


UDP: User Datagram Protocol
 In TCP/IP protocol suite, using IP to transport
datagram (similar to IP datagram).
 Allows a application to send datagram to
other application on the remote machine.
 Delivery and duplicate detection are not
guaranteed.
 Low overhead: faster than TCP

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA


UDP Characteristics
 End-to-End: an application sends/receives data to/from
another application.
 Connectionless: Application does not need to preestablish
communication before sending data; application does not
need to terminate communication when finished.
 Message-oriented: application sends/receives individual
messages (UDP datagram), not packets.
 Best-effort: same best-effort delivery semantics as IP. I.e.
message can be lost, duplicated, and corrupted.
 Arbitrary interaction: application communicates with many
or one other applications.
 Operating system independent: identifying application
does not depend on O/S.

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA


Identifying An Application
 UDP cannot extend IP address
 No unused bits
 Cannot use OS-dependent quantity
 Process ID, Task number, Job name
 Must work on all computer systems
 Technique
 Each application assigned unique integer
 Called protocol port number

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA


Protocol Port Number
 UDP uses Port Number to identify an application
as an endpoint.
 UDP messages are delivered to the port specified
in the message by the sending application
 In general, a port can be used for any datagram,
as long as the sender and the receiver agrees
 In practice, a collection of well-known ports are
used for special purposes such as telnet, ftp, and
email. E.g. port 7 for Echo application.
 Local operating system provides an interface for
processes to specify and access a port.
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA
Well-known Port Numbers
 list of UDP ports copied from /etc/services on Solaris
2.5:

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA


UDP Multiplexing & Demultiplexing

 Sender: multiplexing of UDP datagrams.


 UDP datagrams are received from multiple application programs.

 A single sequence of UDP datagrams is passed to IP layer.

 Receiver: demultiplexing of UDP datagrams.


 Single sequence of UDP datagrams received from IP layer.

 UDP datagram received is passed to appropriate application.

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA


UDP Datagram Format

 Source Port - 16 bit port number


 Destination Port - 16 bit port number
 Length (of UDP header + data) - 16 bit count of octets
 UDP checksum - 16 bit field. if 0, then there is no checksum, else it is a
checksum over a pseudo header + UDP data area

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA


Checksum and Pseudo Header
 UDP uses a pseudo-header to verify that the UDP
message has arrived at both the correct machine
and the correct port.

• Proto : IP protocol type code.


• Length : Length of the UDP datagram.
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA
Encapsulation and Layering

 UDP message is encapsulated into an IP datagram.


 IP datagram in turn is encapsulated into a physical
frame for actually delivery.
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA
Applications
 Numerous key Internet applications use UDP, including: the
 where queries must be fast and only consist of a single request
followed by a single reply packet
  Domain Name System (DNS),
 Simple Network Management Protocol (SNMP)
 Routing Information Protocol (RIP)[1] and the
  Dynamic Host Configuration Protocol (DHCP).

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA


Port Ranges
 The Internet Assigned Numbers Authority (IANA) has divided port
numbers into three ranges.[4] 
 Port numbers 0 through 1023 are used for common, well-known
services. On Unix-like operating systems, using one of these ports
requires superuser operating permission.
 Port numbers 1024 through 49151 are the registered ports used for
IANA-registered services.
 Ports 49152 through 65535 are dynamic ports that are not officially
designated for any specific service, and may be used for any
purpose. They also are used as ephemeral ports, from which
software running on the host may randomly choose a port in order
to define itself.[4] In effect, they are used as temporary ports primarily
by clients when communicating with servers.

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA

You might also like