Transport layer is the third layer in the TCP/IP reference model.
Description
Responsible for host-to-host message delivery along with flow control, congestion control and error recovery.
The core protocols of transport layer are Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).
Either one of them protocol is selected, depending upon the type of communication application software needed.
In TCP packets are called as segments, while in UDP it is called as datagrams.
TCP - is a connection-oriented, reliable and stateful protocol.
Connection-oriented - Establishes a logical connection between sender and receiver before sending any data packets.
Reliable - Receiver sends acknowledgement of received packet to the sender.
Stateful - Both sender and receiver keeps track of the state of communication session.
Responsible for establishment and termination of the TCP connection, ordering of sequence number and acknowledgement number, flow control and error recovery of lost and damaged packets.
Has high overhead.
UDP - is a connectionless, unreliable and stateless datagram protocol.
Connectionless - Establishing a connection between sender and receiver is not required.
Unreliable - No acknowledgement of received packet.
Stateless - Doesn't keep track of the state, works on timeout criteria.
Used in application like streaming media (video, audio), where reliability, error recovery and flow control is not important.
Has less overhead.
New protocols Datagram Congestion Control Protocol (DCCP), Stream Control Transmission Protocol (SCTP) etc are used.