User Datagram Protocol
UDP is a transport layer protocol. Each output operation by a process produces exactly one UDP datagram, which cause one IP datagram to be sent. RFC 768 is the official specification of UDP. UDP provided no reliability its send the data that the application writes to IP but no one (not even OSI School) cannot guaranty that they ever reach their destination.
Why use UDP?
True UDP have many downsides, no error correction, no flow control and no congestion control. But on the other hand UDP use small over head compare to other protocols, There is no connection establishment nor states therefore broadcasting/multicasting is more straightforward. While UDP trades off those services provided by TCP it improves performance especially over low error rate channels. Application that can tolerate some less typically use UDP, actually multimedia application typically run on top of UDP.
Simulation
In this simulation we focus the lack of reliability. you can send a string (similar to voice) to the other side and watch the UDP datagram going through the links. you can increase the error rate of the links and observe how UDP can't handle packet drop.
Embedding:




