0% found this document useful (0 votes)
4 views43 pages

Module VCCN

The Application Layer of the OSI model facilitates network communication between users and applications, providing services such as file transmission and email. It includes protocols like HTTP, DNS, and FTP, which define communication processes, message types, and interactions. Additionally, the document discusses the DNS hierarchy, domain names, and the structure and functioning of DNS in translating human-readable names into IP addresses.

Uploaded by

Kamalesh .S
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views43 pages

Module VCCN

The Application Layer of the OSI model facilitates network communication between users and applications, providing services such as file transmission and email. It includes protocols like HTTP, DNS, and FTP, which define communication processes, message types, and interactions. Additionally, the document discusses the DNS hierarchy, domain names, and the structure and functioning of DNS in translating human-readable names into IP addresses.

Uploaded by

Kamalesh .S
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

MODULE V

APPLICATION LAYER

Application 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.
Functions of Application Layer
The Application Layer, being topmost layer in OSI model, performs functions required in any kind of
application or communication process. Let's have a look into the functions:
Working of Application Layer
 At first, client sends a command to server and when server receives that command, it allocates
port number to client.
 Thereafter, the client sends an initiation connection request to server and when server receives
request, it gives acknowledgement (ACK) to client through client has successfully established
a connection with the server.
 Therefore, now client has access to server through which it may either ask server to send any
types of files or other documents or it may upload some files or documents on server itself.
Services Provided by Application Layer Protocols
The following are some of the services which are provided by Application layer protocols-
 The Application Layer protocol defines process for both parties which are involved in
communication.
 These protocols define the type of message being sent or received from any side (either
source host or destination host).
 These protocols also define basic syntax of the message being forwarded or retrieved.
 These protocols define the way to send a message and the expected response.
 These protocols also define interaction with the next level.
Read in detail about Services Provided by Application Layer.
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: 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.
 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.
 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.
 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. .
 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).
Name Space
A namespace in computer networks is a structured and logical system used to assign unique
names to resources such as devices, services, or addresses. It helps prevent naming conflicts by
providing a context in which names are defined. Namespaces are essential for scalability,
organization, and efficient resource management in networks. Examples include domain names in
DNS, IP address ranges, and MAC addresses.
Domain Name Space
The DNS name space is the set of all domain names that are registered in the DNS. These
domain names are organized into a tree-like structure, with the top of the tree being the root domain.
Below the root domain, there are a number of top-level domains, such as .com, .net, and .org. Below
the top-level domains, there are second-level domains, and so on. Each domain name in the DNS
name space corresponds to a set of resource records, which contain information about that domain
name, such as its IP address, mail servers, and other information.
The DNS name space is hierarchical, meaning that each domain name can have subdomains beneath
it. For example, the domain name "[Link]" could have subdomains such
as "[Link]" and "[Link]". This allows for a very flexible and scalable naming
structure for the Internet.
The DNS name space is managed by a number of organizations, including the Internet Corporation
for Assigned Names and Numbers (ICANN), which is responsible for coordinating the allocation of
unique domain names and IP addresses.
DNS Namespace Hierarchy
The DNS namespace is organized hierarchically, with the root of the hierarchy at the top. At the root
of the DNS namespace, there are a number of top-level domains (TLDs), such as .com, .net, and .org.
These TLDs are further divided into second-level domains, and so on.
For example, consider the domain name "[Link]". "com" is the top-level domain, and
"example" is the second-level domain. "[Link]" can have subdomains beneath it, such
as "[Link]" and "[Link]". Each subdomain can also have further subdomains
beneath it, forming a tree-like structure.
The DNS namespace is decentralized, meaning that there is no central authority that controls the
entire namespace. Instead, different organizations are responsible for managing different parts of the
namespace. For example, ICANN is responsible for coordinating the allocation of unique domain
names and IP addresses, while individual registrars are responsible for selling domain names to
customers and maintaining records of those domain names in the DNS.
DNS Hierarchy in a Local Domain
In a local domain, the DNS hierarchy can be used to organize the domain's resources and make them
easier to find. For example, a local domain might have a structure like this ?
Root domain: [Link]
Subdomain: [Link]
Subdomain: [Link]
Subdomain: [Link]
In this example, the root domain is "[Link]", and there are three subdomains beneath it:
"[Link]", "[Link]", and "[Link]". Each of these
subdomains can contain resource records that describe the resources within that subdomain.
For example, the "[Link]" subdomain might contain resource records for the domain's
servers, such as their hostnames and IP addresses. The "[Link]" subdomain might
contain resource records for the domain's client computers, and the "[Link]"
subdomain might contain resource records for the domain's printers.
By organizing the resources in a local domain using the DNS hierarchy, it becomes easier for users to
locate and access the resources they need.
DNS Hierarchy and the Internet
The DNS hierarchy is used to organize domain names on the Internet as well. At the top of the
Internet's DNS hierarchy is the root domain, which is represented by a single dot ("."). Below the root
domain, there are a number of top-level domains (TLDs), such as .com, .net, and .org. These TLDs are
further divided into second-level domains, and so on.
For example, consider the domain name "[Link]". "com" is the top-level domain, and
"example" is the second-level domain. "[Link]" can have subdomains beneath it, such
as "[Link]" and "[Link]". Each subdomain can also have further
subdomains beneath it, forming a tree-like structure.
The DNS hierarchy on the Internet is decentralized, meaning that there is no central authority that
controls the entire namespace. Instead, different organizations are responsible for managing different
parts of the namespace. For example, ICANN is responsible for coordinating the allocation of unique
domain names and IP addresses, while individual registrars are responsible for selling domain names
to customers and maintaining records of those domain names in the DNS.
Domain Names
A domain name is a unique name that identifies a website or other resource on the Internet. Domain
names are used to locate and identify resources, such as websites, on the Internet. They are made up
of a series of labels separated by periods (also known as "dots"), and are organized in a hierarchical
manner.
For example, the domain name "[Link]" is made up of two labels: "example" and "com". The
"com" part of the domain name is known as the top-level domain (TLD), while "example" is the
second-level domain. Domain names can also have subdomains, such as "[Link]" or
"[Link]".
Domain names are used in conjunction with the Domain Name System (DNS) to locate resources on
the Internet. When you type a domain name into your web browser's address bar, your computer
contacts a DNS server to translate the domain name into an IP address, which is then used to locate
and access the desired resource.,
Domain names are typically registered through a domain name registrar, which is an organization that
is accredited by ICANN (the Internet Corporation for Assigned Names and Numbers) to sell domain
names to the public. Domain names can be purchased for a fee, and are typically registered for a
period of one to ten years.
Fully-Qualified Domain Names
A fully-qualified domain name (FQDN) is a domain name that specifies the complete path to a
particular domain in the Domain Name System (DNS) hierarchy. An FQDN consists of a series of
labels separated by periods, and includes the top-level domain (TLD) at the end.
For example, the FQDN "[Link]" specifies the domain "www" within the
"[Link]" domain. The FQDN "[Link]" specifies the domain "mail" within the
"[Link]" domain.
In order for a domain name to be fully-qualified, it must include the entire path from the root of the
DNS hierarchy to the specific domain. This means that it must include not only the top-level domain,
but also all intermediate domains and subdomains.
FQDNs are used to uniquely identify a domain within the DNS hierarchy and to locate resources on
the Internet. They are often used in combination with the Domain Name System (DNS) to translate
domain names into IP addresses, which are then used to locate and access the desired resource.
DNS in Internet
Introduction to DNS
The Domain Name System (DNS) is an essential component of the internet infrastructure that
translates human-readable domain names into machine-readable IP addresses. For example, when a
user types "[Link]" into a web browser, the DNS is responsible for locating the IP address
associated with that domain so the browser can connect to the correct server. Without DNS, users
would have to memorize long numerical IP addresses for every website they want to visit.
The main purpose of DNS is to provide a more user-friendly way to access websites and internet
services. It acts like a phonebook for the internet, allowing people to use easily remembered names
instead of complicated numerical addresses. DNS ensures that when someone enters a domain name
into their browser, they are directed to the correct website or online service.
Structure of DNS
The Domain Name System is organized in a hierarchical structure. At the top of this hierarchy is the
**root domain**, which is represented by a dot ("."). Below the root are the **top-level domains
(TLDs)** such as .com, .org, .net, .edu, and country-specific domains like .in (India) and .uk (United
Kingdom). Each TLD is managed by an authoritative registry responsible for maintaining the data of
domains under it.
Below the top-level domains are **second-level domains**, which are typically the names registered
by individuals or organizations, such as "example" in "[Link]." These second-level domains
can further contain **subdomains**, such as "[Link]" or "[Link]." This
hierarchical structure allows for efficient management and resolution of domain names across the
globe.
How DNS Works
When a user tries to access a website by entering its domain name, a process called **DNS
resolution** begins. First, the request goes to a **DNS resolver**, typically operated by the user's
Internet Service Provider (ISP). If the resolver has the IP address cached from a previous request, it
returns it immediately. If not, the resolver queries a **root DNS server**, which directs it to the
appropriate TLD server (such as the .com server).
The TLD server then directs the resolver to the **authoritative name server** for the specific domain,
such as "[Link]." This server holds the exact IP address of the website. Once the IP address is
found, the resolver returns it to the user’s browser, which then uses it to connect to the web server and
display the website.
Types of DNS Servers and Records
There are several types of DNS servers involved in the domain resolution process. These include the
**DNS Resolver (Recursive Resolver)**, **Root Name Server**, **TLD Name Server**, and
**Authoritative Name Server**. Each of these plays a specific role in resolving domain names.
DNS also uses different types of **resource records** to store various kinds of information. Some of
the most common records include:
- **A Record:** Maps a domain name to an IPv4 address.
- **AAAA Record:** Maps a domain name to an IPv6 address.
- **MX Record:** Directs email to a mail server.
- **CNAME Record:** Aliases one name to another.
- **NS Record:** Specifies authoritative name servers for the domain.
These records help in managing web traffic, email routing, and domain management.
Caching and DNS Performance
Caching is a fundamental part of DNS that improves its speed and efficiency. When a DNS resolver
receives a response to a query, it stores the result in its cache for a certain period, defined by the Time-
To-Live (TTL) value. If the same domain is queried again within the TTL period, the resolver can
respond from its cache, reducing response time and network load.
Caching also happens at the browser and operating system level. However, stale cache entries can
cause delays or incorrect routing if a website’s IP address has changed. To mitigate this,
administrators often set appropriate TTL values and clear caches during website migrations or server
changes.
DNS Security and Tools
DNS was not originally designed with strong security features, making it vulnerable to attacks such as
**DNS spoofing** or **cache poisoning**, where attackers provide false DNS responses to redirect
users to malicious sites. To address these issues, a security extension known as **DNSSEC (Domain
Name System Security Extensions)** was introduced. DNSSEC ensures the authenticity and integrity
of DNS responses using digital signatures.
Several tools and commands are available to troubleshoot and monitor DNS. For example, `nslookup`
and `dig` are command-line tools used to query DNS servers and view DNS records. These tools help
system administrators diagnose DNS issues, verify configurations, and track domain resolution paths.
DNS continues to evolve, supporting technologies like Anycast routing for faster global access and
integration with cloud-based DNS management services.
DNS Message Format

