User datagram protocol

mohammedarif89 8,252 views 32 slides Apr 09, 2013
Slide 1
Slide 1 of 32
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32

About This Presentation

No description available for this slideshow.


Slide Content

TCP/IP Protocol Suite 1
Chapter 11Chapter 11
Upon completion you will be able to:
User DatagramUser Datagram
ProtocolProtocol
• Be able to explain process-to-process communication
• Know the format of a UDP user datagram
• Be able to calculate a UDP checksum
• Understand the operation of UDP
• Know when it is appropriate to use UDP
• Understand the modules in a UDP package
Objectives

TCP/IP Protocol Suite 2
Figure 11.1 Position of UDP in the TCP/IP protocol suite

TCP/IP Protocol Suite 3
11.1 PROCESS-TO-PROCESS
COMMUNICATION
Before we examine UDP, we must first understand host-to-host Before we examine UDP, we must first understand host-to-host
communication and process-to-process communication and the communication and process-to-process communication and the
difference between them.difference between them.
The topics discussed in this section include:The topics discussed in this section include:
Port NumbersPort Numbers
Socket AddressesSocket Addresses

TCP/IP Protocol Suite 4
Figure 11.2 UDP versus IP

TCP/IP Protocol Suite 5
Figure 11.3 Port numbers

TCP/IP Protocol Suite 6
Figure 11.4 IP addresses versus port numbers

TCP/IP Protocol Suite 7
Figure 11.5 ICANN ranges

TCP/IP Protocol Suite 8
The well-known port numbers are less
than 1024.
Note:Note:

TCP/IP Protocol Suite 9
Table 11.1 Table 11.1 Well-known ports used with UDPWell-known ports used with UDP

TCP/IP Protocol Suite 10
In UNIX, the well-known ports are stored in a file called
/etc/services. Each line in this file gives the name of the server
and the well-known port number. We can use the grep utility to
extract the line corresponding to the desired application. The
following shows the port for TFTP. Note TFTP can use port 69
on either UDP or TCP.
ExamplE 1
See Next Slide
$ grep tftp /etc/services
tftp 69/tcp
tftp 69/udp

TCP/IP Protocol Suite 11
SNMP uses two port numbers (161 and 162), each for a
different purpose, as we will see in Chapter 21.
ExamplE 1 (ContinuEd)
$ grep snmp /etc/services
snmp 161/tcp #Simple Net Mgmt Proto
snmp 161/udp #Simple Net Mgmt Proto
snmptrap 162/udp #Traps for SNMP

TCP/IP Protocol Suite 12
Figure 11.6 Socket address

TCP/IP Protocol Suite 13
11.2 USER DATAGRAM
UDP packets are called user datagrams and have a fixed-size header of UDP packets are called user datagrams and have a fixed-size header of
8 bytes.8 bytes.

TCP/IP Protocol Suite 14
Figure 11.7 User datagram format

TCP/IP Protocol Suite 15
UDP length =
IP length − IP header’s length
Note:Note:

TCP/IP Protocol Suite 16
11.3 CHECKSUM
UDP checksum calculation is different from the one for IP and ICMP. UDP checksum calculation is different from the one for IP and ICMP.
Here the checksum includes three sections: a pseudoheader, the UDP Here the checksum includes three sections: a pseudoheader, the UDP
header, and the data coming from the application layer.header, and the data coming from the application layer.
The topics discussed in this section include:The topics discussed in this section include:
Checksum Calculation at SenderChecksum Calculation at Sender
Checksum Calculation at ReceiverChecksum Calculation at Receiver
Optional Use of the ChecksumOptional Use of the Checksum

TCP/IP Protocol Suite 17
Figure 11.8 Pseudoheader for checksum calculation

TCP/IP Protocol Suite 18
Figure 11.9 Checksum calculation of a simple UDP user datagram

TCP/IP Protocol Suite 19
11.4 UDP OPERATION
UDP uses concepts common to the transport layer. These concepts will UDP uses concepts common to the transport layer. These concepts will
be discussed here briefly, and then expanded in the next chapter on the be discussed here briefly, and then expanded in the next chapter on the
TCP protocol.TCP protocol.
The topics discussed in this section include:The topics discussed in this section include:
Connectionless ServicesConnectionless Services
Flow and Error ControlFlow and Error Control
Encapsulation and DecapsulationEncapsulation and Decapsulation
QueuingQueuing
Multiplexing and DemultiplexingMultiplexing and Demultiplexing

TCP/IP Protocol Suite 20
Figure 11.10 Encapsulation and decapsulation

TCP/IP Protocol Suite 21
Figure 11.11 Queues in UDP

TCP/IP Protocol Suite 22
Figure 11.12 Multiplexing and demultiplexing

TCP/IP Protocol Suite 23
11.5 USE OF UDP
We discuss some uses of the UDP protocol in this section.We discuss some uses of the UDP protocol in this section.

TCP/IP Protocol Suite 24
11.6 UDP PACKAGE
To show how UDP handles the sending and receiving of UDP packets, To show how UDP handles the sending and receiving of UDP packets,
we present a simple version of the UDP package. The UDP package we present a simple version of the UDP package. The UDP package
involves five components: a control-block table, input queues, a involves five components: a control-block table, input queues, a
control-block module, an input module, and an output module. control-block module, an input module, and an output module.
The topics discussed in this section include:The topics discussed in this section include:
Control-Block TableControl-Block Table
Input QueuesInput Queues
Control-Block ModuleControl-Block Module
Input ModuleInput Module
Output ModuleOutput Module

TCP/IP Protocol Suite 25
Figure 11.13 UDP design

TCP/IP Protocol Suite 26
Table 11.2 Table 11.2 The control-block table at the beginning of examplesThe control-block table at the beginning of examples

TCP/IP Protocol Suite 27
The first activity is the arrival of a user datagram with
destination port number 52,012. The input module searches for
this port number and finds it. Queue number 38 has been
assigned to this port, which means that the port has been
previously used. The input module sends the data to queue 38.
The control-block table does not change.
ExamplE 2

TCP/IP Protocol Suite 28
After a few seconds, a process starts. It asks the operating
system for a port number and is granted port number 52,014.
Now the process sends its ID (4,978) and the port number to
the control-block module to create an entry in the table. The
module takes the first FREE entry and inserts the information
received. The module does not allocate a queue at this moment
because no user datagrams have arrived for this destination
(see Table 11.3).
ExamplE 3
See Next Slide

TCP/IP Protocol Suite 29
Table 11.3 Table 11.3 Control-block table after Example 3Control-block table after Example 3

TCP/IP Protocol Suite 30
A user datagram now arrives for port 52,011. The input
module checks the table and finds that no queue has been
allocated for this destination since this is the first time a user
datagram has arrived for this destination. The module creates
a queue and gives it a number (43). See Table 11.4.
ExamplE 4
See Next Slide

TCP/IP Protocol Suite 31
Table 11.4 Table 11.4 Control-block after Example 4Control-block after Example 4

TCP/IP Protocol Suite 32
After a few seconds, a user datagram arrives for port 52,222.
The input module checks the table and cannot find an entry for
this destination. The user datagram is dropped and a request is
made to ICMP to send an “unreachable port” message to the
source.
ExamplE 5