[comp.sys.ibm.pc] the <char>MODEM discussion.

JRD@cc.usu.edu (Joe Doupnik) (01/05/90)

	Small corrections. The Kermit protocol is designed, and uses, both
7 and 8 bit data paths. It uses 7 bit only when forced to do so by the presence
of parity. Time and date stamps have been in some Kermits for over a year, and
there is a lot more coming. Robust protocols use ACKs and perhaps NAKs to
provide rapid feedback to the transmitter. Lack of them implies huge buffers,
which alas are in principle never large enough for some files. MS Kermit 3.0
and C Kermit (5A, to be released) use sliding windows to allow sending and
receiving to overlap and hence reduce waiting time to almost zero. Other
protocols use the same basic method, for the same reasons.
	A couple of good books to "read all about it" are the world classic
"Computer Networks" by Andrew Tanenbaum, Prentice Hall, and "Kermit, a file
transfer protocol" by Frank da Cruz, Digital Press. The former is more
theoretical (but very well written) and the latter faces the real world
squarely and in clear English (plus a lot of C code fragments for those
so interested).
	As I've mentioned previously, under good conditions simple protocols
can out perform more sophisicated ones. However, who knows when conditions
are good? Or when a comms black box somewhere requires careful feeding, etc.
Sophisticated protocols try to accomodate such common happenings and recover
without leaving damaged files (robustness and correctness). Tanenbaum has
a good set of senarios ranging from blast away at the receiver and listen
afterward (raw transmission deviod of ACKs or flow control or sensitivity
to special characters or any form of error checking), to full sliding windows
with selective repeats (with all the b&w, that's the kind in MS Kermit and
C Kermit). Interesting stuff.
	If the protocol is good then we pay careful attention to the program's
user interface and convenience features, and price.
	Joe D.