Re: [Int-area] WG Adoption Call: IP Fragmentation Considered Fragile

Tom Herbert <tom@herbertland.com> Mon, 30 July 2018 18:18 UTC

Return-Path: <tom@herbertland.com>
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 60804130EA4 for <int-area@ietfa.amsl.com>; Mon, 30 Jul 2018 11:18:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.com
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 YzsOXbCGBGgD for <int-area@ietfa.amsl.com>; Mon, 30 Jul 2018 11:18:07 -0700 (PDT)
Received: from mail-qk0-x243.google.com (mail-qk0-x243.google.com [IPv6:2607:f8b0:400d:c09::243]) (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 DB1CB1311B2 for <int-area@ietf.org>; Mon, 30 Jul 2018 11:16:23 -0700 (PDT)
Received: by mail-qk0-x243.google.com with SMTP id b5-v6so8458594qkg.6 for <int-area@ietf.org>; Mon, 30 Jul 2018 11:16:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=DFCIe5Kq59TnrxTenXj2KczO7FBCtipiXUqWx4VrBXY=; b=j6WmQiA5W7uJq/ibyDfaCnigy5FQzriryuFFs2fXWovTBWydhLq8RG13jCPh7izjrD zesyCaStzNBwzBJNwmpxknStOnfW1jbcl+GDhdEwAFn/6FIchPgFSd3a4LlMDkEJAID9 bOSyTOV2H2wZk0rRyNENB9G+Y3MOKBxLBY3TP2rKCvqEZSf+RUXocYKUMyzSdR3OWQlx kmSF2KH7DqARTiVkHIAAsDMxh4/KeuACR6m57/ogOgPGQpBNIPEYAfrZljqIMttSDUDu RyFQhCwZ9Jva++aKaUrzIwO3zmAoNtwszUt/MiRTrBCNORBD33bBzFA5X/WHwGaf9SQV X0+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=DFCIe5Kq59TnrxTenXj2KczO7FBCtipiXUqWx4VrBXY=; b=ae5Ex8/DlKICzyh88ynP74kfaBUkwqVom0Zw75JcjT1LdAl/HEd0UwYuc3mf+VsXBe 5IGXncn3UKnjuQnU48SvIwD7UZHTIQEyZfg5MEvbIRS47gsygawPy6hKFU/QojsExoVN oSa/6ZPFoXDZx8ez6irE8Sbe9fqI4xcR3UEQ3DjJF/xPLiuD5ms5+muVj6cipCJaqQ4d +1RVWtaZd6EqK3Ps7TCZYAGyCqVS4riH7kqU+OczKGpb7Mzjk108ZQWLizzp4GnYJ6RA S4vfWEhAEmdYSKj1EfNWp7lI8VqwTsgEHxx97zvqwJIsrIQLdz8LBkRXge1pgeL4gnrL 9tyw==
X-Gm-Message-State: AOUpUlHSOq6YLMJQ+jhWQ6vAn5cKUuOaaSQnWoJl5qBJypD54kqSMdIf TR8z8Hk2u07YADkDqaqisCbtMhXzqdL9KxcoUE2lwQ==
X-Google-Smtp-Source: AAOMgpealkERltDywCDfiIMialL0789iT4FgpWUI+uF2OWLVjYkbVGvSakHouWVsIhqR6C7qJpRyvvrfI3KftJKtCV4=
X-Received: by 2002:a37:1fdf:: with SMTP id n92-v6mr17630952qkh.333.1532974582757; Mon, 30 Jul 2018 11:16:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:ac8:3304:0:0:0:0:0 with HTTP; Mon, 30 Jul 2018 11:16:21 -0700 (PDT)
In-Reply-To: <cd34a1e8da6ff4bbf5b20875827d2a09@strayalpha.com>
References: <F227637E-B12D-45AA-AD69-74C947409012@ericsson.com> <0466770D-C8CA-49BB-AC10-5805CFDFB165@strayalpha.com> <6EDF0F79-C8F3-4F05-8442-FF55576ADDD0@employees.org> <alpine.DEB.2.20.1807271530280.14354@uplift.swm.pp.se> <CALx6S35LthDLRry7k-pF8KSoX4BXBA8kyArOpDUAcJMDCoLQpQ@mail.gmail.com> <alpine.DEB.2.20.1807280811540.14354@uplift.swm.pp.se> <8640DCF6-A525-4CF7-A89D-2DEDBF0FADC8@strayalpha.com> <FFF1C23B-7A24-46BC-929E-DD56C77D69A2@employees.org> <A248CA44-B568-4CB9-B450-067B1845AF9B@strayalpha.com> <CALx6S36w=5J0-=JQqrX0_PR7254V0HrhJct7oomPKdxSOSU43w@mail.gmail.com> <2872BF43-20AA-4179-9269-9C4FE6F5986B@strayalpha.com> <CALx6S35VidDr1uTGCHeb3Dcc0qF3O8Lz0vvV-XKPfbY057n6XA@mail.gmail.com> <cd34a1e8da6ff4bbf5b20875827d2a09@strayalpha.com>
From: Tom Herbert <tom@herbertland.com>
Date: Mon, 30 Jul 2018 11:16:21 -0700
Message-ID: <CALx6S348jLsnHG3gp-mh9d4KJ1bROT3OcVz=XjwVgpv1aSsi_w@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: Ole Troan <otroan@employees.org>, "internet-area@ietf.org" <int-area@ietf.org>, intarea-chairs@ietf.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/eqGhXTgKd-nSgfPl1LpXcYce4H0>
Subject: Re: [Int-area] WG Adoption Call: IP Fragmentation Considered Fragile
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.27
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: Mon, 30 Jul 2018 18:18:09 -0000

On Mon, Jul 30, 2018 at 10:34 AM, Joe Touch <touch@strayalpha.com> wrote:
>
>
>
>
> On 2018-07-30 08:11, Tom Herbert wrote:
>
> On Sun, Jul 29, 2018 at 9:22 AM, Joe Touch <touch@strayalpha.com> wrote:
>
>
>
> On Jul 29, 2018, at 9:11 AM, Tom Herbert <tom@herbertland.com> wrote:
>
> ...
>
> That said, there's no real problem with a NAT *IF* it acts as a host on the
> Internet
> (see ouch, J: Middlebox Models Compatible with the Internet. USC/ISI
> (ISI-TR-711), 2016.)
>
>
> Joe,
>
> It's still a problem though. A NAT (or any stateful device in the
> network) forces the requirement in network architecture that all
> packets of a flow are routed through the same device.
>
>
> I didn't make that requirement. The Internet does - it's what it *means* to
> have an IP address.
>
> It's not a requirement of the Internet and certainly not a core IETF
> requirement that packets always follow the same path. It's an ad hoc
> requirement imposed by _some_ solutions that have been deployed.
>
>
> 1122 requires that devices shouldn't be sourcing IP addresses they don't
> own.
>
> And any device behind a NAT would have a similar requirement - that the
> private side is setup such that any translation appears as a single device
> -- which means either that each host on the private side forwards all its
> traffic to one egress (as a stub net) or that the multiple egresses
> coordinate state to look like one egress on the private side and one host on
> the public side.
>
> I.e., the Internet architecture imposes exactly the restrictions you note -
> these aren't ad-hoc, they're derived from the Internet requirements.
>
IP is packet switched not circuit switched. Other than the source and
destination nodes, no two packets sent on a flow are required to
traverse the same nodes, nor does there need to be any symmetry in the
path between two directions of communication. If this is an incorrect
interpretation of the requirements then please reference the RFC that
states otherwise.

>
>
>
> A NAT *has* the address of the packets it sources; if it isn't the sink of
> that address, then it's being used incorrectly. If it doesn't reassemble
> those packets before translating them (i.e., by translating only
> unfragmented packets and dropping fragmented ones), then it is broken and
> ought to be returned for a refund.
>
> You are only considering the return path.
>
>
> Only for that rule; for the private side, the rule is that the network is a
> stub behind the translator (or emulates that).
>
> ...
>
> This has killed
> our ability to use multi-homing and multi-path.
>
>
> It didn't kill it. It never existed *for this sort of mechanism* - exactly
> because of requirements of the Internet architecture.
>
The mechanism (specifically the requirement that packets traverse
intermediate nodes that are not addressed) breaks multi-homing. All
the hacks and hoops we've had to jump through over the years to make
NAT, stateful firewalls, and L4 load balancers work attest to this
being a real problem.

Tom

>
> If there is only one device that represents a private node on the public
> net, it can work (using the model I describe). If there isn't, then it's the
> Internet architecture that makes the device inherently broken - we shouldn't
> go around believing we can patch the protocols to "make it work again".
>
> Joe