81 [4] but later updated with congestion control mechanisms in the 1990s [9]. TCP mechanisms are continuously being updated [10] simply because there is no single best congestion control mechanism for all times. UDP/IP is typically used for real-time data (e.g. VoIP, IPTV) and certain control traffic (e.g. the domain name system (DNS) uses UDP/IP). In practice, UDP adds only source and destination port numbers (Figure 2.2), which are being used by sockets opened on both ends of the communication connection. The port numbers identify the application using the given transport protocol layer (UDP in this case). All well-known protocol numbers are defined by the IANA, the non-governmental body governing the Internet on a global scale. So, UDP has no particular direct function regarding QoS. However, thanks to its simplicity (no guarantees for datagram delivery end-to-end), UDP provides the lowest end-to-end delay (because there are no retransmissions of lost packets, which requires additional time and hence adds delay), which is useful for some services that are delay sensitive (voice is the most typical example of a service that uses UDP/IP). Yet since there are no guarantees or feedback control (from the receiving host to the sending host), typically the control is implemented into the application (e.g. DNS) or another protocol used over UDP, such as RTP (real-time transport protocol) [11]. RTP provides synchronization of multiple media streams (e.g. video and accompanied audio streams) as well as control messages exchange in both directions between sender and recipient by using its counterpart protocol called RTCP (real-time transport control protocol). For example, voice communication over IP uses voice application over RTP/UDP/IP IP packet IP header UDP header UDP payload Source port Destination port Length Checksum 32 bits (4 bytes) Figure 2.2 User datagram protocol (UDP). 2 Internet QoS protocol stack, although it is possible for RTP-like functionalities to be implemented in a certain manner in the VoIP applic