Re: Is Fragmentation at IP layer even needed ?

Yoav Nir <ynir.ietf@gmail.com> Sun, 07 February 2016 15:07 UTC

Return-Path: <ynir.ietf@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 062CA1B3BB4 for <ietf@ietfa.amsl.com>; Sun, 7 Feb 2016 07:07:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-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 PRtbbq3Ryiwj for <ietf@ietfa.amsl.com>; Sun, 7 Feb 2016 07:07:17 -0800 (PST)
Received: from mail-wm0-x22e.google.com (mail-wm0-x22e.google.com [IPv6:2a00:1450:400c:c09::22e]) (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 19A2F1B3BB2 for <ietf@ietf.org>; Sun, 7 Feb 2016 07:07:17 -0800 (PST)
Received: by mail-wm0-x22e.google.com with SMTP id 128so126328327wmz.1 for <ietf@ietf.org>; Sun, 07 Feb 2016 07:07:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=f3X9gQHBrCkB9SyClL04ovDC48xNMZR5G3eRT5cm6gI=; b=ZBLql+ZLFHDU42RdanQM7heyxrwruw4HuN5nOgWi07RAhPqO3wYd3FdKaH+YLuxNMj vO+dyIXnwrYGl3yWs6Lm1eAwHrI3gYBJvvaS/ErneFHj025SRx4y2Cd43paaBOIqoBvx ElQhrCDQsVr0MumaAK/ke1ujb6zH5Nw+w5mVhRbq2VciJMDm/peKkWHCC8UPjihsMTDC H0fiIabA4pM+esxXaJXN/9hFLih6cPK9QbTXzZHCH4+Juck0QUqROGbEyHwLnMTaQt/i pcZIV+VQYZ30RNy+sCM9Y8wH4DKSIUo99E1S8c0iKNCVWcVaxum7TUcUqf+gFchB3ipq 1MWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=f3X9gQHBrCkB9SyClL04ovDC48xNMZR5G3eRT5cm6gI=; b=NPTgOp03EMXgxVWo00pAfxBgm6/L3dVqmhVp4w4LTw1OTdyw9j2XpmOZfAHG7GHMwn hOXMMDBRho6b9OrTN3B9RqiRFGvReTeC13RsGiG3BOsVUlLQnNqlL3/tvbCsrQUCp3AL 3Q2zHLhjyOWPR20N1YdehEoSxMCG30KFhXgsji0Vbrt3v/nBol5eSFhVw8cACLdBPnbh zHCkcvg736n018kbH8NfQBcLQ0UBeu/pT9y1qf4eiXuhG5lc9FWMC67FoFn01W5U9FK0 1rPqs6MGh52oWghwEyryFnOKBtn9gk8ltwXUZErtttrSqaiXQ7xinEqhDR/TLPoITF7/ xrIA==
X-Gm-Message-State: AG10YORMipVSBSYv3S6u3nlrdZcaRH+svCBLs3XVfQX0LJ6yTt3mXz0YgVUvOhTrT9LCYw==
X-Received: by 10.28.59.134 with SMTP id i128mr11488752wma.74.1454857635651; Sun, 07 Feb 2016 07:07:15 -0800 (PST)
Received: from [172.24.251.233] (dyn32-131.checkpoint.com. [194.29.32.131]) by smtp.gmail.com with ESMTPSA id m67sm8109189wma.10.2016.02.07.07.07.12 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 07 Feb 2016 07:07:14 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\))
Subject: Re: Is Fragmentation at IP layer even needed ?
From: Yoav Nir <ynir.ietf@gmail.com>
In-Reply-To: <CAOJ6w=EvzE3dM4Y2mFFR=9YyPBdmFu_jkF4-42LjkdbRd3yz_w@mail.gmail.com>
Date: Sun, 07 Feb 2016 17:07:09 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <3FDEA4B7-66FC-46E2-B542-677201B254C8@gmail.com>
References: <CAOJ6w=EvzE3dM4Y2mFFR=9YyPBdmFu_jkF4-42LjkdbRd3yz_w@mail.gmail.com>
To: Alexey Eromenko <al4321@gmail.com>
X-Mailer: Apple Mail (2.3112)
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/uBDEa-kpSnpGjKpb5gUyCLZHBaQ>
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: Sun, 07 Feb 2016 15:07:19 -0000

> On 7 Feb 2016, at 2:47 PM, Alexey Eromenko <al4321@gmail.com> wrote:
> 
> Hi All,
> 
> I'm re-evaluating TCP/IP stack again with my ongoing IP-FF research.
> 
> My question: Is packet fragmentation at IP layer even needed ?

Short answer: yes. 

> 
> Basically here are few possibilities:
> 
> 1. Fragmentation-and-reassembly at every hop. (I don't know if anybody implements it)

This is the Internet. Nobody controls every hop. There can be devices who do this, but it does not force other devices on the path to do this. This would be slower than passing the fragments as they are, so routers typically don’t do this unless they’re modifying the packet. Our VPN gateway may or may not re-assemble and re-fragment when doing IPsec for IPv4, depending on configuration.

> 2. IPv4 style-fragmentation -- fragmentation per every hop, reassembly at destination end.

Definitely implemented widely.

> 3. IPv6-style-fragmentation -- fragmentation only at source end, reassembly at destination end.

Definitely implemented by everyone who wants to be compliant with IPv6.

> 4. No fragmentation at all (the advantage here: faster Router processing vs #1 or #2 and less implementation bugs); Assuming standard packet size is defined at 1280 bytes, like in IPv6
> 5. MTU path discovery via ICMP -- RFC-1981
> 6. MTU path discovery via TCP (or other Transport) -- RFC-4821 (or other way)

And what if you’re using anything other than TCP/SCTP?  If your application is UDP and it is sending a 3000-byte payload you have to do the fragmentation at some layer. 

> 
> I'm leaning towards 4 + 6 solution in my own protocol, IP-FF.
> What do you think ?
> Should IP layer provide fragmentation ?

Some layer must, and assuming backwards compatibility with existing transport and higher layers is required, I don’t see how an IP layer without fragmentation would work.

Yoav