User Datagram Protocol UDP 1 TCPIP Protocol Suite

  • Slides: 25
Download presentation
User Datagram Protocol (UDP) 1 TCP/IP Protocol Suite Copyright © The Mc. Graw-Hill Companies,

User Datagram Protocol (UDP) 1 TCP/IP Protocol Suite Copyright © The Mc. Graw-Hill Companies, Inc. Permission required for reproduction or display.

INTRODUCTION UDP is connectionless, unreliable transport protocol located between the application layer and the

INTRODUCTION UDP is connectionless, unreliable transport protocol located between the application layer and the IP layer, and serves as the intermediary between the application programs and the network operations. UDP provides process-to-process communication. TCP/IP Protocol Suite 2

Figure 14. 1 TCP/IP Protocol Suite Position of UDP in the TCP/IP protocol suite

Figure 14. 1 TCP/IP Protocol Suite Position of UDP in the TCP/IP protocol suite 3

14 -2 USER DATAGRAM UDP packets, called user datagrams, have a fixed-size header of

14 -2 USER DATAGRAM UDP packets, called user datagrams, have a fixed-size header of 8 bytes. Figure shows the format of a user datagram. TCP/IP Protocol Suite 4

Figure 14. 2 User datagram format LENGTH: 16 -BIT DEFINES THE TOTAL LENGTH OF

Figure 14. 2 User datagram format LENGTH: 16 -BIT DEFINES THE TOTAL LENGTH OF DATAGRAM (0 TO 65535 BYTES) A USER DATAGRAM IS ENCAPSULATED IN AN IP DATAGRAM. UDP LENGTH = IP LENGTH – IP HEADER’S DATAGRAM TCP/IP Protocol Suite 5

Example 14. 1 The following is a dump of a UDP header in hexadecimal

Example 14. 1 The following is a dump of a UDP header in hexadecimal format. a. What is the source port number? b. What is the destination port number? c. What is the total length of the user datagram? d. What is the length of the data? TCP/IP Protocol Suite 6

Example 14. 1 Continued Solution a. The source port number is the first four

Example 14. 1 Continued Solution a. The source port number is the first four hexadecimal digits (CB 84)16 or 52100. b. The destination port number is the second four hexadecimal digits (000 D)16 or 13. c. The third four hexadecimal digits (001 C)16 define the length of the whole UDP packet as 28 bytes. d. The length of the data is the length of the whole packet minus the length of the header, or 28 – 8 = 20 bytes. TCP/IP Protocol Suite 7

Checksum: Use to detect errors over entire user datagram 1. Three parts: Pseudo header:

Checksum: Use to detect errors over entire user datagram 1. Three parts: Pseudo header: part of the header of the IP in which user datagram encapsulated 2. UDP header 3. Data Shown in figure on next slide TCP/IP Protocol Suite 8

Figure 14. 3 TCP/IP Protocol Suite Pseudoheader for checksum calculation 9

Figure 14. 3 TCP/IP Protocol Suite Pseudoheader for checksum calculation 9

Example 14. 2 Figure 14. 4 shows the checksum calculation for a very small

Example 14. 2 Figure 14. 4 shows the checksum calculation for a very small user datagram with only 7 bytes of data. Because the number of bytes of data is odd, padding is added for checksum calculation. The pseudoheader as well as the padding will be dropped when the user datagram is delivered to IP (see next slide…) TCP/IP Protocol Suite 10

Figure 14. 4 TCP/IP Protocol Suite Checksum calculation for a simple UDP user datagram

Figure 14. 4 TCP/IP Protocol Suite Checksum calculation for a simple UDP user datagram 11

UDP Services: ü Process-to-Process Communication ü Connectionless Service ü Flow Control ü Error Control

UDP Services: ü Process-to-Process Communication ü Connectionless Service ü Flow Control ü Error Control ü Congestion Control ü Encapsulation and Decapsulation ü Queuing ü Multiplexing and Demultiplexing TCP/IP Protocol Suite 12

Figure 14. 5 TCP/IP Protocol Suite Encapsulation and decapsulation 13

Figure 14. 5 TCP/IP Protocol Suite Encapsulation and decapsulation 13

Figure 14. 6 TCP/IP Protocol Suite Queues in UDP 14

Figure 14. 6 TCP/IP Protocol Suite Queues in UDP 14

Figure 14. 7 TCP/IP Protocol Suite Multiplexing and demultiplexing 15

Figure 14. 7 TCP/IP Protocol Suite Multiplexing and demultiplexing 15

14 -4 UDP APPLICATION Although UDP meets almost none of the criteria for a

14 -4 UDP APPLICATION Although UDP meets almost none of the criteria for a reliable transport-layer protocol, UDP is preferable for some applications. WHY? ? TCP/IP Protocol Suite 16

Example 14. 4 A client-server application such as DNS (see Chapter 19) uses the

Example 14. 4 A client-server application such as DNS (see Chapter 19) uses the services of UDP because a client needs to send a short request to a server and to receive a quick response from it. The request and response can each fit in one user datagram. Since only one message is exchanged in each direction, the connectionless feature is not an issue; the client or server does not worry that messages are delivered out of order. TCP/IP Protocol Suite 17

Example 14. 5 A client-server application such as SMTP (see Chapter 23), which is

Example 14. 5 A client-server application such as SMTP (see Chapter 23), which is used in electronic mail, cannot use the services of UDP because a user can send a long e-mail message, which may include multimedia (images, audio, or video). If the application uses UDP and the message does not fit in one single user datagram, the message must be split by the application into different user datagrams. Here the connectionless service may create problems. The user datagrams may arrive and be delivered to the receiver application out of order. The receiver application may not be able to reorder the pieces. This means the connectionless service has a disadvantage for an application program that sends long messages. TCP/IP Protocol Suite 18

14 -5 UDP PACKAGE To show UDP handles the sending and receiving of UDP

14 -5 UDP PACKAGE To show UDP handles the sending and receiving of UDP packets, we present a simple version of the UDP package. We can say that the UDP package involves five components: a control-block table, input queues, a control-block module, an input module, and an output module. TCP/IP Protocol Suite 19

Topics Discussed in the Section ü Control-Block Table ü Input Queues ü Control-Block Module

Topics Discussed in the Section ü Control-Block Table ü Input Queues ü Control-Block Module ü Input Module ü Output Module TCP/IP Protocol Suite 20

Figure 14. 8 TCP/IP Protocol Suite UDP design 21

Figure 14. 8 TCP/IP Protocol Suite UDP design 21

TCP/IP Protocol Suite 22

TCP/IP Protocol Suite 22

TCP/IP Protocol Suite 23

TCP/IP Protocol Suite 23

TCP/IP Protocol Suite 24

TCP/IP Protocol Suite 24

TCP/IP Protocol Suite 25

TCP/IP Protocol Suite 25