Title: RE: TCP Checksum Interoperability

I'm cross-posting this thread to [EMAIL PROTECTED] for archival purposes, we'll see if any further replies to the ietf list get posted at [EMAIL PROTECTED] too (for instructions to join tcp-impl, see below). My rationale here is just to try and keep tcp-impl as a good source of material on tcp/ip implementation issues. It seems you can't post to '[EMAIL PROTECTED]' (see also below for discussion on this group).

Sorry, Chris, forgot to copy you on this.

Aloha

Mike Smith
CTO, iReady

To: [EMAIL PROTECTED]
Subject: Re: TCP Checksum Interoperability
From: Rob Austein <[EMAIL PROTECTED]>
Date: Fri, 05 Apr 2002 14:29:44 -0500
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Sender: [EMAIL PROTECTED]
User-Agent: Wanderlust/2.4.1 (Stand By Me) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/20.7 (i386--freebsd) MULE/4.0 (HANANOEN)

--------------------------------------------------------------------------------

The last time this came up for a TCP implementation I used to
maintain, our interpretation of Robustness Principle applied to this
problem dictated that we shouldn't send segments with checksum fields
set to all ones (that is, we shouldn't send ~(+0)), but that we had to
accept either ~(+0) or ~(-0) in received segments.

Strictly speaking, either zero state is completely legal, but one is
(apparently) more surprising to most implementors than the other, due
to the implementation techniques that suggest themselves on most
modern processors.



-----Original Message-----
From: Michael Smith
Sent: Friday, April 05, 2002 10:39 AM
To: '[EMAIL PROTECTED]'
Cc: Michael Smith
Subject: RE: TCP Checksum Interoperability


Lloyd: your comment is interesting.

I know there hasn't been much activity on tcp-impl, but it's still there. Allison sent an email a while back encouraging it's use, but I can't find that just now.

To subscribe (or unsubscribe) to the tcp-impl mailing list, send mail to [EMAIL PROTECTED] with one of the following in the body of the message.

subscribe tcp-impl

unsubscribe tcp-impl

There's also http://groups.yahoo.com/group/tcp-impl/ but activity there stopped about July 2001. I never understood how the two mailing lists related, but I posted your mail (below) to both, I hope you don't mind.

Aloha

Mike Smith
CTO, iReady

-----Original Message-----
From: Lloyd Wood [mailto:[EMAIL PROTECTED]]
Sent: Friday, April 05, 2002 4:43 AM
To: Chris Trobridge
Cc: [EMAIL PROTECTED]
Subject: Re: TCP Checksum Interoperability


See sections 3-5 of RFC1624 for discussion of the one's complement
problem for the IP header checksum. I presume similar applies for TCP,
although I don't know offhand if it's written down anywhere.

L.


On Fri, 5 Apr 2002, Chris Trobridge wrote:

> I writing to this list because the TCP workgroup was shutdown a while ago.
>
> We have a compatibility problem between two third party implementations of
> the TCP checksum.
>
> The problem concerns the representation of zero, which has two 1-s
> complement representations (0000 and ffff).
>
> We don't have source to either stack but I managed to deduce the problem
> from looking at a packet trace.  The receiver drops all datagrams containing
> a TCP with a TCP checksum of ffff.
>
> The receiver appears to be following the checksum procedure in the RFC
> literally - ie zero checksum, recalculate and check that the result is the
> complement of what the sender sent.  The problem is that the sender and
> receiver don't agree about zero and hence the datagram is dropped silently.
>
> My view is that the receiver is in error; it should be checking the special
> case of 0.
>
> All the receiver code I have seen doesn't work this way.  The normal
> approach is to calculate the1-s complement sum with checksum in place and
> check that this is zero.  The methods I konw always return just one
> representation for zero, hence there is no special case.
>
> Any thoughts?
>
> Thanks,
> Chris
>


stupid autoappended signatures below.

>
> -----------------------------------------------------------------------------------------------------------------
> The information contained in this message is confidential and is intended
> for the addressee(s) only.  If you have received this message in error or
> there are any problems please notify the originator immediately.  The
> unauthorized use, disclosure, copying or alteration of this message is
> strictly forbidden. Baltimore Technologies plc will not be liable for direct,
> special, indirect or consequential damages arising from alteration of the
> contents of this message by a third party or as a result of any virus being
> passed on.
>
> In addition, certain Marketing collateral may be added from time to time to
> promote Baltimore Technologies products, services, Global e-Security or
> appearance at trade shows and conferences.
>
> This footnote confirms that this email message has been swept by
> Baltimore MIMEsweeper for Content Security threats, including
> computer viruses.
>
>

<[EMAIL PROTECTED]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>


-
This message was passed through [EMAIL PROTECTED], which
is a sublist of [EMAIL PROTECTED] Not all messages are passed.
Decisions on what to pass are made solely by Raffaele D'Albenzio.

Reply via email to