User Datagram Protocol (UDP)

UDP, defined in RFC 768, has the following characteristics:

• Connectionless Nodes send UDP messages, consisting of a UDP header and a message, without having to negotiate a connection between communicating peers.

• Unreliable Nodes send UDP messages as datagrams without sequencing or acknowledgment. The Application Layer protocol must reorder and recover lost messages. Typical UDP-based Application Layer protocols either provide their own reliable service or retransmit UDP messages periodically or after a defined time-out value.

• Provides identification of Application Layer protocols UDP provides a mechanism to send messages to a specific Application Layer protocol or process on an internetwork host. The UDP header provides both source and destination process identification.

• Provides checksum of UDP message The UDP header provides a 16-bit checksum of the entire UDP message. UDP is a direct reflection of the datagram services of IP, except that UDP provides a method to pass data to an Application Layer protocol. UDP does not provide the following delivery services:

• Buffering UDP does not provide any buffering of incoming or outgoing data. The Application Layer protocol must provide all buffering.

• Segmentation UDP does not provide any segmentation of large blocks of data. Therefore, the application must send data in small enough blocks so that the IP datagrams for the UDP messages are no larger than the Maximum Transmission Unit (MTU) of the interface on which they are sent. Otherwise, IP on the sending host fragments the UDP message.

• Flow control UDP does not provide any sender-side or receiver-side flow control. UDP message senders can react to the receipt of an Internet Control Message Protocol (ICMP) Source Quench message, but it is not required.


Uses for UDP
Although UDP does not provide any services beyond Application Layer protocol identification and a checksum, there are uses for sending data using UDP, including the following:

• Lightweight protocol To conserve memory and processor resources, some Application
Layer protocols require the use of a lightweight protocol that performs a specific function using a simple exchange of messages. A good example is Domain Name System
(DNS) name queries. Typically, a DNS client sends a DNS Name Query Request message to a DNS server. The DNS server responds with a DNS Name Query Response message. If the DNS server does not respond, the DNS client retransmits the DNS Name Query Request message. If all the DNS clients used TCP rather than UDP, all DNS name queries would be sent reliably, but the DNS server would have to support hundreds or, on the Internet, thousands of TCP connections. The low-overhead solution of using UDP is the best choice for simple request-reply-based Application Layer protocols.

• Reliability provided by the Application Layer protocol If the Application Layer protocol provides its own reliable data delivery services, there is no need for the Transport Layer protocol to provide them. Examples of reliable Application Layer protocols are Trivial File Transfer Protocol (TFTP) and Network File System (NFS).

• Reliability not required due to periodic advertisement process If the Application Layer protocol periodically advertises information, reliable delivery is not required. If an advertisement is lost, it is announced again at the period interval. An example of an Application Layer protocol that uses periodic advertisements is the Routing Information Protocol (RIP).

• One-to-many delivery UDP can be used as the Transport Layer protocol whenever Application Layer data must be sent to multiple destinations using an IP multicast or broadcast address. TCP can be used only for one-to-one delivery. For example, a host sends a broadcast NetBIOS Name Query Request message using UDP.

Source of Information : Microsoft Press Windows Server 2008 TCP IP Protocols and Services

No comments:

Cloud storage is for blocks too, not just files

One of the misconceptions about cloud storage is that it is only useful for storing files. This assumption comes from the popularity of file...