Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Searchable, convenient, complete TCP/IP information.
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Transport Layer Protocols
           9  Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
                9  TCP/IP User Datagram Protocol (UDP)

Previous Topic/Section
UDP Overview, History and Standards
Previous Page
Pages in Current Topic/Section
1
Next Page
UDP Message Format
Next Topic/Section

UDP Operation

Uh… Uh… After all these pages, I almost find myself at a loss for words. (Hey, don't skip to the next topic, I said almost!) The simplicity of the User Datagram Protocol means that there is not a great deal to say in describing its operation. It is designed to do as little as possible, and little is exactly what it does.

What UDP Does

UDP's only real task is to take data from higher-layer protocols and place it in UDP messages, which are then passed down to the Internet Protocol for transmission. The basic steps for transmission using UDP are:

  1. Higher-Layer Data Transfer: An application sends a message to the UDP software.

  2. UDP Message Encapsulation: The higher-layer message is encapsulated into the Data field of a UDP message. The headers of the UDP message are filled in, including the Source Port of the application that sent the data to UDP, and the Destination Port of the intended recipient. The checksum value may also be calculated.

  3. Transfer Message To IP: The UDP message is passed to IP for transmission.

And that's about it. Of course, on reception at the destination device this short procedure is reversed.

What UDP Does Not

In fact, UDP is so simple, that its operation is very often described in terms of what it does not do, instead of what it does. As a transport protocol, some of the most important things UDP does not do include the following:

  • UDP does not establish connections before sending data. It just packages it and… off it goes.

  • UDP does not provide acknowledgments to show that data was received.

  • UDP does not provide any guarantees that its messages will arrive.

  • UDP does not detect lost messages and retransmit them.

  • UDP does not ensure that data is received in the same order that they were sent.

  • UDP does not provide any mechanism to manage the flow of data between devices, or handle congestion.

Key Concept: The User Datagram Protocol (UDP) is probably the simplest in all of TCP/IP. All it does is take application layer data passed to it, package it in a simplified message format, and send it to IP for transmission.


If these characteristics sound similar to how I described the limitations of IP, you're paying attention. UDP is basically just IP with transport-layer port addressing. (It is for this reason that UDP is sometimes called a “wrapper” protocol, since all it does is wrap application data in its simple message format and send it to IP.)

I should point out that despite the list above, there are a couple of limited feedback and error checking mechanisms that do exist within UDP. One is the optional checksum capability, which can allow detection of an error in transmission or the situation where a UDP message is delivered to the wrong place; see the next topic for details. The other is ICMP error reporting. For example, if a UDP message is sent that contains a destination port number not recognized by the destination device, this will lead to the destination host sending an ICMP Destination Unreachable message back to the original source. Of course, ICMP exists for all IP errors of this sort, so I’m stretching a bit here; this isn't really part of UDP.


Previous Topic/Section
UDP Overview, History and Standards
Previous Page
Pages in Current Topic/Section
1
Next Page
UDP Message Format
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.