. Thus, there is no reliability mechanism. Therefore, UDP is usually used for transporting application data, where occasional loss of packets is not fatal, and the transporting of the packets as fast as possible is more important than reliability. These are applications where it is better to forget the packet rather than transport it late. These applications include for instance Voice over IP (VoIP). If an application needs reliable packet delivery, it should either implement the reliability mechanism itself, or use TCP. 1.5.2 Transmission Control Protocol TCP is one of the most important protocols in the IP protocol family. As a matter of fact, the IP protocol family is very often called TCP/IP. TCP provides reliable, ordered transport, with service and connection multiplexing, and with congestion control. Most Internet applications require reliable transport. Therefore, for example, file transfers, video steaming, and especially web traffic are transported over TCP. Hence, most applications use TCP for communicating over the Internet. As in UDP, the application and service multiplexing is achieved by source and desti- nation port numbers. The reliability is achieved by the receiving host acknowledging the packets it receives, and through this the sending host notices which packets have gone missing. These packets are then retransmitted. The TCP congestion control algorithms monitor this packet loss. TCP actually assumes packet loss to be always caused by con- gestion, and TCP will drop its transmission rate to adjust to this perceived congestion. Due to this behavior, TCP has received a bad reputation as an unfriendly protocol for wireless networks, because in wireless networks packet loss can be caused for many reasons other than just congestion. However, in recent years the new wireless access technologies are more TCP friendly, and new TCP extensions have taken wireless networks much more into account. Hence, TCP's bad reputation is mostly outdated. Deploying IPv6 in 3GPP Networks TCP is relatively complex. 