Re: TCP Checksum Interoperability
Lloyd Wood <l.wood@eim.surrey.ac.uk> Fri, 05 April 2002 22:13 UTC
Date: Fri, 5 Apr 2002 23:13:47 +0100 (BST)
From: Lloyd Wood <l.wood@eim.surrey.ac.uk>
X-X-Sender: eep1lw@phaestos.ee.surrey.ac.uk
Reply-To: Lloyd Wood <L.Wood@eim.surrey.ac.uk>
To: Rob Austein <sra+ietf@hactrn.net>
Cc: tcp-impl@grc.nasa.gov, <ietf@ietf.org>
Subject: Re: TCP Checksum Interoperability
In-Reply-To: <20020405213024.EE5C51CA1@thrintun.hactrn.net>
Message-ID: <Pine.SOL.4.43.0204052248210.5049-100000@phaestos.ee.surrey.ac.uk>
Organization: speaking for none
X-url: http://www.ee.surrey.ac.uk/Personal/L.Wood/
X-no-archive: yes
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Scanner: exiscan *16tbxu-0007fd-00*yjmz8Ri2Sbs* (SECM, UniS)
Sender: owner-tcp-impl@grc.nasa.gov
Precedence: bulk
Status: RO
Content-Length: 1878
Lines: 50
On Fri, 5 Apr 2002, Rob Austein wrote: > --------At Fri, 05 Apr 2002 12:05:33 -0800, Joe Touch wrote: > > > > See my other post on this, as per RFC1624 section 3, only one state > > (0x0000) is legal as the complement of the checksum of non-zero data. > > TCP checksummed data must contain at least one nonzero word (the one > > with the TCP header length, which must be >=20). > > RFC 1624 is (a) Informational, It was written before BCP came into being with RFC1818. More accurate to say that it's not standards-track... I imagine any update today would be BCP. > and (b) wrong on this point. RFC 793 > just says that it's a one's complement sum and does not dictate the > specific method by which it must be calculated. > > The implementation is > free to subtract zero from the sum at any point in the calculation to > prevent overflow (even if the particular value of zero chosen would > happen to look like a very large number when considered as an unsigned > value). An implementation whose native word size is larger than 16 > bits is also free to first perform the summation then fold the results > down to 16 bits by applying mod 0xFFFF. > > And yes, once upon a time, people wrote checksum code that worked this > way, at least on PDP-10s at MIT. > > The point is not that I'd advise anyone to use these techniques in new > code, just that they're completely legal given what the standard > actually says, and that the robustness principle therefore suggests > that we should accept the checksums they generate. and RFC791 claims ttl is in seconds, ergo I don't have to decrement ttl because I know my traffic is on paths less than a second long. Cool reasoning. L. > > The receiver is entirely justified in considering 0xffff as an error. > > I disagree, for the reasons given above. <L.Wood@surrey.ac.uk>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>
- RE: TCP Checksum Interoperability Michael Smith
- RE: TCP Checksum Interoperability Michael Smith
- Re: TCP Checksum Interoperability Michael Smith
- Re: TCP Checksum Interoperability Joe Touch
- Re: TCP Checksum Interoperability Ignacio Goyret
- RE: TCP Checksum Interoperability Lloyd Wood
- RE: TCP Checksum Interoperability Lloyd Wood
- Re: TCP Checksum Interoperability Rob Austein
- Re: TCP Checksum Interoperability J. Noel Chiappa
- Re: TCP Checksum Interoperability Lloyd Wood
- Re: TCP Checksum Interoperability Rob Austein
- Re: TCP Checksum Interoperability Matt Crawford
- Re: TCP Checksum Interoperability Alan Cox
- Re: TCP Checksum Interoperability Lloyd Wood
- Re: TCP Checksum Interoperability Lloyd Wood
- Re: TCP Checksum Interoperability der Mouse
- Re: TCP Checksum Interoperability der Mouse
- Re: TCP Checksum Interoperability vint cerf
- Re: TCP Checksum Interoperability Fred Baker
- Re: TCP Checksum Interoperability Joe Touch
- Re: TCP Checksum Interoperability der Mouse
- RE: TCP Checksum Interoperability Chris Trobridge
- RE: TCP Checksum Interoperability Bob Braden