Data segments in the transport layer are transported in a reliable, transparent manner. As a result, it provides end-to-end error checking and recovery, multiplexing, virtual circuit management, and flow control. Each message is assigned a sequence number at the time of transmission. Upon receipt, the packets are reassembled, errors are checked, and acknowledgement is provided. It ensures that the transmitting device does not send more data than the receiving device can handle. Continue reading