DNS allows you to interact with devices on the Internet without having to remember long
strings of numbers. Changing of information between client and server is carried out by two types of
DNS messages:

 Query message
 Response message.
The format is similar for both types of messages. The information is held up in up to five different
sections of DNS message format. The query message is having two sections- header and question
records.
The response message consists of five sections:
 Header
 Question
 Records
 Answer records
 Authoritative records
 Additional records

The above representation is showing the DNS Message format in which some fields are set to 0s for
query messages.
 Identification: The identification field is made up of 16 bits which are used to match the
response with the request sent from the client-side. The matching is carried out by this field as
the server copies the 16-bit value of identification in the response message so the client device
can match the queries with the corresponding response received from the server-side.
 Flags: It is 16 bits and is divided into the following Fields :
Here is the description of each subfield of the Flags field:
 QR (query/response): It is a 1-bit subfield. If its value is 0, the message is of request type
and if its value is 1, the message is of response type.
 opcode: It is a 4-bit subfield that defines the type of query carried by a message. This field
value is repeated in the response. Following is the list of opcode values with a brief
description:
o If the value of the opcode subfield is 0 then it is a standard query.

o The value 1 corresponds to an inverse of query that implies finding the domain name
from the IP Address.
o The value 2 refers to the server status request. The value 3 specifies the status
reserved and therefore not used.
 AA: It is an Authoritative Answer. It is a 1-bit subfield that specifies the server is authoritative
if the value is 1 otherwise it is non-authoritative for a 0 value.
 TC: It is Truncation. This is a 1-bit subfield that specifies if the length of the message
exceeds the allowed length of 512 bytes, the message is truncated when using UDP services.
 RD: It is Recursion Desired. It is a 1-bit subfield that specifies if the value is set to 1 in the
query message then the server needs to answer the query recursively. Its value is copied to the
response message.
 RA: It is Recursion Available. It is a 1-bit subfield that specifies the availability of recursive
response if the value is set to 1 in the response message.
 Zero: It is a 3-bit reserved subfield set to 0.
 rCode: It stands for Response Code. It is a 4-bit subfield used to denote whether the query
was answered successfully or not. If not answered successfully then the status of error is
provided in the response. Following is the list of values with their error status -
o The value 0 of rcode indicates no error.

o A value of 1 indicates that there is a problem with the format specification.

o Value 2 indicates server failure.


o Value 3 refers to the Name Error that implies the name given by the query does not
exist in the domain.
o Value of 4 indicates that the request type is not supported by the server.

o The value 5 refers to the nonexecution of queries by the server due to policy reasons.

 Number of Questions- It is a 16-bit field to specify the count of questions in the Question
Section of the message. It is present in both query and response messages.
 A number of answer RRs- It is a 16-bit field that specifies the count of answer records in the
Answer section of the message. This section has a value of 0 in query messages. The server
answers the query received from the client. It is available only in response messages.
 A number of authority RRs- It is a 16-bit field that gives the count of the resource records in
the Authoritative section of the message. This section has a value of 0 in query messages. It is
available only in response messages. It gives information that comprises domain names about
one or more authoritative servers.
 A number of additional RRs- It is a 16-bit field that holds additional records to keep
additional information to help the resolver. This section has a value of 0 in query messages. It
is available only in response messages.
Remote Logging:
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.

Figure - Remote login

It is implemented using Telnet. Procedure of Remote Login :


1. When the user types something on local computer, then local operating system accepts
character.
2. Local computer does not interpret the characters, it will send them to TELNET client.
3. TELNET client transforms these characters to a universal character set called Network
Virtual Terminal (NVT) characters and it will pass them to the local TCP/IP protocol Stack.
4. Commands or text which is in the form of NVT, travel through Internet and it will arrive at
the TCP/IP stack at remote computer.
5. Characters are then delivered to operating system and which later on passed to TELNET
server.
6. Then TELNET server changes that characters to characters which can be understandable by
remote computer.
7. Remote operating system receives character from a pseudo-terminal driver, which is a piece
of software that pretends that characters are coming from a terminal.
8. Operating system then passes character to the appropriate application program.

Figure - Remote login procedure

NVT Character Set :


 With NVT Character set, TELNET client translates characters into NVT form and deliver to
network.
 TELNET server translates data and commands from NVT form to the other form that will be
understandable by remote computer.
 NVT uses 2 sets of characters, one for data and other for control. Size of both characters is 8-
