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.