Path: utzoo!attcan!uunet!snorkelwacker!bu.edu!orc!decwrl!shlump.nac.dec.com!carafe.enet.dec.com!goldstein From: goldstein@carafe.enet.dec.com (Fred R. Goldstein) Newsgroups: comp.protocols.tcp-ip Subject: Re: SLIP reliability Message-ID: <12435@shlump.nac.dec.com> Date: 13 Jun 90 14:48:55 GMT Sender: newsdaemon@shlump.nac.dec.com Organization: Digital Equipment Corp., Littleton MA USA Lines: 38 In article <9006130114.AA05996@vax.ftp.com>, jbvb@VAX.FTP.COM (James B. Van Bokkelen) writes... >What Ethernet has that SLIP doesn't is a link-layer CRC-16, which can >do a pretty good job of detecting damage while on the cable. SLIP >has no error detection at all at the link layer. Of course, the >Ethernet CRC-16 may not detect packets damaged in the interface, or >in the host before transmission or after reception. Slight correction. Ethernet, like 802.{3,4,5}, has a 32-bit CRC, not a 16-bit CRC. (BTW, "CRC-16" is the name of the bisync/DDCMP 16-bit checksum; "CRC-CCITT" is the 16-bit HDLC checksum. CRC-32 is the LAN checksum, also optional in HDLC, and historically developed for Autodin-II.) The 32-bit Ethernet checksum maintains a Hamming distance of 4 up to the maximum Ethernet packet, or for that matter up to about 12K bytes. Thus ANY 3 bit errors will be caught, or any one error of under 32 bits. A 16-bit CRC maintains a Hamming distance of 3 up to 4K bytes. Exceed that error limit and you're subject to a "crap shoot" of 2**n for n bits of CRC. With 32 bits, that's a very low probability of undetected error no matter how you slice it. The TCP and IP checksums are straight arithmetic. Frog two 16-bit words and you've got an undetected error. The right two-bit error combo will be undetected. It's a whole lot better than nothing, but not as good as the Fletcher checksum and that's not as good as the more computationally intensive CRC (which is usually done in hardware). SLIP, with no checking whatsoever, is a bad joke. PPP uses CRC-CCITT, which is pretty good (for reasonable MTUs). Ethernet is close to bulletproof, with regard to line noise induced error. (Host error is, as the man said, another story. TCP's checksum is mainly there to detect it.) --- Fred R. Goldstein goldstein@carafe.enet.dec.com or goldstein@delni.enet.dec.com voice: +1 508 486 7388 opinions are mine along; sharing requires permission