Unit -5 Application Layer
Application Layer: Domain Name Space (DNS), SNMP, Electronic mail:
MIME, SMTP, IMAP, WWW, FTP, HTTP
Domain Name System (DNS)
o DNS stands for Domain Name System.
o DNS is a service that translates the domain name into IP addresses. This
allows the users of networks to utilize user-friendly names when looking
for other hosts instead of remembering the IP addresses.
o For example, suppose the FTP site at EduSoft had an IP address of
[Link], most people would reach this site by specifying
[Link]. Therefore, the domain name is more reliable than IP
address.
The domain name space is divided into three different sections:
1. Generic Domains
2. Country Domains
3. Inverse Domain.
1. Generic Domains :
o It defines the registered hosts according to their generic behavior.
o Each node in a tree defines the domain name, which is an index to the
DNS database.
o It uses three-character labels, and these labels describe the organization
type.
2. Country domain: The format of country domain is same as a generic
domain, but it uses two-character country abbreviations (e.g., us for the
United States) in place of three character organizational abbreviations.
3. Inverse domain:
The inverse domain is used for mapping an address to a name. When the
server has received a request from the client, and the server contains the files
of only authorized clients. To determine whether the client is on the
authorized list or not, it sends a query to the DNS server and ask for mapping
an address to the name
Working of DNS
DNS is a client/server network communication protocol. DNS clients send
requests to the DNS Server, Then DNS servers send responses to the client.
The host requests the DNS name server to resolve the domain name. And the
name server returns the IP address corresponding to that domain name to the
host so that the host can future connect to that IP address.
Domain Name System works by executing the database whose work is to
store the name of hosts which are available on the Internet.
The top-level domain server stores address information for top-level domains
such as .com and .net, .org, and so on.
If the Client sends the request, then the DNS resolver sends a request to DNS
Server to fetch the IP Address. In case, when it does not contain that
particular IP Address with a hostname, it forwards the request to another
DNS Server. When IP Address has arrived at the resolver, it completes the
request over Internet Protocol
If a client like a web browser sends a request containing a hostname, then a
DNS resolver sends a request to the DNS server to obtain the IP address of a
hostname. If DNS server does not contain the IP address associated with a
hostname, then it forwards the request to another DNS server. If IP address
has arrived at the resolver, which in turn completes the request over the
internet protocol.
SMTP – Simple Mail Transfer Protocol
SMTP stands for Simple Mail Transfer Protocol.
SMTP is a set of communication guidelines that allow software to
transmit an electronic mail over the internet is called Simple Mail
Transfer Protocol.
It is a program used for sending messages to other computer users based
on e-mail addresses.
It provides a mail exchange between users on the same or different
computers, and it also supports:
o It can send a single message to one or more recipients.
o Sending message can include text, voice, video or graphics.
o It can also send the messages on networks outside the internet.
The main purpose of SMTP is used to set up communication rules
between servers. The servers have a way of identifying themselves and
announcing what kind of communication they are trying to perform. They
also have a way of handling the errors such as incorrect email address.
For example, if the recipient address is wrong, then receiving server reply
with an error message of some kind.
Components of SMTP
o First, we will break the SMTP client and SMTP server into two
components such as user agent (UA) and mail transfer agent (MTA). The
user agent (UA) prepares the message, creates the envelope and then puts
the message in the envelope. The mail transfer agent (MTA) transfers this
mail across the internet.
o SMTP allows a more complex system by adding a relaying system.
Instead of just having one MTA at sending side and one at receiving side,
more MTAs can be added, acting either as a client or server to relay the
email.
o The relaying system without TCP/IP protocol can also be used to send the
emails to users, and this is achieved by the use of the mail gateway. The
mail gateway is a relay MTA that can be used to receive an email.
Working of SMTP
1. Composition of Mail: A user sends an e-mail by composing an
electronic mail message using a Mail User Agent (MUA). Mail User
Agent is a program which is used to send and receive mail. The message
contains two parts: body and header. The body is the main part of the
message while the header includes information such as the sender and
recipient address. The header also includes descriptive information such
as the subject of the message. In this case, the message body is like a
letter and header is like an envelope that contains the recipient's address.
2. Submission of Mail: After composing an email, the mail client then
submits the completed e-mail to the SMTP server by using SMTP on
TCP port 25.
3. Delivery of Mail: E-mail addresses contain two parts: username of the
recipient and domain name. For example, vivek@[Link], where
"vivek" is the username of the recipient and "[Link]" is the domain
name.
If the domain name of the recipient's email address is different from the
sender's domain name, then MSA will send the mail to the Mail Transfer
Agent (MTA). To relay the email, the MTA will find the target domain. It
checks the MX record from Domain Name System to obtain the target
domain. The MX record contains the domain name and IP address of the
recipient's domain. Once the record is located, MTA connects to the
exchange server to relay the message.
4. Receipt and Processing of Mail: Once the incoming message is
received, the exchange server delivers it to the incoming server (Mail
Delivery Agent) which stores the e-mail where it waits for the user to
retrieve it.
5. Access and Retrieval of Mail: The stored email in MDA can be
retrieved by using MUA (Mail User Agent). MUA can be accessed by
using login and password.
SNMP
o SNMP stands for Simple Network Management Protocol.
o SNMP is a framework used for managing devices on the internet.
o It provides a set of operations for monitoring and managing the internet.
SNMP Concept
o SNMP has two components Manager and agent.
o The manager is a host that controls and monitors a set of agents such as
routers.
o It is an application layer protocol in which a few manager stations can
handle a set of agents.
o The protocol designed at the application level can monitor the devices
made by different manufacturers and installed on different physical
networks.
o It is used in a heterogeneous network made of different LANs and WANs
connected by routers or gateways.
Managers & Agents
o A manager is a host that runs the SNMP client program while the agent is
a router that runs the SNMP server program.
o Management of the internet is achieved through simple interaction
between a manager and agent.
o The agent is used to keep the information in a database while the manager
is used to access the values in the database. For example, a router can
store the appropriate variables such as a number of packets received and
forwarded while the manager can compare these variables to determine
whether the router is congested or not.
o Agents can also contribute to the management process. A server program
on the agent checks the environment, if something goes wrong, the agent
sends a warning message to the manager.
Management with SNMP has three basic ideas:
o A manager checks the agent by requesting the information that reflects
the behavior of the agent.
o A manager also forces the agent to perform a certain function by resetting
values in the agent database.
o An agent also contributes to the management process by warning the
manager regarding an unusual condition.
Management Components
o Management is not achieved only through the SNMP protocol but also
the use of other protocols that can cooperate with the SNMP protocol.
Management is achieved through the use of the other two protocols: SMI
(Structure of management information) and MIB(management
information base).
o Management is a combination of SMI, MIB, and SNMP. All these three
protocols such as abstract syntax notation 1 (ASN.1) and basic encoding
rules (BER).
SMI
The SMI (Structure of management information) is a component used in
network management. Its main function is to define the type of data that can be
stored in an object and to show how to encode the data for the transmission over
a network.
MIB
o The MIB (Management information base) is a second component for the
network management.
o Each agent has its own MIB, which is a collection of all the objects that
the manager can manage. MIB is categorized into eight groups: system,
interface, address translation, ip, icmp, tcp, udp, and egp. These groups
are under the mib object.
SNMP
SNMP defines five types of messages:
1. GetRequest,
2. GetNextRequest,
3. SetRequest,
4. GetResponse,
5. Trap.
1. GetRequest: The GetRequest message is sent from a manager (client) to the
agent (server) to retrieve the value of a variable.
2. GetNextRequest: The GetNextRequest message is sent from the manager to
agent to retrieve the value of a variable. This type of message is used to
retrieve the values of the entries in a table. If the manager does not know the
indexes of the entries, then it will not be able to retrieve the values. In such
situations, GetNextRequest message is used to define an object.
3. GetResponse: The GetResponse message is sent from an agent to the manager
in response to the GetRequest and GetNextRequest message. This message
contains the value of a variable requested by the manager.
4. SetRequest: The SetRequest message is sent from a manager to the agent to
set a value in a variable.
5. Trap: The Trap message is sent from an agent to the manager to report an
event. For example, if the agent is rebooted, then it informs the manager as
well as sends the time of rebooting.
HTTP
o HTTP stands for HyperText Transfer Protocol.
o It is a protocol used to access the data on the World Wide Web (www).
o The HTTP protocol can be used to transfer the data in the form of plain
text, hypertext, audio, video, and so on.
o This protocol is known as HyperText Transfer Protocol because of its
efficiency that allows us to use in a hypertext environment where there
are rapid jumps from one document to another document.
o HTTP is similar to the FTP as it also transfers the files from one host to
another host. But, HTTP is simpler than FTP as HTTP uses only one
connection, i.e., no control connection to transfer the files.
o HTTP is used to carry the data in the form of MIME-like format.
o HTTP is similar to SMTP as the data is transferred between client and
server. The HTTP differs from the SMTP in the way the messages are
sent from the client to the server and from server to the client. SMTP
messages are stored and forwarded while HTTP messages are delivered
immediately.
Features of HTTP:
o 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.
o Media independent: HTTP protocol is a media independent as data can
be sent as long as both the client and server know how to handle the data
content. It is required for both the client and server to specify the content
type in MIME-type header.
o 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.
HTTP Transactions
The client initiates a transaction by sending a request message to the server. The
server replies to the request message by sending a response message.
Messages
HTTP messages are of two types: request and response. Both the message types
follow the same message format.
Request Message: The request message is sent by the client that consists of a
request line, headers, and sometimes a body.
Response Message: The response message is sent by the server to the client
that consists of a status line, headers, and sometimes a body.
Uniform Resource Locator (URL)
o A client that wants to access the document in an internet needs an address
and to facilitate the access of documents, the HTTP uses the concept of
Uniform Resource Locator (URL).
o The Uniform Resource Locator (URL) is a standard way of specifying
any kind of information on the internet.
o The URL defines four parts: method, host computer, port, and path.
o Method: The method is the protocol used to retrieve the document from a
server. For example, HTTP.
o Host: The host is the computer where the information is stored, and the
computer is given an alias name. Web pages are mainly stored in the
computers and the computers are given an alias name that begins with the
characters "www". This field is not mandatory.
o Port: The URL can also contain the port number of the server, but it's an
optional field. If the port number is included, then it must come between
the host and path and it should be separated from the host by a colon.
o Path: Path is the pathname of the file where the information is stored.
The path itself contain slashes that separate the directories from the
subdirectories and files.
MIME Protocol
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.
MIME was created in 1991 by a computer scientist named Nathan Borenstein
at a company called Bell Communications.
MIME is an e-mail extension protocol, i.e., it does not operate independently,
but it helps to extend the capabilities of e-mail in collaboration with other
protocols such as SMTP. Since MIME was able to transfer only text written
file in a limited size English language with the help of the internet. At
present, it is used by almost all e-mail related service companies such as
Gmail, Yahoo-mail, Hotmail.
Need of MIME Protocol
MIME protocol is used to transfer e-mail in the computer network for the
following reasons:
1. The MIME protocol supports multiple languages in e-mail, such as Hindi,
French, Japanese, Chinese, etc.
2. Simple protocols can reject mail that exceeds a certain size, but there is
no word limit in MIME.
3. Images, audio, and video cannot be sent using simple e-mail protocols
such as SMTP. These require MIME protocol.
4. Many times, emails are designed using code such as HTML and CSS,
they are mainly used by companies for marketing their product. This type
of code uses MIME to send email created from HTML and CSS.
MIME Header
MIME adds five additional fields to the header portion of the actual e-mail to
extend the properties of the simple email protocol. These fields are as follows:
1. MIME Version
2. Content Type
3. Content Type Encoding
4. Content Id
5. Content description
1. MIME Version
It defines the version of the MIME protocol. This header usually has a
parameter value 1.0, indicating that the message is formatted using MIME.
2. Content Type
It describes the type and subtype of information to be sent in the message.
These messages can be of many types such as Text, Image, Audio, Video, and
they also have many subtypes such that the subtype of the image can be png or
jpeg. Similarly, the subtype of Video can be WEBM, MP4 etc.
3. Content Type Encoding
In this field, it is told which method has been used to convert mail information
into ASCII or Binary number, such as 7-bit encoding, 8-bit encoding, etc.
4. Content Id
In this field, a unique "Content Id" number is appended to all email messages so
that they can be uniquely identified.
5. Content description
This field contains a brief description of the content within the email. This
means that information about whatever is being sent in the mail is clearly in the
"Content Description". This field also provides the information of name,
creation date, and modification date of the file.
Example of Content description
Content-Description: attachment; filename = [Link];
modification-date = "Wed, 12 Feb 1997 16:29:51 -0500";
Working diagram of MIME Protocol
Features of MIME Protocol
1. It supports multiple attachments in a single e-mail.
2. It supports the non-ASCII characters.
3. It supports unlimited e-mail length.
4. It supports multiple languages.
Advantage of the MIME
The MIME protocol has the following advantages:
1. It is capable of sending various types of files in a message, such as text,
audio, video files.
2. It also provides the facility to send and receive emails in different
languages like Hindi, French, Japanese, Chinese etc.
3. It also provides the facility of connecting HTML and CSS to email, due
to which people can design email as per their requirement and make it
attractive and beautiful.
4. It is capable of sending the information contained in an email regardless
of its length.
5. It assigns a unique id to all e-mails.
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 protocols are a set
of commands for sharing mails between two computers. Email protocols
establish communication between the sender and receiver for the transmission
of email. Email forwarding includes components like two computers sending
and receiving emails and the mail server. There are three basic types of email
protocols.
Types of Email Protocols:
Three basic types of email protocols involved for sending and receiving mails
are:
SMTP
POP3
IMAP
SMTP (Simple Mail Transfer Protocol):
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. SMTP uses TCP as the
transport layer protocol. It handles the sending and receiving of
messages between email servers over a TCP/IP network. This protocol
along with sending emails also provides the feature of notification for
incoming mails. 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. SMTP commands are used to
identify the sender and receiver email addresses along with the message
to be sent.
Some of the SMTP commands are HELLO, MAIL FROM, RCPT TO,
DATA, QUIT, VERIFY, SIZE, etc. SMTP sends an error message if the
mail is not delivered to the receiver hence, reliable protocol.
POP(Post Office Protocol):
Post Office Protocol is used to retrieve email for a single client. POP3
version is the current version of POP used. It is an application layer
protocol. It allows to access mail offline and thus, needs less internet
time. To access the message it has to be downloaded. POP allows only a
single mailbox to be created on the mail server. POP does not allow
search facilities
Some of the POP commands are LOG IN, STAT, LIST, RETR, DELE,
RSET, and QUIT. For more details please refer to the POP Full-Form
article.
IMAP(Internet Message Access Protocol):
Internet Message Access Protocol is used to retrieve mails for multiple
clients. There are several IMAP versions: IMAP, IMAP2, IMAP3, IMAP4, etc.
IMAP is an application layer protocol. IMAP allows to access email without
downloading them and also supports email download.
The emails are maintained by the remote server. It enables all email
operations such as creating, manipulating, delete the email without reading it.
IMAP allows you to search emails.
It allows multiple mailboxes to be created on multiple mail servers and
allows concurrent access. Some of the IMAP commands are: IMAP_LOGIN,
CREATE, DELETE, RENAME, SELECT, EXAMINE, and LOGOUT.
SMTP
PoP
IMAP
FTP: File Transfer Protocol
o FTP stands for File transfer protocol.
o FTP is a standard internet protocol provided by TCP/IP used for
transmitting the files from one host to another.
o It is mainly used for transferring the web page files from their creator to
the computer that acts as a server for other computers on the internet.
o It is also used for downloading the files to computer from other servers.
Objectives of FTP
o It provides the sharing of files.
o It is used to encourage the use of remote computers.
o It transfers the data more reliably and efficiently.
Although transferring files from one system to another is very simple and
straightforward, but sometimes it can cause problems. For example, two
systems may have different file conventions. Two systems may have different
ways to represent text and data. Two systems may have different directory
structures. FTP protocol overcomes these problems by establishing two
connections between hosts. One connection is used for data transfer, and
another connection is used for the control connection.
Two types of connections in FTP:
o Control Connection: This connection is used to transfer control
Commands. The control connection is made between the control
processes. The control connection remains connected during the entire
interactive FTP session.
o Data Connection: The data connection is made between data transfer
processes. The data connection opens when a command comes for
transferring the files and closes when the file is transferred.
Mechanism of FTP
The above figure shows the basic model of the FTP. The FTP client has
three components: the user interface, control process, and data transfer process.
The server has two components: the server control process and the server data
transfer process.
FTP Clients
o FTP client is a program that implements a file transfer protocol which
allows you to transfer files between two hosts on the internet.
o It allows a user to connect to a remote host and upload or download the
files.
o It has a set of commands that we can use to connect to a host, transfer the
files between you and your host and close the connection.
o The FTP program is also available as a built-in component in a Web
browser. This GUI based FTP client makes the file transfer very easy and
also does not require to remember the FTP commands.
Advantages of FTP:
o Speed: One of the biggest advantages of FTP is speed. The FTP is one of
the fastest way to transfer the files from one computer to another
computer.
o Efficient: It is more efficient as we do not need to complete all the
operations to get the entire file.
o Security: To access the FTP server, we need to login with the username
and password. Therefore, we can say that FTP is more secure.
o Back & forth movement: FTP allows us to transfer the files back and
forth. Suppose you are a manager of the company, you send some
information to all the employees, and they all send information back on
the same server.
Disadvantages of FTP:
o The standard requirement of the industry is that all the FTP transmissions
should be encrypted. However, not all the FTP providers are equal and
not all the providers offer encryption. So, we will have to look out for the
FTP providers that provides encryption.
o FTP serves two operations, i.e., to send and receive large files on a
network. However, the size limit of the file is 2GB that can be sent. It
also doesn't allow you to run simultaneous transfers to multiple receivers.
o Passwords and file contents are sent in clear text that allows unwanted
eavesdropping. So, it is quite possible that attackers can carry out the
brute force attack by trying to guess the FTP password.
o It is not compatible with every system.
World Wide Web (WWW):
The World Wide Web or Web is basically a collection of information that is
linked together from points all over the world. It is also abbreviated as WWW.
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.
The building blocks of the Web are web pages which are formatted in
HTML and connected by links called "hypertext" or hyperlinks and
accessed by HTTP. These links are electronic connections that link
related pieces of information so that users can access the desired
information quickly.
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.
Small websites store all of their Web Pages on a single server, but big
websites or organizations place their Web Pages on different servers in
different countries so that when users of a country search their site they
could get the information quickly from the nearest server.
So, the web provides a communication platform for users to retrieve and
exchange information over the internet. Unlike a book, where we move
from one page to another in a sequence, on World Wide Web.
Working of WWW
The Web works as per the internet's basic client-server format
The servers store and transfer web pages or information to user's
computers on the network when requested by the users.
A web server is a software program which serves the web pages
requested by web users using a browser.
The computer of a user who requests documents from a server is known
as a client.
Browser, which is installed on the user' computer, allows users to view
the retrieved documents.
All the websites are stored in web servers. Just as someone lives on rent
in a house, a website occupies a space in a server and remains stored in it.
The server hosts the website whenever a user requests its Web Pages, and
the website owner has to pay the hosting price for the same.
The moment you open the browser and type a URL in the address bar or
search something on Google, the WWW starts working.
There are three main technologies involved in transferring information
(web pages) from servers to clients (computers of users).
These technologies include
1. Hypertext Markup Language (HTML)
2. Hypertext Transfer Protocol (HTTP) and
3. Web browsers.
1. HTML is a standard markup language which is used for creating web pages.
It describes the structure of web pages through HTML elements or
tags. HTML is used to display text, images, and other resources through a
Web browser.
2. Web Browser: A web browser, which is commonly known as a browser, is a
program that displays text, data, pictures, videos, animation, and more. It
provides a software interface that allows you to click hyperlinked resources on
the World Wide Web.
3. Hyper Text Transfer Protocol (HTTP) is an application layer protocol
which enables WWW to work smoothly and effectively. It is based on a
client-server model. The client is a web browser which communicates with
the web server which hosts the website.
This protocol defines how messages are formatted and transmitted and what
actions the Web Server and browser should take in response to different
commands. When you enter a URL in the browser, an HTTP command is
sent to the Web server, and it transmits the requested Web Page.
HTTP is carried over TCP/IP to communicate with the server. The server
processes the browser's request and sends a response, and then the connection is
closed. Thus, the browser retrieves content from the server for the user