Re: [Int-area] IPv6 fragmentation for IPv4

Joe Touch <touch@isi.edu> Tue, 23 May 2017 20:21 UTC

Return-Path: <touch@isi.edu>
X-Original-To: int-area@ietfa.amsl.com
Delivered-To: int-area@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 75B3E12EB0E for <int-area@ietfa.amsl.com>; Tue, 23 May 2017 13:21:57 -0700 (PDT)
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 autolearn_force=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 QEYZm5TATV2E for <int-area@ietfa.amsl.com>; Tue, 23 May 2017 13:21:56 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) (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 6A8D6126C0F for <int-area@ietf.org>; Tue, 23 May 2017 13:21:56 -0700 (PDT)
Received: from [192.168.1.189] (cpe-172-250-240-132.socal.res.rr.com [172.250.240.132]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id v4NKHLma006801 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 23 May 2017 13:17:31 -0700 (PDT)
To: "Templin, Fred L" <Fred.L.Templin@boeing.com>, "int-area@ietf.org" <int-area@ietf.org>
References: <da864471c7b648eea3d9d93029209660@XCH15-06-08.nw.nos.boeing.com> <e62dc1c0-c209-f834-c52c-9b8879048d86@isi.edu> <82ea9cb1ddec4c159fd4b4bdea90be41@XCH15-06-08.nw.nos.boeing.com>
From: Joe Touch <touch@isi.edu>
Message-ID: <fe9deb1d-923b-0ce9-4974-f917501cf566@isi.edu>
Date: Tue, 23 May 2017 13:17:21 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <82ea9cb1ddec4c159fd4b4bdea90be41@XCH15-06-08.nw.nos.boeing.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/fjdQiAaV5rqWzRPeppeQS2FPYxA>
Subject: Re: [Int-area] IPv6 fragmentation for IPv4
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF Internet Area Mailing List <int-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/int-area>, <mailto:int-area-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/int-area/>
List-Post: <mailto:int-area@ietf.org>
List-Help: <mailto:int-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/int-area>, <mailto:int-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 20:21:57 -0000


On 5/23/2017 11:49 AM, Templin, Fred L wrote:
> Hi Joe,
>
>> -----Original Message-----
>> From: Joe Touch [mailto:touch@isi.edu]
>> Sent: Tuesday, May 23, 2017 11:01 AM
>> To: Templin, Fred L <Fred.L.Templin@boeing.com>om>; int-area@ietf.org
>> Subject: Re: IPv6 fragmentation for IPv4
>>
>> Hi, Fred (et al.),
>>
>> On 5/23/2017 9:17 AM, Templin, Fred L wrote:
>>> Joe, I wanted to run an idea by you. We all know that IPv4 fragmentation has
>>> problems because of the 16-bit ID field. So, why not insert an IPv6 Fragment
>>> Header between the IPv4 header and the upper layer protocol data, then
>>> use IPv6-style fragmentation instead of IPv4 fragmentation?
>> IPv4 fragmentation has several impediments:
>>     - small ID field
>>     - lack of a reassembly checksum
>>     - lack of a fixed-location flow ID
>>
>> Using IPv6-Frag as the next header solves only the first of these. The
>> last is significant - putting a new header would defeat IPv4 flow ECMP
>> even for the first fragment.
> ECMP gateways could be updated to look at the ULP headers
> following the IPv6 Frag header in the first fragment.
They could, but...

>> IPv6 includes a flow field that serves this
>> purpose.
> How does it work for plain-old IPv4 fragmentation? 
It doesn't. That's part of the problem.

> I would think
> that ECMP gateways would look at the IP ID and try to associate
> the fragments so they all get equal ECMP treatment, i.e., the
> same as for vanilla IPv4.
AFAICT, they largely either drop fragments or send them based on the
base IPv4 header.

I wonder whether NATs deal with this issue correctly. I doubt either one
keeps per-ID state.

(FWIW, IMO, anything that needs to look past the IP header really ought
to reassemble - if you think that's not something an IP router should
do, neither do I - but then I don't think routers should be looking past
the IP header either).

Joe