TCP/IP - Internet Applications
Two TCP/IP or Internet applications that
date back to the early days of the Internet are still
widely used. They are electronic mail or e-mail based on the Simple
Mail Transfer Protocol (SMTP) and the File Transfer Protocol
(FTP).
E-mail based on SMTP is a store and forward communication
method that allows users to exchange simple plain text messages.
SMTP provides only for the transmission of displayable ASCII
characters and does not include the ability to send font, type
size or other formatting information in a message. The speed of
delivery of e-mail depends on the frequency with which the mail
servers transmit waiting messages, the size of the message and
the bandwidth of the smallest connection between sending and
receiving computers, the
size of the e-mail queue, if any, and the number of mail servers
the message must pass through to reach its destination.
MIME adds attachment capability to e-mail. Attachments can include
binary data, i.e. data that is not limited to displayable ASCII
characters such as formatted word processing files, graphic
images and executable programs. All attachments are converted to
displayable ASCII characters using one of several common encoding
schemes; this encoding causes the attachments to be
larger than the original file the attachment is based on.
The term server is one of the more confusing
computer terms because it is used both to describe the entire
computer, i.e. the hardware on which one or more server processes
(software) are running. It also describes each software process
that typically executes or runs continuously on a computer to
perform a specific task such as sending e-mail messages. Often
which way the term is used makes no difference but sometimes it
may be quite important in understanding what is being discussed.
The difference however may not be obvious even in context and may
require explicitly labeling the server under discussion as
hardware or software.
FTP allows a user to transfer files between
two computers. Unlike e-mail where a message may sit in a
message queue for some significant period of time, an FTP
transfer occurs in real time or while the user waits. The
duration of the transfer depends on the size of the file to
transferred, the speed of connections at both ends and the load
on the FTP server. Here load means the amount of work to be done
on the hardware server on which the FTP software server is
running as well as the number of files the FTP software server is
simultaneously transferring or transmitting.
FTP may be the first example of a client
server application, a term that was not widely used
until many years after FTP came into use. A client server
process exists when a program run by a user on their local
computer connects to a server process on a computer. It is
possible for both the client and server processes to run on the same
computer but except when a client server application is being
developed or X-windows (a primarily Unix based graphical user
interface) is being used, this is rare. The primary reasons for
client server applications are to provide a division of labor
between two (or more) computers. This is typically to provide a
user interface on the user's computer to a specialized process
running on another computer.
The user's local computer could be a nearby
host but today is nearly always a desktop computer dedicated to a
single user. A host is a multi tasking multi user computer to
which various users connect using a terminal or terminal
emulation program. All computing is performed inside the host
and only keystrokes and characters to be displayed on the user's
terminal screen are sent back and forth between the terminal and
host. Today, dedicated hardware terminals (dumb terminals) are
increasingly rare, having largely been replaced by terminal
emulation programs running on desktop computers. A terminal
emulation program uses the general purpose computer on which it
is running, to act like a dedicated
hardware terminal so that the host cannot detect the difference.
In the past (under DOS), the terminal emulation program was
the only program running and the entire computer behaved like a
terminal. In today's multi tasking graphical user interfaces,
mostly various Microsoft Windows programs but also Macintosh and
X-windows computers, the terminal emulation program is likely to
be only one of several processes that is running. Multiple
instances of a terminal emulation program may be running,
providing multiple connections to the same or different hosts.
"Client server" was first used to describe custom database applications
where the user interface such as forms and some data edits executed on the
user's computer or PC. This was the client. The server was a database
server that performed all the database retrievals and updates. Today
client server is heard most frequently in association with web browsers
and servers.
Another early TCP/IP client server protocol
that is still in use is telnet. Telnet is a network based
terminal emulation program that allows a user to open a text
based, command line, interface to a remote computer. The
commands keyed in on the local computer are executed on the
remote computer via the telnet server software running on the
remote computer.
Unlike FTP and telnet which are client server
programs, early e-mail programs were not client server programs.
Instead of making a connection to a remote server, early e-mail
programs read a mail queue that was stored in a file on the same
computer as the e-mail program. As mentioned earlier, e-mail is
a store and forward protocol in which each message sent, passes
through a minimum of two message stores or queues, one on the
sending computer and one on the receiving. There may be one or
more intermediate SMTP servers and message queues that any
particular message passes through.
Today most e-mail programs are client programs
that use the POP3 protocol to retrieve messages stored on a
remote computer. As far as SMTP is concerned, the computer on
which the POP3 server is running is the final destination
computer. The e-mail messages for each user are stored in a user
specific file. When a user connects to the POP3 server using a
compatible client e-mail program on their local computer and
provides a valid username and password, the POP3 server reads the
users e-mail queue and transmits it to the user's e-mail client
program.
This e-mail program allows the user to read,
reply and compose new messages. Depending on the features of the
client program, the user may choose to store incoming messages in
folders of their own choice or apply rules that perform
automated actions on incoming messages. Most contemporary e-mail
programs allow MIME attachments to be viewed or saved and
attached to new or outgoing messages. When the user has composed
a reply or written a new message the client e-mail program uses
SMTP to send the outgoing messages to an SMTP receiving server.
IMAP 4 is a newer protocol that is sometimes used instead
of POP 3; IMAP 4 allows the client to leave messages in folders on
the server and access these from multiple computers. Folders shared
by multiple users can be created. After POP 3
downloads a message to the client, that message is not available
on any other computer or to any other user.
Top of Page -
Site Map
Copyright © 2000 - 2014 by George Shaffer. This material may be
distributed only subject to the terms and conditions set forth in
http://GeodSoft.com/terms.htm
(or http://GeodSoft.com/cgi-bin/terms.pl).
These terms are subject to change. Distribution is subject to
the current terms, or at the choice of the distributor, those
in an earlier, digitally signed electronic copy of
http://GeodSoft.com/terms.htm (or cgi-bin/terms.pl) from the
time of the distribution. Distribution of substantively modified
versions of GeodSoft content is prohibited without the explicit written
permission of George Shaffer. Distribution of the work or derivatives
of the work, in whole or in part, for commercial purposes is prohibited
unless prior written permission is obtained from George Shaffer.
Distribution in accordance with these terms, for unrestricted and
uncompensated public access, non profit, or internal company use is
allowed.
|