CHAPTER-8 APPPLICATION LAYER
The Application Layer of OSI (Open System Interconnection) model,
is the top layer in this model and takes care of network
communication.
The application layer provides the functionality to send and receive
data from users.
It acts as the interface between the user and the application.
The application provides services like file transmission, mail service,
and many more.
This layer also serves as a window for the application services to
access the network and for displaying the received information to
the user.
Functions and services of Application layer
Application Layer helps us to identify communication partners, and synchronizing
communication.
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 selecting the 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 allows users to interact with other software applications.
This application layer, in general, performs host initialization followed by remote
login to hosts.
Working of Application Layer
▪ This layer accepts the request from application program
▪ It selects the right protocol like HTTP for web pages, FTP for file transfer,
SMTP for mailing services
▪ It formats the data such as encode data, attach files so other side can
understand it.
▪ It resolves the names into address (DNS to convert domain name into IP
address)
▪ It prepares the request message and ask Transport layer to carry message
across network.
▪ It builds request message with required fields.
▪ It attaches credentials when service requires
identity.
▪ Transport layer so that it is segmented and sent.
▪ Application layer waits for a response and applies
timeout and retries when needed
▪ It processes the response data and presents it to the
program and to the user interface.
▪ It maintains session state.
Protocols of the Application Layer
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
application layer protocols.
HTTP (HyperText Transfer Protocol) - Used for web communication (Port 80).
DNS (Domain Name System) - Translates domain names into IP addresses (Port 53).
TELNET - Provides remote login and file management services (Port 23).
DHCP (Dynamic Host Configuration Protocol) - Assigns IP addresses to hosts dynamically
(Ports 67 & 68).
FTP (File Transfer Protocol) - Facilitates file transfer between systems (Ports 20 for data, 21
for control).
SMTP (Simple Mail Transfer Protocol) - Handles sending of emails (Ports 25 & 587).
NFS (Network File System) - Enables remote access to files as if they were local (Port 2049).
SNMP (Simple Network Management Protocol) - Manages and monitors devices in a
network (Ports 161 & 162).
Network Architecture
Network architecture generally refers to the design of a computer network or
communications network.
It encompasses how the application is divided into different components, and how these
components interact with each other.
There are several commonly used network application architectures, including:
Peer-To-Peer network
In the P2P (Peer-to-Peer) network, “peers” generally represent computer system. These peers
are connected to each other with help of Internet.
Files might be shared directly without requirement of central server among these systems on the
network.
It can be said that each of computers on P2P network usually becomes file server even as client
also.
Peer-To-Peer network is a network in which all the computers are linked together with equal
privilege and responsibilities for processing the data.
There is also no separate division as clients and servers.
Each and every computer in this network are treated same and equally and might send even
receive message directly.
This P2P network is generally useful in various fields such as business, education, military, etc.
Peer-To-Peer network is useful for small environments, usually up to 10 computers.
Peer-To-Peer network has no dedicated server.
Special permissions are assigned to each computer for sharing the resources, but this can lead
to a problem if the computer with the resource is down.
Advantages of Peer-to-Peer Architecture
P2P network is less costly and cheaper. It is affordable.
No particular device is client or server.
Its simple to set up and maintain because each system works
independently.
Disadvantages of Peer-to-Peer Architecture
No centralized device , so its difficult to backup
It is more difficult to manage security policies consistently.
Each peer demands individual care and control.
As the network expands in size, it may become inefficient in
terms of performance, security and access.
Client and Server model
Client
A client is a program that runs on the local machine requesting service from the
server. A client program is a finite program means that the service started by the
user and terminates when the service is completed.
Server
A server is a program that runs on the remote machine providing services to
the clients. When the client requests for a service, then the server opens the door
for the incoming requests, but it never initiates the service.
A server program is an infinite program means that when it starts, it runs
infinitely unless the problem arises. The server waits for the incoming requests
from the clients. When the request arrives at the server, then it responds to the
request.
A client and server networking model is a model in which computers
such as servers provide the network services to the other
computers such as clients to perform a user based tasks. This
model is known as client-server networking model.
An application program is known as a client program, running on
the local machine that requests for a service from an application
program known as a server program, running on the remote
machine.
A client program runs only when it requests for a service from the
server while the server program runs all time as it does not know
when its service is required.
A server provides a service for many clients not just for a single
client. Therefore, we can say that client-server follows the many-to-
one relationship. Many clients can use the service of one server.
Services are required frequently, and many users have a specific
client-server application program. For example, the client-server
application program allows the user to access the files, send e-mail,
and so on. If the services are more customized, then we should
have one generic application program that allows the user to
access the services available on the remote computer.
Advantages of Client-server networks:
Centralized: Centralized back-up is possible in client-server networks, i.e., all the data is
stored in a server.
Security: These networks are more secure as all the shared resources are centrally
administered.
Performance: The use of the dedicated server increases the speed of sharing resources. This
increases the performance of the overall system.
Scalability: We can increase the number of clients and servers separately, i.e., the new
element can be added, or we can add a new node in a network at any time.
Disadvantages of Client-Server network:
Traffic Congestion is a big problem in Client/Server networks. When a large number of clients
send requests to the same server may cause the problem of Traffic congestion.
It does not have a robustness of a network, i.e., when the server is down, then the client
requests cannot be met.
A client/server network is very decisive. Sometimes, regular computer hardware does not
serve a certain number of clients. In such situations, specific hardware is required at the
server side to complete the work.
Sometimes the resources exist in the server but may not exist in the client. For example, If
the application is web, then we cannot take the print out directly on printers without taking
out the print view window on the web.
What is World Wide Web?
World Wide Web, which is also known as a Web, is a collection of
websites or web pages stored in web servers and connected to local
computers through the internet. These websites contain text pages,
digital images, audios, videos, etc. Users can access the content of these
sites from any part of the world over the internet using their devices such
as computers, laptops, cell phones, etc. The WWW, along with internet,
enables the retrieval and display of text and media to your device.
1. WWW stands for World Wide Web and is commonly known as the Web.
2. The WWW was started by CERN in 1989. WWW is defined as the collection
of different websites around the world, containing different information
shared via local servers(or computers).
3. Web pages are linked together using hyperlinks which are HTML-formatted
and, also referred to as hypertext, these are the fundamental units of the
Internet and are accessed through Hypertext Transfer Protocol(HTTP).
4. A web page is given an online address called a Uniform Resource Locator
(URL). A particular collection of web pages that belong to a specific URL is
called a website, e.g., [Link], [Link], etc.
5. So, the web provides a communication platform for users to retrieve and
exchange information over the internet.
6. On World Wide Web we follow a web of hypertext links to visit a web page
and from that web page to move to other web pages. You need a browser,
which is installed on your computer, to access the Web.
Difference between World Wide Web
and Internet
Protocols used in WWW
HTTP (Hyper Text Transfer Protocol)
HTTPs (Hyper Text Transfer Protocol Secure)
DNS (Domain Name System)
FTP (File Transfer Protocol)
HTTP
HTTP stands for HyperText Transfer Protocol. It is the main way web browsers
and servers communicate to share information on the internet.
HyperText is the type of text that is specially coded with the help of some standard
coding language called HyperText Markup Language (HTML).
The protocol used to transfer hypertext between two computers is known as HTTP.
It provides a standard between a web browser and a web server to establish
communication.
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.
Define: It is a protocol used to access the data on the World Wide Web (www).
Data such as text, images, and other multimedia files are shared on the World
Wide Web between the computers.
Features
Connectionless protocol: HTTP is a connectionless protocol. HTTP client
initiates a request and waits for a response from the server. When the
server receives the request, the server processes the request and sends
back the response to the HTTP client after which the client disconnects the
connection. The connection between client and server exist only during the
current request and response time only.
Stateless: HTTP is a stateless protocol as both the client and server know
each other only during the current request. Due to this nature of the
protocol, both the client and server do not retain the information between
various requests of the web pages.
WORKING OF HTTP
The HyperText Transfer Protocol works on a request-response
basis, where the client (usually a web browser or an application)
sends a request to a web server. The server then responds to
that request by providing the necessary data.
An HTTP request is the message that a client (a web browser)
sends to a server, asking for a specific action or resource, for
example, for the information needed to load a website. An HTTP
request consists of several components that carry the necessary
information for the server to process the request and provide an
appropriate response.
An HTTP response is a message a server sends to the client in
response to an HTTP request. It contains the data requested by
the client, additional metadata, and status information about the
success or failure of the request
HTTPS
Website security is extremely important, no matter the types of information
businesses are saving or transmitting.
Setting up encryption and authentication for your website can mean the difference
between providing a secure site for users versus potentially leaking sensitive data.
The HTTPS protocol makes it possible for website users to transmit sensitive data
such as credit card numbers, banking information, and login credentials securely
over the internet.
For this reason, HTTPS is especially important for securing online activities such as
shopping, banking, and remote work.
However, HTTPS is quickly becoming the standard protocol for all websites, whether
or not they exchange sensitive data with users.
Define: HTTPS is a protocol that secures communication and data transfer
between a user’s web browser and a [Link] encrypts the data using protocol
called Transport Layer Security.
Difference Between HTTP and HTTPS
HTTP HTTPS
HTTP stands for HyperText Transfer HTTPS for HyperText Transfer Protocol
Protocol. Secure.
In HTTP, URL begins with “[Link] In HTTPs, URL starts with “[Link]
HTTP faster than HTTPS HTTPS slower than HTTP
HTTP does not require any certificates. HTTPS needs SSL Certificates.
HTTP is considered to be unsecure. HTTPs is considered as secure.
In HTTPS Data transfer in [Link],
In HTTP Data is transfer in plaintext.
encrypted
Domain Name
Domain name is the string of characters you type in your internet browser’s address
bar to go to a specific website.
examples of domains include:
[Link]
[Link]
[Link]
The Different Parts of a Domain
Each domain has two main parts: a top-level domain, and a second-level domain. The top-level
domain follows the rightmost dot, and the second-level domain precedes it.
Domains are organized hierarchically, beginning with the broadest, highest-order level and descending
from right to left toward the most narrow, lowest-order level. Each part is separated by dots, as in
www(.)registeredagentsinc(.)com.
Also called domain extensions, top-level domains are the most broad and generic part of a domain
name. Originally designed to categorize websites by type—.com for commercial, .net for networks, and
so on—TLDs today are organized into several purposes:
Domain Name System
The Domain Name System (DNS) is the phonebook of the
Internet. Humans access information online through domain
names, like [Link] or [Link]. Web browsers
interact through Internet Protocol (IP) addresses. DNS
translates domain names to IP addresses so browsers can
load Internet resources.
Each device connected to the Internet has a unique IP
address which other machines use to find the device. DNS
servers eliminate the need for humans to memorize IP
addresses such as [Link].
DNS Server types
DNS resolver - The resolver can be thought of as a librarian who is asked
to go find a particular book somewhere in a library. The DNS recursor is a
server designed to receive queries from client machines through
applications such as web browsers. Typically the recursor is then
responsible for making additional requests in order to satisfy the client’s
DNS query.
Root nameserver - The root server is the first step in translating (resolving)
human readable host names into IP addresses. It can be thought of like an
index in a library that points to different racks of books - typically it serves
as a reference to other more specific locations.
TLD nameserver - The top level domain server (TLD) can be
thought of as a specific rack of books in a library. This nameserver
is the next step in the search for a specific IP address, and it hosts
the last portion of a hostname (In [Link], the TLD server is
“com”).
Authoritative nameserver - This final nameserver can be thought of
as a dictionary on a rack of books, in which a specific name can be
translated into its definition. The authoritative nameserver is the
last stop in the nameserver query. If the authoritative name server
has access to the requested record, it will return the IP address for
the requested hostname back to the DNS Recursor (the librarian)
that made the initial request.
Recursive server. This DNS server is within the same network as the user, so it is the first DNS
server that attempts translation of the domain name submitted by the user into an IP address.
The user enters [Link]. The request goes out to the recursive server, which searches its
cross-reference database of domain names and IP addresses. Unfortunately, the recursive server
that is on the user's network cannot find the IP address domain name [Link].
Root name server. The recursive server on the user's network then reaches out to the root name
server, which is a master index of all the servers with the information being queried. The root
server looks at the TLD of the resource being requested -- for example, .com, .org or .edu.
TLD server. Based on the TLD name of the resource requested, the root server calls the correct
TLD server. For example, [Link] has .com as its TLD name, so the root server routes
the user's request to the TLD server that contains an IP number cross-reference database for all
.com domains.
Authoritative server. The authoritative server is the final authority for all internet assets, as it
holds the DNS records for the sites and resources that users access. The authoritative server works
with recursive servers, root servers and TLD servers to return the full resource or website
requested by the user.
In the [Link] example, the resource request was first routed to a recursive server,
which could not find the website. It was then forwarded to the root server, which contained a
master index of DNS names, and then directed the request to a .com domain TLD server. The .com
TLD server found the [Link] domain name and its corresponding IP address and then
contacted the authoritative server, which contained the domain itself. It was able to fulfill the
user request by facilitating the complete delivery of the requested domain content to the user.
DNS Working
1. User Request
When we type a domain name like [Link] into our browser, our computer
starts the process of finding the corresponding IP address needed to connect to the website.
2. Check Local Cache
The first place our system looks is in its local cache, which may include:
Browser Cache: The browser might have recently stored the IP address if we’ve visited the site
before.
Operating System (OS) Cache: The OS maintains a DNS cache to speed up lookups.
Router Cache: Our router might also store previously requested IP addresses.
If the IP address is found in any of these caches, the process ends here and the browser connects to
the website. Otherwise, the process moves forward.
3. Check Host Files
If the IP address is not in the local cache, the system may check host files, which are manually
configured mappings of domain names to IP addresses. This is rare in modern systems, but it might
still be used for certain network configurations.
4. Query DNS Resolver
If no IP address is found locally, the request is sent to a DNS Resolver. The Resolver is a server
provided by our Internet Service Provider (ISP) or a public DNS service like Google DNS ([Link]) or
Cloudflare ([Link]). The Resolver acts as the intermediary that communicates with various DNS
servers to find the IP address.
5. Contact the Root Server
Resolver first contacts the Root DNS Server which is the starting point for DNS lookups. The Root
server doesn’t know the exact IP address of [Link] but directs the query to the Top-
Level Domain (TLD) Server responsible for .org.
6. Query TLD Server
Resolver sends the query to the TLD Server for .org domains. The TLD server handles domain
names ending in .org and knows where to find the authoritative nameserver for [Link].
7. Query the Authoritative Server
The Resolver then queries the authoritative nameserver for [Link]. This server is
responsible for storing DNS records for the domain, including the mapping of the domain name to
its IP address.
8. Retrieve the IP Address
Authoritative nameserver responds to the Resolver with the exact IP address
(e.g., [Link]) for [Link].
9. Return IP Address to Computer
Resolver receives the IP address from the authoritative nameserver and sends it
back to our computer. At this point, our computer knows how to connect to the
website.
10. Connect to the Real Server
With the IP address in hand, our browser sends a request to the real server that
hosts [Link]. This server processes the request and sends the
necessary data back to our browser.
11. Website Loads
Our browser receives the response from the real server and the website content
is displayed on our screen. All of this happens in just milliseconds, making the
process seamless for the user.
FTP(FILE TRANSFER PROTOCOL)
Website management: Web developers use FTP to upload and manage website files
(HTML, CSS, images, etc.) on a web server. The content doesn't need to be updated
instantly, so the reliability of FTP for transferring large numbers of files is ideal.
Large file transfers: Companies in media and entertainment use FTP to send large
audio and video files to partners or editors. FTP is more effective at handling large
file sizes than protocols like email.
FTP
FTP (File Transfer Protocol) is a standard
network protocol used for the transfer of files
from one host to another over a TCP-based
network, such as the Internet.
It helps to transfer files from one computer to
another by providing access to directories or
folders on remote computers and allows
software, data, text file to be transferred between
different kinds of computers.
The end-user in the connection is known as
local host and the server which provides data is
known as the remote host.
▪ The goals of FTP are:
▪ It encourages the direct use of remote
computers.
▪ It promotes sharing of files and other types of
data.
Types of connection
Control Connection-The FTP Client will send a connection request to
FTP server. It is used for sending and receiving commands and
responses like user identification, password, commands to change
the remote directory, commands to retrieve and store files, etc.
Typically a user needs to log on to the FTP server for establishing the
connection but there are some servers that make their content
available without login.
Data Connection-For transferring the files and folders
FTP session
When an FTP session is started between a client and
servers, the client initiates a control TCP connection with the
server side. The client sends control information over this.
When the server receives this, it initiates a data connection
to the client side. At a time only one file can be sent over
one data connection. FTP has to maintain information about
its user throughout the session
Advantages
Multiple transfers: FTP helps to transfer multiple large
files in between the systems.
Efficiency: FTP helps to organize files in an efficient
manner and transfer them efficiently over the network.
Continuous transfer: If the transfer of the file is
interrupted by any means, then the user can resume the
file transfer whenever the connection is established.
Speed: It is the fastest way to transfer files from one
computer to another.
Disadvantages
Less security: FTP does not provide an encryption facility when
transferring files. Moreover, the username and passwords are in plain
text and not a combination of symbols, digits, and alphabets, which
makes it easier to be attacked by hackers.
Old technology: FTP is one of the oldest protocols and thus it uses
multiple TCP/IP connections to transfer files. These connections are
hindered by firewalls.
Virus: The FTP connection is difficult to be scanned for viruses,
which again increases the risk of vulnerability.
E-Mail
Email stands for Electronic Mail.
It is a method to send messages from one computer to another computer
through the Internet.
It is mostly used in business, education, technical communication, and
document interactions.
It provides an easy way to communicate with individuals or groups by
sending and receiving documents, images, links, and other files.
It also provides the flexibility of communicating with others on their own
schedule.
Composing an email is very simple and one of the fast ways to
communicate.
Email offers to send multimedia, documents, images, audio files, videos,
and various types of files. We can easily attach the types of files in the
original format or compressed format.
Email Protocols
Email protocols are a collection of protocols that are used to
send and receive emails properly. The email protocols provide
the ability for the client to transmit the mail to or from the
intended mail server.
Email forwarding includes components like two computers
sending and receiving emails and the mail server. There are three
basic types of email protocols.
Three basic types of email protocols involved for sending and
receiving mails are:
1. SMTP
2. POP3(Post Office Protocol)
3. IMAP(Internet Mail access Protocol)
SMTP
Simple Mail Transfer Protocol is used to send mails over the internet.
SMTP is an application layer and connection-oriented protocol. SMTP is
efficient and reliable for sending emails.
When a sender sends an email then the sender’s mail client sends it to
the sender’s mail server and then it is sent to the receiver mail server
through SMTP.
The main purpose of SMTP is used to set up communication rules between
servers.
The SMTP model is of two types:
1. End-to-End Method- is used to communicate between different
organizations.
2. Store-and-Forward Method-is used to communicate within an
organization.
Components of SMTP
Mail User Agent (MUA): It is a computer application that helps you
in sending and retrieving mail. It is responsible for creating email
messages for transfer to the mail transfer agent(MTA).
Mail Submission Agent (MSA): It is a computer program that
receives mail from a Mail User Agent(MUA) and interacts with the
Mail Transfer Agent(MTA) for the transfer of the mail.
Mail Transfer Agent (MTA): It is software that has the work to
transfer mail from one system to another with the help of SMTP.
Mail Delivery Agent (MDA): A mail Delivery agent or Local Delivery
Agent is basically a system that helps in the delivery of mail to
the local system.
Working of SMTP
Composing the Mail
An email is sent by a user using an MUA (Mail User Agent) to compose an
electronic mail message. An email has two main parts: the body and the header.
The body contains the main content of the email, while the header contains
information such as the sender's and recipient's addresses and the subject of the
message. The header acts like an envelope, and the body is the letter inside.
Submitting the Mail
After composing the email, the mail client sends it to the SMTP server using
SMTP on TCP port 25.
Delivering the Mail
An email address consists of the recipient's username and the domain name. For
example, [email protected] , where "neeraj" is the recipient's username and
"[Link]" is the domain name.
If the domain name in the recipient's email address is different from the
sender's domain name, the mail is sent to the Mail Transfer Agent (MTA).
The MTA locates the target domain and relays the email to it. The MTA
retrieves the target domain from the MX record in the Domain Name
System, which contains the IP address and domain name of the recipient's
domain. After finding the record, the MTA connects with the exchange
server to relay the message.
Receiving and Processing the Mail
When the server receives the incoming message, it sends it to the Mail
Delivery Agent (incoming server). The MDA stores the email and makes it
available for the user to retrieve.
Accessing and Retrieving the Mail
The stored emails in the MDA can be retrieved using the MUA, which
requires a login and password for access.
Advantages of SMTP
If necessary, the users can have a dedicated server.
It allows for bulk mailing.
Low cost and wide coverage area.
Offer choices for email tracking.
Reliable and prompt email delivery.
Disadvantages of SMTP
SMTP’s common port can be blocked by several firewalls.
SMTP security is a bigger problem.
Its simplicity restricts how useful it can be.
Just 7-bit ASCII characters can be used.
If a message is longer than a certain length, SMTP servers may reject the entire
message.
Delivering your message will typically involve additional back-and-forth processing
between servers, which will delay sending and raise the likelihood that it won’t be
sent.
POP
The POP abbreviation stands for Post Office Protocol ,
which provides access to an inbox stored in an email
server.
It executes the download and deletes operations for
messages.
Thus, when a POP client connects to the mail server, it
retrieves all messages from the mailbox. Then it stores
them on your local computer and deletes them from
the remote server.
IMAP
The Internet Message Access Protocol (IMAP) allows
you to access and manage your email messages on the
email server.
This protocol permits you to manipulate folders,
permanently delete and efficiently search through
messages.
It also gives you the option to set or remove email flags,
or fetch email attributes selectively. By default, all
messages remain on the server until the user specifically
deletes them.
MIME
MIME stands for Multipurpose Internet Mail Extensions. It is used to
extend the capabilities of Internet e-mail protocols such as SMTP.
The MIME protocol allows the users to exchange various types of
digital content such as pictures, audio, video, and various types of
documents and files in the e-mail.
The MIME protocol supports multiple languages in e-mail, such as
Hindi, French, Japanese, Chinese, etc.
Simple protocols can reject mail that exceeds a certain size, but
there is no word limit in MIME.
Images, audio, and video cannot be sent using simple e-mail
protocols such as SMTP. These require MIME protocol.
Quality of Services(Qos)
Quality of service (QoS) is the use of mechanisms or
technologies that work on a network to control traffic and
ensure the performance of critical applications with
limited network capacity. It enables organizations to
adjust their overall network traffic by prioritizing specific
high-performance applications.
QoS is typically applied to networks that carry traffic for
resource-intensive systems. Common services for which it
is required include internet protocol television (IPTV),
online gaming, streaming media, videoconferencing, video
on demand (VOD), and Voice over IP (VoIP).
QoS Parameters
Bandwidth: Capacity of a network communications link to transmit the
maximum amount of data from one point to another point iin a given amount of
time. QoS can tell a router how to use bandwidth.
Delay: The time it takes for a packet to go from its source to its destination.
This can often be affected by queuing delay, which occurs during times of
congestion and a packet waits in a queue before being transmitted. QoS
enables organizations to avoid this by creating a priority queue for certain
types of traffic.
Loss: The packet can be dropped during real time communication that leads to
gaps in speech and packet dropped occurs due to network congestion. QoS
enables organizations to decide which packets to drop in this event.
Jitter: The irregular speed of packets on a network as a result of congestion,
which can result in packets arriving late and out of sequence. This can cause
distortion or gaps in audio and video being delivered.
Importance of QoS
When networks only carried data, speed was not overly critical. But now,
interactive applications carrying audio and video content need to be
delivered at high speed, without packet loss or variations in delivery
speed.
QoS is particularly important to guarantee the high performance of
critical applications that require high bandwidth for real-time traffic. For
example, it helps businesses to prioritize the performance of “inelastic”
applications that often have minimum bandwidth requirements, maximum
latency limits, and high sensitivity to jitter and latency, such as VoIP and
videoconferencing.
QoS helps businesses prevent the delay of these sensitive applications,
ensuring they perform to the level that users require. For example, lost
packets could cause a delay to the stream, which results in the sound and
video quality of a videoconference call.
QoS is increasingly important as network performance requirements
adapt to the growing number of people using them. The latest online
applications and services require vast amounts of bandwidth and
network performance, and users demand they offer high performance at
all times.
QoS is also becoming increasingly important as the Internet of Things
(IoT) continues to come to maturity. For example, in the manufacturing
sector, machines now leverage networks to provide real-time status
updates on any potential issues. Therefore, any delay in feedback could
cause highly costly mistakes in IoT networking. QoS enables the data
stream to take priority in the network and ensures that the
information flows as quickly as possible.
Techniques in Qos
Prioritization of delay-sensitive VoIP traffic via routers and switches: Many
enterprise networks can become overly congested, which sees routers and
switches start dropping packets as they come in and out faster than they can be
processed. As a result, streaming applications suffer. Prioritization enables traffic
to be classified and receive different priorities depending on its type and
destination. This is particularly useful in a situation of high congestion, as
packets with higher priority can be sent ahead of other traffic.
Resource reservation: The Resource Reservation Protocol (RSVP) is a transport
layer protocol that reserves resources across a network and can be used to
deliver specific levels of QoS for application data streams. Resource reservation
enables businesses to divide network resources by traffic of different types and
origins, define limits, and guarantee bandwidth.
(A flow of data needs resources such as a buffer, bandwidth, CPU time, and so on.
The quality of service is improved if these resources are reserved beforehand. )
Queuing: Queuing is the process of creating policies that provide
preferential treatment to certain data streams over others. Queues are
high-performance memory buffers in routers and switches, in which
packets passing through are held in dedicated memory areas. When a
packet is assigned higher priority, it is moved to a dedicated queue
that pushes data at a faster rate, which reduces the chances of it
being dropped. For example, businesses can assign a policy to give voice
traffic priority over the majority of network bandwidth. The routing or
switching device will then move this traffic’s packets and frames to the
front of the queue and immediately transmit them.
Traffic marking: When applications that require priority over other
bandwidth on a network have been identified, the traffic needs to be
marked. This is possible through processes like Class of Service (CoS),
which marks a data stream in the Layer 2 frame header, and Differentiated
Services Code Point (DSCP), which marks a data stream in the Layer 3
packet header.
Flow Control to improve Qos
Congestion in a computer network happens when there is too
much data being sent at the same time, causing the network to
slow down. Just like traffic congestion on a busy road, network
congestion leads to delays and sometimes data loss. When the
network can’t handle all the incoming data, it gets
“clogged,” making it difficult for information to travel
smoothly from one place to another.
Traffic shaping is a mechanism to control the amount and
the rate of the traffic sent to the network.
Two techniques can shape traffic:
Leaky bucket and token bucket
If a bucket has a small hole at the bottom, the
water leaks from the bucket at a constant rate
as long as there is water in the bucket.
The rate at which the water leaks does not
depend on the rate at which the water is input
to the bucket unless the bucket is empty.
The input rate can vary, but the output rate
remains constant.
Similarly, in networking, a technique called
leaky bucket can smooth out bursty traffic.
Bursty chunks are stored in the bucket and sent
out at an average rate.
A leaky bucket algorithm shapes bursty traffic
into fixed-rate traffic by averaging the data
rate. It may drop the packets if the bucket is
full.
Token Bucket
The leaky bucket is very restrictive. It does not credit an idle
host. For example, if a host is not sending for a while, its
bucket becomes empty. Now if the host has bursty data, the
leaky bucket allows only an average rate.
The time when the host was idle is not taken into account.
On the other hand, the token bucket algorithm allows idle
hosts to accumulate credit for the future in the form of
tokens.
For each tick of the clock, the system sends n tokens to the
bucket. The system removes one token for every cell (or
byte) of data sent.
The token bucket can easily be implemented with a counter.
The token is initialized to zero. Each time a token is added,
the counter is incremented by 1. Each time a unit of data is
sent, the counter is decremented by 1. When the counter is
zero, the host cannot send data.
The two techniques can be combined to credit an idle
host and at the same time regulate the traffic. The leaky
bucket is applied after the token bucket; the rate of the
leaky bucket needs to be higher than the rate of tokens
dropped in the bucket.
Implementation of QoS
Best Effort. A QoS model where all the packets receive the same priority and there is no
guaranteed delivery of packets. Best Effort is applied when networks have not configured
QoS policies or when the infrastructure does not support QoS.
Integrated Services (IntServ). A QoS model that reserves bandwidth along a specific path
on the network. Applications ask the network for resource reservation, and network devices
monitor the flow of packets to make sure network resources can accept the packets.
Differentiated Services (DiffServ). A QoS model where network elements, such as routers
and switches, are configured to service multiple classes of traffic with different priorities.
Network traffic must be divided into classes based on a company's configuration.
Implementing IntServ requires IntServ-capable routers and uses the Resource Reservation
Protocol for network resource reservation. IntServ has limited scalability and high
consumption of network resources.
Voice traffic can be assigned a higher priority than other types of traffic. Packets are
assigned priorities using Differentiated Services Code Point for classification. DiffServ also
uses per-hop behavior to apply QoS techniques, such as queuing and prioritization, to
packets.
IntServ
A network architecture that allows for explicit resource reservation on a per-flow basis, guaranteeing
specific performance levels for individual applications by reserving bandwidth and managing network
traffic across the entire path, using a protocol like RSVP (Resource Reservation Protocol) to signal these
requirements to network devices along the way.
Working
Application request:
An application initiates a data flow and sends a reservation request using RSVP, specifying the desired QoS
parameters (bandwidth, delay, etc.).
Path calculation:
The RSVP messages traverse the network path, reaching all routers involved in the data flow.
Resource reservation:
Each router along the path checks its available resources and confirms whether it can allocate the
requested bandwidth for the specific flow.
Admission control decision:
If sufficient resources are available on all network devices along the path, the reservation is confirmed,
and the application can start sending data with the guaranteed QoS.
Guaranteed Service:
1. Provides a firm delay bound, ensuring packets are delivered
within a specific time frame.
2. Uses mechanisms like token bucket algorithms to control
traffic and guarantee delivery.
3. Suitable for applications like real-time video conferencing or
online gaming.
Controlled Load Service:
1. Offers improved reliability compared to best-effort service
but allows for some delay variation.
2. Useful for applications that can adapt to network congestion,
like streaming video.
Advantages of QoS
Unlimited application prioritization: QoS guarantees that businesses’ most mission-critical applications will
always have priority and the necessary resources to achieve high performance.
Better resource management: QoS enables administrators to better manage the organization’s internet
resources. This also reduces costs and the need for investments in link expansions.
Enhanced user experience: The end goal of QoS is to guarantee the high performance of critical
applications, which boils down to delivering optimal user experience. Employees enjoy high performance on
their high-bandwidth applications, which enables them to be more effective and get their job done more
quickly.
Point-to-point traffic management: Managing a network is vital however traffic is delivered, be it end to end,
node to node, or point to point. The latter enables organizations to deliver customer packets in order from one
point to the next over the internet without suffering any packet loss.
Packet loss prevention: Packet loss can occur when packets of data are dropped in transit between
networks. This can often be caused by a failure or inefficiency, network congestion, a faulty router, loose
connection, or poor signal. QoS avoids the potential of packet loss by prioritizing bandwidth of high-
performance applications.
Latency reduction: Latency is the time it takes for a network request to go from the sender to the receiver
and for the receiver to process it. This is typically affected by routers taking longer to analyze information and
storage delays caused by intermediate switches and bridges. QoS enables organizations to reduce latency, or
speed up the process of a network request, by prioritizing their critical application.
Telnet
TELNET stands for Teletype Network.
It is a client/server application protocol that provides access to
virtual terminals of remote systems on local area networks or the
Internet.
The local computer uses a telnet client program and the remote
computers use a telnet server program.
It is used as a standard TCP/IP protocol for virtual terminal
service.
The computer which starts the connection is known as the local
computer.
The computer which is being connected to i.e. which accepts the
connection known as the remote computer.
During telnet operation, whatever is being performed on the
remote computer will be displayed by the local computer. Telnet
operates on a client/server principle.
Advantages
It provides remote access to someone’s computer
system.
Telnet allows the user for more access with fewer
problems in data transmission.
Telnet saves a lot of time.
The oldest system can be connected to a newer
system with telnet having different operating
systems.
Disadvantages
Data is sent here in form of plain text, that’s why
it is not so secured.
It is not possible to run GUI based tools over
Telnet connection as it is character based
communication tool.
Unencrypted data exchange.