Re: [tsvwg] UDP Options: on forcing the use of UDP CS=0 in connection with FRAG+LITE

Joe Touch <touch@strayalpha.com> Sat, 29 June 2019 14:58 UTC

Return-Path: <touch@strayalpha.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B872C12000E for <tsvwg@ietfa.amsl.com>; Sat, 29 Jun 2019 07:58:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.218
X-Spam-Level:
X-Spam-Status: No, score=-1.218 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lx0b00ptZcgr for <tsvwg@ietfa.amsl.com>; Sat, 29 Jun 2019 07:58:30 -0700 (PDT)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B8954120045 for <tsvwg@ietf.org>; Sat, 29 Jun 2019 07:58:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Transfer-Encoding:Content-Type:Sender: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=sLo/V/7gQRr8cXuZE/B3lzUlFKrYQ+0624sSDB9kYWA=; b=ri6O6I93E3ytIt/jUUO+WVcqS4 TWVjW+X8+qnQC4cXhG85kUO+7KI2Ej+JVvQnRdSHkJugO6Cx7/POQjD8FKWxb8oCwZzr7y+3KFSYf EaYE2y7v3uUr+Ff5WPWzjBNk/yx1XWEvXzPhNY4cAWU1s5UC83dfZssAUSS1bWcau+Jzst2+QyAkj lSUbh4YuIdiZSsTlDKNQn3fFX5TTQK4U0qIF4PgzmfRJwip74CUwJhDZol9dinECOyiJ8Yi3ewCME H9fGD3wRO95fJ2xB23kru/XRedO3S0xt7FB6uF3+xhFakRgBiXxMyNdX7PSkaJwFSV8JuVYdOh+AK ltqQPd3w==;
Received: from cpe-172-250-240-132.socal.res.rr.com ([172.250.240.132]:59372 helo=[192.168.1.16]) by server217.web-hosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from <touch@strayalpha.com>) id 1hhEnq-001tYq-Ay; Sat, 29 Jun 2019 10:58:23 -0400
Content-Type: multipart/alternative; boundary="Apple-Mail-1BEBC3F6-A838-4006-924D-37E7F589D343"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (1.0)
From: Joe Touch <touch@strayalpha.com>
In-Reply-To: <CACL_3VE6kr33Vk5si5AxSZNmhqysZZGoy6HK37COUgwbvcRkdA@mail.gmail.com>
Date: Sat, 29 Jun 2019 06:55:45 -0700
Cc: Tom Herbert <tom@herbertland.com>, TSVWG <tsvwg@ietf.org>
Message-Id: <24692A9B-4AF1-4E32-A760-7D4908A61262@strayalpha.com>
References: <CACL_3VHGtMz3htgfFLRGhjXm=qC7kOXQs+cchtamhh-giBnpLA@mail.gmail.com> <CALx6S35T9ApzMaoSVgHSJPpcpfXsbHHogoBbEjMPj6vH-kxYeA@mail.gmail.com> <CACL_3VE6kr33Vk5si5AxSZNmhqysZZGoy6HK37COUgwbvcRkdA@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
X-Mailer: iPad Mail (16F203)
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/q0t75dBec8Dw51cnYiE5nLYdKWY>
Subject: Re: [tsvwg] UDP Options: on forcing the use of UDP CS=0 in connection with FRAG+LITE
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 29 Jun 2019 14:58:34 -0000

See sec 8.1, which incorporates rfc 6936:

As an exception to the default behavior, protocols that use UDP as a tunnel encapsulation may enable zero-checksum mode for a specific port (or set of ports) for sending and/or receiving. Any node implementing zero-checksum mode must follow the requirements specified in "Applicability Statement for the Use of IPv6 UDP Datagrams with Zero Checksums" [RFC6936].

Frag is a kind of such a tunnel because it adds its own reassembly CS.

But that also means middleboxes should allow relaying these since 6936 was passed.

Joe

