GeodSoft logo   GeodSoft

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.

transparent spacer

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 (or 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 (or cgi-bin/ 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.

Home >
Book >
The Basics >

What's New
Email address

Copyright © 2000-2014, George Shaffer. Terms and Conditions of Use.