bit bytes.
 For data, NVT is an 8-bit character set in which 7 lowest bits are same as ASCII and highest
order bit is 0.
 For control characters, NVT uses an 8-bit character set in which the highest bit is set to 1.

Figure - NVT Character Set


Remote Logging
Remote logging is a client-server program that allows user to login to a remote computer. After
logging on, a user can use the services available on the remote computer and transfer the results back
to the local computer.
Telnet
Terminal Network abbreviated as TELNET is a remote logging application. TELNET is a general-
purpose client/server application program which enables the establishment of connection to remote
system in such a way that the local terminal appears to be a terminal at the remote system. It is the
standard TCP/IP protocol for virtual terminal service as proposed by the International Organization
for Standards (ISO).
TELNET uses one TCP connection at port 23. Telnet operates in one of the three modes: default
mode, character mode and line mode. It has command line interface.
Electronic Mail (e-mail)
E-mail is one of the most popular and widely used services on the internet. E-mail is the service that
allows you to send and receive messages on the internet. It can send and receive file attachments,
videos, images etc. There are many popular E-mail service available free of cost like gmail,
yahoomail, Hotmail etc.
Architecture of E-mail system
Generally an email system consists of three mail components:
 User Agent: A user agent is a software program that composes, reads, replies to, and
forwards messages. There are two types of user agents: command-driven and GUI-based.
Command drive user agents are not in use now-a-days. Examples of command-drive agents
are mail, pine, elm. Modern user agents are GUI based. Some of the example of GUI based
user agents are: Microsoft Outlook, Firefox, Netscape etc. To deliver mail, a mail handling
system must use an addressing system with unique addresses. In the Internet, the email
address consists of two parts: a local part and a domain name, separated by an @ sign. For
example, govtexamsprep@[Link] is an email address.
 Message Transfer Agent (MTA): The actual mail transfer is done through message transfer
agents. To send mail, a system must have the client MTA, and to receive mail, a system must
have a server MTA. The formal protocol that defines the MTA client and server in the Internet
is called the Simple Mail Transfer Protocol (SMTP). It pushed the message from client to
server.
 Message Access Agent: The Message Access Agent pulls data from server to client. two
message access protocols are available: Post Office Protocol, version 3 (POP3) and Internet
Mail Access Protocol, version 4 (IMAP4).
File Transfer
Transferring files from one computer to another is one of the most common tasks required from a
networking or internetworking environment. The largest volume of data exchange in the Internet
today is due to file transfer. We will discuss a very popular involved in file transfer i.e. File Transfer
Protocol (FTP).
File Transfer Protocol (FTP)
File Transfer Protocol (FTP) is the standard mechanism provided by TCP/IP for copying a file from
one computer/host to another. It establishes two TCP connections between the hosts. One connection
is used for data transfer, the other for control information (commands and responses). The well-
known port 21 is used for the control connection and the well-known port 20 for the data
connection. The control connection remains connected during the entire interactive FTP session. The
data connection is opened and then closed for each file transferred. It opens each time commands that
involve transferring files are used, and it closes when the file is transferred.

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.
For more details please refer to the Simple Mail Transfer Protocol (SMTP) article.
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.
For more details please refer to the Internet Message Access Protocol (IMAP) article.
MIME(Multipurpose Internet Mail Extension Protocol):
Multipurpose Internet Mail Extension Protocol is an additional email protocol that allows non-ASCII
data to be sent through SMTP. It allows users to send and receive different types of data like audio,
images, videos and other application programs on the Internet. It allows to send multiple attachments
with single message. It allows to send message of unlimited length.
What is SMTP?
SMTP stands for Simple Mail Transfer Protocol, and it is responsible for sending email messages.
This protocol is used by email clients and mail servers to exchange emails between computers.
A mail client and the SMTP server communicate with each other over a connection established
through a particular email port. Both entities are using SMTP commands and replies to process your
outgoing emails. Thanks to the Simple Mail Transfer Protocol, messages can be sent from the same
account on different email applications.
What is POP3?

The POP3 abbreviation stands for Post Office Protocol version 3, which provides access to an inbox
stored in an email server. It executes the download and deletes operations for messages. Thus, when a
POP3 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.
Thanks to this protocol, you are able to access the messages locally in offline mode as well.
Modern POP3 clients allow you to keep a copy of your messages on the server if you explicitly select
this option.
What is 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.
IMAP supports the connection of multiple users to a single mail server.
Default email ports
Email ports are communication endpoints that define how a message should be transmitted. That
includes whether a message should be encrypted and exchanged securely.
To establish a connection between your email client and your mail server, you need the latter’s IP
address and a port number. These attributes are assigned by IANA (Internet Assigned Numbers
Authority).
Each protocol has its own port numbers to connect through and each port supports a different type of
encryption.
SMTP Ports
The available SMTP ports are four and each of them underlies a different type of encryption for email
sending.
 25 – This port serves to send messages in plain text, although if the mail server supports it, it
can be encrypted with TLS. Therefore, many Internet service providers block it, as it
represents a security risk.
 Port 2525 is an alternative to the SMTP port 25 and can be encrypted over TLS.
 587 – This is the port IANA registered as the secure SMTP port, and it requires an explicit
TLS connection. However, if the email server does not support TLS, the message will be sent
in plain text.
 Port 465 works over an implicit SSL connection and if the server does not support it, the
operation will be aborted.
POP3 ports
 Port 110 is the default POP3 port and it is not encrypted.
 The encrypted port for POP3 is 995 and works over TLS/SSL.
IMAP ports
By default IMAP works on two ports like POP3:
 143 – this is the default port which does not provide any encryption.
 Port 993 is the secure port for IMAP and it works over TLS/SSL encryption.
What is the difference between SMTP, POP3, and IMAP?
Incoming vs. outgoing protocols
POP3 and IMAP are handling the incoming emails and they operate in different ways to retrieve or
access your email messages. Thus, they are considered mail access protocols.
On the other hand, the Simple Mail Transfer Protocol is behind the message transfer from server to
server, or mail client to server. As this is the protocol handling the email sending from an email
account, it is labeled as the outgoing protocol.
In short, thanks to IMAP and POP3, you are able to receive emails, and SMTP allows you to send
messages.
IMAP vs. POP3
As we already mentioned, both of these protocols relate to email retrieval. All modern servers support
both protocols, although they function in different manners.
While the POP3 protocol assumes that your email is being accessed only from one application, IMAP
allows simultaneous access by multiple clients. This is why IMAP is more suitable for you, if you’re
going to access your email from different locations or if multiple users manage your messages.
On the other hand, POP3 downloads your emails to your local computer, deleting them from the
server. Thus, it reduces the space your email account uses on your web server.
To sum it up, there are 3 email protocols – SMTP, POP3, and IMAP. Each of them works on specific
port numbers and operates differently. If you are having trouble connecting to an incoming or
outgoing server, try using an alternative port number.

File Transfer
What is a file transfer?
File transfer is the process of transmitting digital files from one computer or system to another over
a network or internet connection. It enables the secure and efficient movement of files between
devices, locations or organizations, facilitating information sharing and collaboration in digital
environments.
File transfer is usually governed by communication protocols, which are sets of rules that define how
information is transmitted between computers in a network. Common protocols used today include
File Transfer Protocol (FTP), Transmission Control Protocol (TCP) and Hypertext Transfer Protocol
(HTTP). These protocols facilitate secure and reliable file transmission and support everything from
simple web browsing to complex data transfers involving sensitive information.
File transfer plays a crucial role in both personal and business contexts. From sending email
attachments to syncing data across cloud storage platforms, file transfer underpins many of our daily
digital interactions.
Modern organizations generate and exchange massive amounts of data—efficient and secure file
transfer capabilities are essential. Enterprises rely on file transfer systems to support critical business
operations, facilitate collaboration among distributed teams and enable seamless integration with
cloud services and third-party applications, among other use cases.
To maintain competitive advantage and operational efficiency, it is vital for businesses of all sizes to
understand and optimize file transfer processes. The right file transfer solutions can significantly
impact an organization's ability to innovate, collaborate and respond to market demands.

