Re: [v6ops] Operational Implications of IPv6 Packets with Extension Headers - Load Balancer

Tom Herbert <tom@herbertland.com> Tue, 28 July 2020 19:18 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F2E003A0B9B for <v6ops@ietfa.amsl.com>; Tue, 28 Jul 2020 12:18:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, 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 xMRI71bTi9VP for <v6ops@ietfa.amsl.com>; Tue, 28 Jul 2020 12:18:25 -0700 (PDT)
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) (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 5C13B3A0B98 for <v6ops@ietf.org>; Tue, 28 Jul 2020 12:18:25 -0700 (PDT)
Received: by mail-ej1-x631.google.com with SMTP id f24so1289659ejx.6 for <v6ops@ietf.org>; Tue, 28 Jul 2020 12:18:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=EXEmB3OlKl0h+iSqpRnG1wDnoJi5GMKJpA9zFRFhdQo=; b=UmFrozxC652feLmGV9kzepazcZR9cF6Bqun/63SDwonSMmuqHQ9s5+c762JoeMDrKB yN8tuuBjTZ4AE/W4bhXIx7Ho1lzKXCRQrSGPMd3VRYItEuzZqO3KBOvXcQNqWAH8Q3mV p9knz2XfaYi+RFJ3VrZjk6tvwBCfeA1DtsUfi36XkKfrW7RX9MNZkTrkQJ/MBA1zrAHa Ch2DLj5SCB6EF7xT/WA8ygvRvpet7uANmA0BYylgf6B5OteJoFbNsww0s7SxFCEnw4V6 3kwoHcheFTdE+6q+jIqzmD6n6PvRaJQ3EwPvCYtt+p/hibFwVyMKc6fBZYGlCIwZnmP6 nlHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=EXEmB3OlKl0h+iSqpRnG1wDnoJi5GMKJpA9zFRFhdQo=; b=dmwya6samDLpyqYmGPz7dV3vRBiHYECZFEquhROqfA4ScFJHFf9zUb8wTBnrvUQ376 HpNKCmr8rpn0iCYGFn/X6z7k8SZUHrg+eFrvMeeHOvr2gKsiiZ2VKC2/E/9vmzDxzCz3 eCTaI/appHOFY0TctxL90y0kGV5epEfqrCQnoTsLvb5jfabRZSNUc/S0z0ESU5Chp07B h9KmvWPAdn9DlN6YhQCw5wrlMD+owDXY9qyF9vp8qU30K5ZJjIudg0cjwjiujtxHrk38 ThRaaDm5KMre+7NUZmLVg99EYyg4d89rBNzVvLQ8JD0I52bc/WJKZlYmcJC3doEoV3Ka c1Ew==
X-Gm-Message-State: AOAM5318lzHTEcjRHcIu0it9cmwsmCnLI24SBvqmsUf7dSEEP9Sb3Exm Mnuv++WnIPgdakxB63wLccqLc5wwNOYOierbyjgOFA==
X-Google-Smtp-Source: ABdhPJz8MSkcuQbEMnfTM/IYHW6vjlwVMFXs2JSF1Ph3wz9J44doOw2VG7bbm7zyojNsA6HXQheW9JRfHXMJdXxYhDo=
X-Received: by 2002:a17:907:104a:: with SMTP id oy10mr20295968ejb.267.1595963903631; Tue, 28 Jul 2020 12:18:23 -0700 (PDT)
MIME-Version: 1.0
References: <b380408712364589a45ab9f39ab6f764@huawei.com> <CALx6S35rkA5nVPm6C6MToUdHKFmcAabGfMN9prTiUfWr+GKwCA@mail.gmail.com> <6439ceb9d73b435d950e73a7a2d68fc7@huawei.com> <CALx6S37ih8VabN2PHvQ3ELDvV2DoiUqnd28LRxr4ofj6zUq3Jw@mail.gmail.com> <947a50398cbb4bbcad85462a69d7dd45@huawei.com>
In-Reply-To: <947a50398cbb4bbcad85462a69d7dd45@huawei.com>
From: Tom Herbert <tom@herbertland.com>
Date: Tue, 28 Jul 2020 12:18:12 -0700
Message-ID: <CALx6S35FX-SNoNFhd2JXFio9B0vGVyXGkeob=7x+dn6u4qOaVw@mail.gmail.com>
To: Vasilenko Eduard <vasilenko.eduard@huawei.com>
Cc: Fernando Gont <fgont@si6networks.com>, IPv6 Operations <v6ops@ietf.org>, "draft-gont-v6ops-ipv6-ehs-packet-drops@ietf.org" <draft-gont-v6ops-ipv6-ehs-packet-drops@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/NN1FBQ_1j3AK-aCQas_D-sV1RJ4>
Subject: Re: [v6ops] Operational Implications of IPv6 Packets with Extension Headers - Load Balancer
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Jul 2020 19:18:28 -0000

On Tue, Jul 28, 2020 at 1:36 AM Vasilenko Eduard
<vasilenko.eduard@huawei.com> wrote:
>
> Hi Tom,
> Is APNIC a reliable source for you?
> https://blog.apnic.net/2018/01/11/ipv6-flow-label-misuse-hashing/
> RIPE has replicated it here: https://labs.ripe.net/Members/joel_jaeggli/ipv6-flow-label-misuse-in-hashing
> "Cases have been observed where devices that connect to hashed endpoints do not in fact honour this behaviour. By in large, this flow label changing behaviour has been traced to IPv6 supporting CPE/firewalls, which change the flow label between the initial syn and the ack."

The rationale for this is: "The use of the flow label as a hash
element for any stateful application requires that the flow label
remain unchanged over the life of the flow.". This is really directed
towards stateful intermediate nodes like stateful firewalls. Yes, it's
true that they will break if the flow label changes in flight. On the
host, we've tried to ensure that the flow label is consistent for the
lifetime of the flows, I don't know what firewalls are doing in
changing them.

> They have disputable conclusion: "Avoid using the flow label as a hash component".

This guidance could just as easily be "Avoid fragmentation", "Avoid
using any protocols other than UDP or TCP", "Avoid using extension
headers", "Avoid ICMP", "Avoid using encapsulation", "Avoid using
encryptions" as any of these can break some meddling device somewhere
such that packet delivery becomes unreliable on the Internet. More
generally, the guidance could simply be "Avoid doing anything that
disrupts the status quo"!

>
> Additional corner case: https://github.com/pypa/warehouse/issues/5454
>
> Eduard
> -----Original Message-----
> From: Tom Herbert [mailto:tom@herbertland.com]
> Sent: 27 июля 2020 г. 22:24
> To: Vasilenko Eduard <vasilenko.eduard@huawei.com>
> Cc: Fernando Gont <fgont@si6networks.com>; IPv6 Operations <v6ops@ietf.org>; draft-gont-v6ops-ipv6-ehs-packet-drops@ietf.org
> Subject: Re: [v6ops] Operational Implications of IPv6 Packets with Extension Headers - Load Balancer
>
> On Mon, Jul 27, 2020 at 11:05 AM Vasilenko Eduard <vasilenko.eduard@huawei.com> wrote:
> >
> > Hi Tom,
> > I believe that risk still exist that some application would no use flow label properly.
>
> Exactly which applications are you concerned about?
>
> > Hence, it is better on LB to deep dive into UDP/TCP. More predictable/reliable result.
>
> You seem to be assuming a very limited traffic profile that consists only of plain UDP/TCP packets. Any use case that deviates from that then breaks your LB (i.e. encapsulation, tunneled encryption, SCTP, IPSec, etc.). Flow label is in all IPv6 packets and is mostly set properly for the vast majority of packets on the Internet and processing it is completely independent of the protocols, so when taking the full scope of the problem into account it is actually more generic and more predictable/reliable.
>
> Tom
>
> > Eduard
> > -----Original Message-----
> > From: Tom Herbert [mailto:tom@herbertland.com]
> > Sent: 27 июля 2020 г. 17:15
> > To: Vasilenko Eduard <vasilenko.eduard@huawei.com>
> > Cc: Fernando Gont <fgont@si6networks.com>; IPv6 Operations
> > <v6ops@ietf.org>; draft-gont-v6ops-ipv6-ehs-packet-drops@ietf.org
> > Subject: Re: [v6ops] Operational Implications of IPv6 Packets with
> > Extension Headers - Load Balancer
> >
> > On Mon, Jul 27, 2020 at 2:08 AM Vasilenko Eduard <vasilenko.eduard@huawei.com> wrote:
> > >
> > > Hi Fernando,
> > > Hence again, following the logic of this draft (the level of detalization that you have given to 5.1) - may be you need additional section 5.1.x: Load Balancer have to look into TCP/UDP ports. Moreover, it could not trust "Flow label" - it is not reliable practice for LB.
> >
> > Eduard,
> >
> > What exactly does "not reliable practice for LB" mean.? If this means that the flow label might change during the flow's lifetime then I will point out that UDP is equally unreliable for that reason (i.e.
> > the UDP ports for a QUIC connection can change during the connection's lifetime). For that matter, a TCP header might be encrypted or in an encapsulation that the LB doesn't understand so the LB can't access the TCP ports at all-- in the this case the flow label is actually more reliable than TCP since it's never encrypted and is purposely designed to be consumed by intermediate nodes without the need for expensive DPI.
> >
> > Tom
> > > Or alternatively you could say something about LB in section 5.1.2,
> > > but because it is a little special case - may be better to have
> > > separate 5.1.x
> > >
> > > Eduard
> > > -----Original Message-----
> > > From: v6ops [mailto:v6ops-bounces@ietf.org] On Behalf Of Fernando
> > > Gont
> > > Sent: 26 июля 2020 г. 8:46
> > > To: IPv6 Operations <v6ops@ietf.org>
> > > Cc: draft-gont-v6ops-ipv6-ehs-packet-drops@ietf.org
> > > Subject: [v6ops] Operational Implications of IPv6 Packets with
> > > Extension Headers (Fwd: New Version Notification for
> > > draft-gont-v6ops-ipv6-ehs-packet-drops-04.txt)
> > >
> > > Folks,
> > >
> > > We have posted a rev of our IETF I-D "Operational Implications of IPv6 Packets with Extension Headers".
> > >
> > > The I-D is available at:
> > > https://www.ietf.org/internet-drafts/draft-gont-v6ops-ipv6-ehs-packe
> > > t-
> > > drops-04.txt
> > >
> > > Your feedback will be appreciated.
> > >
> > > Thanks!
> > >
> > > Cheers,
> > > Fernando
> > >
> > >
> > >
> > >
> > > -------- Forwarded Message --------
> > > Subject: New Version Notification for
> > > draft-gont-v6ops-ipv6-ehs-packet-drops-04.txt
> > > Date: Sat, 25 Jul 2020 22:28:50 -0700
> > > From: internet-drafts@ietf.org
> > > To: Fernando Gont <fgont@si6networks.com>, Gert Doering
> > > <gert@space.net>, Geoff Huston <gih@apnic.net>, Warren Kumari
> > > <warren@kumari.net>, Nick Hilliard <nick@inex.ie>
> > >
> > >
> > > A new version of I-D, draft-gont-v6ops-ipv6-ehs-packet-drops-04.txt
> > > has been successfully submitted by Fernando Gont and posted to the IETF repository.
> > >
> > > Name:           draft-gont-v6ops-ipv6-ehs-packet-drops
> > > Revision:       04
> > > Title:          Operational Implications of IPv6 Packets with Extension Headers
> > > Document date:  2020-07-25
> > > Group:          Individual Submission
> > > Pages:          15
> > > URL:
> > > https://www.ietf.org/internet-drafts/draft-gont-v6ops-ipv6-ehs-packe
> > > t-
> > > drops-04.txt
> > > Status:
> > > https://datatracker.ietf.org/doc/draft-gont-v6ops-ipv6-ehs-packet-dr
> > > op
> > > s/
> > > Htmlized:
> > > https://tools.ietf.org/html/draft-gont-v6ops-ipv6-ehs-packet-drops-0
> > > 4
> > > Htmlized:
> > > https://datatracker.ietf.org/doc/html/draft-gont-v6ops-ipv6-ehs-pack
> > > et
> > > -drops
> > > Diff:
> > > https://www.ietf.org/rfcdiff?url2=draft-gont-v6ops-ipv6-ehs-packet-d
> > > ro
> > > ps-04
> > >
> > > Abstract:
> > >     This document summarizes the security and operational implications of
> > >     IPv6 extension headers, and attempts to analyze reasons why packets
> > >     with IPv6 extension headers may be dropped in the public Internet.
> > >
> > >
> > >
> > >
> > > Please note that it may take a couple of minutes from the time of submission until the htmlized version and diff are available at tools.ietf.org.
> > >
> > > The IETF Secretariat
> > >
> > >
> > >
> > > _______________________________________________
> > > v6ops mailing list
> > > v6ops@ietf.org
> > > https://www.ietf.org/mailman/listinfo/v6ops
> > >
> > > _______________________________________________
> > > v6ops mailing list
> > > v6ops@ietf.org
> > > https://www.ietf.org/mailman/listinfo/v6ops
> > >
> > > _______________________________________________
> > > v6ops mailing list
> > > v6ops@ietf.org
> > > https://www.ietf.org/mailman/listinfo/v6ops