TCP/IP Explained

The User Datagram Protocol (UDP) is designed to provide application processes with the ability to transfer data to other application processes on remote machines, with a minimal overhead. In the previous chapter, we saw that the Transmission Control Protocol (TCP) provided a mechanism to interface with multiple applications through Sockets. UDP achieves the addressing of processes on a host in a similar way.
UDP, as described by RFC 768, assumes that the Internet Protocol (IP) is in use as the underlying protocol and uses the protocol address 11.15,17 (in decimal). As with TCP, UDP is unable to interface directly with the access protocols of underlying network technologies, however unlike TCP, UDP provides no added reliability. No acknowledgements are sent, the data is not ordered on receipt, and except for those provided by ICMP, there are no flow control mechanisms. Instead, UDP is a connectionless, best efforts protocol, described as being transaction oriented and relying on the application process to provide any reliability over that supplied by IP. As such, when using UDP, delivery cannot be guaranteed, duplication of datagrams can occur, or they may even be discarded if they arrive faster than the destination host can process them. Nevertheless, UDP is a fundamental protocol upon which many functions of an internet are built.

Many diskless devices such as say, Terminal Servers, or even Routers, are unable to perform their functions unless first loaded with an image