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.
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
-----------------------------------------------------------------------------------------------------------------
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.