UDP

UDP (User Datagram Protocol) is an alternative communications protocol to Transmission Control Protocol (TCP) used primarily for establishing low-latency and loss-tolerating connections between applications on the internet.

How does the User Datagram Protocol (UDP) improve streaming?

UDP is a transport protocol, meaning it's used for moving packets of data across networks. UDP is used with the Internet Protocol (IP), and together they are called UDP/IP. Unlike TCP, UDP does not send messages back and forth to open a connection before transmitting data, and it does not ensure that all data packets arrive and are in order. As a result, transmitting data does not take as long as it does via TCP, and though some packets are lost along the way, there are so many data packets involved in keeping a stream going that the user shouldn't notice the lost ones.

Much of the Internet uses TCP, or the Transmission Control Protocol. This transport protocol involves a careful back-and-forth acknowledgement in order to open a connection. Once the connection is open and the two communicating devices are sending packets back and forth, TCP ensures that the transmission is reliable, that all packets arrive in order.

For streaming, speed is far more important than reliability. For instance, if someone is watching an episode of a TV show online, not every pixel has to be present for every frame of the episode. The user would prefer to have the episode play at normal speed than to sit and wait for every bit of data to be delivered. Therefore, a few lost data packets is not a huge concern, and this is why streaming uses UDP.

If TCP is like a package delivery service that requires the recipient to sign for the package, then UDP is like a delivery service that leaves packages on the front porch without knocking on the door to get a signature. The TCP delivery service loses fewer packages, but the UDP delivery service is faster, because packages can get dropped off even if no one's home to sign for them.