Re: Responding to Ron's comment about removing fragmentation

Jeroen Massar <jeroen@massar.ch> Fri, 14 November 2014 22:03 UTC

Return-Path: <jeroen@massar.ch>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CC53F1ACEF4 for <ipv6@ietfa.amsl.com>; Fri, 14 Nov 2014 14:03:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
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 aSAq-8gjvFPH for <ipv6@ietfa.amsl.com>; Fri, 14 Nov 2014 14:03:38 -0800 (PST)
Received: from bastion.ch.unfix.org (bastion.ch.unfix.org [46.20.246.101]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CBEBF1ACEFF for <ipv6@ietf.org>; Fri, 14 Nov 2014 14:03:34 -0800 (PST)
Received: from kami.ch.unfix.org (kami.ch.unfix.org [IPv6:2001:1620:f42:99:7256:81ff:fea5:2925]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: jeroen) by bastion.ch.unfix.org (Postfix) with ESMTPSA id F299F1008709B; Fri, 14 Nov 2014 22:03:31 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=massar.ch; s=DKIM2009; t=1416002612; bh=odZTE+1Qcyj5vUyEZ1EWcS0JXQjGQxCXGUDKHR4xdlU=; h=Date:From:To:Subject:References:In-Reply-To; b=sge1Wbtb1+syU0Wg+Ch9V7bOC/LgP/TADsZavnJ+nuFrMAcqJdnkU4ILF4va7cNCA yilXw0jDfh1bbYqDLBTouJqF/Tx0oAvKz73ZBLnY8G3q67IH0bUWWJNin9EYWDEF8f ste2ecbBj2k0jZw0b/x43WA2AY/5rTUPp5tCBgrsEvJZMfMBFPiT8xpdtrfTehvNd5 bdz+puHcbYD3OuyIeM4Pj7ZMSH9XfOSrw2sVC1ad3gMmDPcehsWWObrlSv+neZsSFK tWYBNKZkwHWasaBIG2brPGHHOl+l+7qULSV56KnDDfVoROHNEvEuzGI62tNlck1C8X YKovwSSWZN+ZA==
Message-ID: <54667C31.6060105@massar.ch>
Date: Fri, 14 Nov 2014 23:03:29 +0100
From: Jeroen Massar <jeroen@massar.ch>
Organization: Massar
MIME-Version: 1.0
To: Carsten Bormann <cabo@tzi.org>, IETF IPv6 <ipv6@ietf.org>
Subject: Re: Responding to Ron's comment about removing fragmentation
References: <5466662F.6080400@acm.org> <FE6C2980-804D-4D76-94AE-B4A40ADA33A0@tzi.org> <9736BDA3-E7A1-4402-B897-834972CFA685@tzi.org>
In-Reply-To: <9736BDA3-E7A1-4402-B897-834972CFA685@tzi.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/ipv6/1EyNaFykUbrHVaXmO61vnRwXQv8
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 14 Nov 2014 22:03:42 -0000

On 2014-11-14 22:24, Carsten Bormann wrote:
> I just sent Jeroen a message privately that I think could help
> framing the discussion about active measurement of MTUs.  See also
> the discussion about multi-MTU later in intarea.

Yep, was reading through it ;)

Keeping it on list is a better idea indeed. Lot more brain power here
next to a lot more experienced people who can give backing reasons why
something would and would not work.

> One related draft is: 
> http://tools.ietf.org/html/draft-bormann-intarea-alfi-04.txt
>
> We haven’t managed to find a way to make this work (except for “5.
> Another way of doing it”, and you be the judge whether this is the
> desirable way forward).

The biggest problem with having a MTU that is allowed to very small is a
spoofing attack that causes a host to start sending for instance 80
bytes packets

It does not matter if the signaling of that small MTU is done with PMTUD
or in a variable somewhere dubbed the MUALTU. If one is able to tell
another host "send very small packets" you got an attack on your hands.


I am thus of the opinion that our semi-random (anybody know how that
number came to be?) minimum MTU of 1280 is a great number as it gives us
a comfortable amount of data to be sent per packet, while not losing too
much (~18% of data given a IPv6+TCP header) on standard Ethernet of 1500
which is the norm.

Of course the real problem here is that attackers can spoof. And we all
know how hard the operator community is not deploying the advised
measures against that...

> There are a number of very good uses for a way to collect information
> on the current path, and PMTUD is just the most pressing one (see RFC
> 4782 for a more esoteric one).

4782 is way too complex and is very focused on TCP, there is more than
that out on the Internets, this magic UDP thing and SCTP for instance.

Just starting sending at 1280 while noting the MTU in the IPv6 header
(instead of this useless Flow Label thing) allows routers to indicate,
in the packet flow, what the MTU is and voila, problem solved, you can
scale your MTU to whatever you want.

Keeping routers simple and stupid is the best plan we have and one of
the best ideas backing IPv6.

> We can’t put all of them in the flow
> label.  Hop-by-hop options are the architecturally correct way, but
> these seem to be irretrievably damaged by current deployment.

Hop-By-Hop options are useless for routers because it requires parsing
after the first 40 bytes of the header. Routers should not have to
bother with that (looking behind the first 40 bytes of a packet) at all.

As an example, sixxsd does not look behind the first 40 bytes unless it
is a locally addressed packet. For forwarding it thus is really fast:
 - check src address is correct for the interface it came in on
 - update hop limit (ICMP Unreach when 0)
 - lookup egress interface based on destination address
 - check MTU and send PTB if needed
 - send packet on egress interface

(ignoring things like 'is that interface up' etc)
But it is a really fast process. The SHA1 verifies of AYIYA are the
heavy weights in the process, not the actual process of forwardings.

Also, one cannot add an option in the middle of a path as that option
might not fit. (eg sending a 1280 byte packet when the MTU is 1280).

Greets,
 Jeroen