Evolution of file transfer


The concept of file transfer has evolved significantly since the early days of computing. Initially, file
transfer meant physically moving punch cards or magnetic tapes between computers. The
development of local area networks (LANs) in the 1970s brought about protocols like FTP (File
Transfer Protocol), enabling remote file sharing within organizations.
The rise of the internet in the 1990s revolutionized file transfer, with email attachments and web-
based file-sharing becoming commonplace. As personal computers became more prevalent, operating
systems such as Windows and Macintosh introduced built-in file sharing capabilities that made it
easier for users to share files across local networks.
Growing security concerns in the 2000s led to the adoption of encrypted protocols such as Secure File
Transfer Protocol (SFTP) and Hypertext Transfer Protocol Secure (HTTPS), providing protection for
sensitive data during transmission. As digital environments became more complex, with growing
volumes of data and stringent regulatory demands, advanced systems such as managed file transfer
(MFT) emerged.
The emergence of cloud computing further revolutionized file transfer, facilitating the synchronization
and sharing of large files across multiple devices. Today file transfer technologies are increasingly
sophisticated and capable of transmitting huge volumes of data across the globe in seconds, supported
by high-speed network protocols and infrastructure such as 5G.
Leading file transfer solutions offer a suite of advanced capabilities beyond basic file movement to
meet modern enterprise needs. These include enhanced security features such as encryption at rest and
in transit, multi-factor authentication (MFA) and centralized access controls.

Advanced workflow automation tools allow for complex, rule-based file routing and processing.
Many solutions offer seamless cloud integration, enabling hybrid cloud and multicloud deployments.
Some solutions even incorporate artificial intelligence for predictive file transfer optimization and
proactive issue resolution.
Newer technologies such as 5G networks and quantum computing are poised to further transform file
transfer capabilities. These advancements aim to keep pace with the ever-expanding data sharing
needs of modern enterprises.
How file transfer works
File transfer operates through a series of interconnected steps that link the sender, the recipient and the
network infrastructure between them. These steps occur over various communication channels, each
playing a crucial role in the transfer of files.
The process begins with a send request. This request can come from a file transfer client, a web
browser or an automated system. Before the transfer can proceed, the sending and receiving systems
often require authentication to verify the identity of the parties that are involved and prevent
unauthorized access to data.
Once authenticated, the sending system prepares the file for transfer. This preparation can involve
compressing the file to reduce its size, encrypting it for security or breaking it into smaller packets for
efficient transmission. The file is then sent over the network by using the chosen file transfer protocol,
such as FTP, SFTP or HTTP. Each protocol has its own set of rules for how data should be formatted
and transmitted.
As the file is transmitted, error-checking mechanisms work to help maintain data integrity. If any part
of the file is corrupted or lost during transfer, it can be resent. The receiving system accepts the
incoming data and reassembles it if necessary.
Often, the received file is checked to make sure that it matches the original, which can involve
comparing file sizes or by using checksums (a fixed-size numeric value that is calculated from a block
of data to detect accidental errors or alterations) and cryptographic hashes (one-way mathematical
functions that generate a distinctive, fixed-length string of characters from input data, promoting both
integrity and authenticity). Once the file is successfully received and verified, the transfer is complete
and the file becomes available for use on the receiving system.
Throughout this process, various factors can influence the speed and reliability of the transfer,
including network bandwidth, file size and the specific protocols and tools used. Modern file transfer
solutions often incorporate additional features such as automation, detailed logging and integration
with other business systems to enhance efficiency and security. These advanced capabilities enable
organizations to manage complex file transfer workflows and maintain compliance with data
protection regulations.
File transfer protocols and technologies
File transfer protocols are essential components of digital communication that provide standardized
methods for transmitting data between systems. These protocols define the rules and procedures for
how files are sent, received and verified across networks. Some of the most common and important
file transfer protocols include:
- File Transfer Protocol (FTP)
- Secure File Transfer Protocol (SFTP)
- Hypertext Transfer Protocol (HTTP)
- Fast and Secure Protocol (FASP)
- Managed File Transfer (MFT)
File Transfer Protocol (FTP)
The File Transfer Protocol (FTP) was developed in the 1970s and is one of the oldest and most widely
recognized protocols in use today. FTP operates on a client/server model, allowing users to upload,
download and manage files on remote endpoints. These endpoints, which are known as FTP clients
and FTP servers, are identified by IP addresses.
However, FTP transmits data in plain text, making it vulnerable to security threats. FTP also presents
many challenges. These include data security gaps, lack of visibility when problems occur and the
need for timely manual recovery from failures. Poor performance can also lead to costly service level
agreement (SLA) fees. Despite these limitations, FTP is still used in scenarios where security is not a
primary concern.
Secure File Transfer Protocol (SFTP)
An enhancement of FTP, SFTP (also known as secure FTP) uses the Secure Shell (SSH) protocol to
provide encrypted file transfers. This makes it ideal for transferring sensitive information in enterprise
settings. However, SFTP can be slower than other protocols due to its encryption load and does not
include built-in support for comprehensive management features such as automation or advanced
reporting.
Hypertext Transfer Protocol (HTTP)
While primarily designed for transferring web pages, HTTP is also commonly used for file transfers,
particularly in web-based applications and cloud storage services. Its secure version, HTTPS, adds a
layer of encryption by using Transport Layer Security (TLS) or Secure Sockets Layer (SSL),
protecting data as it moves between web browsers and servers.
The widespread use of HTTP/HTTPS makes it a versatile choice for many file transfer scenarios,
especially in use-cases involving web technologies.
Fast and Secure Protocol (FASP)
FASP is designed to overcome the inefficiencies of conventional file transfer protocols over long
distances and high-latency networks. Unlike TCP-based solutions, FASP operates on user datagram
protocol (UDP), a connectionless communications protocol for time-sensitive applications. This
allows it to bypass the inherent congestion control and slow-start mechanisms and enables faster data
transmission rates. This protocol is effective for transferring large files such as high-resolution video
and large datasets.
FASP also incorporates strong encryption standards to secure data during transfer, thus preserving
both speed and security. The protocol adjusts to varying network conditions, offering a high-reliability
solution for organizations that need consistent performance across different geographical distances.
Managed File Transfer (MFT)
Managed file transfer (MFT) represents a holistic approach to file transfer. It offers comprehensive
file transfer capabilities while also providing the ability to manage, monitor and safeguard data across
an organization's entire network. MFT solutions are built to handle the complexities of modern data
governance requirements. They provide security features such as end-to-end encryption, secure file
storage and detailed audit trails that help organizations remain in compliance with regulations such as
GDPR, HIPAA or PCI DSS.
MFT systems include workflow automation capabilities that can automate routine data exchanges,
streamline complex data-distribution processes and trigger actions based on events. These features can
help reduce human error and improve operational efficiency. These systems often offer user friendly
interfaces that enable simplified management of file transfers, user permissions and system
configurations.
MFT solutions can also integrate with existing business applications to enhance functionality and data
utilization. This integration capability makes MFT an important tool for enterprises that aim to
optimize their data transfer infrastructure.
Why do file transfer speeds fluctuate?
File transfer speeds can vary significantly due to multiple factors that influence data transmission.
Network bandwidth, which refers to the volume of data that can pass through a network at a specific
moment, is a primary determinant of file transfer speed. However, actual speeds often fluctuate based
on network congestion and server load. Data that travels longer distances encounters more potential
bottlenecks and must cover a greater physical path.
File-size and type also affect transfer time. Large files and certain formats require more time for
transmission. The choice of transfer protocols can influence speed, with some prioritizing security
over transfer rate. Local system resources, firewalls and other security measures can introduce delays.
Internet service provider (ISP) policies, including data caps and throttling, can cause speed variations.
Organizations can optimize file transfer processes by considering these factors and selecting
appropriate file transfer solutions. Understanding these variables helps set realistic expectations for
file transfer performance in various scenarios, whether dealing with small files or managing large-
scale data transfers in enterprise environments.
Importance of enterprise file transfer
Several key factors drive the increasing need for effective file transfer solutions in the enterprise
context:
Data explosion
Digital transformation initiatives, IoT devices and big data analytics fuel the exponential growth of
data volumes, creating an urgent need for efficient data movement. Enterprises now generate and
process more data than ever before, which demands advanced file transfer systems that can handle
large volumes and diverse types of data.
Globalization and remote work
With businesses operating globally and the rise of remote work, there's an increased need for seamless
file sharing across geographical boundaries. This distributed nature of work demands file transfer
solutions that are not only fast and reliable but also secure and accessible from anywhere.
Regulatory compliance
Stringent data protection regulations like GDPR, HIPAA and CCPA now pressure organizations to
maintain data security and privacy during transfers. This pressure increases demand for file transfer
solutions that offer advanced security features and comprehensive audit trails.
Enterprise file transfer challenges
Enterprises face several challenges in implementing effective file transfer systems, including:
Legacy system integration
Many organizations struggle to integrate modern file transfer solutions with their existing legacy
systems, leading to inefficiencies and potential security gaps
Scalability issues
As data volumes grow, businesses find it challenging to scale their file transfer infrastructure to meet
increasing demands without compromising on speed or security. Pricing models for enterprise-grade
file transfer systems can vary widely, from perpetual licenses to subscription-based services. This
variety adds complexity to the decision-making process and potentially impacts an organization’s
ability to scale cost-effectively.
Security threats
The rising sophistication of cyberthreats pose a constant challenge to organizations, especially when
dealing with sensitive data. Organizations must maintain data privacy and prevent data loss during file
transfers, comply with various data protection regulations and safeguard against unauthorized access
or data breaches. This dual focus on security and privacy is critical, particularly when handling
confidential or regulated information.

