checksum updating

John Shriver <jas@shiva.com> Thu, 05 January 1995 00:10 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa11380; 4 Jan 95 19:10 EST
Received: from [132.151.1.1] by IETF.CNRI.Reston.VA.US id aa11376; 4 Jan 95 19:10 EST
Received: from venera.isi.edu by CNRI.Reston.VA.US id aa13501; 4 Jan 95 19:10 EST
Received: from Shiva.COM by venera.isi.edu (5.65c/5.61+local-20) id <AA21652>; Wed, 4 Jan 1995 15:37:52 -0800
Received: by Shiva.COM (1.34b) Wed, 4 Jan 95 18:37:43 EST
Date: Wed, 4 Jan 95 18:37:43 EST
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: John Shriver <jas@shiva.com>
Message-Id: <9501042337.AA17719@Shiva.COM>
To: rreq@isi.edu
Subject: checksum updating

The rreq-03 cites RFC 1071 on checksums.  That RFC notes that you can
save time by doing an incremental update of the checksum when you
decrement the TTL.  However, that RFC is cited as only containing
"hints". 

I wonder if we want to say something stronger?  The MIT and Proteon
code does the incremental update of the checksum for TTL, but not
primarily for reasons of speed.  The primary reason is that it reduces
the chance that the router will accidentally corrupt the data, and
then subsequently recompute the checksum and forward corrupted data
with a new "correct" checksum.  Such corruption can come from software
bugs, hardware bugs, hardware failures, or even cosmic ray hits on
DRAMs.  (I doubt that many routers use ECC memory, except those
running on workstations.)

Of course, if this is an old issue that was argued to death earlier on
this list (back when I let John Moy read it for me), nevermind...