TCP (Transport Communication Protocol) allows for guaranteed communication between two machines. Connections are established with acknowledgements, and the receiver will also send acknowledgements when packets are received. This is great when transmitting important data, but introduces a lot of overhead.UDP (User Datagram Protocol) gets rid of all this overhead. Once the connection is established, that's it. The server fires out all this data and has absolutely no idea whether or not all or some or even none of it has reached its final destination. This is generally only used in situations when speed is of great importance. If the client is missing some packets and desperately needs them, a request can be sent for the missing packets to be resent.