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.
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:
- Higher-Layer Data Transfer:
An application sends a message to the UDP software.
- 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.
- 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
- 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
- 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 Im
stretching a bit here; this isn't really part of UDP.
|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!|
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.