Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!ucsd!ucbvax!NNSC.NSF.NET!craig From: craig@NNSC.NSF.NET (Craig Partridge) Newsgroups: comp.protocols.tcp-ip Subject: more on Fletcher Message-ID: <8911301916.AA14465@ucbvax.Berkeley.EDU> Date: 30 Nov 89 17:13:52 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 62 Hey folks -- let's not make using a different checksum harder than it needs to be. It is very simple to do. A one-page RFC explaining how is appended. Please note I'm not endorsing the use of alternate checksums (although it seems harmless enough). Craig Internet Engineering Task Force C. Partridge Request for Comments: XXXX BBN TCP Alternate Checksum Option Status of This Memo This memo is a draft RFC that proposes a TCP option to allow use of alternate 16-bit checksums in the TCP header. Distribution of this memo is unlimited. Introduction Some members of the networking community have expressed interest in using checksums with different error detection and correction properties than the standard TCP checksum. This option makes use of such checksums feasible, provided the checksums are 16-bit quantities. Definition of the Option This three-byte option may be sent in a SYN segment by a TCP to indicate that it is prepared to both and receive an alternate checksum. The alternate checksum replaces the regular TCP checksum in the checksum field of the TCP header. It is computed over the same data as the regular TCP checksum. TCP Alternate Checksum Option: +---------+---------+---------+ | Kind=X |Length=3 | cksum | +---------+---------+---------+ Here cksum is a number identifying the type of checksum to be used. The currently defined values of cksum are: 0 -- TCP checksum 1 -- 16-bit Fletcher's checksum To use an alternate checksum, a TCP must both send and receive a SYN segment specifying that the same alternate checksum is to be used. Note that SYN segments must always use the TCP checksum. If a TCP receives an option containing different checksum type value from the one it sent or does not receive an option from the remote TCP, it must use the TCP checksum on the connection. Observe that in practice this means that the initiating TCP determines whether an alternate checksum is used, and the listening TCP can only choose to accept or reject the proposed alternate checksum. Brought to you by Super Global Mega Corp .com