[ih] TCP RTT Estimator
Jack Haverty
jack at 3kitty.org
Fri Apr 18 10:09:42 PDT 2025
I can confirm that the computer resources for computing a checksum were
definitely a concern with the machines of that era. Communications
hardware, such as modems, could do robust checksums in hardware, but the
checksums in TCP/IP were too complicated for that since only particular
parts of datagrams were included in the calculations.
It was difficult enough to get a decent packets-per-second performance
in gateways, and minimize overhead in host computers, without the
additional work to do a "real" checksum. So the rudimentary one (that
IIRC was the same one we settled on at the first Bakeoff) was adequate
for the moment.
In addition, we expected that, for DoD use, real-world deployment would
utilize encryption, as was being done at the time on the ARPANET using
PLIs. See https://en.wikipedia.org/wiki/ARPANET_encryption_devices
Military grade encryption was quite good as a checksum algorithm to
catch all sorts of problems, including errors in transmission.
Thinking back, I can't recall the reason for including checksums in TCP
at all. Perhaps it was just there because it was standard practice to
include some kind of mechanism to detect the expected transmission
errors on circuits of the day. Of course you had to have a checksum ...
everyone else does.
Jack Haverty
On 4/17/25 11:58, touch--- via Internet-history wrote:
> AFAICT, the Internet checksum was basically a trade-off between an additional E2E check and the cost of implementing it in software.
>
> Link devices already had CRCs, but implemented in hardware, where bit-wise mixing is very fast. In software, the same function can require multiple opcodes per bit; the Internet checksum is one opcode per CPU word (1 per byte in the early days, fewer now), i.e., runs around 16-30x faster in software. Because the Internet assumes link layers can vary, there’s no easy way to assume all net devices implement the same CRC in hardware.
>
> This kind of speed difference gave rise to the misconception that *every* SW crypto/check alg was 10-50x faster in HW, which notably isn’t true for some hashes such as MD5.
>
> Joe
>
> —
> Dr. Joe Touch, temporal epistemologist
> www.strayalpha.com
>
>> On Apr 17, 2025, at 11:34 AM, Leonard Kleinrock via Internet-history<internet-history at elists.isoc.org> wrote:
>>
>> Hi Dave,,
>> As I understood it, the CRC code was especially easy and powerful for detecting errors, but extremely complicated for correcting errors. I would’ve guessed that the error detection was indeed CRC (the BCH code).
>> Len
>>
>> Sent from my iPhone
>>
>>> On Apr 17, 2025, at 8:19 AM, David Finnigan via Internet-history<internet-history at elists.isoc.org> wrote:
>>> On 13 Apr 2025 6:57 am, John Day via Internet-history wrote:
>>>> Sometime ago, (I think it was Jack Haverty) said that the TCP checksum
>>>> was a placeholder until they could consult someone to advise them on
>>>> what to use and it got lost in the shuffle. ;-)
>>> Even RFC 791 [Sep 1981] states "experimental evidence indicates it [the checksum] is adequate, but it is provisional and may be replaced by a CRC procedure, depending on further experience."
>>>
>>> -David Finnigan
>>> --
>>> Internet-history mailing list
>>> Internet-history at elists.isoc.org
>>> https://elists.isoc.org/mailman/listinfo/internet-history
>> --
>> Internet-history mailing list
>> Internet-history at elists.isoc.org
>> https://elists.isoc.org/mailman/listinfo/internet-history
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <http://elists.isoc.org/pipermail/internet-history/attachments/20250418/cda2af2a/attachment.asc>
More information about the Internet-history
mailing list