romkey@kaos.UUCP (John Romkey) (04/01/88)
Datagrams without an end-to-end check are dangerous. There are lots of places for the datagram to get damaged without the ethernet CRC detecting it. An ethernet bridge with local memory might have a bad bit and corrupt one out of 1000 packets; if it doesn't put some kind of check in the packet when it's received and verify it again as the packet is transmitted, one in 1000 packets would get corrupted and lots of files accessed via NFS would lose lots of bits. The same problem exists in IP routers, only worse because they're more complicated. I don't know how most ethernet chips do their CRC calculation but I would imagine their receiving algorithm to be something like this: collect byte calculate into CRC store in memory repeat until done with packet verify CRC If that's the way they work then a bad bit on your ethernet card could also damage the packet and you wouldn't know unless you had an end-to-end verification. MIT had a problem years ago with a Chaosnet bridge which had a flaky memory board; it would sometimes trash a couple of bits. Chaosnet had no checksum in its packets; it depended solely on the network hardware to verify the data. A lot of data transferred through this bridge suffered true bit rot and the problem was a real pain to find. I also know of people who use NFS through IP routers and they sometimes have files corrupted because of damaged packets which would be caught by enabling UDP checksums. -- - john romkey UUCP: romkey@kaos.uucp ARPA: romkey@xx.lcs.mit.edu ...harvard!spdcc!kaos!romkey Telephone: (617) 776-3121
CERF@A.ISI.EDU (04/03/88)
John R - thanks for the horror story regarding chaosnet; Jack Haverty has similar stories to tell about flaky hardware whose failure was masked by the simple but essential end/end checksums protectingTCP and IP packets. The big lesson learned in the case Jack tells about is that we should have been reporting the failure/retransmission statistics somewhere; as it was, we went on for 6 months without realizing we had bad crosstalk/interference in cabling under the floor... Vint