Re: Is Fragmentation at IP layer even needed ?

Phillip Hallam-Baker <phill@hallambaker.com> Tue, 09 February 2016 19:10 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6E04C1ACE8E for <ietf@ietfa.amsl.com>; Tue, 9 Feb 2016 11:10:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.278
X-Spam-Level:
X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=no
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 W2nZSqHb97YW for <ietf@ietfa.amsl.com>; Tue, 9 Feb 2016 11:10:03 -0800 (PST)
Received: from mail-lf0-x229.google.com (mail-lf0-x229.google.com [IPv6:2a00:1450:4010:c07::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D13F71ACE7D for <ietf@ietf.org>; Tue, 9 Feb 2016 11:10:02 -0800 (PST)
Received: by mail-lf0-x229.google.com with SMTP id 78so121598915lfy.3 for <ietf@ietf.org>; Tue, 09 Feb 2016 11:10:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=QJ85Oqukq+ayER0Z4x9iTzNA3GvV2kPcJcO9D6x6FgQ=; b=uBtdUrPxD/BDqyqJGc47Lo3rwO0Vavxxv/FXrTDrBADbYRUWUWpyKEZmF3XqImfFZQ 8H0FkJb75D/aZw4rUw6R2NjA+/PMxhBcprFbNzdI8/aa5T7MbW4YFtbP0GeUTphpVu3X a3sPA5Jeh7iU6GI1h6oLhAPGdP+RetOHi2TatQ3xYWEDL/pNZEbPXSfukYb1yreTbrei 1LY1RAcTrrbPz8gQkxcAq+viKtMVOjxvB3AvWRTwzcnfYiA9YG1eT/ycxscKW3EHftZy Gy648weAqeP/iBLpf4WLxi62nShQP9tuf/t2Z5F5oknkfPKlW9NAC86PfGMtG8Ru9ig3 s+Tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=QJ85Oqukq+ayER0Z4x9iTzNA3GvV2kPcJcO9D6x6FgQ=; b=m/GIUDqLFhN532xGsd+impUt0UeokFCcwPrj7r0oMUtILy4U0jDehd5qw6nDr+CnXX h1JKItaAvE+g7vJxQ9/W/47WGnF5/1ohEzzHbiNCCbx9BSGvw9/ZXE0MbjlAOr7OjAYz E19CabOl1Y+RyfJCFpJIA2DK+aRqaAiC2WURUh1truRbCVEP4i1+8fpHkJ9Jfe351J1k GRSshbaIzjqzWGRm51MJb1emjIEqz1WXVBKGPlksnnLcM+eLRDmiS3BRLu1sKGO8mOny FdJmFUsxEavHdcvwDATkUjQBaPESki8/K8uCzv+FKxpnDfFPvce1+sMjPS5ekpfAmhob nCmQ==
X-Gm-Message-State: AG10YOQpZTuY0siBb7147n/2jSf2JbfGMBuXoTK81xNsVzQHaO0bIVFhXUZ4BSzj4CCFAwneTHrWpNiMp3gO4g==
MIME-Version: 1.0
X-Received: by 10.25.205.7 with SMTP id d7mr7088223lfg.70.1455045001050; Tue, 09 Feb 2016 11:10:01 -0800 (PST)
Sender: hallam@gmail.com
Received: by 10.112.49.80 with HTTP; Tue, 9 Feb 2016 11:10:00 -0800 (PST)
In-Reply-To: <CAHw9_i+5rOE_dCm26MDLPSwOHCL+=Ax-gOYmeGpWoMWxY4v=pA@mail.gmail.com>
References: <CAOJ6w=EvzE3dM4Y2mFFR=9YyPBdmFu_jkF4-42LjkdbRd3yz_w@mail.gmail.com> <BLUPR05MB1985F5F2BB3118362C67B921AED50@BLUPR05MB1985.namprd05.prod.outlook.com> <20160208200943.A615941B5B96@rock.dv.isc.org> <BLUPR05MB19857B918B236880CE8FE871AED50@BLUPR05MB1985.namprd05.prod.outlook.com> <56B91905.4020801@tzi.org> <CAMm+LwgkpQnBm37Hq9qpffQKVgO9fyRv54pG6UM-gj8qFd_-Ow@mail.gmail.com> <alpine.LSU.2.00.1602091204430.21662@hermes-2.csi.cam.ac.uk> <CAMm+LwjnYHRuriAnLYc-2UkSygbxzJe+JK_=XQDzvY-bERjsuw@mail.gmail.com> <CAHw9_i+5rOE_dCm26MDLPSwOHCL+=Ax-gOYmeGpWoMWxY4v=pA@mail.gmail.com>
Date: Tue, 09 Feb 2016 14:10:00 -0500
X-Google-Sender-Auth: VCLHsaW_OEv-Xc-Le-sMSwKwEv0
Message-ID: <CAMm+Lwg4ZW4CvU8-ZtBbMez+003KtccdqjRbuMHpXkNOTbecDQ@mail.gmail.com>
Subject: Re: Is Fragmentation at IP layer even needed ?
From: Phillip Hallam-Baker <phill@hallambaker.com>
To: Warren Kumari <warren@kumari.net>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/maX4EJ--ZMERQsu1RuLVyzJCpLc>
Cc: Carsten Bormann <cabo@tzi.org>, ietf <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Feb 2016 19:10:04 -0000

On Tue, Feb 9, 2016 at 10:59 AM, Warren Kumari <warren@kumari.net> wrote:

> <rant>
> There seems to be a fair amount of discussion requiring knowledge of the
> host stack, or understanding of the capabilities of a specific network (e.g:
> all the hosts support [reassembly of "large" fragments | TCP fast open], all
> the routers in my network support looking deep into EH, all my devices set
> flow labels, etc.).
>
> This feels deeply flawed to me - applications shouldn't need to have deep
> knowledge of the network or end system stack behavior, and relying on
> specific behavior of a system / network makes the application brittle and
> non-portable[0].

Absolutely. And I see similar issues when people try to get me to use
HTTP features in Web Services.

I know all about said HTTP features. I wrote some of them. But when I
am running a Web Service over HTTP, HTTP is a lower level protocol
layer and I don't want my application to depend on any feature at that
level unless there is a clean separation of concerns.


> Until a behavior is supported by the lowest common denominator / (almost)
> everything, it probably makes sense to avoid it[1].

Probably. But there is another option: Put all the wood behind one arrow.

The IETF is architected as a research lab rather than a standards
body. That has good points and bad points. One of the bad points is
that we don't end up with one consistent and coherent way to achieve
an outcome, we end up with multiple options and a hope that 'the
market' will come to a decision. And then people are upset when the
market decides that it is quite happy where it is.

The other problem is that as Warren points out, the process doesn't
really produce proposals that are fully interchangeable. For years
people were trying to persuade people to move to DNSSEC and IPv6 with
what I call the 'boat anchor' strategy of forcing other specs to build
on them as a platform requirement. I once sat through a BOF where a
group of people who claimed to be doing 'home automation' (what we
called IoT before) who started off by mandating IPv6.

If you are writing an application protocol and it mandates IP let
alone a specific version then you are doing it wrong.


> Yes, this sucks. It means that innovation slows down - apps avoid
> non-ubiquitous features, which means that vendors / stack have less
> incentive to build / deploy them. Waving the protocol bible and saying "but
> the spec says..." doesn't really change the incentives of reasonable people
> optimizing for their own (selfish) reasons.

TCP fast start does at least have the advantage that the endpoints can
always gracefully degrade to regular TCP. So it does have something of
a transition strategy. But probably not enough right now to convince
me that I should move away from a UDP hack (if I was doing one).