UDP stands for User Datagram Protocol. It is a message-oriented communication protocol, used for communication channels and data paths. UDP uses a connectionless communication model with a minimum of initializing protocol mechanisms. The protocol is used extensively in applications requiring low-latency and loss tolerating connections, where the loss of some data isn’t much of a concern.
The protocol is implemented on top of the IP (Internet Protocol), and is collectively called the UDP/IP Network Stack. UDP disowns certain features offered by other similar protocols, such as Handshaking(TLS/SSL) for initializing a connection, no acknowledgment for transmission progress, Data restructuring, etc. in order to offer a fast communication even on low bandwidth networks. Due to these characteristics of UDP it is implemented in VoIP, Web Streaming, Broadcasting, Gaming, etc.
- Connection: Is connectionless protocol, therefore no Handshake is required to estabilish the connection
- No Acknowlegement: Data is sent unilaterally by the sender, and therefore no interaction of the recipient system is required (ex. sending acknowlegement about the recieved packets isn’t required).
- Less Overhead: Since no connection is required to estabilish the protocol, there are no ongoing connections to maintain. Which leads to less overhead.
- Orderless: The data may not arrive in order.
- Speed: Faster then other protocols of the same nature and requires fewer resources to function efficiently.
- Has a small header size of 8 bytes, due to which fewer data has to be transmitted
- Does not require a handshake before transmission of data
- Has no policy for intact data transfers, therefore lost packets are not re-sent hence reducing the congestion of recurrent requests
- UDP could be broadcast or multicast, so it allows a one-to-many protocol to exist
- Does not require an acknowledgment as a receipt for the data sent
- Does not provide any compensation for lost packets
- Does not offer any significant error detection mechanism, due to which the received data could be errornous
- Does out of order delivery of data, due to which data has to be rearranged at the receiving end (which further requires some computation)
- Does not delay transmission if the network is congested, which could lead to packet loss or delay in delivery of the packet.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.