Advantages of UDP | disadvantages of UDP
This page covers advantages and disadvantages of UDP. It mentions UDP advantages or benefits and UDP disadvantages or drawbacks. UDP stands for User Datagram Protocol.
What is UDP?
• It establishes connectionless service.
• It is defined in RFC768.
• It is considered as unreliable due to absence of SYN/ACK flags unlike TCP/IP.
• UDP header is mentioned below, it contains protocol field with value "0x11" in IP header. UDP header consists of source port, destination port, length of datagram and checksum as shown.
• Like TCP, UDP also uses port addresses for delivery to appropriate applications. The port addresses are unique to applications. Like TCP, UDP also does multiplexing and demultiplexing processes as shown at transmit and receive ends respectively.
• UDP is unreliable un-ordered packet protocol.
UDP is located between the application layer and the IP layer, and serves as the intermediary between the application programs and the network operations. The figure-1 depicts comparison of UDP/IP stack with OSI stack.
The figure-2 and 3 mentions fields in UDP header and IP header. UDP packets, called user datagrams, have a fixed-size header of 8 bytes.
The figure-4 mentions UDP multiplexing and demultiplexing processes. Unique port addresses help in demuplexing process at the destination machine.
Benefits or advantages of UDP
Following are the benefits or advantages of UDP:
➨It uses small packet size with small header (8 bytes). This fewer bytes in the overhead makes UDP protocol need less time in processing the packet and need less memory.
➨It does not require connection to be established and maintained.
➨Also absence of acknowledgement field in UDP makes it faster as it need not have to wait on ACK or need not have to hold data in memory until they are ACKed.
➨It uses checksum with all the packets for error detection.
➨It can be used in events where a single packet of data needs to be exchanged between the hosts.
Drawbacks or disadvantages of UDP
Following are the drawbacks or disadvantages of UDP:
➨It is connectionless and unreliable transport protocol. There is no windowing and no function to ensure data is received in the same order as it was transmitted.
➨It does not use any error control. Hence if UDP detects any error in the received packet, it silently drops it.
➨There is no congestion control. Hence large number of users transmitting lots of data via UDP can cause congestion and no one can do anything about it.
➨There is no flow control and no acknowledgement for received data.
➨Only application layer deals with error recovery. Hence applications can simply turn to the user to send the message again.
➨Routers can be careless with UDP. They do not retransmit a UDP datagram after collision and will often discard UDP packets before TCP packets.