13 August 2019

UDP advantages and disadvantages

UDP stands for user datagram protocol. UDP is a connectionless protocol in which data needed to send in chunks. UDP doesn't have error checking mechanism that is why it is less reliable but is faster in data transmission.

If you want to learn some different you are the right place for reading so keep reading for a few minutes for the right information regarding UDP.


Advantages of UDP :

  • UDP does not need to require a connection to be established and maintained
  • UDP uses a small packet size with a small header. This fewer bytes in the overhead makes UDP protocol need for less time in processing the packet as well as needless memory
  • UDP uses checksum with all packets for error detection
  • UDP can be used in events where a single packet of data needs to be exchanged between the hosts
  • Broadcast and multicast transmission are available with UDP
  • UDP doesn't restrict you to a connection based communication model, so startup latency in distributed applications is much lower, as is operating system overhead fast
  • UDP makes it faster as it need not have to wait on ACK or need have to data in memory until they are ACKed
  • All flow control, ack, transaction logging, etc is up to user programs, a broken OS implementation is not going to get in your way. Additionally, you only need to implement and  also use the features you have to need
  • The reception of UDP packet get them unmanaged  including block boundary
  • You want the application to have detailed control over what is sent across the network, UDP changes it  to be little 
  • No connection state data in the end hosts hence a server can support more UDP client than TCP
  • UDP communication can be more efficient than a guaranteed delivery data stream

Disadvantages of UDP :

  • UDP is an unreliable and connectionless protocol. 
  • UDP has no windowing and no function to ensure data is received in the same order as it was transmitted
  • UDP does not use any error control. So UDP detects an error in the received packet. It silently drops it
  • The router can be careless with UDP. They do not retransmit a UDP datagram after the collision and will often discard UDP packets before TCP packets
  • There is no flow control and no acknowledgement for received data
  • Only the application layer deals with error recovery. Hence applications can simply turn to the user to send the message again
  • In UDP a large number of users, transmitting a lot of data via UDP can cause congestion and no one do anything about it, so no congestion control
  • UDP has no flow control, congestion control. Implementation is the duty of the user program
  • They are no guaranteed with UDP.  So a packet may not be delivered or delivered twice or delivered must be out of order; you get no indication of this unless the listening program at the other end decides to say something