Short Bytes: Transport layer is one of the most important layers in the OSI model because it defines the connections, error control, flow control, congestion avoidance and many more services which are highly critical for the internet world. Let’s take a deeper look into the transport layer now.
As we talked earlier in the article OSI Model its 7 layers, the transport layer is responsible for the most of the functionalities out of all the OSI layers. So, let’s go further and take a look at what all basic things transport layer does and what all protocols are run at the transport layer.
Transport layer functionalities:
In the internet world, the data packets are delivered in two fashions:
- Connection-oriented delivery (TCP) and,
- Connectionless delivery (UDP)
Let’s see these connection-oriented communications this way:
If you are driving from town A to town B and there is a lot of traffic then in that scenario, you would decide two things:
- Either stick on to the same route or,
- Change your route as per the traffic
And, that’s what the functionalities of two type of connections at the transport layer do namely, TCP and UDP. TCP, before delivering a packet, decides the entire path before hand and the data packets are delivered via the same path for the entire connection.
Whereas, UDP just looks around and without a predefined path and delivers the packet. However, the difference between UDP and TCP is:
- UDP is faster to TCP
- But UDP provides no feedback if the data was really delivered or not whereas TCP does provide the feedback.
- UDP is used in online streaming of videos and audios and other network protocols whereas TCP is used in the online services where the delivery of the data is a must.
Same order of delivery
Let’s understand same order delivery this way.
One day, we decide to make chicken Biriyani. We buy everything, like chicken, spices, rice, oil but we forget salt, insignificant yet very important ingredient.
So, would you be able to prepare Biriyani without the salt? I don’t think so. Because you will have to wait for salt to arrive. And that’s what the transport layer takes care of.
It makes sure that all the packets, chunk by chunk, arrive in order to your computer. Imagine, you just get the footer of the mail without any Body. How would that be like? That would look really bad. Right? In computer networks term, this will also be called as head of line blocking.
Transport layer makes sure of reliability. What would happen if some of the data packets do not arrive due to network congestion? In those situations, the transport layer uses Automatic repeat request (ARQ) schemes to retransmit the lost or corrupted data.
As previously discussed in the data link layer, the rate of data transmission between two nodes must sometimes be managed to prevent a fast sender from transmitting more data than supported by the receiving data buffer, causing a buffer overrun. This can also be used to improve efficiency by reducing buffer underrun.
Congestion avoidance and control
Now a computer has all the data and how should it send all? All at once? Part by part? Then in what proportion? Well, sometimes the transport layer in the case of high congestion, starts with a slow start. That means it sends one packet, then two, then four, then eight and it keeps on increasing data packets until it finds a threshold at which a congestion is experienced.
You might not be aware of Natting but think Natting as this way:
There was a pool of IP addresses and over the time, all the IP addresses were taken by some or others. But computers and network devices kept on growing. So how to address that problem?
In that situation, private IP addresses came into existence which is more like privately naming your computers inside an area and when the data packets go of the area, it will represent the area in terms of a public IP address.
Also, read our complete coverage on the Computer Networks.