LAYER NUMBER 4 – THE TRANSPORT LAYER
CHOP UP AND ADD TO DATA STREAM
"Allows end stations to assemble and disassemble multiple upper-layer segments into the same data stream using port numbers"
This must be the busiest layer of them all. The upper three layers are usually lumped together and referred to vaguely as the "upper application layers." Because most people who study the OSI model are networking professionals, they are more interested in the lower four layers, sometimes referred to collectively as the "data flow" layers. The Transport Layer is the first of the data flow layers. If you can think of the upper layers as the place where the data is created, the transport layer is where the real processing work begins.
Chop Up and Label
First the Transport Layer has to chop up all the data from the upper layers into nice-sized chunks that, later on at the data link layer, will fit into the containers called frames. These chunks of data are called protocol data units (PDUs).
Now you know that as soon as you divide up anything for transport, you have to label it so it can be properly reassembled on the other end. The transport layer is no different. Each PDU is marked so that the receiving end will know which application to send it to. In other e-books when we discuss TCP/IP, you will see how these labels are called "port numbers". Do not confuse these with the physical ports you see on a switch or hub. This is a virtual concept, existing somewhere in the internal logical processes of the computer.
Why is it important to label the PDUs? Because once they are labelled, you can now arrange all data from the upper layers, regardless of what application sent it, into a single data stream. For example all data from the e-mail process is labelled with port number 25 and all data from the web page process is labelled with port number 80. This also ensures that transport layer of the receiving computer passes on the data to the correct upper layer process.
Also, to ensure that these chopped up chunks of data are reassembled properly at the receiving end, each PDU is given a sequence number.
What do you call a PDU with a header?
Sequence numbers, port numbers and any other information added to a PDU can be thought of as control information, because it will be read by the transport layer of the receiving computer, which will use this information to properly reconstruct the data before forwarding to the upper layers. Control information that is added to the beginning of a PDU is called a header (a trailer is control information added to the end of a PDU rather than the beginning). A PDU with a transport layer header is called a segment.
The transport layer can also handle two very important jobs – reliable data transfer and flow control...
Acknowledge any data receive (or wait for an acknowledgement for any data sent)
Reliable data transfer simply means that a sending computer waits for an acknowledgement of any data sent before it sends on any more data. For this reason reliable data transfer is also referred to as "acknowledged" data transfer.
Any data that is not acknowledged within a certain time limit is retransmitted.
Control the flow
Flow control is how a very slow computer can tell a fast, 1GHz superduper computer, "Slow down, you are sending data too fast for me to process, my memory is full, my processors cannot cope and I’m dropping packets! Slow down please."
The transport layer therefore:
- Chops and labels data from upper layers so they can be put into a single data stream
- Ensures reliable data transport through:
- Congestion control
- Provides mechanisms for flow control
And remember, at the transport layer, PDUs are referred to as segments.
Click here to continue to the Network Layer