On 11/16/05, Andreas Bartelt <[EMAIL PROTECTED]> wrote:
> I was wondering why such a simple checksum algorithm is implemented in
> TCP. I suppose, it's because of the slow CPU performance many years ago.

and that's the way the great tcp gods of old said it must be.

> In RFC 1122 I've read that the TCP checksum MUST (the usual caps lock
> problem...) be implemented:

i'm not sure if you're serious or not, but MUST has a particular meaning.

> So I'm wondering why it MUST be calulated:
> is it necessary to implement a checksum in TCP because reliability at
> layer 2 is insufficient in practice? I see only two possible answers to
> this question:
> 1) yes - than it's a very old reliability bug and should be fixed,
> because sooner or later the TCP checksum won't catch a random error
> pattern in a segment. (should it be fixed by always using an alternate
> TCP checksum option, i.e. a MD5 hash? Or by improving layer 2
> reliability in hardware?) [btw, netstat -sp tcp shows me that there
> sometimes are TCP checksum errors - 23 errors in 9 days on a slow DSL link]

good luck communicating with other tcp devices after you change your
checksum to md5.  the point is to be fast and catch some errors. 
also, type end-to-end into google.

> 2) no - so why not skip TCP checksum calculation at all? (at least for
> incoming seqments this wouldn't break a thing besides the RFC itself).

because then you don't detect errors.

Reply via email to