Transport Layer
Transport Layer
The services provided by the transport layer protocols can be divided into five categories:
• End-to-end delivery
• Addressing
• Reliable delivery
• Flow control
• Multiplexing
End-to-end delivery:
The transport layer transmits the entire message to the destination. Therefore, it ensures the end-to-
end delivery of an entire message from a source to the destination.
Reliable delivery:
The transport layer provides reliability services by retransmitting the lost and damaged packets.
• Error control
• Sequence control
• Loss control
• Duplication control
Error Control
• The primary role of reliability is Error Control. In reality, no transmission will be 100 percent
error-free delivery. Therefore, transport layer protocols are designed to provide error-free
transmission.
• The data link layer also provides the error handling mechanism, but it ensures only node-to-
node error-free delivery. However, node-to-node reliability does not ensure the end-to-end
reliability.
• The data link layer checks for the error between each network. If an error is introduced
inside one of the routers, then this error will not be caught by the data link layer. It only
detects those errors that have been introduced between the beginning and end of the link.
Therefore, the transport layer performs the checking for the errors end-to-end to ensure that
the packet has arrived correctly.
Sequence Control
The second aspect of the reliability is sequence control which is implemented at the transport layer.
On the sending end, the transport layer is responsible for ensuring that the packets received from
the upper layers can be used by the lower layers. On the receiving end, it ensures that the various
segments of a transmission can be correctly reassembled.
Loss Control
Loss Control is a third aspect of reliability. The transport layer ensures that all the fragments of a
transmission arrive at the destination, not some of them. On the sending end, all the fragments of
transmission are given sequence numbers by a transport layer. These sequence numbers allow the
receiver?s transport layer to identify the missing segment.
Duplication Control
Duplication Control is the fourth aspect of reliability. The transport layer guarantees that no duplicate
data arrive at the destination. Sequence numbers are used to identify the lost packets; similarly, it
allows the receiver to identify and discard duplicate segments.
Flow Control
Flow control is used to prevent the sender from overwhelming the receiver. If the receiver is
overloaded with too much data, then the receiver discards the packets and asking for the
retransmission of packets. This increases network congestion and thus, reducing the system
performance. The transport layer is responsible for flow control. It uses the sliding window protocol
that makes the data transmission more efficient as well as it controls the flow of data so that the
receiver does not become overwhelmed. Sliding window protocol is byte oriented rather than frame
oriented.
Session Layer in OSI model
The session layer is Layer 5 layer from the bottom in the OSI model. The job of the session layer is to
control and maintain connections between systems to share data. It establishes, maintains, and ends
sessions across all channels. In case of a network error, it checks the authenticity and provides
recovery options for active sessions. It manages sessions and synchronizes data flow.
Session Establishment: The session layer establishes connections between devices which is known as
sessions. The session which is created allows users to share data, remote access, and file
management. When the session is released, the transport connection is mapped. The ways in which
transport connection maps are one-to-many, one-to-one, and many-to-one.
Data Transfer: It is the very basic function of the session layer, which handles the exchange of data
between systems in a full-duplex or half-duplex mode of transmission. The session layer allows only
one user to transmit data in half-duplex as well as exchange data in full-duplex mode.
Dialog Management: The session layer keeps log data on which connections are established to
transmit and receive data, which is called dialog management. It is accountable for establishing,
synchronizing, preserving, and ending the conversation between the sender and the receiver. It uses
a token mechanism in which the user sharing the data is given a token in case of half duplex mode
and, after the exchange, transfers it to another device. The token method maintains the efficiency of
the connection.
Synchronization: The session maintains proper connectivity between systems, and if any error
occurs, then it provides a recovery option which is called a known state. The session layer adds
synchronization bits to the message to use the known state in the event of an error. These bits can be
used as checkpoints. It adds synchronization points or checkpoints to the data stream for longer
communication. It ensures that the data streams are successfully received and acknowledged up to
the checkpoints. In case of any failure, only the stream needs to be retransmitted after the
checkpoints.
Authorization: It grants privileges after authentication of the user. Authorization means providing
access to the data that is authorized to the specific user.
Application Layer
The application layer in the OSI model is the closest layer to the end user which means that the
application layer and end user can interact directly with the software application. The application
layer programs are based on client and servers.
Determining resource availability: The application layer determines whether sufficient network
resources are available for the requested communication.
Synchronizing communication: All the communications occur between the applications requires
cooperation which is managed by an application layer.
Network Virtual terminal: An application layer allows a user to log on to a remote host. To do so, the
application creates a software emulation of a terminal at the remote host. The user's computer talks
to the software terminal, which in turn, talks to the host. The remote host thinks that it is
communicating with one of its own terminals, so it allows the user to log on.
File Transfer, Access, and Management (FTAM): An application allows a user to access files in a
remote computer, to retrieve files from a computer and to manage files in a remote computer. FTAM
defines a hierarchical virtual file in terms of file structure, file attributes and the kind of operations
performed on the files and their attributes.
Addressing: To obtain communication between client and server, there is a need for addressing.
When a client made a request to the server, the request contains the server address and its own
address. The server response to the client request, the request contains the destination address, i.e.,
client address. To achieve this kind of addressing, DNS is used.
Directory Services: An application contains a distributed database that provides access for global
information about various objects and services.