[comp.protocols.tcp-ip] ignoring UDP checksums

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