Understanding UDP

Forever ago I talked about TCP (Understanding TCP) and I said that in that post that UDP would be another day, well this is the day where we get to understand UDP, which stands for User Datagram Protocol. UDP is the total opposite of the TCP communication. UDP in short sends information or data without notifying the receiver that its sending data. UDP is considered a connectionless protocol, and does not guarantee the reliability or order the packets like TCP does. Therefor packets may be dropped and are never recovered.

The UDP Communication Progress

Although this may sound like a bad thing, it depends on your network application. Some common network applications that use UDP include: the Domain Name System (DNS), streaming media applications such as IPTV, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) and online games. Looking at the UDP header there is a lot less overhead when compared to TCP, this makes UDP faster for routers to route the information with less overhead on processing power.

The UDP Header Field

Time-sensitive applications often use UDP because if dropped packets means less delayed information then UDP it is. In connectionless protocols there is no effort made to set up a connection like TCP, UDP just sends the information in one direction from the source address to the destination address and hopes it arrives in complete package but if not, the protocol does not care. So to review:

  • UDP is Unreliable - When a message is sent, it cannot or will not know if it will reach its destination; it could get lost along the way. There is no concept of acknowledgment, re-transmission and or timeout like the TCP protocol.
  • UDP is not ordered - If two messages are sent to the same destination, the order in which they arrive cannot be predicted.
  • UDP is lightweight - There is no ordering of messages, any tracking connections, etc. It is a small transport layer designed on top of IP.
  • Inside UDP Datagrams - Packets that are sent individually and are guaranteed to be whole if they arrive. Packets have definite bounds and do not split or merge into data streams. (Meaning that UDP packets are not coherent)

That's UDP is in a summary format, I hope this information is useful and like always look at other sources like Cisco.com or do a simple web search. Comments are encourage, so let me know how I'm  doing if you have a topic that is related to the ICND1 or ICND2 let me know about.