By definition, protocol means rules or set of guidelines. In the dictionary of networks or the internet, protocols mean the set of rules or guidelines used for communication or transfer of data between the two devices in a network.
Data in a network travels in the form of packets. Each packet contains the data that is also known as payload and a header that is attached to payload. This header contains information related to protocols. Protocols are designed to convey the payload in a concise way.
Transport layer protocols
Transport layer provides effective communication options to the application process running on a different host directly.
A transports layer protocol provides for logical communication between application processes running on different hosts. The transport layer is also known as Mux / Demux because it merges the data coming from different ports to the destination and vice versa.
Traffic roads resembles the physical link. The advantage of lanes is that we are getting different types of traffic speed at the same time. Virtual circuits have the similar concept as they provide logical partitioning of the large bandwidth into smaller chunks. The figure on your right will give you a clear picture of virtual circuits.
Agenda & Working of Transport Layer
Let us look at this example that will give you a clear picture of the working of transport layer protocols:
“Suppose a user opens different pages of the website cnn.com in a browser. When we type cnn.com, our website name will be resolved using DNS.
Here you need to understand a concept that is how transport layer is going to identify between the different pages of cnn.com, that is, sport, entertainment, business, etc. being opened in different tabs of a browser. At this point, we have one application but three different processes running simultaneously as shown in the figure below:
At transport layer, we have to do demarcation of processes and therefore it acts as a Mux (multiplexer) and Demux (demultiplexer).
This process is analogous to a post office. All letters from one area will go to the same post office. But at the post office letters are separated based upon their addresses or codes number. Similarly, the TCP/IP stack assigns different numbers to different processes and in this way they can be separated.
Technically, transport layer opens different sockets for each process. The concept of sockets is very simple and easy, which will be explained in the later post. Just for understanding, socket is the combination of IP and ports. In above scenario, CNN.com has a particular IP address, but different processes will be assigned with different port numbers in order to communicate properly with different pages (entertainment, sports, etc.)
Transmission Control Protocol (TCP)
Application process uses the logical communication provided by the transport layer to send the message without any worry of the physical layer or its infrastructure to carry data. The transport layer protocols are implemented in the end systems and not in the router.
Following are some important concepts which will help you out in better understanding the working of transport layer protocols:
Relation between transport and application layer
As we know, that process is the running instance of a program. The application layer sends chunks of data to transport layer. Transport layer stores the data into its buffer and establishes the connection with the transport layer of the receiver node. Once the connection is established between the transport layers of the two host, then the data begins to be transferred.
Reliable communication at layer 4
The transport layer maintains reliability of the data that is being transmitted from a sender to receiver. It makes sure that the data is properly been received by the receiver host.
Controlling the transmission rate of transport layer entities in order to avoid congestion or recover from congestion within the network.
Problem: How to avoid congestion?
Example: All students were browsing in the lab, if all students use torrent at the same time, the bandwidth dynamics will change drastically, and network will be congested.
Congestion can be avoided by implementing different kinds of algorithms such as Selective repeat algorithm at transport layer. We will study this in later chapters in detail.
To read further Click here