World Wide Web (WWW)


What is World Wide Web (WWW, W3)?
The World Wide Web -- also known as the web, WWW or W3 -- refers to all the public websites or
pages that users can access on their local computers and other devices through the internet. These
pages and documents are interconnected by means of hyperlinks that users click on for information.
This information can be in different formats, including text, images, audio and video.
The term World Wide Web isn't synonymous with the internet. Rather, the World Wide Web is part of
the internet.
How does the World Wide Web work?
Paving the way for an internet revolution that has transformed the world in only three decades, the
World Wide Web consists of multiple components that enable users to access various resources,
documents and web pages on the internet. Thus, the WWW is like a vast electronic book whose pages
are stored or hosted on different servers worldwide.
These pages are the primary component or building blocks of the WWW and are linked through
hyperlinks, which provide access from one specific spot in a hypertext or hypermedia document to
another spot within that document or a different one. Hyperlinks are another defining concept of the
WWW and provide its identity as a collection of interconnected documents.
Hypertext is a method for instant information cross-referencing that supports communications on the
web. Hypertext makes it easy to link content on one web page to content on another web page or site.
Hypertext and HTTP enable people to access the millions of websites active on the WWW.

The Hypertext Transfer Protocol (HTTP) is another key component of the WWW. It enables users to
access web pages by standardizing communications and data transfer between the internet's servers
and clients.
Most web documents and pages are created using Hypertext Markup Language (HTML), a text-based
way of describing how content within an HTML file is structured. HTML describes the structure of
web pages using elements or tags and displays the content of these pages through a web browser.
To access one of these pages, a user and their client machine supply a universal identifier to the web
server via a browser. This identifier may be a uniform resource locator (URL) or uniform resource
identifier (URI) and is unique to each web page.
A collection of web pages belonging to a URL is called a website. For
example, [Link] is a website,
while [Link] is a web page.
The browser accepts the URL or URI provided by the user and communicates it to the web server. The
server then retrieves the web page associated with that URL or URI and presents it to the user in the
browser window of their client machine.

History of the World Wide Web


British physicist Tim Berners-Lee invented the World Wide Web. Along with colleagues at Geneva-
based CERN -- the European Organization for Nuclear Research -- Berners-Lee had been working on
the concept since 1989. Their goal was to combine available technologies and data networks to create
a user-friendly system for global communication and information sharing. At the time, they began
work on the first WWW server, which they called httpd. They also dubbed the first client WWW.
Originally, WWW was a what you see is what you get (WYSIWYG) hypertext browser/editor that ran
in the NextStep environment. In 1990, Berners-Lee demonstrated the first web server and browser at
CERN to explain his idea of a World Wide Web. The web then entered the public eye in 1991 when
Berners-Lee, who also developed hypertext, announced his creation on the [Link] newsgroup; at
the same time, he created the world's first web page with the
address [Link]
This page, which remains operational as of 2022, includes information and links about the WWW
project and web servers. In 1993, CERN made the W3 technology publicly available on a royalty-free
basis.
Web browser evolution and the growth of the World Wide Web
Berners-Lee and his team developed a text-based web browser that was released in early 1992.
However, it took the release of the more user-friendly Mosaic browser in 1993 to kickstart the rapid
acceptance and adoption of the WWW. Mosaic provided a point-and-click graphical interface that
people had been using in personal computers for a few years. This familiarity increased public interest
in WWW and led to its rapid growth all over the world.
Entrepreneur and software engineer Marc Andreessen and others developed Mosaic in the United
States. They also developed the Netscape Navigator browser that quickly became the dominant
browser in 1994, until it was displaced by Microsoft's Internet Explorer in 1995. IE dominated the
web browser space until it was challenged by browsers like Mozilla Firefox -- released in 2004 -- and
Google Chrome -- released in 2008. In 2015, Microsoft discontinued IE and replaced it with the
Microsoft Edge browser.

The Internet
Explorer browser -- available on Windows from 1995-2015 -- was replaced by Microsoft Edge on
Windows 10.
After inventing the web, Tim Berners-Lee also founded the World Wide Web Consortium (W3C), a
nonprofit international consortium that aims to standardize the web through specifications and
reference software.
World Wide Web versus the internet
The web is often confused with the internet even though they're different. While the two are
intricately connected, the web is just one of many applications built on top of the internet, a vast,
global network of multiple smaller networks. The internet incorporates supporting infrastructure and
other technologies that connect networks, websites and users to each other. In contrast, the web is a
communications model or platform that enables the retrieval or exchange of information over the
internet through HTTP. Through the WWW, users can access web pages over the internet by
following a series of HTTP links. To retrieve and view these pages, users need to use a browser
installed on the computer, such as Microsoft Edge, Google Chrome or Mozilla Firefox.
Both the internet and the web operate within a client-server model. A server is a program that accepts
requests from other computers, known as clients, on the network to store and transmit documents.
Clients request documents from a server when a user asks for them and then displays them on the
user's screen.
The world's first web server went online in 1991 in the U.S. By the end of the year, there were only 10
web servers around the world. Two years later, there were 500 operational web servers; by 2016, the
number of web servers had grown to more than 100 million.
Since the release of CERN's first web browser, the WWW has evolved into a massive ecosystem of
websites and users. As of 2022, approximately 5 billion people -- or 63% of the world's population --
use the web, which is believed to contain approximately 1.88 billion websites.