> On Jun 28, 2019, at 11:30 PM, C. M. Heard <heard@pobox.com> wrote:
> 
>> On Fri, Jun 28, 2019 at 2:30 PM Tom Herbert <tom@herbertland.com> wrote:
> 
>> On Fri, Jun 28, 2019 at 9:23 AM C. M. Heard <heard@pobox.com> wrote:
> ... 
>>> .For IPv6, at least, it seems that UDP CS=0 does not have very good middlebox
>>> traversal properties. Raffaele Zullo has shared with me the results of some
>>> (admittedly small-scale) measurements he did to look specifically at this,
>>> and the results were not especially encouraging: depending on the test case,
>>> between 26% and 36% of the paths blocked UDP CS=0 over IPv6 from reaching
>>> the final router before the  destination (see results for test cases B1
>>> below). By contrast, a UDP packet with a properly compensated checksum was
>>> seen in previous measurements to have around a 94% chance of getting to the
>>> destination under comparable circumstances (see results for IPv6 HTTP in
>>> https://datatracker.ietf.org/meeting/103/materials/slides-103-maprg-a-tale-of-two-checksums-tom-jones-00).
>>> 
>> Also, this is would be violation of RFC8200: "IPv6 receivers must discard UDP packets containing a zero checksum and should log the error". So it's not just middleboxes, end hosts will also have problems with UDPv6 zero checksums.
> 
> Yes, of course -- the low DNS response rate in Raffaele's data below bear that out -- but if the intent is to use it for the FRAG option, then hosts would need modifications anyway.
>  
>>> > On 2019-04-07 16:11, C. M. Heard wrote:
>>> > > Hello Raffaele,
>>> > >
>>> > > Thank you for taking the time to dig out this information.
>>> > >
>>> > > I see that the response rates for UDP CS=0 over IPv6 are quite low,
>>> > > with
>>> > > or without UDP options.  However, as you point out, the measurements
>>> > > cannot distinguish cases where middleboxes in the path discard CS=0
>>> > > packets from cases where the server itself does so.  In order to draw
>>> > > firm conclusions about the the proportion of paths that drop IPv6 UDP
>>> > > CS=0,
>>> > > it seems that one would need some independent means to estimate
>>> > > the proportion of servers that discard IPv6 UDP CS=0..
>>> > >
>>> > > Do you think it would be useful to share this data with the TSVWG list?
>>> > >
>>> > > Good luck on the job hunt.
>>> > >
>>> > > Mike Heard
>>> > >
>>> > > On Sun, Apr 7, 2019 at 6:25 AM Raffaele Zullo wrote:
>>> > > >
>>> > > > Hello Gorry,
>>> > > > Hello Mike,
>>> > > >
>>> > > > Sorry for the late reply.
>>> > > > I've got lost in a few other things (basically job hunting is a job).
>>> > > >
>>> > > > Anyway I finally got my VPN access to the lab network restored so I
>>> > > > could retrieve measurements data.
>>> > > >
>>> > > >
>>> > > > We tested a limited number of (paths to) IPv6 servers, obtained from
>>> > > > Alexa top-1m:
>>> > > > 17110 authoritative DNS servers
>>> > > > and
>>> > > > 12184 HTTP servers.
>>> > > >
>>> > > > DNS servers were tested with well-crafted DNS queries.
>>> > > > The first packet was a regular UDP packet with correct CS.
>>> > > > If the server replied to the query then it was tested with CS=0,
>>> > > > Options, etc.
>>> > > >
>>> > > > Paths to HTTP servers were instead tested with padded packets sent to
>>> > > > UDP port 80.
>>> > > > The first packet was again a regular UDP packet with correct CS.
>>> > > > If the server replied with ICMP Port Unreachable, then it was tested
>>> > > > with CS=0, Options, etc.
>>> > > >
>>> > > > Out of 17110 DNS servers
>>> > > > 1.75% replied to UDP CS=0
>>> > > > 1.43% replied to UDP+Opt CS=0
>>> > > >
>>> > > > Out of 12184 HTTP servers
>>> > > > 17.21% replied to UDP CS=0
>>> > > > 16.67% replied to UDP+Opt CS=0
>>> > > >
>>> > > >
>>> > > > These are the raw data.
>>> > > >
>>> > > >
>>> > > > I would add that the portion of paths OK with IPv6 UDP CS=0 can be
>>> > > > underestimated.
>>> > > > Since we are measuring paths to servers, the server itself can affect
>>> > > > the measurement,
>>> > > > for instance if the path is clean but the server's stack discards IPv6
>>> > > > with UDP CS=0, the outcome of the measurement will be negative.
>>> > > >
>>> > > >
>>> > > > Cheers,
>>> > > > Raffaele
>>> > > >
>>> > >
>>> >