Subject: RE: TCP "reliability"

From: [email-masked]
Date: Wed, 11 Jul 2001 14:11:25 -0400

Jonathan,

> >(2) Data is correctly delivered in the face of corruption.  TCP's 16-bit
> >	checksum falls short of a 32-bit CRC in its ability to detect
> >	corruption, and hence TCP leaves something to be desired here.
> 
> stricly, what you say is unquestionably true.

Right ... I put the numbers of bits in for a reason :-).

> But I think you are
> conflating two quite distinct properties here: 32-bit error-detecting
> codes (EDCs) and the kinds of errors which a (32-bit) CRC guarantee to
> catch, versus the errors which to which a transport-level error chehck
> is, empirically, subjected.
> 
> It turns out that, on the best data we (I and Craig Partridge) have on
> empirically-observed transport-level errors, CRCs are just not a whole
> lot better than a 32-bit mod-M additive sum (where M ~= 2^32).

I think that's fair, and I certainly don't want to argue with empirical data
- my wife claims the first rule of engineering is "never argue with results"
... and she's always right ;-).

However, when looking at TCP, we have to deal with the 16-bit
checksum that exists and really cannot be changed at this juncture.

Thanks,
--David

---------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 42 South St., Hopkinton, MA  01748
+1 (508) 435-1000 x75140     FAX: +1 (508) 497-8500
[email-masked]       Mobile: +1 (978) 394-7754
---------------------------------------------------