Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 alpha 4/15/85; site spectrix.UUCP Path: utzoo!mnetor!spectrix!clewis From: clewis@spectrix.UUCP (Chris Lewis) Newsgroups: net.sources.d Subject: Re: \"FAST\" protocol proposal from Hayes Message-ID: Date: Tue, 19-Aug-86 11:23:42 EDT Article-I.D.: spectrix.120 Posted: Tue Aug 19 11:23:42 1986 Date-Received: Tue, 19-Aug-86 17:35:42 EDT References: Reply-To: clewis@.UUCP (Chris Lewis) Organization: Spectrix Microsystems Inc., Toronto, Ontario, Canada Lines: 40 Keywords: errors reliability end-to-end CRC I have some experience with so-called "error-free" links. 4.3 BSD UUCP contains protocol "f", which is intended for X.25 links where the underlying network generally guarantees *NO* errors. Protocol "f" simply blasts the file along the line, only transmitting a checksum at the end of a file, and if incorrect, retransmits the file. Sigh.... The one thing not error-free was the network to computer connection (eg: modem or PAD to computer) - many of the links I used protocol "f" on had computers on the other end that would drop characters when talking to their modems even with X-ON/X-OFF flow control (missed interrupts). We routinely were transmitting files 500K or larger. Having to retransmit the durn things multiple times is extremely painful and expensive - especially when most of the time the effective thruput was around 1200 baud (inspite of 9600 baud or higher links all the way thru). There were times when we had to abandon attempts to transmit a large file because, after 3500 miles of error-free transmission, the link between the modem and the computer (connected by 2 feet of wire) simply refused to carry our megabyte of data error-free because the computer missed the occasional interrupt at high baud rates. PLEASE PLEASE PLEASE: even on *perfect* channels, packetize and retransmit packets on errors. If the network is reliable, make the packets *big*. Say 16K or 64K, or better still, make it a parameter. There were times when 64K packets would have reduced our line charges by an order of magnitude (no exaggeration - after 40 failures on the same file...). Think about the poor suckers trying to transmit files so large that the probability of a cosmic ray particle nailing the data register in the UART approaches unity. (probably an exaggeration, but you get the idea) Never assume that anything is ever perfectly error-free - in the real world, nothing is (and sometimes the "perfect" ones aren't even close) - don't penalize the people working with imperfect equipment (or software in my case). -- Chris Lewis UUCP: {utzoo|utcs|yetti|genat|seismo}!mnetor!spectrix!clewis Phone: (416)-474-1955