But first, welcome to comp.protocols.kermit.misc. This is the first day of
operation of this unmoderated newsgroup. I hope it will prove beneficial to
all Kermit users.
To answer your question, somewhat longwindedly, since this Question is
Asked so Frequently :-) ...
Zmodem is optimized for speed on the assumption that it has a clear 8-bit
transparent channel with no blockages (small buffers, etc), and so, out of the
box, when it works it goes fast. The tradeoff is that it often does not work
at all, in which case you have to configure it in various ways -- escaping of
control characters, changing window size, etc. In some cases it can't be made
to work at all, either because of the nature of the connection, or because of
one or both of the computers on the two ends.
Kermit, on the other hand, is configured to work -- i.e. transfer files --
out of the box, even under hostile conditions. By default, it does not assume
that control characters pass through transparently, nor that large buffers are
available. It does not even assume a full-duplex connection. The tradeoff is
speed.
In a perfect world, there would be no tradeoffs, but the world is far from
perfect. 7-bit transmission is still extremely common, small buffers are very
common, even in modern terminal servers and other communications processors,
flow control is rarely implemented correctly and effectively, telephone lines
are still noisy, and we still have a bewildering array of communication methods
needed for accessing different kinds of hosts and services. Most PCs are still
shipped with non-buffered UARTs; many PCs have interrupt conflicts, noisy
buses, etc; many modern modems are buggy. The list goes on. This is by way of
demonstrating that Kermit's default tuning is not crazy, and goes a long way
towards explaining its justified reputation for dependability.
Unfortunately, because of the tradeoffs necessary to achieve its
reliability, Kermit has a reputation for slowness:
For text files and uncompressed binary files, this should give you very
good performance -- efficiencies in the 85%-100% range.
For compressed files, and certain other types of binary files, you can
squeeze out another 20-25% efficiency by telling Kermit not to prefix a given
list of control characters. A typical sequence might be: This might require some trial and error because there is no way that a
communication software program can know what characters are safe and which ones
are not on a particular connection. For example, you might be going through an
X.25 PAD where Ctrl-P will pop you back to the PAD prompt. Or you might be
going through a TELNET terminal server where Ctrl-] or Ctrl-^ will pop you back
to the terminal server prompt. Or the connection might be using Xon/Xoff flow
control, and sending Ctrl-S as a data character might freeze the connection.
If you take all of these steps, using optimal packet lengths, window sizes,
and unprefixing, you should achieve transfer rates comparable to, and often
better than, the Zmodem implementations that you find in Telix, Procomm, and
similar shareware and BBS packages; for example, on a V.32bis/V.42/V.42bis
connection, RTS/CTS flow control, no parity, 57600 bps interface speed: These figures come from Kermit News #5, June
1993, which is available on the Web and also via anonymous ftp from
kermit.columbia.edu, directory kermit/e, file newsn5.txt (ASCII) or newsn5.ps
(PostScript). Also see Kermit News #4,
newsn4.txt (.ps), for a detailed discussion of long packets and sliding
windows.
Kermit software is available via anonymous ftp to kermit.columbia.edu
[128.59.39.2], directory kermit and its subdirectories. There are literally
hundreds of different Kermit programs for *almost* every machine and operating
system imaginable. The most widely used Kermit programs are:
- Frank
POSTSCRIPT: The Kermit software for Windows 95 and NT is Kermit 95. It was first released in October 1995 (after
this message was posted).
4 Why Is Kermit So Slow Compared to Zmodem? (It Isn't!)
Path: news.columbia.edu!usenet
From: fdc@columbia.edu (Frank da Cruz)
Newsgroups: comp.protocols.kermit.misc
Subject: Re: [HELP] Slow Kermit Transfer ?!
Date: 19 Sep 1994 14:15:42 GMT
Organization: Columbia University
Lines: 153
In article <35jrgsINNdq2@newsman.csu.murdoch.edu.au>
anson@csuvax1.csu.murdoch.edu.au (Binh Anson) writes:
> I used Kermit 3.13 for my PC, my modem has a speed of 14.4 K, but I
> found that the downloading rate from the mainframe to my PC was
> still very slow! I tried Telix with SZ (Z-Modem Protocol), and it
> was very fast compared to Kermit. Is there a way to accelerate
> Kermit transfer ?
>
Yes.
Yes, Kermit transfers are slow if you use the default tuning.
However, you can make Kermit go as fast as the communication path
will permit by changing a few parameters. But first, here are some general
principles that apply to all communications software:
Now, to make Kermit go fast, follow these steps:
SET RECEIVE PACKET-LENGTH 2000 ; (or other length)
The longer you make the packets, the more efficient the file transfer
will be... IF IT WORKS. If you make packets longer than some buffer
somewhere along the line, and effective flow control is lacking, the
transfer might not work. Also, the longer the packet, the greater the
chance it will be hit by noise, and the longer it takes to retransmit. A
good starting value to try is 1000.
SET WINDOW 4 ; (or other number)
The maximum is 32 (or less, depending on the implementation). Give
this command to both Kermit programs.
SET CONTROL UNPREFIX ALL ; Unprefix all control characters.
SET CONTROL PREFIX 0 1 13 129 141 ... ; Add back prefixes for these.
Typical text files: 3500 cps (characters per second)
Uncompressed binary files: 2400 cps (e.g. PC KERMIT.EXE)
Compressed files: 1600 cps (e.g. ZIP files)
Kermit FAQ / Columbia University / kermit@columbia.edu