UDP (User Datagram Protocol) |
|
User Datagram Protocol or UDP is part of the Internet Protocol suite, using which, programs running on different computers on a network can send short messages known as Datagrams to one another. UDP can be used in networks where TCP is traditionally implemented, but unlike TCP, it does not guarantee reliability or the correct sequencing of data. Datagrams may go missing without notice, or arrive in a different order from the one in which they were sent. The protocol was formulated by David P. Reed in 1980 and officially defined in RFC 768. UDP makes use of a simple communication model without implicit transmission checks for guaranteeing reliability, sequencing, or datagram integrity. Though these factors might seem to suggest that UDP is not a useful protocol, it still finds wide usage in particular areas where speed, more than reliability, is of utmost importance. UDP considers that error checks and corrections should be carried out in the communicating application, and not at the network layer. However, if error checks and corrections are needed at the network layer, the application can make use of Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP), which are specifically formulated for this reason. Since UDP does not have the overhead of checking whether the data has reached the destination every time it is sent, it makes the protocol that much faster and more efficient. UDP is often used for time-sensitive applications where missing data is preferred to late-arriving data. UDP is a stateless protocol which is useful for servers engaged in answering short queries from a large number of clients. While TCP is mainly used for communication between a server and a single client, UDP is used for packet broadcast or multicasting whereby the data is sent to all the clients in the network. Frequent network applications that use UDP include: Trivial File Transfer Protocol (TFTP) , Voice over IP (VoIP), IPTV, Domain Name System (DNS), etc. Since UDP lacks any kind of mechanism to control or avoid network congestion, other forms of network-based control mechanisms need to be implemented to ensure smooth flow of traffic in a UDP network. One of the solutions being designed to tackle this problem is DCCP or Datagram Congestion Control Protocol which is aimed at monitoring and controlling traffic congestion in a UDP network. A typical IP network consists of five layers:
As shown above, UDP belongs to the fourth layer. Although the entire amount of UDP traffic in a network is a small fraction of the whole, a number of key application in the fifth layer like DNS and SNMP or simple network management protocol use UDP.
UDP Packet
The UDP header comprises of only four fields. The use of two of those is optional (light red background in diagram).
Source Port
Destination Port
Length
Checksum
Additional Reading on UDPThe UDP protocol is defined in RFC 768: User Datagram Protocol. blog comments powered by Disqus |
Discuss UDP (User Datagram Protocol) in the forums.


