written 8.3 years ago by |
Advantages of UDP :
i. Broadcast and multicast transmission are available with UDP which is not the case with TCP.
ii. It doesn't restrict to a connection based communication model, so startup latency in distributed applications is much lower, as is operating system overhead FAST.
iii. All flow control, acking, 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 use the features you need.
iv. The recipient of UDP packets gets them unmangled, including block boundaries.
v. Much faster than TCP.
Disadvantages of UDP :
i. There are no guarantees with UDP.
ii. A packet may not be delivered, or delivered twice, or delivered out of order; you get no indication of this unless the listening program at the other end decides to say something.
iii. UDP has no flow control, Congestion Control, implementation is the duty of user programs.
iv. Routers are quite careless with UDP. They never retransmit it if it collides, and it seems to be the first thing dropped when a router is short on memory.
v. Manually breaking of data into packets.
vi. UDP suffers from worse packet loss than TCP.