Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 beta 3/9/83; site celerity.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!hao!hplabs!sdcrdcf!sdcsvax!sdcc6!celerity!ron
From: ron@celerity.UUCP (Ron McDaniels)
Newsgroups: net.lan
Subject: Re: (DoD) InterNet Header Checksum
Message-ID: <222@celerity.UUCP>
Date: Thu, 11-Oct-84 11:28:36 EDT
Article-I.D.: celerity.222
Posted: Thu Oct 11 11:28:36 1984
Date-Received: Sat, 13-Oct-84 03:39:17 EDT
References: <624@ttds.UUCP> <4985@brl-tgr.ARPA> <1723@sun.uucp> <>
Reply-To: ron@celerity.UUCP ( McDaniels)
Organization: Celerity Computing, San Diego Ca.
Lines: 31
Summary: 

(.)

There are good reasons not to perform header checksums in TCP/IP other that not
being clever enough to do one's complement arithmetic. If you are running your
network strictly on Ether the time to calculate them is wasted because the
Ether CRC does a much more rigorous job of error detection than does a one's
complement checksum. If you are talking to a "long haul" network via bog knows
what kind of telephone lines, then the additional error check is useful ( read
"mandatory"). I think that this issue of multiple layers of error checking is
the chief complaint against the use TCP/IP for LANs.

As an aside, in my favorite flavor of u**x (BSD 4.2) the integer variables
"ipcksum", "tcpcksum" and "udpcksum" control the optional verification of
checksums in the respective protocol layers. Both TCP and IP (in this
specific implementation) always generate checksums. UDP does so only if
the appropriate flag word is set. Also, UDP's verification of checksums is
dependent upon BOTH the appropriate flag being set AND a received checksum
equal zero.

Considering how slowly the network code works (should have it's own dedicated
cpu!) , I think that it is a reasonable optimization to eliminate protocol
checksums when the link layer provides adequate error detection and you are
only talking among like-minded nodes on your LAN.


R. L. (Ron) McDaniels
CELERITY COMPUTING
9692 Via Excelencia
San Diego, California 92126
(619) 271-9940
{decvax || ucbvax || ihnp4 || akgua || philabs}!sdcsvax!celerity!ron