Client
devices communicate with servers to access web pages using HTTP.
What will Web 3.0 look like compared to Web 1.0 and 2.0?
The World Wide Web continues to evolve. The first generation of the Web, Web 1.0, which Berners-
Lee originally defined in 1989, had no video content and a page format similar to that of a printed
page. Web 1.0 was primarily static and focused on providing information.
Around the beginning of the 21st century, Web 2.0 ushered in a new era that was more interactive and
dynamic than its predecessor and focused on user collaboration, universal network connectivity and
communications channels. As smartphones, mobile internet access and social networks spurred the
growth of Web 2.0, applications -- such as Airbnb, TikTok, Twitter and Uber -- which increased online
interactivity and utility, became increasingly popular.
With a lofty goal of creating more intelligent, connected and open websites, Web 3.0 is still in its
infancy and has yet to be defined fully. Unlike Web 2.0, which includes applications and websites that
entail user-generated content, Web 3.0 is expected to be fully decentralized; this places content
creation in the hands of the creators rather than platform owners.
The World Wide Web has transformed considerably over the years.
Smarter and more autonomous technology, including artificial intelligence and machine learning, are
expected to define Web 3.0. Encrypted digital currencies like Bitcoin and Ethereum may be used to
pay for transactions. As peer-to-peer technologies, such as blockchain, and security technologies
become more important, Web 3.0 is expected to gain moment.
Web Document:
Web document is a web based document which opens with a browser whether connected to
network or not. Owner of the document can change and modify that document any time.
There are three types of web documents.
 Static
 Dynamic
 Active
Static Web Document
They are fixed content documents created and stored in server. Client gets only copy of the document.
The contents of the files are determined when created and not when it is used.
Dynamic Web Document
Dynamic web documents are created by server only when browser request document. When request
arrive, server run the application program that create dynamic document and return output as response
to browser. So contents of dynamic document can vary from one request to another. Two ways to
create dynamic documents are,
 Common Gateway Interface – A technology that create/handles dynamic [Link] is a set
of standards that defines how dynamic documents can be created. How datas can be input to
program. How output is used.
 Scripting Technologies like PHP,JSP,ASP…etc embedded in HTML page.
Active Web Document
These are the program runs at the client side. When the browser request for active documents ,server
send copy of document or script and document is then run on client site. Active documents are created
in two ways,
 Java Applets – programs written in java on the server are compiled and ready to [Link]
create instance of this applet and runs it.
 Javascript is interpreted and run by the client at the same time.

Static Dynamic Active

The program or s
Fixed content documents. Created by server when browser request document.
the client side

server run the application program/script that create Server send copy
Created and stored in server.
dynamic document. or script to browse

Document is th
Client gets only copy of the Document Fresh document is created for each request.
client site.

Contents of the files are determined when Contents of dynamic document can vary from one Created in tw
created and not when it is used. request to another. Java Applets & Ja

Two ways to create dynamic documents:


User cannot change document. Common Gateway
Interface & ScriptingTechnologies

Common Gateway Interface(CGI)


It is a server side program launched by a web server to generate a dynamic document. It receives
encoded information from remote client (user’s browser) via STDIN and environment variables and it
must produce a valid HTTP header and body on STDOUT. CGI is a protocol between web server and
a seperate program. Server encodes the clients form input data -> CGI program -> decodes the form
and generates [Link] programs that obey CGI are shell ,C ,C++ ,python ,perl..etc.
Writing CGI Script
 User enters data in form.
 User presses submit button.
 Data sent to web server with URL or CGI.
 Server starts a CGI and passes data.
 CGI processes data and generate HTML page.
CGI Interaction Process
 Read the data.
 Process data
 Output a html response header.
 Generate a document.
CGI scripts are mainly in two ways – HTTP GET & HTTP POST

HTTP GET HTTP POST

Stores data in URL. Sends form data seperate from request.

Bookmarked for canned requests. But cannot be bookmarked.

But has limitations on total size of data requested. No size limitations.

Can be cached. Cannot be cached.

HTTP
HTTP is the primary method through which web browsers and servers communicate to share
information on the internet. It was invented by Tim Berners-Lee. HyperText refers to text that is
specially coded using a standard coding language called HyperText Markup Language (HTML).
HTTP/2 is the updated version of HTTP, while HTTP/3 is the latest version, which was published in
2022.
In this article, we will discuss the Full form of HTTP along with its working, advantages, and
disadvantages.
What is the Full Form of HTTP?
HTTP stands for "Hypertext Transfer Protocol." It is a set of rules for sharing data on the World Wide
Web (WWW). When you visit a website, HTTP helps your browser request and receive the data
needed to display the web pages you see. It is a fundamental part of how the internet works, making it
possible for us to browse and interact with websites.
 Basic Structure: HTTP forms the foundation of the web, enabling data communication and
file sharing.
 Web Browsing: Most websites use HTTP, so when you click on a link or download a file,
HTTP is at work.
 Client-Server Model: HTTP works on a request-response system. Your browser (client) asks
for information, and the website's server responds with the data.
 Application Layer Protocol: HTTP operates within the Internet Protocol Suite, managing how
data is transmitted and received.
What is HyperText?
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 [HyperText Transfer Protocol]
First of all, whenever we want to open any website, we 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 checks records for this URL in their database, and then DNS will
return the IP address to the web browser corresponding to this URL. Now, the browser can send
requests to the actual server.

After the server sends data to the client, the connection will be closed. If we want something else from
the server, we should have to re-establish the connection between the client and the server.

Working off HTTPs


What is an HTTP Request?
HTTP request is simply termed as the information or data that is needed by Internet browsers for
loading a website. This is simply known as HTTP Request.
There is some common information that is generally present in all HTTP requests. These are
mentioned below.
 HTTP Version
 URL
 HTTP Method
 HTTP Request Headers
 HTTP Body
HTTP Request Headers
HTTP Request Headers generally store information in the form of key-value pairs and must be present
in each HTTP Request. The use of this Request Header is to provide core information about the
client's information, etc.
HTTP Request Body
HTTP Request Body simply contains the information that has to be transferred. HTTP Request has the
information or data to be sent to these browsers.
HTTP Method
HTTP Methods are simply HTTP Verbs. In spite of being presentin so many HTTP Methods, the most
common HTTP Methods are HTTP GET and HTTP POST. These two are generally used in HTTP
cases. In HTTP GET, the information is received in the form of a website.
What is HTTP Response?
HTTP Response is simply the answer to what a Server gets when the request is raised. There are
various things contained in the HTTP Response, some of them are listed below.
 HTTP Status Code
 HTTP Headers
 HTTP Body
HTTP Response
HTTP Response Headers
HTTP Response headers are simply like an HTTP Request where it has that work to send some
important files and data to the HTTP Response Body.
HTTP Response Body
HTTP Responses are the responses that are received successfully upon the request. Generally, it
comes under the requests generated by the web. In most cases, the request is to transfer the HTML
data into a webpage.
What is an HTTP Status Code?
HTTP Status Codes are the 3-digit codes that tell the message or simply tell us about the HTTP
Request whether it has been completed or not. There are simply 5 types of status codes.
 Informational
 Successful
 Re-directional
 Client-Error
 Server-Error
History of HTTP
Tim Berners-Lee and his team at CERN get credit for inventing the original HTTP and associated
technologies.
 HTTP version 0.9: This was the first version of HTTP, which was introduced in 1991.
 HTTP version 1.0: In 1996, RFC 1945 (Request For Comments) was introduced in HTTP
version 1.0.
 HTTP version 1.1: In January 1997, RFC 2068 was introduced in HTTP version 1.1.
Improvements and updates to the HTTP version 1.1 standard were released under RFC 2616
in June 1999.
 HTTP version 2.0: The HTTP version 2.0 specification was published as RFC 7540 on May
14, 2015.
 HTTP version 3.0: HTTP version 3.0 is based on the previous RFC draft. It is renamed as
Hyper-Text Transfer Protocol QUIC which is a transport layer network protocol developed by
Google.
Characteristics of HTTP
HTTP is an IP-based communication protocol that is used to deliver data from server to client or vice
versa.
 The server processes a request, which is raised by the client, and als, theo server and client
