Difference between TCP\IP and UDP?
The primary difference between UDP and TCP lies in their respective implementations of reliable messaging. TCP includes support for guaranteed delivery , meaning that the recipient automatically acknowledges the sender when a message is received, and the sender waits and retries in cases where the receiver does not respond in a timely way. UDP, on the other hand, does not implement guaranteed message delivery. A UDP datagram can get “lost” on the way from sender to receiver, and the protocol itself does nothing to detect or report this condition. UDP is sometimes called an unreliable transport for this reason.
Another way in which UDP works unreliably is in the receipt of a burst of multiple datagrams. Unlike TCP, UDP provides no guarantees that the order of delivery is preserved. For example, a client application might send the following four datagrams to a server
D1
D22
D333
D4444
but UDP may present the datagrams to the server-side application in this order instead:
D333
D1
D4444
D22
In practice, UDP datagrams arrive out-of-order relatively infrequently — generally only under heavy traffic conditions.





