Re: Is Fragmentation at IP layer even needed ?

Joe Touch <touch@isi.edu> Tue, 09 February 2016 23:18 UTC

Return-Path: <touch@isi.edu>
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 6C15A1ACD70 for <ietf@ietfa.amsl.com>; Tue, 9 Feb 2016 15:18:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level:
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001] 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 sLUTHO3XPqJO for <ietf@ietfa.amsl.com>; Tue, 9 Feb 2016 15:18:16 -0800 (PST)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C56C81B2DD5 for <ietf@ietf.org>; Tue, 9 Feb 2016 15:18:16 -0800 (PST)
Received: from [128.9.184.104] ([128.9.184.104]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id u19NHouK021993 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 9 Feb 2016 15:17:51 -0800 (PST)
Subject: Re: Is Fragmentation at IP layer even needed ?
To: Phillip Hallam-Baker <phill@hallambaker.com>
References: <CAOJ6w=EvzE3dM4Y2mFFR=9YyPBdmFu_jkF4-42LjkdbRd3yz_w@mail.gmail.com> <BLUPR05MB1985F5F2BB3118362C67B921AED50@BLUPR05MB1985.namprd05.prod.outlook.com> <20160208200943.A615941B5B96@rock.dv.isc.org> <CAMm+LwgLoYpQ1TNOTOuJzh+cu+GyRBf9=y_K7K35boQ9WcZKjA@mail.gmail.com> <56B92A96.9050200@si6networks.com> <CAMm+LwifTXvVd1mPZOfcOOR03Fnj-82H9aDVS01=wGezePtnXw@mail.gmail.com> <56BA4BC7.1010002@isi.edu> <CAMm+Lwi-n=be4AWGibs+Zq9egYw5pSDmPGb-4P0LDEcX1E6osA@mail.gmail.com> <56BA68CE.7090304@isi.edu> <CAMm+LwiM2sFUeejgJZe650UQbVHrh7EHrEF2omvPrZJPodgJLA@mail.gmail.com>
From: Joe Touch <touch@isi.edu>
X-Enigmail-Draft-Status: N1110
Message-ID: <56BA739D.7060309@isi.edu>
Date: Tue, 09 Feb 2016 15:17:49 -0800
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
MIME-Version: 1.0
In-Reply-To: <CAMm+LwiM2sFUeejgJZe650UQbVHrh7EHrEF2omvPrZJPodgJLA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/KTSS2dP6PfXGdlPNu-pMrrRlgHs>
Cc: 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 23:18:18 -0000


On 2/9/2016 3:09 PM, Phillip Hallam-Baker wrote:
...
>>> If we didn't need them to be MAC addresses we could go to EUI-64 and
>>> have 16 shiny new bits to play with.
>>
>> *You* wouldn't get to play with them; MAC vendors would. How would that
>> help, given they're already intended to be unique?
> 
> I don't want a unique identifier associated with my machine going on the wire.

Your MAC address can also be self-assigned as long as you do DAD within
the same subnet covered by the router advertisement.

...
>>> By definition a tunnel has two ends. There is no reason why
>>> fragmentation in a tunnel should make use of IP fragmentation as
>>> opposed to an in-tunnel fragmentation scheme.
>>
>> Reason #1: IP reassembly is already deployed. Yes, we could use other
>> protocols as a shim to support IP-in-IP (and we do), but that doesn't
>> mean that they necessarily won't end up with the same problem - assuming
>> *their* IP should be 1280.
> 
> Lots of things are already deployed. You presented a corner case. I
> pointed out that there is no need to handle that corner case in the IP
> layer.

That's very NIMBY of you.

> I don't think you can use IP fragment reassembly to solve the problem
> you are suggesting using it for. 1280 isn't actually a lot of bytes.
> You are going to use that up fairly quickly if you are not careful.

It is already used for that purpose whenever there's IP in IP
encapsulation and where there are intermediate layers that don't support
fragmentation separately (e.g., UDP).

>> So let me understand:
>>
>>         - first, you claim IP fragmentation is a network problem
>>         because it obscures info you need at forwarding devices
>>         (because you're peeking at L4)
> 
> No, that wasn't my argument. My argument was that I want all my
> network gear to be capable of 64K networking because 1280 bytes is a
> stupid maximum frame size in 2016.

It doesn't matter what size you pick. If it's 64KB, then the first time
you end up encountering 64KB in 64KB you'll need to fragment.

> Having insisted that all my gear be 64K capable, I am quite happy with
> a modest restriction to allow tunneling overhead. Lets say the max
> payload an endpoint SHOULD generate is 64256 bytes, that would leave
> 1280 bytes for tunneling overhead.

Whatever number you think is reasonable will end up being consumed by
someone else.

>>         - now you want that info even further obscured by another
>>         layer of encapsulation
> 
> No, you raised the tunnel in tunnel corner case. I didn't suggest
> requiring anything of the sort.
> 
> If your tunnel can't fit the input packet on a 64K clean pipe, then it
> should have the responsibility to figure out how to fragment.

As long as it doesn't use "your" protocol to do it (IP)? Why?

Someone has to support tunneling somewhere. IP is intended to be the
universal interoperability layer - which means that it ought to be the
layer to support it.

Pushing it off to somewhere else will just end up with you complaining
that I've hidden some part of the L3, L4, ... header behind many layers
of cruft that your routers can't parse efficiently (again).

This is shuffling the deck chairs. Frag/reassembly is needed from
whatever layer relays messages.

Joe