Transport Layer
The Transport layer performs several functions, the most notable being packet delivery reliability and flow control.
TCP provides reliable, connection-oriented communications between two hosts. UDP provides connectionless, datagram services between two hosts.
TCP requires more network overhead than UDP because data is acknowledged as it is received.
UDP is faster, but less reliable, because the recipient does not acknowledge data as it is received.
UDP leaves communication reliability to the Application layer.