Re: Flow label [not draft-han-6man-in-band-signaling-for-transport-qos-00.txt]

Brian E Carpenter <brian.e.carpenter@gmail.com> Sat, 21 October 2017 02:26 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5C7521320B5 for <ipv6@ietfa.amsl.com>; Fri, 20 Oct 2017 19:26:17 -0700 (PDT)
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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 7Yn3q3VYpdMs for <ipv6@ietfa.amsl.com>; Fri, 20 Oct 2017 19:26:15 -0700 (PDT)
Received: from mail-pf0-x22d.google.com (mail-pf0-x22d.google.com [IPv6:2607:f8b0:400e:c00::22d]) (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 091C3126DD9 for <ipv6@ietf.org>; Fri, 20 Oct 2017 19:26:15 -0700 (PDT)
Received: by mail-pf0-x22d.google.com with SMTP id n89so13348990pfk.11 for <ipv6@ietf.org>; Fri, 20 Oct 2017 19:26:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=DiwITo8lSJh8m/KxENp9qYHFqmeoBECJ/g7XYMoQXmg=; b=MgG+FElce4xxhtNbUAwpWd6NljydGBM8LuqLXZbrzffoy0SG1LRjI/1M/sAL3Ssi5n NUKkku4xNYr3L/ZpB0DMl2z10ZNRRiZIvAGpzDOY01SIoFt6ZEtAd1XE3xZmwRAvA6+x ujkxnYD+Gi2X+nWsNdhbJ6OQxrbuugkFlju0Ny+Fn406u8JFtdrHpo4Bd7DaSbFI/JbG 8ZRu2Ca5WDWU08Z+aEsuVS5jT23oLyOu10Fncics5ndslvJPTng9Y+QAB3wC1fHHJwPs 6w16Wt1U20YyvIzTB88dZsBJI+6SfL8h/qlT7paXzWcHLyOMQgr25pRohtSMs2f0s2Es +ueA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=DiwITo8lSJh8m/KxENp9qYHFqmeoBECJ/g7XYMoQXmg=; b=N78F7SGWAoRbRhRLY8jbJ+Kz5gfTCWAK1KRXpX65kHA95IpYTbXliEYln2m/6Kyf5O fgidGdC3HKkVjSXUN5c1k0GsvAK/B7LvHN4852dckqvqhsJL5z2J6Ly4z8dII4jLi8zp pzXLTKkRkQnED0Q6goSou7zQ+xH90+QLiSSwhsjDCHvgkDPc8wOzO7SINuZwxf+tHLAP xvgnBM5DJWr+c2QIQTKHD+bTPHU6vc4xuLtjUIFINXSE03tbeBMwiWn0ocoeyO8CgWfb m4UUHqbC7UAe3CpZLLbBmhzRQFqsBlRHjsP0a0R+1Qu7ymxkBc90tSeagKSo0hKUxXH/ MSTA==
X-Gm-Message-State: AMCzsaUbRlo+oyc3PcEYSqauyNhT/rk1Sily3A0q04MswvjU6j42W7Db F5j7rXjpWD6n8VV4C+qBacxYOg==
X-Google-Smtp-Source: ABhQp+TUUisWFUKJ+EiuaTQ2dTjq3tOdBGwsP0/u9LHm4JGChKJQ82rIhU4ixsXeahHk7vgpHsj+eQ==
X-Received: by 10.99.168.76 with SMTP id i12mr6097315pgp.427.1508552774012; Fri, 20 Oct 2017 19:26:14 -0700 (PDT)
Received: from ?IPv6:2406:e007:6d3c:1:28cc:dc4c:9703:6781? ([2406:e007:6d3c:1:28cc:dc4c:9703:6781]) by smtp.gmail.com with ESMTPSA id s83sm3806052pfg.104.2017.10.20.19.26.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Oct 2017 19:26:12 -0700 (PDT)
Subject: Re: Flow label [not draft-han-6man-in-band-signaling-for-transport-qos-00.txt]
To: Tom Herbert <tom@herbertland.com>
Cc: "ipv6@ietf.org" <ipv6@ietf.org>
References: <CALx6S341v1zd2Q9bts8-zrKxU59kieJTJJ=nHQ5w4oQZg=t_cA@mail.gmail.com> <296dd642b31741cc8ec4aa4b52913037@XCH15-06-11.nw.nos.boeing.com> <CALx6S36s_SoTqpPo=jXmrFC+pgUkEmF8UB_sx_0zGcK-G8JeTQ@mail.gmail.com> <20171019220935.GD878@faui40p.informatik.uni-erlangen.de> <33ff8930-d1af-ea54-7bb4-a6a9b289269e@gmail.com> <20171020144015.GA3093@faui40p.informatik.uni-erlangen.de> <8AE3421D-304B-42F9-B12A-361E21DFF069@employees.org> <CALx6S35nr8JapogAC5Gsi0iPxXhJa9NKOHhzUAnJtmqTwEGtgg@mail.gmail.com> <CDAEBFFD-3B70-41D3-BB41-FCF40ADA2115@employees.org> <CALx6S35Y7OVFFSiw4-ei84HEk0FjEXmS8TnNx8Uex9-0rAxdfg@mail.gmail.com> <2C4B0FD6-418E-441F-8B43-6C60451E3A51@cable.comcast.com> <CALx6S34918E7jJtwezMBtqWE2sL5AGowNYUuHpYBSzOt0JW1-Q@mail.gmail.com> <67148eca-0764-3b32-69d6-3e198c5e610c@gmail.com> <CALx6S35hJ5nWGOT6KHC2b3zRyvYrjJVt5P=uwngR7TVhK+7JZg@mail.gmail.com> <631451d4-9c3f-7b2e-d7ea-14648c91f07c@gmail.com> <CALx6S34pdk5y1KkNrwzNmxL5Ja3jrR7uvLrxfHSSasWOe136QA@mail.gmail.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
Message-ID: <2b26a791-3fc0-5a10-2aa0-32a3e0e93d35@gmail.com>
Date: Sat, 21 Oct 2017 15:26:21 +1300
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <CALx6S34pdk5y1KkNrwzNmxL5Ja3jrR7uvLrxfHSSasWOe136QA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/dXoDpBwU364v-r6N4Kej9ppq8-I>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 21 Oct 2017 02:26:17 -0000

On 21/10/2017 14:30, Tom Herbert wrote:
> On Fri, Oct 20, 2017 at 5:42 PM, Brian E Carpenter
> <brian.e.carpenter@gmail.com> wrote:
>>
>> On 21/10/2017 11:13, Tom Herbert wrote:
>>> On Fri, Oct 20, 2017 at 2:41 PM, Brian E Carpenter <
>>> brian.e.carpenter@gmail.com> wrote:
>>>
>>>> On 21/10/2017 09:53, Tom Herbert wrote:
>>>>> On Fri, Oct 20, 2017 at 12:06 PM, Leddy, John <John_Leddy@comcast.com>
>>>>> wrote:
>>>>>
>>>>>> In order packet delivery requirements considered harmful to the
>>>> Internet…
>>>>>>
>>>>>>
>>>>>>
>>>>>> I’m assuming random per packet flow label assignments are within spec as
>>>>>> long as they are set by the source.
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Yes, there is no requirement that the flow label be persistent at all in
>>>> a
>>>>> flow.
>>>>
>>>> http://mailman.postel.org/mailman/listinfo/internet-history says:
>>>>
>>>>    To enable Flow-Label-based classification, source nodes SHOULD assign
>>>>    each unrelated transport connection and application data stream to a
>>>>    new flow.  A typical definition of a flow for this purpose is any set
>>>>    of packets carrying the same 5-tuple {dest addr, source addr,
>>>>    protocol, dest port, source port}.  It should be noted that a source
>>>>    node always has convenient and efficient access to this 5-tuple,
>>>>    which is not always the case for nodes that subsequently forward the
>>>>    packet.
>>>>
>>>> So, technically it's a recommendation, not a requirement. But for load
>>>> balancing or ECMP to actually work, it's a requirement.
>>>>
>>>
>>> Brian,
>>>
>>> I don't think that says anything that the flow label has to be persistent
>>> for the life of the connection. It is incorrect, though, if any nodes
>>> assume that the flow label is persistent. The soft state approach like in
>>> this QoS draft doesn't require the flow label to be persistent.
>>>
>>> Load balancing only fails when the destination address is being treated as
>>> an anycast and the address is being used as an endpoint of connections that
>>> are on different hosts. But such stateful load balancing becomes obsolete
>>> as the externally visible flow information is decoupled from the end-to-end
>>> identification of the flow like happens in QUIC, ESP, etc.
>>
>> That's not really true for server load balancing. Delivering all packets
>> in the flow to the same *instance* of the host is essential to be
>> able to complete transactions. Whoever unwraps the flow identification
>> has to be able to select the required server instance, at line speed.
> 
> Brian,
> 
> The 5-tuple hashing for forwarding to VIPs only works to the extent
> that the 5-tuple hash identifies the transport flow and is readily
> visible. That may be true for plain TCP, but not necessarily other
> protocols. For instance, in QUIC the end points identify a connection
> by a connection ID that is separate from the 5-tuple. One of the goals
> is to be resilient to NAT so that even if the 5-tuple changes, like
> when the source address or port changes because NAT evicted a UDP
> binding, the QUIC connection is still viable
> (draft-ietf-quic-transport-07). So a load balancer just looking at UDP
> 5-tuples won't work for QUIC. There's a similar issue with MPTCP in
> that all of the sub-flows have different hashes but need to be
> delivered to the same server instance
> (draft-duchene-mptcp-load-balancing-00).

Yes. Exactly the point of using the {source, destination, flow_label}
3-tuple in IPv6, but you know that.

>> https://tools.ietf.org/html/rfc7098 sort of hints at this and we
>> tried to go further in
>> https://tools.ietf.org/html/draft-tarreau-extend-flow-label-balancing
>> but that faded away. And there's
>> https://tools.ietf.org/html/draft-wang-v6ops-flow-label-refelction
>>
>> Nothing seems to quite work.
>>
> For IPv6, I am wondering if each server instance could just be given a
> few million unique addresses and then replace load balancers with
> simple routing...

Sure, but that means the client end would need to learn the address
from the server end, as part of the first handshake.
 
> In any case, I still don't see a protocol issue with flow labels.

I agree.

> Maybe further discussion on this topic should be on tsvwg list?

I'm not sure where server load balancing really belongs, but it's
a pretty important topic.

    Brian