1. 1
SECA1604 - Computer Networks
UNIT 5 TRANSPORT LAYER AND APPLICATION LAYER
The transport layer - service provided to the upper layer -
Elements of transport protocols - Addressing – connection establishment
- connection release - UDP–TCP.
Application Layer-Introduction, Providing services, Applications
layer paradigms, Client server model, Standard client-server application,
E mail - The user agent - Message transfer agent - SMTP - Message access
agent: POP and IMAP - File Transfer Protocol - HTTP - SNMP - VOIP.
Dr.A.Sahaya Anselin Nisha
Associate Prof / ECE
2. 2
TRANSPORT LAYER
The transport layer is a 4th
layer from the top.
The transport layer provides a logical communication between application
processes running on different hosts.
Although the application processes on different hosts are not physically connected,
application processes use the logical communication provided by the transport
layer to send the messages to each other.
The transport layer protocols are implemented in the end systems but not in the
network routers.
Each of the applications in the application layer has the ability to send a message
by using TCP or UDP. The application communicates by using either of these two
protocols.
Both TCP and UDP will then communicate with the internet protocol in the internet
layer.
The applications can read and write to the transport layer. Therefore, we can say
that communication is a two-way process.
3. 3
Services provided by the Transport Layer
The ultimate goal of the transport layer is to provide efficient, reliable, and cost-
effective data transmission service to its users, normally processes in the application
layer.
To achieve this, the transport layer makes use of the services pro-vided by the
network layer.
The software and/or hardware within the transport layer that does the work is called
the transport entity.
The transport entity can be located in the operating system kernel, in a library
package bound into network applications, in a separate user process, or even on the
network interface card.
Fig: The network, Application and transport layer
4. 4
Elements of Transport Layers
1. Addressing 2. Connection Establishment 3. Connection Release
4. Flow control and Buffering 5. Multiplexing
1. ADDRESSING
When an application (e.g., a user) process
wishes to set up a connection to a remote
application process, it must specify which
one to connect to.
The method normally used is to define
transport addresses to which processes can
listen for connection requests.
In the Internet, these endpoints are called
ports.
There are two types of access points.
TSAP (Transport Service Access Point) to
mean a specific endpoint in the
transport layer.
The analogous endpoints in the
network layer (i.e., network layer
addresses) are not surprisingly called
NSAPs (Network Service Access Points).
IP addresses are examples of NSAPs.
5. 5
2. CONNECTION ESTABLISHMENT:
With packet lifetimes bounded, it is possible to devise to establish connections
safely. Packet lifetime can be bounded to a known maximum using one of the
following techniques:
Restricted subnet design - includes any method that prevents packets from
looping, combined with some way of bounding delay including congestion
over the longest possible path. It is difficult, given that internets may range
from a single city to international in scope
Putting a hop counter in each packet - consists of having the hop count
initialized to some appropriate value and decremented each time the packet
is forwarded. The network protocol simply discards any packet whose hop
counter becomes zero.
Time stamping in each packet - requires each packet to bear the time it was
created, with the routers agreeing to discard any packet older than some
agreed-upon time.
Using a 3-way hand shake, a connection can be established.
This establishment protocol doesn’t require both sides to begin sending with the
same sequence number.
6. 6
Fig : Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNEC TION
REQUEST (a) Normal operation. (b) Old duplicate CONNECTION REQUEST appearing out of nowhere. (c) Duplicate
CONNECTION REQUEST and duplicate ACK .
In fig (A) Tomlinson (1975) introduced the three-way handshake.
This establishment protocol involves one peer checking with the other that the
connection request is indeed current.
Host 1 chooses a sequence number, x and sends a CONNECTION REQUEST segment
containing it to host 2.
Host 2 replies with an ACK segment acknowledging x and announcing its own initial
sequence number y.
Finally, host 1 acknowledges host 2’s choice of an initial sequence number in the
first data segment that it sends
7. 7
In fig (B) the first segment is a delayed duplicate CONNECTION REQUEST from an old
connection.
This segment arrives at host 2 without host 1’s knowledge. Host 2 reacts to this
segment by sending host1 an ACK segment, in effect asking for verification that host
1 was indeed trying to set up a new connection.
When host 1 rejects host 2’s attempt to establish a connection, host 2 realizes that it
was tricked by a delayed duplicate and abandons the connection.
In this way, a delayed duplicate does no damage.
The worst case is when both a delayed CONNECTION REQUEST and an ACK are
floating around in the subnet.
In fig (C) previous example, host 2 gets a delayed CONNECTION REQUEST and replies to
it.
At this point, it is crucial to realize that host 2 has proposed using y as the initial
sequence number for host 2 to host 1 traffic, knowing full well that no segments
containing sequence number y or acknowledgements to y are still in existence.
When the second delayed segment arrives at host 2, the fact that z has been
acknowledged rather than y tells host 2 that this, too, is an old duplicate.
The important thing to realize here is that there is no combination of old segments
that can cause the protocol to fail and have a connection set up by accident when no
one wants it.
8. 8
3. CONNECTION RELEASE
A connection is released
using either asymmetric or
symmetric variant.
But, the improved protocol
for releasing a connection is
a 3-way handshake protocol.
There are two styles of
terminating a connection:
1) Asymmetric release and
2) Symmetric release.
Asymmetric release is the
way the telephone system
works: when one party
hangs up, the connection is
broken.
Symmetric release treats the
connection as two separate
unidirectional connections
and requires each one to be
released separately
10. 10
4.FLOW CONTROL AND BUFFERING:
Flow control is done by having a sliding window on each connection to keep a
fast transmitter from over running a slow receiver.
Buffering must be done by the sender, if the network service is unreliable. The
sender buffers all the TPDUs (Transfer Protocol Datagram Unit) sent to the
receiver.
The buffer size varies for different TPDUs.
They are: a) Chained Fixed-size Buffers b) Chained Variable-size Buffers
c) One large Circular Buffer per Connection
(a). Chained Fixed-size Buffers:
If most TPDUs are nearly the same size, the buffers are organized as a pool of
identical size buffers, with one TPDU per buffer.
(b). Chained Variable-size Buffers:
This is an approach to the buffer-size problem. i.e., if there is wide variation in
TPDU size, from a few characters typed at a terminal to thousands of
characters from file transfers, some problems may occur:
If the buffer size is chosen equal to the largest possible TPDU, space will be
wasted whenever a short TPDU arrives.
If the buffer size is chosen less than the maximum TPDU size, multiple buffers
will be needed for long TPDUs.
To overcome these problems, we employ variable-size buffers.
11. 11
(c). One large Circular Buffer per Connection:
A single large circular buffer per connection is dedicated when all connections are
heavily loaded.
1. Source Buffering is used for low band width bursty traffic
2. Destination Buffering is used for high band width smooth traffic.
3. Dynamic Buffering is used if the traffic pattern changes randomly.
Figure (a) Chained fixed-size buffers. (b) Chained variable-sized buffers.
(c) One large circular buffer per connection.
12. 12
5.MULTIPLEXING
In networks that use virtual circuits within the subnet, each open connection consumes
some table space in the routers for the entire duration of the connection.
If buffers are dedicated to the virtual circuit in each router as well, a user who left a
terminal logged into a remote machine, there is need for multiplexing.
There are 2 kinds of multiplexing:
Upward multiplexing: Upward multiplexing means multiple
transport layer connections use the same network
connection. To make more cost-effective, the transport
layer sends several transmissions bound for the same
destination along the same path; this is achieved through
upward multiplexing.
Downward multiplexing: Downward multiplexing means one
transport layer connection uses the multiple network
connections. Downward multiplexing allows the transport layer
to split a connection among several paths to improve the
throughput. This type of multiplexing is used when networks
have a low or slow capacity.
13. 13
TRANSPORT LAYER PROTOCOLS – UDP & TCP
The Internet has two main protocols in the transport layer, a connectionless protocol
and a connection-oriented one.
The connectionless protocol is UDP. It does almost nothing beyond sending packets
between applications, letting applications build their own protocols on top as
needed.
The connection-oriented protocol is TCP. It does almost everything. It makes
connections and adds reliability with retransmissions, along with flow control and
congestion control
User Datagram Protocol (UDP)
Core members of the Internet protocol suite.
The protocol was designed by David P. Reed in 1980 and formally defined in RFC
768.
It has no handshaking dialogues, and thus exposes any unreliability of the
underlying network protocol to the user's program.
There is no guarantee of delivery, ordering, or duplicate protection.
UDP provides checksums for data integrity, and port numbers for addressing
different functions at the source and destination of the datagram.
UDP is an alternative communications protocol to TCP
Both protocols send short packets of data called datagram.
TCP has emerged as the dominant protocol with additional services
UDP is an ideal protocol. (Video & Audio loss)
14. UDP HEADER FORMAT
Source port number (16 bits): It defines the port number of the application program
in the host of the sender.
Destination port number (16 bits): It defines the port number of the application
program in the host of the receiver
UDP message length (16 bits): This is a count of bytes in the UDP datagram, and
includes the length of the UDP header and data
UDP checksum (16 bits): This is optional; a value of zero indicates that the checksum
has not been computed.
15. Transmission Control Protocol (TCP)
TCP provides a connection-oriented, full -duplex, reliable, streamed delivery
service using IP to transport messages between two processes.
Reliability is ensured by:
Connection-oriented service
Flow control using sliding window protocol
Error detection using checksum
Error control using go-back-N ARQ technique
Congestion avoidance algorithms; multiplicative decrease and slow-start
TCP Header format
16. 16
Source port (16 bits): It defines the port number of the application program in the host
of the sender
Destination port (16 bits): It defines the port number of the application program in the
host of the receiver
Sequence number (32 bits): It conveys the receiving host which octet in this sequence
comprises the first byte in the segment
Acknowledgement number (32 bits): This specifies the sequence number of the next
octet that receiver expects to receive
HLEN (4 bits): This field specifies the number of 32-bit words present in the TCP header
Control flag bits (6 bits):
URG: It is set to 1 if URGENT pointer is in use, which indicates start of urgent data.
ACK: It is set to 1 to indicate that the acknowledgement number is valid.
PSH: It is set to 1 Push the data without buffering
RST: : It is set to 1 – To Reset the connection
SYN: Synchronize sequence numbers during connection establishment
FIN: Terminate the connection
Window (16 bits): Specifies the size of window
Checksum (16 bits): Checksum used for error detection.
User pointer (16 bits): Used only when URG flag is valid
Options: Optional 40 bytes of information
17. Connection :
TCP is a connection oriented protocol. It establishes a virtual path between the source
and destination. All the segments belonging to a message that are then sent over this
virtual path.
It requires two procedures, Connection establishment and Connection termination
Connection Establishment : - TCP uses a three-way
handshake.
SYN: The client sends the first segment a SYN
segment. This segment includes Source and
Destination number. It also contains the client
initialization sequence number used for
numbering the bytes of data.
SYN-ACK: In response, the server replies with a
SYN-ACK. The acknowledgment number is set to
one more than the received sequence number.
ACK: Finally, the client sends an ACK back to the
server. It acknowledges the receipt of the second
segment, using the ACK flag and acknowledge
number field.
18. Connection termination:
The client TCP send the first segment, a FIN segment.
The server TCP send the second segments, an ACK segment, to confirm the receipt of
the FIN segment from the client.
The server TCP can continue sending data in the server client direction. When it does
not have any more data it sends the third segment, a FIN segment.
The client TCP sends the fourth segment, an ACK segment to confirm the receipt of the
FIN segment from the TCP server.
19. TCP identifies two types of OPEN
calls:
Active Open: In an Active
Open call a device (client process)
using TCP takes the active role and
initiates the connection by sending
a TCP SYN message to start the
connection.
Passive Open: A passive
OPEN can specify that the device
(server process) is waiting for an
active OPEN from a specific client.
It does not generate any TCP
message segment. The server
processes listening for the clients
are in Passive Open mode.
20. State transition diagram: TCP
» A state transition diagram is used to illustrate the concept.
State Description
CLOSED There is no connection.
LISTEN The server is waiting for calls from the client.
SYN-SENT A connection request is sent; waiting for acknowledgment.
SYN-RCVD A connection request is received.
ESTABLISHED Connection is established.
FIN-WAIT-1 The application has requested the closing of the connection.
FIN-WAIT-2 The other side has accepted the closing of the connection.
TIME-WAIT Waiting for retransmitted segments to die.
CLOSE-WAIT The server is waiting for the application to close.
LAST-ACK The server is waiting for the last acknowledgment.
22. 22
Introduction To Application Layer
The application layer in the OSI model is the closest layer to the end user which
means that the application layer and end user can interact directly with the
software application.
The application layer programs are based on client and servers.
The Application layer includes the following functions:
Identifying communication partners: The application layer identifies the
availability of communication partners for an application with data to
transmit.
Determining resource availability: The application layer determines whether
sufficient network resources are available for the requested communication.
Synchronizing communication: All the communications occur between the
applications requires cooperation which is managed by an application layer.
23. 23
Network Virtual terminal: An application layer allows a user to log on to a remote host.
To do so, the application creates a software emulation of a terminal at the remote host.
The user's computer talks to the software terminal, which in turn, talks to the host. The
remote host thinks that it is communicating with one of its own terminals, so it allows the
user to log on.
File Transfer, Access, and Management (FTAM): An application allows a user to access
files in a remote computer, to retrieve files from a computer and to manage files in a
remote computer. FTAM defines a hierarchical virtual file in terms of file structure, file
attributes and the kind of operations performed on the files and their attributes.
Addressing: To obtain communication between client and server, there is a need for
addressing. When a client made a request to the server, the request contains the server
address and its own address. The server response to the client request, the request
contains the destination address, i.e., client address. To achieve this kind of addressing,
DNS is used.
Mail Services: An application layer provides Email forwarding and storage.
Directory Services: An application contains a distributed database that provides access
for global information about various objects and services.
Authentication: It authenticates the sender or receiver's message or both.
Application layer Services
24. 24
Application-Layer Paradigms or Architecture
Application architecture is different from the network architecture.
The network architecture is fixed and provides a set of services to applications.
The application architecture, on the other hand, is designed by the application
developer and defines how the application should be structured over the various
end systems.
Client-server architecture:
An application program running on the local machine sends a request to another
application program is known as a client, and a program that serves a request is
known as a server. For example, when a web server receives a request from the
client host, it responds to the request to the client host.
In Client-server architecture, clients do not directly communicate with each other.
For example, in a web application, two browsers do not directly communicate with
each other.
A server is fixed, well-known address known as IP address because the server is
always on while the client can always contact the server by sending a packet to the
sender's IP address.
Disadvantage - It is a single-server based architecture which is incapable of holding
all the requests from the clients. For example, a social networking site can become
overwhelmed when there is only one server exists.
Application architecture is of two types:
25. 25
P2P (peer-to-peer) architecture:
It has no dedicated server in a data center. The peers are the computers which are
not owned by the service provider.
Most of the peers reside in the homes, offices, schools, and universities.
The peers communicate with each other without passing the information through a
dedicated server, this architecture is known as peer-to-peer architecture.
The applications based on P2P architecture includes file sharing and internet
telephony.
Client and Server processes
A network application consists of a pair of processes that send the messages to each
other over a network.
In P2P file-sharing system, a file is transferred from a process in one peer to a process
in another peer. We label one of the two processes as the client and another process
as the server.
With P2P file sharing, the peer which is downloading the file is known as a client, and
the peer which is uploading the file is known as a server.
However, we have observed in some applications such as P2P file sharing; a process
can be both as a client and server. Therefore, we can say that a process can both
download and upload the files.
26. 26
Client and Server model
A client and server networking model is a model in which computers such as servers
provide the network services to the other computers such as clients to perform a
user based tasks. This model is known as client-server networking model.
The application programs using the client-server model should follow the given
below strategies:
An application program is known as a client program, running on the local machine
that requests for a service from an application program known as a server program,
running on the remote machine.
A client program runs only when it requests for a service from the server while the
server program runs all time as it does not know when its service is required.
A server provides a service for many clients not just for a single client. Therefore, we
can say that client-server follows the many-to-one relationship. Many clients can use
the service of one server.
Services are required frequently, and many users have a specific client-server
application program.
For example, the client-server application program allows the user to access the files,
send e-mail, and so on.
If the services are more customized, then we should have one generic application
program that allows the user to access the services available on the remote
computer.
27. 27
Client
A client is a program that runs on the
local machine requesting service from the
server. A client program is a finite program
means that the service started by the user and
terminates when the service is completed.
Server
A server is a program that runs on
the remote machine providing services to the
clients. When the client requests for a service,
then the server opens the door for the
incoming requests, but it never initiates the
service.
A server program is an infinite
program means that when it starts, it runs
infinitely unless the problem arises. The server
waits for the incoming requests from the
clients. When the request arrives at the server,
then it responds to the request.
28. 28
Advantages of Client-server networks:
Centralized: Centralized back-up is possible in client-server networks, i.e., all the data
is stored in a server.
Security: These networks are more secure as all the shared resources are centrally
administered.
Performance: The use of the dedicated server increases the speed of sharing
resources. This increases the performance of the overall system.
Scalability: We can increase the number of clients and servers separately, i.e., the new
element can be added, or we can add a new node in a network at any time.
Disadvantages of Client-Server network:
Traffic Congestion is a big problem in Client/Server networks. When a large number of
clients send requests to the same server may cause the problem of Traffic congestion.
It does not have a robustness of a network, i.e., when the server is down, then the
client requests cannot be met.
A client/server network is very decisive. Sometimes, regular computer hardware does
not serve a certain number of clients. In such situations, specific hardware is required
at the server side to complete the work.
Sometimes the resources exist in the server but may not exist in the client. For
example, If the application is web, then we cannot take the print out directly on
printers without taking out the print view window on the web.
29. 29
Electronic Mail (e-mail)
It is one of most widely used services of Internet. This service allows an Internet user
to send a message in formatted manner (mail) to the other Internet user in any part
of world.
Message in mail not only contain text, but it also contains images, audio and videos
data.
The person who is sending mail is called sender and person who receives mail is
called recipient. It is just like postal mail service.
Components of E-Mail System :
The basic components of an email system are : User Agent (UA), Message
Transfer Agent (MTA), Mail Box, and Spool file.
1. User Agent (UA) :
The UA is normally a program which is used to send and receive mail.
Sometimes, it is called as mail reader. It accepts variety of commands for composing,
receiving and replying to messages as well as for manipulation of the mailboxes.
30. 30
2. Message Transfer Agent (MTA) :
MTA is actually responsible for transfer of mail from one system to another. To
send a mail, a system must have client MTA and system MTA. It transfer mail to mailboxes
of recipients if they are connected in the same machine. It delivers mail to peer MTA if
destination mailbox is in another machine. The delivery from one MTA to another MTA is
done by Simple Mail Transfer Protocol.
3. Mailbox :
It is a file on local hard drive to collect mails. Delivered mails are present in this
file. The user can read it delete it according to his/her requirement. To use e-mail system
each user must have a mailbox . Access to mailbox is only to owner of mailbox.
4. Spool file :
This file contains mails that are to be sent. User agent appends outgoing mails in
this file using SMTP. MTA extracts pending mail from spool file for their delivery. E-mail
allows one name, an alias, to represent several different e-mail addresses. It is known
as mailing list, Whenever user have to sent a message, system checks recipients’s name
against alias database. If mailing list is present for defined alias, separate messages, one
for each entry in the list, must be prepared and handed to MTA. If for defined alias, there
is no such mailing list is present, name itself becomes naming address and a single
message is delivered to mail transfer entity.
31. 31
Services provided by E-mail system :
Composition – The composition refer to process that creates messages and answers.
For composition any kind of text editor can be used.
Transfer – Transfer means sending procedure of mail i.e. from the sender to recipient.
Reporting – Reporting refers to confirmation for delivery of mail. It help user to check
whether their mail is delivered, lost or rejected.
Displaying – It refers to present mail in form that is understand by the user.
Disposition – This step concern with recipient that what will recipient do after receiving
mail i.e save mail, delete before reading or delete after reading.
32. 32
Simple Mail Transfer Protocol (SMTP)
Email is emerging as one of the most valuable services on the internet today. Most
internet systems use SMTP as a method to transfer mail from one user to another. SMTP is a
push protocol and is used to send the mail whereas POP (post office protocol) or IMAP
(internet message access protocol) are used to retrieve those emails at the receiver’s side.
SMTP Fundamentals
SMTP is an application layer protocol. The client who wants to send the mail opens a TCP
connection to the SMTP server and then sends the mail across the connection. The SMTP
server is an always-on listening mode. As soon as it listens for a TCP connection from any
client, the SMTP process initiates a connection through port 25. After successfully establishing
a TCP connection the client process sends the mail instantly.
SMTP Protocol
The SMTP model is of two types:
End-to-end method
Store-and- forward method
The end-to-end model is used to communicate between different organizations whereas
the store and forward method is used within an organization. An SMTP client who wants to
send the mail will contact the destination’s host SMTP directly, in order to send the mail to the
destination. The SMTP server will keep the mail to itself until it is successfully copied to the
receiver’s SMTP.
The client SMTP is the one that initiates the session so let us call it client- SMTP and the
server SMTP is the one that responds to the session request so let us call it receiver-SMTP. The
client- SMTP will start the session and the receiver-SMTP will respond to the request.
33. 33
Model of SMTP system
In the SMTP model user deals with the user agent (UA), for example, Microsoft
Outlook, Netscape, Mozilla, etc.
In order to exchange the mail using TCP, MTA is used.
The user sending the mail doesn’t have to deal with MTA as it is the responsibility of
the system admin to set up a local MTA.
The MTA maintains a small queue of mails so that it can schedule repeat delivery of
mails in case the receiver is not available.
The MTA delivers the mail to the mailboxes and the information can later be
downloaded by the user agents.
34. 34
Both the SMTP-client and SMTP-server should have 2 components:
User-agent (UA), Local MTA
Communication between sender and the receiver :
The sender’s user agent prepares the message and sends it to the MTA. The MTA’s
responsibility is to transfer the mail across the network to the receiver’s MTA. To send mails,
a system must have a client MTA, and to receive mails, a system must have a server MTA.
SENDING EMAIL:
Mail is sent by a series of request and response messages between the client and the
server. The message which is sent across consists of a header and a body. A null line is used
to terminate the mail header and everything after the null line is considered as the body of
the message, which is a sequence of ASCII characters. The message body contains the actual
information read by the receipt.
RECEIVING EMAIL:
The user agent at the server-side checks the mailboxes at a particular time of intervals. If
any information is received, it informs the user about the mail. When the user tries to read
the mail it displays a list of emails with a short description of each mail in the mailbox. By
selecting any of the mail users can view its contents on the terminal.
Some SMTP Commands:
HELO – Identifies the client to the server, fully qualified domain name, only sent once per
session
MAIL – Initiate a message transfer, fully qualified domain of originator
RCPT – Follows MAIL, identifies an addressee, typically the fully qualified name of the
addressee, and for multiple addressees use one RCPT for each addressee
DATA – send data line by line
35. 35
POP Full Form
POP stands for Point of Presence (also known as Post Office Protocol).
It is a point where many devices share a connection and can communicate with
each other.
It is a man-made demarcation point (a point where the public network of a
company ends and the private network of the customer begins for eg. the point at
which your broadband cable enters the house) between communicating entities.
It basically consists of high-speed telecommunications equipment and technologies
helps in bringing together people from all over the internet.
Characteristics of POP :
Post Office Protocol is an open protocol, defined by Internet RFCs.
It allows access to new mail from a spread of client platform types.
It supports download and delete functions even when offline.
It requires no mail gateways due to its native nature.
POP can handle email access only while the emails are sent by SMTP.
RFC 918 got published in 1984 which defined the Post Office Protocol (POP). The
explanation of why POP came in the picture was to supply a neater way for a client
computer to retrieve e-mail on an SMTP (Simple Mail Transfer Protocol) server so
that it can be used locally. POP Version 2 got published in 1985.
It improvised the capabilities of POP by defining a far impressive set of commands
further as replies. RFC 1939 was published in 1996 and POP3 has not been
improvised since that point.
36. 36
Working:
POP’s working is based on its five important equipment which are:
Base stations – A central point of reference to an access point and bandwidth
management to ensure evenly distribution of the connection speed of the customer.
Client equipment – utilized by customers to link with the base stations
Network switches – Used for proper distribution
Routers – Provides multiple paths for the data to be shared in the network
Firewall – Used for securing the network from threats (internal and external)
37. 37
Advantages:
The latest version of Post Office Protocol (POP3) is that the most widely used protocol
and is being supported by most of the email clients.
It provides a convenient and standard way for users to access mailboxes and download
messages. An important advantage of this is that the mail messages get delivered to
the client PC and they can be read with or without accessing the web.
Creation of latest messages impossible without being logged onto the web
All messages get stored on the disc drive of your computer
Easy to use and configure.
As the attachments are already on your PC, opening them may be a quicker process
There isn’t any maximum size on your mailbox, except as determined by the scale of
your disc drive
Disadvantages:
Consumes large memory as all the messages are stored on the disc drive
Opening attachments may be a fast process unless the attachment contains a virus
Since all attachments get downloaded on your computer, there’s a danger of virus
attack if they’re not scanned by antivirus softwares as these scans are only 60%
effective
Emails cannot be opened by other machines unless they are configured to do so.
Email folders can become corrupted and might even drift.
It is not easy to export a local mail folder to another physical machine or another mail
client.
38. 38
Internet Message Access Protocol (IMAP)
It is an application layer protocol that operates as a contract for receiving emails from
the mail server.
It was designed by Mark Crispin in 1986 as a remote access mailbox protocol, the
current version of IMAP is IMAP4.
It is used as the most commonly used protocol for retrieving emails. This term is also
known as Internet mail access protocol, Interactive mail access protocol, and Interim
mail access protocol.
Features of IMAP :
It is capable of managing multiple mailboxes and organizing them into various
categories.
Provides adding of message flags to keep track of which messages are being seen.
It is capable of deciding whether to retrieve email from a mail server before
downloading.
It makes it easy to download media when multiple files are attached.
Working of IMAP :
IMAP follows Client-server Architecture and is the most commonly used email protocol.
It is a combination of client and server process running on other computers that are
connected through a network.
This protocol resides over the TCP/IP protocol for communication. Once the
communication is set up the server listens on port 143 by default which is non-
encrypted. For the secure encrypted communication port, 993 is used.
39. 39
Architecture of IMAP :
Advantages :
It offers synchronization across all the
maintained sessions by the user.
It provides security over POP3 protocol as the
email only exists on the IMAP server.
Users have remote access to all the contents.
It offers easy migration between the devices as it
is synchronized by a centralized server.
There is no need to physically allocate any
storage to save contents.
Disadvantages :
IMAP is complex to maintain.
Emails of the user are only available when there is an internet connection.
It is slower to load messages.
Some emails don’t support IMAP which makes it difficult to manage.
Many browser-based solutions are unavailable due to not support of IMAP.
40. 40
File Transfer Protocol (RFC 959)
File Transfer Protocol(FTP) is an application layer protocol that moves files between
local and remote file systems.
It runs on the top of TCP, like HTTP.
To transfer a file, 2 TCP connections are used by FTP in parallel: control connection and
data connection.
41. 41
What is control connection?
For sending control information like user identification, password, commands to change
the remote directory, commands to retrieve and store files, etc., FTP makes use of control
connection. The control connection is initiated on port number 21.
What is data connection?
For sending the actual file, FTP makes use of a data connection. A data connection is
initiated on port number 20. FTP sends the control information out-of-band as it uses a
separate control connection. Some protocols send their request and response header lines
and the data in the same TCP connection. For this reason, they are said to send their
control information in-band. HTTP and SMTP are such examples.
FTP Session :
When an FTP session is started between a client and a server, the client initiates a control
TCP connection with the server-side. The client sends control information over this. When
the server receives this, it initiates a data connection to the client-side. Only one file can
be sent over one data connection. But the control connection remains active throughout
the user session. As we know HTTP is stateless i.e. it does not have to keep track of any
user state. But FTP needs to maintain a state about its user throughout the session.
Data Structures : FTP allows three types of data structures :
File Structure – In file-structure there is no internal structure and the file is
considered to be a continuous sequence of data bytes.
Record Structure – In record-structure the file is made up of sequential records.
Page Structure – In page-structure the file is made up of independent indexed
pages.
42. 42
FTP Commands – Some of the FTP commands are :
USER – This command sends the user identification to the server.
PASS – This command sends the user password to the server.
CWD – This command allows the user to work with a different directory or dataset
for file storage or retrieval without altering his login or accounting information.
RMD – This command causes the directory specified in the path-name to be
removed as a directory.
MKD – This command causes the directory specified in the pathname to be created
as a directory.
PWD – This command causes the name of the current working directory to be
returned in the reply.
RETR – This command causes the remote host to initiate a data connection and to
send the requested file over the data connection.
STOR – This command causes to store of a file into the current directory of the
remote host.
LIST – Sends a request to display the list of all the files present in the directory.
ABOR – This command tells the server to abort the previous FTP service command
and any associated transfer of data.
QUIT – This command terminates a USER and if file transfer is not in progress, the
server closes the control connection.
43. 43
HTTP - Hyper Text Transfer Protocol
Hyper Text is the type of text which is specially coded with the help of some standard
coding language called as HyperText Markup Language (HTML).
HTTP/2 is latest version of HTTP, which was published on May 2015.
The protocols that are used to transfer hypertext between two computers is known
as Hyper Text Transfer Protocol.
HTTP provides standard between a web browser and web server to establish
communication.
It is 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, user indirectly uses HTTP.
It is an application protocol which is used for distributed, collaborative, hypermedia
information systems.
44. 44
How it works ?
First of all, whenever we want to open any website then first we open web browser after that
we will type URL of that website (e.g., www.facebook.com ).
This URL is now sent to Domain Name Server (DNS).
Then DNS first check records for this URL in their database, then DNS will return IP address to
web browser corresponding to this URL.
Now browser is able to sent request to actual server.
After server sends data to client, connection will be closed.
If we want something else from server we should have to re-establish connection between
client and server.
Characteristics of HTTP:
HTTP is IP based communication protocol which is used to deliver data from server to client or
vice-versa.
Server processes a request, which is raised by client and also server and client knows each other
only during current request and response period.
Any type of content can be exchanged as long as server and client are compatible with it.
Once data is exchanged then servers and client are no more connected with each other.
It is a request and response protocol based on client and server requirements.
It is connection less protocol because after connection is closed, server does not remember
anything about client and client does not remember anything about server.
It is stateless protocol because both client and server does not expecting anything from each
other but they are still able to communicate.
45. 45
Simple Network Management Protocol (SNMP)
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 used to configure
remote devices.
SNMP components – There are 3 components of SNMP:
SNMP Manager – It is a centralized system used to monitor network. It is also known as
Network Management Station (NMS)
SNMP agent – It is a software management software module installed on a managed
device. Managed devices can be network devices like PC, routers, switches, servers, etc.
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.
SNMP versions – There are 3 versions of SNMP:
SNMPv1 – It uses community strings for authentication and uses UDP only.
SNMPv2c – It uses community strings for authentication. It uses UDP but can be
configured to use TCP.
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.
46. 46
SNMP messages – Different variables are:
Get Request – SNMP manager sends this message to request data from the SNMP agent. 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.
Get Next Request – This message can be sent to discover what data is available on an SNMP agent. The
SNMP manager can request data continuously until no more data is left. In this way, the SNMP manager
can take knowledge of all the available data on SNMP agents.
Get Bulk Request – This message is used to retrieve large data at once by the SNMP manager from the
SNMP agent. It is introduced in SNMPv2c.
Set Request – It is used by the SNMP manager to set the value of an object instance on the SNMP agent.
Response – It is a message sent from the agent upon a request from the manager. When sent in response
to Get messages, it will contain the data requested. 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.
Inform Request – It was introduced in SNMPv2c, used to identify if the trap message has been received
by the manager or not. The agents can be configured to set trap continuously until it receives an Inform
message. It is the same as a trap but adds an acknowledgement that the trap doesn’t provide.
47. 47
Voice over Internet Protocol (VoIP)
It is a technology that allowing you to make voice calls over a broadband Internet
connection instead of an analog (regular) phone line.
Some VoIP services allow you to call people using the same service, but others may
allow you to call anyone.
They can have a telephone number – including local, long-distance, mobile, and
international numbers or not.
Some VoIP services only work over your computer or a special VoIP phone while
other services allow you to use a traditional phone connected to a VoIP adapter.
How VoIP / Internet Voice Works
Voice is converted into a digital signal by VoIP services that travel over the Internet.
If the regular phone number is called, the signal is converted to a regular telephone
signal i.e. an analog signal before it reaches the destination.
VoIP can allow you to make a call directly from a computer having a special VoIP
phone, or a traditional phone connected to a special adapter.
Wireless hot spots in locations such as airports, hospitals, cafes, etc allow you to
connect to the Internet and can enable you to use VoIP service wirelessly.
48. 48
Equipments Required –
A high-speed Internet connection is required which can be through a cable modem or
high-speed services such as a local area network.
A computer, adaptor, or specialized phone is required.
If you use your computer some software and an inexpensive microphone are needed.
VoIP phones plug directly into your broadband connection and operate largely like a
traditional telephone.
If you use a telephone with a VoIP adapter, you can dial just as you always have, and
the service provider may also provide a dial tone.
Advantages of VoIP –
Some VoIP services offer features and services that are not available with a
traditional phone, or are available but only for an additional fee.
Paying for both a broadband connection and a traditional telephone line can be
avoided.
Smoother connection than an analog signal can be provided.
Disadvantages of VoIP –
Some VoIP services don’t work during power outages and the service provider may
not offer backup power.
Not all VoIP services connect directly to emergency services through emergency
service numbers.
VoIP providers may or may not offer directory assistance.