 # 4. Transport Layer
The Transport Layer is responsible for the end-to-end communication between 2 devices. 

The Transport layer on the sending device takes data from the Session Layer and breaks them up in chunks called segments.

On the receiving device the Transport Layer reassembles the segments of data that the Session Layer can consume.

While sending data via a network data can get corrupted, the Transport layer also ensures the data being received is complete and correct, and requesting a retransmission if its not.

The Transport Layer also controls the flow of outgoing data so that the receiver is not overwhelmed with data. (fast to slower connections for example)
