Re: [TERNLI] Forwarding corrupt packets

Joe Touch <touch@ISI.EDU> Fri, 01 September 2006 14:07 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GJ9fu-0007bo-CL; Fri, 01 Sep 2006 10:07:14 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GJ9fu-0007bj-4s for ternli@ietf.org; Fri, 01 Sep 2006 10:07:14 -0400
Received: from vapor.isi.edu ([128.9.64.64]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GJ9fs-0006x3-Q6 for ternli@ietf.org; Fri, 01 Sep 2006 10:07:14 -0400
Received: from [192.168.1.42] (pool-71-106-94-15.lsanca.dsl-w.verizon.net [71.106.94.15]) by vapor.isi.edu (8.13.8/8.13.6) with ESMTP id k81E6puO008530; Fri, 1 Sep 2006 07:06:51 -0700 (PDT)
Message-ID: <44F83E74.1080603@isi.edu>
Date: Fri, 01 Sep 2006 07:06:44 -0700
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 1.5.0.5 (Windows/20060719)
MIME-Version: 1.0
To: Michael Welzl <michael.welzl@uibk.ac.at>
Subject: Re: [TERNLI] Forwarding corrupt packets
References: <1157097623.3192.34.camel@lap10-c703.uibk.ac.at>
In-Reply-To: <1157097623.3192.34.camel@lap10-c703.uibk.ac.at>
X-Enigmail-Version: 0.94.0.0
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="------------enig7BDC9AB1A9789789F26B9258"
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 4b800b1eab964a31702fa68f1ff0e955
Cc: ternli@ietf.org
X-BeenThere: ternli@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Transport-Enhancing Refinements to the Network Layer Interface <ternli.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ternli>, <mailto:ternli-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ternli>
List-Post: <mailto:ternli@ietf.org>
List-Help: <mailto:ternli-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ternli>, <mailto:ternli-request@ietf.org?subject=subscribe>
Errors-To: ternli-bounces@ietf.org


Michael Welzl wrote:
> Hi all,
> 
> Here's an idea for a potentially useful message that
> could be exchanged between end systems and the inner
> network:
> 
>>From transport end point to network:
> "Corruption Acceptable (CA)" (meaning that it would be
> preferrable to forward packets that are corrupt rather
> than drop them)
> 
>>From network to transport end point: "Corruption
> Forwarding supported (CF)"
> 
> Purpose: help the end system decide whether to use
> UDP-Lite, or partial checksums in DCCP, or the
> Data Checksum option in DCCP.

Why does the _network_ need to know about these? The network doesn't
check (or shouldn't check) transport checksums.

The only reason the network would think a packet is corrupt:

1) bad net checksum (e.g., IPv4)

2) bad link checksum

In both cases, the destination address is not trusted anymore, so you're
potentially sending the corrupt packet to the wrong _place_. If you
can't send it the right place, then why are you sending it?

This isn't a new issue; it's one of the reasons for the partial checksum
in lite/DCCP - but also why it should be only over the _data_ portion.

In those conditions, you might end up with one e2e-pair causing a
separate endpoint to throttle-back thinking its packets are corrupted.
That cross-contamination seems like a sufficient reason not to do this.

IMO, partial transport checksums are useful only where the header
checksum is still valid; otherwise, there's no point in interpreting the
header at all.



Joe