In the previous chapter, we looked at the application layer and saw that it is the interface between the human network and the data network. In this chapter, we will look at the transport layer and discuss how it aids in communication. At the end of this chapter, you should be able to describe the transport layer as well as its functions.
The transport layer in the OSI model, gets user data from the application layer and prepares it for transport over divergent devices. It also prepares the data for transfer over the network layer. The transport layer is responsible for the delivery of the application data from the source to the destination. In this layer, the PDU in use is the segment.
Purpose of transport layer
The transport layer is responsible for segmentation and control of the various communication streams, it is also responsible for assembly of the communication at the recipients end. The main functions defined at the OSI transport layer include:
- Tracking of communication between the upper (application layer) and lower (network layer) from the source to the destination. This means that it separates the different applications from the packets it receives from the network layer.
- Segmentation of application data from the sender. As mentioned earlier, the segment is the transport layer PDU.
- Reassembly of the various segments into the various applications at the recipients.
- Identification and differentiation of the different applications.
Segmentation is the splitting of the application data. If we use an analogy of sending a parcel, we can say it is like breaking up pieces of a big machine into small pieces which can then be sent easily as opposed to sending the whole machine. Reassembly would be the bringing together of the machine pieces together. This is necessary since most networks limit the amount of data that can be sent as a single PDU.
Conversation Multiplexing – you may have noticed that when using a network, such as the internet, you can be able to use many different applications simultaneously. For example, you may make a VOIP call while browsing a certain web page. This is made possible through multiplexing. Simply put, this is the interleaving of different communication streams over the same media so that many applications can be used concurrently. We will learn more on this in future chapters.
Transport layer protocols
In the TCP/IP protocol suite, the two main protocols are the TCP (Transmission Control Protocol) and the (UDP) User Datagram Protocol. Within these protocols there are various other protocols that are controlled by them. These protocols manage the different applications that communicate over the network. They differ in several ways as described below.
User Datagram Protocol (UDP)
UDP is used when the communication stream does not depend fully on the connection. This means that one end can be connected to the network while the other side is temporarily down. Communication does not have to be in on stream for it to work. This is unreliable transport. Some of the applications that are implemented using UDP include; DNS – Domain Name System which is how devices resolve ip addresses to names, Voice Over IP (VOIP) which is where calls can be made over a network and also streaming video
Transmission Control Protocol (TCP)
For TCP to work, the connection has to be established. This means that both ends of the communication; the sender and recipient must be online for it to work. This means that it uses reliable transport. Some of the applications that are implemented using TCP include; HTTP and HTTPS for websites, E-mail using SMTP and POP, and file transfers using FTP.
Consider the following scenario, a user is using his PC to send an email, at the same time he is browsing the web and listening to music online. How does the network infrastructure determine the appropriate destination for each of this data streams.
The various protocols implemented in TCP and UDP are used to identify and keep track of the different applications. Both these protocols have a header that identifies each communication stream using a different port number. For example, John wants to send an email to Mary and send a file to Luke, in this instance, the message sent by John may be identified as email:Mary and FTP:Luke. This would make sure that the recipient knows the application to use for the message that was sent. When receiving replies, the messages may be marked as Email:John and FTP:john. In the table below, the various ports for the different protocols in TCP and UDP are shown.
NOTE: you are not expected to memorize these port numbers, however you are expected to know some of the common ones because they will be used in other topics.