TECHNICAL BULLETIN #19 - Rev 1.10 (9/03/96)
==============================================================================
TITLE : History and Features of File Transfer Protocols
PRODUCT : Procomm Plus
==============================================================================
File transfer protocols are becoming an increasingly important part of daily
modem communications. These rules for sending and receiving files are
becoming more complex at the same time they are becoming easier to use. As
the list grows, a few protocols stand out above the rest in universal
acceptance. In the following sections you will find a short history of the
development of the major protocols, and explanations of their major features.
XMODEM FAMILY
The XMODEM Family of protocols began its development in the late 1970's when
Ward Christensen designed XMODEM, which served as a basis for the creation of
many other protocols.
XMODEM became public domain shortly after its completion in August of 1977.
This protocol, originally called MODEM or MODEM2, is one of the most simple,
widely used protocols today. Despite its limitations of 128 byte block size
and fragile timing rules, making it difficult to use with packet switching
networks like Tymnet or CompuServe, XMODEM is widely available, providing
compatibility between many different computers.
1K XMODEM, designed by Chuck Forsberg of Omen Technology, Inc., allowed the
transfer of a 1024 byte XMODEM packet instead of a 128 byte packet. It only
uses CRC error detection, doing away with XMODEM's optional Checksum method.
1K XMODEM was a partial solution to XMODEM's problems on packet switching
networks.
YMODEM, also developed by Chuck Forsberg in 1980, added file attribute
information to 1K XMODEM. YMODEM uses more extensive error checking than 1K
XMODEM and allows transmission of multiple files by including file information
in the first packet.
1K XMODEM-G, one of two "streaming" protocols by Chuck Forsberg, evolved with,
and depends on, high speed (9600 BPS and above), error correcting modems used
on clean data lines. This very fast protocol depends on external
error-detection to insure data integrity.
YMODEM-G, yet another Chuck Forsberg creation, parallels the functions
performed by the 1K XMODEM-G protocol, adding the file attribute information
of the YMODEM protocol.
CIS B+
The CompuServe Information Service developed the CompuServe B protocol shortly
after 1979. This protocol, only available to the public on the CompuServe
Information System, is driven entirely by the host system. The client modules
included with most communications packages do not allow two PC's to exchange
files with CIS B+.
KERMIT
The KERMIT protocol, released as public domain software around 1980, was
developed by Columbia University graduate students under the guidance of Frank
da Cruz. The project's goal was to develop a protocol able to support file
transfers over any serial data link in existence. Columbia University keeps
KERMIT compatible with new communications technology by constantly expanding
its specifications. Because of its complexity, KERMIT is not the fastest
protocol to use, but it allows you to connect most computers and transfer
files and is available for virtually all computer platforms, unlike other
protocols.
ZMODEM
An easy to use interface, combining the best aspects of all protocols, was the
goal behind this 1987 Chuck Forsberg creation. It can automatically adjust to
use the best methods for a file transfer in each situation, and dynamically
adjusts its transmission methods to compensate for line quality. ZMODEM is
generally the protocol of choice when available.
PROTOCOL FEATURES
AUTODOWNLOADING
Autodownloading refers to the ability of an application to automatically
receive a file from a host machine. This feature speeds up file transfers and
allows you to automate transfers in some situations. Procomm Plus supports
autodownloading in the following protocols:
ZMODEM - The Auto Download feature must be enabled for Procomm Plus to
automatically receive a file with ZMODEM. When enabled, Procomm Plus monitors
the port for a specific sequence. Upon receiving that code, Procomm Plus
opens ZMODEM to receive the file.
CIS B+ - The CompuServe B+ protocol uses an Enquiry character sent from the
host machine to automatically cause the local machine to receive the file.
Procomm Plus monitors the port for a single character, CTRL-E, which signals
it to open the CIS B protocol.
KERMIT - Autodownloading was first implemented for KERMIT in Procomm Plus for
DOS version 2.01. Before this version, KERMIT worked in a fashion similar to
that of XMODEM or YMODEM. KERMIT uses methods similar to that of ZMODEM to
automatically receive a file.
CRASH RECOVERY
Crash recovery refers to the ability of a protocol to automatically find the
last byte of a partially transmitted file and continue the transmission from
that point. This is very useful if you lose your modem connection after
initiating a download. To take advantage of this feature, set Procomm Plus to
save partial files in case of an aborted download.
CIS B+ - The CompuServe Information System host module totally controls CIS B+
crash recovery. The user must have the Delete Aborted Downloads option in
Procomm Plus disabled to take advantage of this feature for CIS B+.
ZMODEM - Procomm Plus controls ZMODEM crash recovery, which has four options:
On, Overwrite, Protect, or Negotiate. The "On" option permits the addition of
missing bytes to a file. "Overwrite" automatically overwrites the entire file
on your system. "Protect" prohibits access to the existing file. "Negotiate"
uses the settings specified by the other computer involved in the data
exchange.
G PROTOCOLS AND ERROR DETECTION
A G PROTOCOL is a streaming protocol specifically designed for use with error
correcting modems. These protocols format data into blocks containing error
detection bytes, though they do not wait to receive an acknowledgment from the
host system until the file transfer is complete. The receiver checks each
packet for errors using CRC. The receiving computer aborts the transfer if it
detects an error.
KERMIT SERVER MODE
KERMIT has two different modes for sending and receiving files. The first,
similar to XMODEM, forces the user to issue a command on both ends of the
connection to send or receive a file. Server mode controls both sides of a
transfer with a single, intuitive command.
Procomm Plus supports the four most commonly used KERMIT server commands: Get
File, Send File, Finish and Logout.
* Get File
The "Get File" command, often referred to as the "Receive-Initiation"
command, asks the KERMIT server to send you a specific file. This command
prepares your local computer to receive a file and informs the KERMIT
server
how to send it.
* Send File
The "Send File" command, often referred to as the "Send-Initiation"
command,
informs the KERMIT server that a file is coming. This packet prepares the
server to receive a file, and tells your computer where to find that file.
* Finish
The Finish command closes the server but does not log you out of the host
system.
* Logout
The Logout command closes that instance of the server and logs you off the
host system. This command is most useful on dedicated file servers.
==============================================================================
To ensure that you have the latest version of this document, compare its
revision number to that of the same document on any of our support sites.
This technical bulletin may be copied and distributed freely as long as it
is distributed in its entirety and it is not distributed for profit.
Copyright (c) 1996 Quarterdeck All rights reserved.
==============================================================================
|