Transport Layer in OSI Model
The transport layer, or layer 4 of the OSI model, controls network traffic between
hosts and end systems to guarantee full data flows. Data volume, destination, and rate
are all controlled by transport-layer protocols including TCP, UDP, DCCP, and SCTP.
The transport layer is positioned between the network and session layers in the OSI
paradigm. The data packets must be taken and sent to the appropriate machine by the
network layer. After that, the transport layer receives the packets, sorts them, and
looks for faults. Subsequently, it directs them to the session layer of the appropriate
computer program. Now, the properly structured packets are used by the session layer
to hold the data for the application.
Functions of Transport Layer
The Transport Layer is responsible for end-to-end communication of data packets. It
provides a number of important functions that are responsible for reliable, efficient,
and organized data transfer between host systems in a networked environment.
The primary functions of the Transport Layer are:
• To enable efficient network transmission, the Transport Layer splits the
total amount of data it gets from the applications running at the top layers
into smaller units known as segments. The Transport Layer puts these bits
back together into the original data stream at the other end.
• In situations when organised data transfer is required, the Transport Layer
creates a connection between the source and the destination. In order to
create the proper parameters and guarantee that both systems are prepared
to communicate data, a handshake protocol is established. When the data
transfer is complete, the Transport Layer closes the connection.
• The transport layer also assures dependable data transmission. Receiving
acknowledgments, or ACK bits, is how this is accomplished. While waiting
for the recipient to acknowledge the parts it sent, the sender keeps an eye
on them. Any damaged segments are retransmitted by the sender if they
receive an acknowledgment.
• Flow regulation is one of the Transport Layer’s most crucial roles. In order
to prevent data overload, it regulates the data transfer rate. This is done by
utilising protocols like the sliding window protocol, which is carried out by
the receiver telling the sender of the maximum amount of data it may
receive by sending back a window.
• Both error detection and repair are handled by the transport layer.
Checksums are one of these techniques for error detection. By computing
and validating checksums, it can ascertain whether data was tampered with
during transmission. The Transport Layer may request retransmission if it
finds anything.
Characteristics of Transport Layer
1. Service-point addressing
As a result of computers running many programs at once, data is transmitted from one
source to the destination, connecting not only one computer to another, but also
different processes. The header with the address known as a service-point address or
port address is added by the transport layer. The transport layer is in charge of sending
the message to the appropriate process, whereas the network layer is in charge of
sending data from one computer to another.
2. Segmentation and reassembly
The message is split up into numerous segments by the transport layer when it receives
it from the top layer. Each segment is given a unique sequence number. The transport
layer reassembles the message based on sequence numbers once it has reached its
destination.
3. Connection control
Two services are offered by the transport layer. Both connectionless and connection-
oriented services are available. Every segment is handled as a separate packet by a
connectionless service, and they all take distinct paths to get there. Every packet in a
connection-oriented service follows the same path.
4. Flow control
Although it is carried out end-to-end rather than via a single link, the transport layer
is likewise in charge of it. It is very essential because it is possible for sender to
transmit data or information at very fast rate and hence receiver can receive this
information and process it
5. Error control
This function is likewise carried out by the transport layer. Error control is not carried
out across the single link, but rather end-to-end. Error Control ensures that the data
packet is received to the destination without any error.
Working of Transport Layer
Communication between end systems is dependable and effective thanks to the
Transport Layer. Apart from regulating flow and accommodating numerous
applications concurrently, it guarantees data delivery in a manner that guarantees
accuracy and minimises mistakes. It accomplishes this by utilising a collection of
methods and protocols that provide data transport.
• The fourth layer down is the transport layer.
• The primary function of the transport layer is to give application processes
operating on several hosts direct access to communication services.
• Logical communication between application processes operating on
separate hosts is facilitated by the transport layer. Application processes use
the logical communication offered by the transport layer to deliver
messages to one other even when they are running on different hosts and
are not physically connected.
• The network routers do not implement the transport layer protocols; only
the end systems do.
• For instance, the network layer receives services from TCP and UDP, two
transport layer protocols, which offer distinct functionalities.
• Protocols at the transport layer offer multiplexing and demultiplexing
capabilities. In addition, it offers other services including bandwidth
assurances, latency guarantees, and dependable data transport.
• Every application at the application layer is capable of sending a message
via either TCP or UDP. Either of these two protocols can be used by the
application to interact. The internet protocol on the internet layer will then
be communicated with by both TCP and UDP. The transport layer is
readable and writeable by the applications.
Transport Layer Protocols
Transport Layer Protocol uses different protocol for the better communication
between two ends uses of protocol may differ from specifications. Below mention are
some protocols used in Transport Layer
1. Transmission Control Protocol(TCP)
• TCP is connection-oriented Protocol.
• TCP is reliable protocol.
• As TCP is connection-oriented protocol, so first the connection is
established between two ends and then data is transferred and then the
connection is terminated after all data being sent.
2. User Datagram Protocol (UDP)
• UDP is not reliable protocol
• The protocol UDP is connectionless.
• When speed and size are more important than security and dependability,
this kind of protocol is employed.
• The data from the higher layer is supplemented with transport-level
addresses, checksum error control, and length information by UDP, an end-
to-end transport level protocol.
• A user datagram is the packet that the UDP protocol generates.
3. Stream Control Transmission Protocol (SCTP)
• An IP Transport Layer protocol is called Stream Control Transmission
Protocol (SCTP).
• Many Internet applications use SCTP to perform transport layer duties,
similar to User Datagram Protocol (UDP) and Transmission Control
Protocol (TCP).
• On top of a connectionless packet network like IP, SCTP is a dependable
transport protocol that facilitates data transfer over the network in scenarios
involving one or more IP addresses.
Difference Between TCP and UDP at Transport Layer
TCP UDP
TCP is a connection-oriented protocol UDP is the connection-less protocol
TCP is reliable. UDP is not reliable.
TCP supports error-checking UDP has only the basic error-checking
mechanisms. mechanism using checksums.
TCP UDP
An acknowledgment segment is present. No acknowledgment segment.
UDP is faster, simpler, and more efficient
TCP is slower than UDP
than TCP.
Retransmission of lost packets is possible There is no retransmission of lost packets
in TCP, but not in UDP. in the User Datagram Protocol (UDP)
TCP has a (20-60) bytes variable length
The header length is fixed of 8 bytes.
header.
Congestion Control in Computer Networks
A state occurring in network layer when the message traffic is so heavy that it slows
down network response time.
Effects of Congestion
• As delay increases, performance decreases.
• If delay increases, retransmission occurs, making situation worse.
Congestion control algorithms
• Congestion Control is a mechanism that controls the entry of data packets
into the network, enabling a better use of a shared network infrastructure
and avoiding congestive collapse.
• Congestive-Avoidance Algorithms (CAA) are implemented at the TCP
layer as the mechanism to avoid congestive collapse in a network.
• There are two congestion control algorithm which are as follows:
• Leaky Bucket Algorithm
• The leaky bucket algorithm discovers its use in the context of network
traffic shaping or rate-limiting.
• A leaky bucket execution and a token bucket execution are predominantly
used for traffic shaping algorithms.
• This algorithm is used to control the rate at which traffic is sent to the
network and shape the burst traffic to a steady traffic stream.
• The disadvantages compared with the leaky-bucket algorithm are the
inefficient use of available network resources.
• The large area of network resources such as bandwidth is not being used
effectively.
Let us consider an example to understand
Imagine a bucket with a small hole in the bottom. No matter at what rate water enters
the bucket, the outflow is at constant [Link] the bucket is full with water additional
water entering spills over the sides and is lost.
Similarly, each network interface contains a leaky bucket and the following steps are
involved in leaky bucket algorithm:
1. When host wants to send packet, packet is thrown into the bucket.
2. The bucket leaks at a constant rate, meaning the network interface transmits
packets at a constant rate.
3. Bursty traffic is converted to a uniform traffic by the leaky bucket.
4. In practice the bucket is a finite queue that outputs at a finite rate.
• Token bucket Algorithm
• The leaky bucket algorithm has a rigid output design at an average rate
independent of the bursty traffic.
• In some applications, when large bursts arrive, the output is allowed to
speed up. This calls for a more flexible algorithm, preferably one that never
loses information. Therefore, a token bucket algorithm finds its uses in
network traffic shaping or rate-limiting.
• It is a control algorithm that indicates when traffic should be sent. This order
comes based on the display of tokens in the bucket.
• The bucket contains tokens. Each of the tokens defines a packet of
predetermined size. Tokens in the bucket are deleted for the ability to share
a packet.
• When tokens are shown, a flow to transmit traffic appears in the display of
tokens.
• No token means no flow sends its packets. Hence, a flow transfers traffic
up to its peak burst rate in good tokens in the bucket.
Quality of Service (QOS)
Quality-of-Service (QoS) refers to traffic control mechanisms that seek to either
differentiate performance based on application or network-operator requirements or
provide predictable or guaranteed performance to applications, sessions, or traffic
aggregates. Basic phenomenon for QoS means in terms of packet delay and losses of
various kinds.
Need for QoS –
• Video and audio conferencing require bounded delay and loss rate.
• Video and audio streaming requires bounded packet loss rate, it may not be
so sensitive to delay.
• Time-critical applications (real-time control) in which bounded delay is
considered to be an important factor.
• Valuable applications should be provided better services than less valuable
applications.
QoS Specification –
QoS requirements can be specified as:
1. Delay
2. Delay Variation(Jitter)
3. Throughput
4. Error Rate
There are two types of QoS Solutions:
1. Stateless Solutions –
Routers maintain no fine-grained state about traffic, one positive factor of
it is that it is scalable and robust. But it has weak services as there is no
guarantee about the kind of delay or performance in a particular application
which we have to encounter.
2. Stateful Solutions –
Routers maintain a per-flow state as flow is very important in providing the
Quality-of-Service i.e. providing powerful services such as guaranteed
services and high resource utilization, providing protection, and is much
less scalable and robust.
Integrated Services(IntServ) –
1. An architecture for providing QoS guarantees in IP networks for individual
application sessions.
2. Relies on resource reservation, and routers need to maintain state
information of allocated resources and respond to new call setup requests.
3. Network decides whether to admit or deny a new call setup request.
IntServ QoS Components –
• Resource reservation: call setup signaling, traffic, QoS declaration, per-
element admission control.
• QoS-sensitive scheduling e.g WFQ queue discipline.
• QoS-sensitive routing algorithm(QSPF)
• QoS-sensitive packet discard strategy.
RSVP-Internet Signaling –
It creates and maintains distributed reservation state, initiated by the receiver and
scales for multicast, which needs to be refreshed otherwise reservation times out as it
is in soft state. Latest paths were discovered through “PATH” messages (forward
direction) and used by RESV messages (reserve direction).
Call Admission –
• Session must first declare it’s QoS requirement and characterize the traffic
it will send through the network.
• R-specification: defines the QoS being requested, i.e. what kind of bound
we want on the delay, what kind of packet loss is acceptable, etc.
• T-specification: defines the traffic characteristics like bustiness in the
traffic.
• A signaling protocol is needed to carry the R-spec and T-spec to the routers
where reservation is required.
• Routers will admit calls based on their R-spec, T-spec and based on the
current resource allocated at the routers to other calls.
Diff-Serv –
Differentiated Service is a stateful solution in which each flow doesn’t mean a
different state. It provides reduced state services i.e. maintaining state only for larger
granular flows rather than end-to-end flows tries to achieve the best of both worlds.
Intended to address the following difficulties with IntServ and RSVP:
1. Flexible Service Models:
IntServ has only two classes, want to provide more qualitative service
classes: want to provide ‘relative’ service distinction.
2. Simpler signaling:
Many applications and users may only want to specify a more qualitative
notion of service.
Streaming Live Multimedia –
• Examples: Internet radio talk show, Live sporting event.
• Streaming: playback buffer, playback buffer can lag tens of seconds after
and still have timing constraint.
• Interactivity: fast forward is impossible, but rewind and pause is possible.
Application Layer in OSI Model
The Application Layer is topmost layer in the Open System Interconnection (OSI)
model. This layer provides several ways for manipulating the data (information) which
actually enables any type of user to access network with ease. This layer also makes
a request to its bottom layer, which is presentation layer for receiving various types of
information from it. The Application Layer interface directly interacts with
application and provides common web application services. This layer is basically
highest level of open system, which provides services directly for application process.
Functions of Application Layer :
The Application Layer, as discussed above, being topmost layer in OSI model,
performs several kinds of functions which are requirement in any kind of application
or communication process.
Following are list of functions which are performed by Application Layer of OSI
Model –
Data from User <=> Application layer <=> Data from Presentation Layer
• Application Layer provides a facility by which users can forward several
emails and it also provides a storage facility.
• This layer allows users to access, retrieve and manage files in a remote
computer.
• It allows users to log on as a remote host.
• This layer provides access to global information about various services.
• This layer provides services which include: e-mail, transferring files,
distributing results to the user, directory services, network resources and so
on.
• It provides protocols that allow software to send and receive information
and present meaningful data to users.
• It handles issues such as network transparency, resource allocation and so
on.
• This layer serves as a window for users and application processes to access
network services.
• Application Layer is basically not a function, but it performs application
layer functions.
• The application layer is actually an abstraction layer that specifies the
shared protocols and interface methods used by hosts in a communication
network.
• Application Layer helps us to identify communication partners, and
synchronizing communication.
• This layer allows users to interact with other software applications.
• In this layer, data is in visual form, which makes users truly understand data
rather than remembering or visualize the data in the binary format (0’s or
1’s).
• This application layer basically interacts with Operating System (OS) and
thus further preserves the data in a suitable manner.
• This layer also receives and preserves data from it’s previous layer, which
is Presentation Layer (which carries in itself the syntax and semantics of the
information transmitted).
• The protocols which are used in this application layer depend upon what
information users wish to send or receive.
Application Layer Protocols: The application layer provides several protocols which
allow any software to easily send and receive information and present meaningful data
to its users.
The following are some of the protocols which are provided by the application layer.
• TELNET: Telnet stands for Telecommunications Network. This protocol
is used for managing files over the Internet. It allows the Telnet clients to
access the resources of Telnet server. Telnet uses port number 23.
• DNS: DNS stands for Domain Name System. The DNS service translates
the domain name (selected by user) into the corresponding IP address. For
example- If you choose the domain name as [Link], then DNS
must translate it as [Link] (random IP address written just for
understanding purposes). DNS protocol uses the port number 53.
• DHCP: DHCP stands for Dynamic Host Configuration Protocol. It
provides IP addresses to hosts. Whenever a host tries to register for an IP
address with the DHCP server, DHCP server provides lots of information
to the corresponding host. DHCP uses port numbers 67 and 68.
• FTP: FTP stands for File Transfer Protocol. This protocol helps to transfer
different files from one device to another. FTP promotes sharing of files via
remote computer devices with reliable, efficient data transfer. FTP uses port
number 20 for data access and port number 21 for data control.
• SMTP: SMTP stands for Simple Mail Transfer Protocol. It is used to
transfer electronic mail from one user to another user. SMTP is used by end
users to send emails with ease. SMTP uses port numbers 25 and 587.
• HTTP: HTTP stands for Hyper Text Transfer Protocol. It is the foundation
of the World Wide Web (WWW). HTTP works on the client server model.
This protocol is used for transmitting hypermedia documents like HTML.
This protocol was designed particularly for the communications between
the web browsers and web servers, but this protocol can also be used for
several other purposes. HTTP is a stateless protocol (network protocol in
which a client sends requests to server and server responses back as per the
given state), which means the server is not responsible for maintaining the
previous client’s requests. HTTP uses port number 80.
• NFS: NFS stands for Network File System. This protocol allows remote
hosts to mount files over a network and interact with those file systems as
though they are mounted locally. NFS uses the port number 2049.
• SNMP: SNMP stands for Simple Network Management Protocol. This
protocol gathers data by polling the devices from the network to the
management station at fixed or random intervals, requiring them to disclose
certain information. SNMP uses port numbers 161 (TCP) and 162 (UDP).
Domain Name System (DNS) in Application Layer
Domain Name System (DNS) is a hostname for IP address translation service. DNS
is a distributed database implemented in a hierarchy of name servers. It is an
application layer protocol for message exchange between clients and servers. It is
required for the functioning of the Internet.
What is the Need of DNS?
Every host is identified by the IP address but remembering numbers is very difficult
for people also the IP addresses are not static therefore a mapping is required to change
the domain name to the IP address. So DNS is used to convert the domain name of the
websites to their numerical IP address.
Types of Domain
There are various kinds of domain:
1. Generic domains: .com(commercial), .edu(educational), .mil(military),
.org(nonprofit organization), .net(similar to commercial) all these are
generic domains.
2. Country domain: .in (India) .us .uk
3. Inverse domain: if we want to know what is the domain name of the
website. Ip to domain name mapping. So DNS can provide both the
mapping for example to find the IP addresses of [Link] then we
have to type
Organization of Domain
It is very difficult to find out the IP address associated with a website because there
are millions of websites and with all those websites we should be able to generate the
IP address immediately, there should not be a lot of delays for that to happen
organization of the database is very important.
Root DNS Server
• DNS record: Domain name, IP address what is the validity? what is the
time to live? and all the information related to that domain name. These
records are stored in a tree-like structure.
• Namespace: Set of possible names, flat or hierarchical. The naming system
maintains a collection of bindings of names to values – given a name, a
resolution mechanism returns the corresponding value.
• Name server: It is an implementation of the resolution mechanism.
DNS = Name service in Internet – A zone is an administrative unit, and a domain is a subtree.
Remote Login
Remote Login is a process in which user can login into remote site i.e. computer and
use services that are available on the remote computer. With the help of remote login
a user is able to understand result of transferring and result of processing from the
remote computer to the local computer.
File Transfer Protocol (FTP)
File Transfer Protocol(FTP) is an application layer protocol that moves files between
local and remote file systems. It runs on top of TCP, like HTTP. To transfer a file, 2
TCP connections are used by FTP in parallel: control connection and data connection.
FTP is a standard communication protocol. There are various other protocols like
HTTP which are used to transfer files between computers, but they lack clarity and
focus as compared to FTP. Moreover, the systems involved in connection are
heterogeneous, i.e. they differ in operating systems, directories, structures, character
sets, etc the FTP shields the user from these differences and transfers data efficiently
and reliably. FTP can transfer ASCII, EBCDIC, or image files. The ASCII is the
default file share format, in this, each character is encoded by NVT ASCII. In ASCII
or EBCDIC the destination must be ready to accept files in this mode. The image file
format is the default format for transforming binary files.
Types of FTP
There are different ways through which a server and a client do a file transfer using
FTP. Some of them are mentioned below:
• Anonymous FTP: Anonymous FTP is enabled on some sites whose files
are available for public access. A user can access these files without having
any username or password. Instead, the username is set to anonymous, and
the password is to the guest by default. Here, user access is very limited.
For example, the user can be allowed to copy the files but not to navigate
through directories.
• Password Protected FTP: This type of FTP is similar to the previous one,
but the change in it is the use of username and password.
• FTP Secure (FTPS): It is also called as FTP Secure Sockets Layer (FTP
SSL). It is a more secure version of FTP data transfer. Whenever FTP
connection is established, Transport Layer Security (TLS) is enabled.
• FTP over Explicit SSL/TLS (FTPES): FTPES helps by upgrading FTP
Connection from port 21 to an encrypted connection.
• Secure FTP (SFTP): SFTP is not a FTP Protocol, but it is a subset of
Secure Shell Protocol, as it works on port 22.
World Wide Web (WWW)
The World Wide Web is abbreviated as WWW and is commonly known as the web.
The WWW was initiated by CERN (European library for Nuclear Research) in 1989.
WWW can be defined as the collection of different websites around the world,
containing different information shared via local servers(or computers).
History:
Features of WWW:
• HyperText Information System
• Cross-Platform
• Distributed
• Open Standards and Open Source
• Uses Web Browsers to provide a single interface for many services
• Dynamic, Interactive and Evolving.
• “Web 2.0”
HTTP(HyperText Transfer Protocol)
HTTP stands for HyperText Transfer Protocol. Tim Berner invents it. HyperText is
the type of text that is specially coded with the help of some standard coding language
called HyperText Markup Language (HTML). HTTP/2 is the new version of
HTTP. HTTP/3 is the latest version of HTTP, which is published in 2022.
The protocol used to transfer hypertext between two computers is known as
HyperText Transfer Protocol.
HTTP provides a standard between a web browser and a web server to establish
communication. It is a set of rules for transferring data from one computer to another.
Data such as text, images, and other multimedia files are shared on the World Wide
Web. Whenever a web user opens their web browser, the user indirectly uses HTTP.
It is an application protocol that is used for distributed, collaborative, hypermedia
information systems.
Working of HTTP
First of all, whenever we want to open any website then first open a web browser after
that we will type the URL of that website (e.g., [Link] ). This URL is
now sent to the Domain Name Server (DNS). Then DNS first check records for this
URL in their database, then DNS will return the IP address to the web browser
corresponding to this URL. Now the browser is able to send requests to the actual
server.
Introductory concepts on Network management
Network management is the procedure of administering, managing and working a data network
using a network management system. Current network management systems use software and
hardware to constantly collect and analyse data and push out configuration changes for increasing
performance, reliability, and security.
It involves configuring monitoring and possibly reconfiguring components in a network with the
goal of providing optimal performance, minimum downtime, proper security, accountability and
flexibility.
Features
There are various features of network management which are as follows −
Network automation
One defining feature of a modern network management system is network automation. This is the
procedure of automating the configuring, handling, testing, deploying, and operating of physical
and virtual devices inside a network. Network service availability increases when everyday
network tasks and functions are automated and repetitive processes are controlled and managed
automatically.
Network administration
Network administration encompasses tracking network resources, including switches, routers, and
servers. It also includes performance monitoring and software updates.
Network Operation
This contains smooth network functioning as created and intended, including close monitoring of
activities to quickly and effectively address and fix problems as they occur and preferably even
before users are aware of the problem.
Network assurance
Network assurance features are often included in modern network management systems. These
features help improve network performance, customer experience, and security. Assurance systems
help network analytics, application analytics, and policy analytics, as well as AI and ML, to achieve
full network assurance.
Network provisioning
Network provisioning involves network resource configuration for the purposes of supporting any
given service, like voice functions or accommodating additional users.
Network maintenance
Network maintenance covers upgrades and fixes to network resources. It also consists of proactive
and remediation activities executed by working with network administrators, such as replacing
network gear like routers and switches.
Network analytics
Network analytics is a software tool that compares incoming information against preprogrammed
operational models and makes functional decisions for improving network performance.
SNMP
SNMP stands for Simple Network Management Protocol. It is an Internet-standard protocol for
handling devices on IP networks. Devices that typically provide SNMP include routers, switches,
servers, workstations, printers, modem racks, and more. It is used mainly in the network
management framework to monitor network-attached computers for conditions requiring
regulatory attention.
It is a framework for managing devices on the Internet using the TCP-IP protocol suite. It supports
a set of fundamental operations for monitoring and maintaining the Internet.
SNMP Concept
SNMP facilitates the concept of manager and agent. A manager, generally a host, controls and
monitors a group of agents, usually routers. This is an application-level protocol in which some
manager stations control a group of agents. The protocol is designed to monitor different
manufacturer’s devices and installed on various physical networks at the application level.
Managers and Agents
A management station, known as a manager. It is a host that runs the SNMP user program. A
managed station was known as an agent. It is a router (or a host) that runs the SNMP server
program. Management is completed through simple interaction between a manager and an agent.
The agent keeps performance data in a database. The manager has created the values in the
database.
Components of SNMP
An SNMP-managed network includes three key components. These components are as follows −
• Managed Device − It is a network node that executes an SNMP interface that enables
unidirectional (read-only) or bidirectional access to node-specific information.
• Agent − An agent is a network-management software mechanism that consists of a
managed device. An agent has local knowledge of management data and translates that
information to or from an SNMP specific form.
• Network management system (NMS) − A network management system (NMS) executes
applications that monitor and control managed devices.
SNMP Protocols
SNMP uses two other protocols which are as follows −
SMI
SMI stands for Structure Management Information. SMI represents the general rules for naming
objects, defining object types (including range and length), and showing how to encode objects and
values.
SMI does not determine the number of objects an entity should handle or name the objects to be
managed or define the relationship between the objects and their values.
MIB
MIB stands for Management information base. For each entity to be handled, this protocol must
represent the number of objects, name them as per the rules represented by SMI, and relate a type
to each named object. MIB generates a collection of named objects, their types, and their
relationships to each other in an entity to be managed.