Re: [tcpm] draft-anumita-tcpm-stronger-checksum

Joe Touch <touch@isi.edu> Thu, 10 June 2010 00:46 UTC

Return-Path: <touch@isi.edu>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D33633A69AC for <tcpm@core3.amsl.com>; Wed, 9 Jun 2010 17:46:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rcAc7WqCkLZN for <tcpm@core3.amsl.com>; Wed, 9 Jun 2010 17:46:54 -0700 (PDT)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) by core3.amsl.com (Postfix) with ESMTP id E5D8C3A6857 for <tcpm@ietf.org>; Wed, 9 Jun 2010 17:46:53 -0700 (PDT)
Received: from [192.168.1.92] (pool-71-106-88-10.lsanca.dsl-w.verizon.net [71.106.88.10]) (authenticated bits=0) by nitro.isi.edu (8.13.8/8.13.8) with ESMTP id o5A0jdOf014359 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 9 Jun 2010 17:45:49 -0700 (PDT)
Message-ID: <4C1035B2.7020502@isi.edu>
Date: Wed, 09 Jun 2010 17:45:38 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: "Scheffenegger, Richard" <rs@netapp.com>
References: <20100609151532.8E75E28C0D0@core3.amsl.com><33D3BDE9-7E8D-4DF0-B8D5-BFFC66CF9C99@nokia.com> <20100609173556.GA5338@nuttenaction> <0C53DCFB700D144284A584F54711EC5809E5C397@xmb-sjc-21c.amer.cisco.com><8B364027-73E4-4C85-B879-7609E28A8B19@nokia.com> <4C0FEB1C.8070006@isi.edu> <5FDC413D5FA246468C200652D63E627A08F65D8B@LDCMVEXC1-PRD.hq.netapp.com>
In-Reply-To: <5FDC413D5FA246468C200652D63E627A08F65D8B@LDCMVEXC1-PRD.hq.netapp.com>
X-Enigmail-Version: 0.96.0
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="------------enig3C6B786E66637220B19FA221"
X-MailScanner-ID: o5A0jdOf014359
X-ISI-4-69-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: tcpm@ietf.org, "Anantha Ramaiah (ananth)" <ananth@cisco.com>
Subject: Re: [tcpm] draft-anumita-tcpm-stronger-checksum
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Jun 2010 00:46:54 -0000

Some notes below...

Scheffenegger, Richard wrote:
> To further this discussion:
> 
> I believe the suggestion using Alternate Checksum Option has the highest
> merits:
> 
> O) no new tcp option number would be needed
> O) only an additional checksum option type would need to be defined (and
> there are still plenty left; I found no evidence so far, that any other
> value than 0 and 1 were ever used - scanning though the I-D archives).
> 
> To make this proposal compatible with existing middleboxes, which might
> not understand the option, but choose to simply forward it, my
> suggestion would be to *NOT* include the TCP pseudo-header in that
> alternate checksum, but *only* cover the data section. This would make
> it also possible to traverse NAT/PAT gateways, which are agnostic to
> this option.

Middleboxes will be a problem no matter what you do.

Some will drop the segment simply because it has an option they don't understand.

Some will drop the option, which will result in drops at the receiver.

Many (most) will try to validate the TCP checksum, which is zero or contains
part of the alternate checksum when the alternate checksum is present, so
they'll drop the segment in that case.

As a result, it's not particularly useful to tailor this option to work through
middleboxes.

Further, RFC 1146 defines the option to work over the same fields as the TCP
checksum; I don't think it would be appropriate to use that option with merely a
different algorithm and redefine the bits covered.

Finally, if the TCP header isn't protected, it's no longer a TCP checksum - it's
a data checksum, at which point TLS is probably more appropriate.

I don't think the other suggestions (two checksums, issues of how many bits are
covered, etc.) are important. If the above doesn't work, the rest is moot anyway.

Joe