Over IP, two main Transport layer protocols are used: the User Datagram Protocol (UDP) and the Transport Control Protocol (TCP). UDP resembles little of a traditional Transport layer functionality, as it just extends the best-effort, or datagram, service of IP, providing a lightweight unreliable way of transmitting non-critical or bulk information. No transport layer action is taken for lost UDP packets.
On the other hand, TCP enhances the IP datagram service, providing an end-to-end connection-oriented service to deliver reliably streams of information to the destination. Lost TCP packets are all acknowledged and retransmitted, providing a lossless service to the Application layer functions. Furthermore, TCP provides flow control to make sure a fast sender cannot swamp a slow receiver with more messages than it can handle [Tan96].
The TCP network service model is working finely for traditional information exchange between computers, such as file transfer. However, in real-time video transmission, the receiver is a human and not a computer. Humans cannot tolerate long pauses during multimedia playback for error recovering through retransmission, or excessive delays due to congestion. They do tolerate temporary quality degradation as a result of packet loss, as long as the overall quality is kept in acceptable levels.
This has led to the use of UDP in early streaming multimedia applications, but its functionality was inadequate to provide any QoS guarantees, and its packets are very prone to loss. Therefore, the IETF has standardised supplementary architectures for the delivery of multimedia over the Internet, which are discussed in the following paragraph.