[Softwires] MAP draft 11 question on fragment ID space reduction

Andrew 👽 Yourtchenko <ayourtch@gmail.com> Mon, 13 October 2014 18:00 UTC

Return-Path: <ayourtch@gmail.com>
X-Original-To: softwires@ietfa.amsl.com
Delivered-To: softwires@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B09B31A1BC0 for <softwires@ietfa.amsl.com>; Mon, 13 Oct 2014 11:00:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.7
X-Spam-Level:
X-Spam-Status: No, score=-1.7 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, MIME_8BIT_HEADER=0.3, 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 p2EpSm9zBYwH for <softwires@ietfa.amsl.com>; Mon, 13 Oct 2014 11:00:49 -0700 (PDT)
Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2613B1A1BB0 for <softwires@ietf.org>; Mon, 13 Oct 2014 11:00:49 -0700 (PDT)
Received: by mail-ig0-f177.google.com with SMTP id a13so11454691igq.4 for <softwires@ietf.org>; Mon, 13 Oct 2014 11:00:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=h7zD8hKYqPwbZw37GRCnFjpuevjLw1uMLK6vQ8ds66c=; b=XRwALFDEIDg3a9Wsp4ptVdcoDzorRzbOsr2Buq+vTKJkn/hB56XU4mJGYBI0qIjlc+ jLDgztz44/NzmcB5tffqr3SnaIvjp6UcAPlUGgfiAezEz3V7FkiijUvaLq4KoHWkykI2 FfxB/mgP2sC5NrE6skQkEK4+WqryDCABQhayWx4wg+5vxx2JIZspLu+EI8rghHMeP0Nh mTxaxWNxxH0V0EpoKdbbmmjz+hRIfZUHvaN2V8fk1marbHXzpsmHUh7wiC7vi/Zbah9s D97GKI5YNwVCywksBvW4EVdi5+6lE7SLyYb0sDVHmsTZ9z09VMusaspibn1WqWJ0IhF3 j7kw==
MIME-Version: 1.0
X-Received: by 10.43.64.210 with SMTP id xj18mr197215icb.46.1413223248563; Mon, 13 Oct 2014 11:00:48 -0700 (PDT)
Received: by 10.107.137.231 with HTTP; Mon, 13 Oct 2014 11:00:48 -0700 (PDT)
In-Reply-To: <CAPi140MdbJQBLSRS+g4Jx0G1zm1dx6PLBBQ7oPeALU2z-Vp81g@mail.gmail.com>
References: <CAPi140MdbJQBLSRS+g4Jx0G1zm1dx6PLBBQ7oPeALU2z-Vp81g@mail.gmail.com>
Date: Mon, 13 Oct 2014 20:00:48 +0200
Message-ID: <CAPi140PaRF+wLsJ_4FZsTdzoC1kZvzdEj1NBXEUcJ=FADPwW6w@mail.gmail.com>
From: Andrew 👽 Yourtchenko <ayourtch@gmail.com>
To: softwires <softwires@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/softwires/fH4tgquzEliOVx768d-ARwg2pPc
Cc: ot@cisco.com, tetsuya@ipinfusion.com, congxiao@cernet.edu.cn, satoru.matsushima@g.softbank.co.jp, wdec <wdec@cisco.com>
Subject: [Softwires] MAP draft 11 question on fragment ID space reduction
X-BeenThere: softwires@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: softwires wg discussion list <softwires.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/softwires>, <mailto:softwires-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/softwires/>
List-Post: <mailto:softwires@ietf.org>
List-Help: <mailto:softwires-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/softwires>, <mailto:softwires-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Oct 2014 18:00:51 -0000

[ resending the full mail including the softwire maillist, not just
the authors ]

Hello,

In http://www.ietf.org/rfcdiff?url2=draft-ietf-softwire-map-11

A change in "8.3.3. Sending IPv4 fragments to the outside" from
"SHOULD" to "MUST" jumped at me, which caused to think more about this
paragraph.

This paragraph says now:

"If two IPv4 host behind two different MAP CE's with the same IPv4
   address sends fragments to an IPv4 destination host outside the
   domain, those hosts may use the same IPv4 fragmentation identifier,
   resulting in incorrect reassembly of the fragments at the destination
   host.  Given that the IPv4 fragmentation identifier is a 16 bit
   field, it can be used similarly to port ranges.  A MAP CE MUST
   rewrite the IPv4 fragmentation identifier to be within its allocated
   port-set."

I'd argue that setting it to "MUST" tries to solve a corner case but
in return introduces a much worse behavior for the common case.

I'll use a slight hyperbole to illustrate the worst case of such an
impact for a common case.

First, implementation-wise: I assume the CPE would take the frag ID
and apply modN operation where N is the share ratio, and then shift
the frag ID into correct space.

Now, the hyperbole: take a share ratio of 64K. One CPE gets a
single TCP/UDP port, and a single fragment id to peruse.

And, from a host behind one of these CPEs you open a TCP session to
another host on IPv4. You start sending a file. Your TCP window grows
beyond a single segment, and you send 4 fragments - 2 per segment, and
because of the rewriting they all get the same IP ID. As a result the
destination can not reassemble the packets.

Note that this is a typical case - no collision, no two hosts opening
a session. It gets affected.

This is of course a hyperbole to show the problem.

The smaller share ratio makes the problem less acute, but even with
16-bit space and even some years ago [1] there were problems. So given
that the broadband speeds multiplied in the meantime, shrinking the ID
space will make the problem worse.

Since it looks like the fragment value does not affect the interoperability, I'd
request to put this back to "SHOULD" (arguably it even be relaxed to
"MAY", given the severity of the issue above), and let the
implementers themselves consider whether it is worth doing or not.

[1] https://tools.ietf.org/html/draft-mathis-frag-harmful-00

Thanks!

--a

p.s. a cosmetic nit: looks like the following sentence in section 5.2
has an extra "that":

"The Rule IPv6 prefix (which is part of the End-user IPv6 prefix) that
   is common among all CEs using the same Basic Mapping Rule within the
   MAP domain. "