know each other only during the current bid and response period.
 Any type of content can be exchanged as long as the server and client are compatible with it.
 Once data is exchanged, servers and clients are no longer connected.
 It is a request and response protocol based on client and server requirements.
 It is a connection-less protocol because after the connection is closed, the server does not
remember anything about the client,t and the client does not remember anything about the
server.
 It is a stateless protocol because both client and server do not expect anything from each
other,r but they are still able to communicate.
Cookies in HTTP
An HTTP cookie (web cookie, browser cookie) is a little piece of data that a server transmits to a
user's web browser. When making subsequent queries, the browser may keep the cookie and transmit
it back to the same server. An HTTP cookie is typically used, for example, to maintain a user's login
state and to determine whether two requests originate from the same [Link] stateless HTTP
protocol, retains stateful information.
HTTP status code
Three-digit codes, known as HTTP status codes, are most frequently used to show if an HTTP request
has been fulfilled successfully. The five blocks below represent the breakdown of status codes:
 1x Informative
 2xx Achievement
 3xx Reorientation
 4xx Client Mistake
 5xx Error on the Server
Different numbers between 00 and 99 are denoted by the "xx". Status codes that begin with "2" denote
a successful outcome. For instance, the most typical answers sent after a client requests a webpage
have a status code of "200 OK," which denotes that the request was successfully fulfilled.
Can DDoS attacks be launched over HTTP?
Remember that because HTTP is a "stateless" protocol, every command executed over it operates
independently of every other operation. Each HTTP request opened and terminated a TCP connection
according to the original specification. Multiple HTTP requests can now flow over a persistent TCP
connection in HTTP 1.1 and later versions of the protocol, which improves resource use. Large-scale
HTTP requests are regarded as application layer or layer 7 attacks in the context of DoS or
DDoS attacks, and they can be used to mount an attack on a target device.
Advantages of HTTP
 Memory usage and CPU usage are low because of fewer simultaneous connections.
 Since there are few TCP connections, network congestion is less.
 Since handshaking is done at the initial connection stage, latency is reduced because there is
no further need for handshaking for subsequent requests.
 The error can be reported without closing the connection.
 HTTP allows HTTP pipe-lining of requests or responses.
Disadvantages of HTTP
 HTTP requires high power to establish communication and transfer data.
 HTTP is less secure because it does not use any encryption method like HTTPS and
uses TLS to encrypt regular HTTP requests and responses.
 HTTP is not optimized for cellular phones, and it is too gabby.
 HTTP does not offer a genuine exchange of data because it is less secure.
 The client does not close the connection until it receives complete data from the server;
hence, the server needs to wait for data completion and cannot be available for other clients
during this time.
Conclusion
In summary, HTTP stands for "Hypertext Transfer Protocol" and is essential for web communication.
It enables your browser to request and receive information from websites, making online browsing
possible. HTTP is the basic method used by web browsers and servers to communicate and share
information on the internet, making it possible for us to browse and interact with websites.
Network Management System
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.
Simple Network Management Protocol (SNMP)

Simple Network Management Protocol (SNMP) is a widely used protocol for network
management that provides a standardized framework for monitoring and managing network devices
such as routers, switches, servers, printers,firewalls, and load balancer. It operates within the
application layer of the Internet protocol suite and allows network administrators to manage
network performance, find and solve network problems, and plan for network [Link] this article
we will see SNMP protocol in detail.

What is Simple Network Management Protocol (SNMP)?


Simple Network Management Protocol (SNMP) is an Internet Standard protocol used for managing
and monitoring network-connected devices in IP networks. SNMP is an application layer protocol that
uses UDP port number 161/162. SNMP is used to monitor the network, detect network faults, and
sometimes even to configure remote devices.
Architecture of SNMP
There are mainly three main components in SNMP architecture:
 SNMP Manager: It is a centralized system used to monitor the network. It is also known as a
Network Management Station (NMS). A router that runs the SNMP server program is called
an agent, while a host that runs the SNMP client program is called a manager.
 SNMP agent: It is a software management software module installed on a managed
device. The manager accesses the values stored in the database, whereas the agent maintains
the information in the database. To ascertain if the router is congested or not, for instance, a
manager can examine the relevant variables that a router stores, such as the quantity of
packets received and transmitted.
 Management Information Base:MIB consists of information on resources that are to be
managed. This information is organized hierarchically. It consists of objects instances which
are essentially variables. A MIB, or collection of all the objects under management by the
manager, is unique to each agent. System, interface, address translation, IP, UDP , and
EGP , ICMP , TCP are the eight categories that make up MIB. The MIB object is home to
these groups.
SNMP Messages
 GetRequest : It is simply used to retrieve data from SNMP agents. In response to this, the
SNMP agent responds with the requested value through a response message.
 GetNextRequest : To get the value of a variable, the manager sends the agent the
GetNextRequest message. The values of the entries in a table are retrieved using this kind of
communication. The manager won't be able to access the values if it doesn't know the entries'
indices. The GetNextRequest message is used to define an object in certain circumstances.
 SetRequest : It is used by the SNMP manager to set the value of an object instance on the
SNMP agent.
 Response : When sent in response to the Set message, it will contain the newly set value as
confirmation that the value has been set.
 Trap : These are the message sent by the agent without being requested by the manager. It is
sent when a fault has occurred.
 InformRequest : It was added to SNMPv2c and is used to determine if the manager has
received the trap message or not. It is the same as a trap but adds an acknowledgement that
the trap doesn't provide.
SNMP Security Levels
 noAuthNoPriv: This (no authentication, no privacy) security level uses a community string
for authentication and no encryption for privacy.
 authNopriv: This security level ( authentication , no privacy) uses HMAC with Md5 for
authentication and no encryption is used for privacy.
 authPriv: This security level (authentication, privacy) uses HMAC with MD5 or SHA for
authentication and encryption uses the DES-56 algorithm.
Versions of SNMP
 SNMPv1: It uses community strings for authentication and uses UDP only. SNMPv1 is the
first version of the protocol. It is described in RFCs 1155 and 1157 and is simple to set up.
 SNMPv2c: It uses community strings for authentication. It uses UDP but can be configured
to use TCP. Improved MIB structure elements, transport mappings, and protocol packet types
are all included in this updated version. However, it also makes use of the current
"community-based" SNMPv1 administrative structure, which is why the version is called
SNMPv2c. RFC 1901, RFC 1905, and RFC 1906 all describe it.
 SNMPv3: It uses Hash-based MAC with MD5 or SHA for authentication and DES-56 for
privacy. This version uses TCP. Therefore, the conclusion is the higher the version of SNMP,
the more secure it will be. NMPv3 provides the remote configuration of SNMP entities. This
is the most secure version to date because it also includes authentication and encryption,
which may be used alone or in combination. RFC 1905, RFC 1906, RFC 2571, RFC 2572,
RFC 2574, and RFC 2575.6 are the RFCs for SNMPv3.
Characteristics of SNMP
 SNMP is used to monitor network.
 It detects any network faults.
 It can also be used to configure remote devices.
 It allows a standardized way of collecting information about all kinds of devices from various
manufacturers among the networking industry.
Advantages of SNMP
 It is easy to implement.
 Agents are widely implemented.
 Agent level overhead is minimal.
 It is robust and extensible.
 Polling approach is good forLAN based managed object.
 It offers the best direct manager agent interface.
Limitation of SNMP
 It does not scale well.
 There is no object-oriented data view.
 It has no standard control definition.
 It has many implementations specific (private MIB) extensions.
 It has high communication overhead due to polling
Conclusion
The Simple Network Management Protocol (SNMP) is an important protocol for managing and
monitoring network-connected devices in IP networks. It enables administrators to effectively monitor
network performance, discover and address errors, and configure remote devices. While SNMP's
simplicity and popularity provide significant advantages, it also has drawbacks, such as scalability
concerns and high communication costs. Despite its drawbacks, SNMP remains an important in
network management.

Real-time Transport Control Protocol (RTCP)

Real-time Transport Protocol (RTP) allows only that type of message, which carries data
from the source to the destination. But in some cases, we need some other type of message in a
session. The messages can control the transmission and quality of data as well as also allow the
recipients to they can send feedback to the source or sources. A protocol designed for this purpose is
known as Real-time Transport Control Protocol (RTCP).

RTCP and RTP


RTCP (Real-Time Transport Control Protocol) and RTP (Real-Time Protocol) are closely related
network protocol standards used for managing media streams over IP networks, particularly in
streaming media systems and video conferencing applications. Both protocols are typically used
together, with RTP carrying the media streams and RTCP monitoring transmission statistics and
quality of service, providing necessary feedback to maintain the performance and quality of the
streaming experience. They do not provide any encryption or authentication themselves, but they can
be used in conjunction with security protocols such as SRTP (Secure RTP) to enhance privacy and
data integrity in sensitive applications.
RTCP (Real-Time Transport Control Protocol)
 RTCP works in conjunction with RTP to provide control services for media streaming by
offering feedback on the quality of service being provided.
 RTCP collects and sends control data to participants in a streaming media session, with the
primary function of providing feedback on the quality of the data distribution.
 This protocol is used to monitor transmission statistics and quality of service and aids
in controlling congestion.
 RTCP provides a standard way to carry statistical and control data, such as sender or receiver
reports that describe the quality of service, bandwidth, media characteristics, and network
delay.
RTP (Real-Time Protocol)
 RTP is used primarily for delivering audio and video over IP networks.
 It enables the transmission of data in real-time, making it crucial for applications such as
video conferencing, streaming media, and telephony.
 RTP does not provide any mechanism for guaranteeing timely delivery or quality of service,
as it operates over UDP (User Datagram Protocol), which is connectionless and does not
guarantee delivery.
 RTP packets contain sequence numbers and timestamp information to allow the receiver to
reconstruct the timing and sequence of the incoming media stream.
Working of RTCP
Real-Time Transport Control Protocol
The above diagram shows the flow structure of RTP and RTCP protocols. RTCP has five types of
messages that are given below:
 Sender Report (SR): The sender report is sent after a fixed interval by the active sender in a
conference to report transmission as well as statistics of reception for all RTP packets
transmitted during the period. The report sent by the sender contains the detail of absolute
time-stamp, that is the number of seconds elapsed since midnight on January 1, 1970. After
receiving the RTP messages from the receiver, these details of absolute timestamps help the
receiver in the synchronization process. This is very important in audio-video transmission for
finding the relative timestamp.
 Receiver Report (RR): Passive participants are those participants that do not send RTP
packets, and for them the Receiver report is used. This report is used to informs the sender
and other receivers about the quality of service.
 Source Description Message (SDES): The source sends a source description message within
a fixed interval to give some extra information about itself. It contains the details about the
name of the source, its mail ID, contact number or source controller.
 Bye Message (BYE): To shut down a stream, a source sends a type of message which is
known as Bye message. It is used by the source to announcing for leaving the conference.
This message is a direct announcement for other sources about the absence of a source. It can
be used for combining different media file.
 Application-Specific Message (APP): If we want to make our application extensible then
RTCP allows application-specific RTCP packets which is introduced by RTC 3611. It can be
used to extend the type of application.
History of RTCP
The Real-time Transport Control Protocol (RTCP) was initially developed as part of the RTP
specification in RFC 1889 by the Audio-Video Transport Working Group of the Internet Engineering
Task Force (IETF) in January 1996. This foundational standard was revised with RFC 3550 in 2003,
which addressed protocol scalability, enhanced security, and provided more detailed mechanisms for
reporting and congestion control.
RTCP, alongside RTP, has been essential for the standardized transmission of audio and video over
the internet, particularly for applications like streaming media and interactive communications. Its
development reflects its crucial role in multimedia transmissions across various network types, from
small-scale media streaming to large-scale broadcasts and conferencing systems. RTCP helps in
adjusting the flow of data and reports on network characteristics like packet loss, delay, and jitter,
enhancing the overall quality of multimedia communications.
Conclusion
Real-time Transport Control Protocol (RTCP) is a fundamental component of modern multimedia
streaming technologies, working in tandem with RTP to ensure the effective delivery of audio and
video content over IP networks. By using a variety of packet types, such as Sender Reports, Receiver
Reports, Source Description, Bye, and Application-Defined packets, RTCP provides critical feedback
and control mechanisms that help manage network conditions and participant interactions. As
streaming media continues to evolve and demand for real-time communication grows, the role of
RTCP in maintaining high-quality, synchronized multimedia experiences remains crucial, ensuring
that users enjoy reliable and seamless media consumption and interaction.
Multimedia in Computer Networks
Definition:
Multimedia refers to content that uses a combination of different content forms such as text, audio,
images, animation, video, and interactive content.
Components of Multimedia:
 Text
 Images
 Audio
 Video
 Animation
Relevance in Networking:
 Multimedia applications (e.g., YouTube, Skype, Zoom) require transmission of time-sensitive
data over networks.
 These applications are bandwidth-intensive and need QoS (Quality of Service).
Multimedia Categories in Networks:
 Streaming stored audio/video: e.g., YouTube
 Streaming live audio/video: e.g., Live webinars
 Real-time interactive audio/video: e.g., VoIP, video conferencing
Digitizing Audio and Video
1. Digitizing Audio
Audio signals are analog by nature. To transmit over a digital network, they must be digitized.
Steps in Digitizing Audio:
 Sampling: Taking samples of the audio signal at regular intervals (e.g., 8,000 samples/sec for
telephone-quality audio).
 Quantization: Mapping samples to a finite set of values.
 Encoding: Representing quantized values in binary form.
Common Audio Codecs:
 PCM (Pulse Code Modulation)
 MP3
 AAC
2. Digitizing Video
Video is a sequence of images (frames) shown rapidly.
Steps:
 Frame Capture: Capturing images at a set frame rate (e.g., 30 fps).
 Compression: Reducing size using techniques like:
o Spatial compression (within frames)

o Temporal compression (between frames)

Common Video Codecs:


 H.264/AVC
 MPEG-4
 VP9

📺 Streaming Stored Audio and Video


Definition:
Streaming is the process of sending multimedia content over the network in real time so that
playback can begin before the entire file is received.
Characteristics:
 Content is pre-recorded.
 Played back while still being downloaded.
 Stored in a buffer before playing.
Key Concepts:
 Buffering: Temporary storage to compensate for network jitter.
 Latency: Delay between request and playback.
 Jitter: Variability in packet arrival times.
Streaming Protocols:
 HTTP Streaming: Used by YouTube, Netflix.
 RTSP (Real-Time Streaming Protocol): Controls streaming media servers.
 DASH (Dynamic Adaptive Streaming over HTTP): Adjusts quality based on network
conditions.
Challenges:
 Network congestion
 Packet loss
 Need for adaptive bitrate

☎️Voice Over IP (VoIP)


Definition:
VoIP is a technology that allows voice communication over Internet Protocol (IP) networks
instead of traditional PSTN (Public Switched Telephone Network).
VoIP Process:
1. Analog voice is digitized.
2. Compression and packetization of voice data.
3. Transmission over IP networks.
4. Reception, decompression, and conversion back to analog audio.
VoIP Protocol Stack:
 Signaling Protocols: Setup, control, and teardown of calls.
o SIP (Session Initiation Protocol)

o H.323

 Transport Protocols:
o RTP (Real-time Transport Protocol): Carries media streams.

o RTCP (RTP Control Protocol): Provides QoS feedback.

Benefits:
 Low cost
 Integration with other IP services
 Scalability
Issues:
 Voice Quality (affected by jitter, delay, packet loss)
 Security (susceptible to eavesdropping)
 Emergency services compatibility

You might also like