Re: draft-wang-6man-flow-label-reflection

Jeroen Massar <jeroen@massar.ch> Mon, 17 November 2014 08:03 UTC

Return-Path: <jeroen@massar.ch>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2C7CF1A0372 for <ipv6@ietfa.amsl.com>; Mon, 17 Nov 2014 00:03:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.25
X-Spam-Level:
X-Spam-Status: No, score=-0.25 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MIME_CHARSET_FARAWAY=2.45, RCVD_IN_DNSWL_LOW=-0.7] 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 tNedhJ7cCNOb for <ipv6@ietfa.amsl.com>; Mon, 17 Nov 2014 00:03:06 -0800 (PST)
Received: from bastion.ch.unfix.org (bastion.ch.unfix.org [46.20.246.101]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A09071A036D for <ipv6@ietf.org>; Mon, 17 Nov 2014 00:03:05 -0800 (PST)
Received: from kami.ch.unfix.org (kami.ch.unfix.org [IPv6:2001:1620:f42:99:7256:81ff:fea5:2925]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: jeroen) by bastion.ch.unfix.org (Postfix) with ESMTPSA id D2F1E10090784; Mon, 17 Nov 2014 08:03:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=massar.ch; s=DKIM2009; t=1416211381; bh=VyNdQl8iDyIMzEseqKjbieToOvMfFAFMAkxso7xn5QA=; h=Date:From:To:Subject:References:In-Reply-To; b=ctZzp5s0/yDYtOv90a/Y9a8rA9X0cmjgzcRDVknMImUWGzy6v2HHwUrXqzeD3U9FN QW30zB/h50qTsL+mJNQzS1uejAPnL/FC512z3fj/RnG7JGqgi6buX78A/5KyMp8QTK i9o0GoZVAN594q5Ms+C1l4sL3U2/PihcWcqYZTW4jtffw421OWxngDFQL4VnEeDVCr vy8tXLtasKU0r+ASuc7pNQ6Cuks81A30F4uJ8UIj9y8qECyPBdTCO14jeZ2Se9GH4A MBWZJqGXlEndjgmsONaovUp0ZGAp3ptHUHxFLO9sFoEgz1vaiPXfcsGu7ozDwqYlRa oc0Lt+UD/c0PA==
Message-ID: <5469ABB2.4060303@massar.ch>
Date: Mon, 17 Nov 2014 09:02:58 +0100
From: Jeroen Massar <jeroen@massar.ch>
Organization: Massar
MIME-Version: 1.0
To: Aijun Wang <wangaijun@tsinghua.org.cn>, 'Sheng Jiang' <jiangsheng@huawei.com>, '6man WG' <ipv6@ietf.org>
Subject: Re: draft-wang-6man-flow-label-reflection
References: <5465C0AC.10801@massar.ch> <5D36713D8A4E7348A7E10DF7437A4B923AF75421@nkgeml512-mbx.china.huawei.com>, <546681A0.9070703@massar.ch> <5D36713D8A4E7348A7E10DF7437A4B923AF75695@nkgeml512-mbx.china.huawei.com> <5466928E.6070800@massar.ch> <008801d00070$580df030$0829d090$@org.cn> <5466BFB0.303@massar.ch> <008601d00203$4175c8e0$c4615aa0$@org.cn>
In-Reply-To: <008601d00203$4175c8e0$c4615aa0$@org.cn>
Content-Type: text/plain; charset="gbk"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/ipv6/D2BXIHZlGtDXh2X6MdgXL6Kqyro
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Mon, 17 Nov 2014 08:03:09 -0000

On 2014-11-17 02:10, Aijun Wang wrote:
> Hi, Jeroen
> 
> Please see the reply inline below.
> 
>> -----Original Message-----
>> From: Jeroen Massar [mailto:jeroen@massar.ch]
>> Sent: Saturday, November 15, 2014 10:51 AM
>> To: Aijun Wang; 'Sheng Jiang'; '6man WG'
>> Subject: Re: draft-wang-6man-flow-label-reflection
>>
>> On 2014-11-15 02:05, Aijun Wang wrote:
>>> Hi, Jeroen:
>>>
>>> Service Provider wants to apply the same policy to the upstream and
>>> downstream of one session, or more accurately, apply the policy to
>>> downstream of one session based on the recognition of it upstream
> packet.
>>>
>>> The flow label can be used to identify the unique session between one
>>> pair of IPv6 hosts, and alleviate the burden for the network device to
>>> recognize the downstream packet, for example, http response packet. We
>>> think this is one appropriate use case for the flow label.
>>
>> The Flow Label as defined tells you nothing about the contents of the
> flow.
>> Hence nothing to prioritise on there. You will still have to look at the
> typical five
>> tuple and likely deeper when everything is just going to look like HTTP.
>>
> 【Aijun】: with the reflection mechanism, we only need to the deeper
> information of upstream packet, not necessary for the corresponding
> downstream packet. For downstream packets of the same session, the 3-tuple
> info(src, dst, flow label) is enough for upper layer traffic recognition. 

It will be enough IF the source host sets it AND the destination
reflects it. As the redefinition of the Flow Label (the bunch of RFCs
from end of 2011) have not made it into hosts stacks yet almost 3 years
later and lots of people do not upgrade. When do you expect this to happen?

But more importantly, do you think the Operator community can actually
use it?

See below for more about that.


> We also consider other usage scenarios for flow label reflection, for detail
> information, you can review the presentation document(the link on the
> current IETF website connect to the wrong file, then I attached it via
> e-mail.) 

Those "Usage Scenarios" should be in your draft. That is the only way
people can properly comment on them.


>> Oh, and IPv6 Errors (ICMPv6) are part of that flow, but the Flow Label
> will not
>> include those.
>>
> 【Aijun】:ICMP Errors packets are often regenerated by the router, not the
> original data packet destination(3-tuple information has been changed). So
> the process for flow label reflection would be different and we will
> consider it more carefully later.

As you are attempting to change this whole Flow Label mechanism (again),
please consider how to handle this _now_ and not another RFC later.

The Flow Label for "flow identification" is useless without ICMPv6
Errors being part of the flow as it typically indicates why that
specific flow has ended.


In the case of IPFIX/NetFlow you will find that there you also get two
flows: one for instance for TCP and another for ICMPv6. Only the better
IPFIX/NetFlow analyzers out there are able to bind together the two so
that the first (the TCP Flow) has the detail of why it was ended (eg
Port Unreachable).

> For PTB error message in ECMP environment, especially for the load balancer
> before server farm, we recommend the load balancer to deal with specially
> such PTB error message, that is to say, send this error message to all
> servers that have the same address.

And then an attacker sends a few thousand ICMPv6 PTBs and your load
balancer then nicely explodes that to the 1000 servers in the farm
behind it, yeah, that is going to scale.

As you see, that is not an answer. No operator would want to see that.
They are much better off just limiting the Internet to a MTU of 1280 as
that is a safe thing to do.


> Such method is more simple and less
> influences to redefine the meaning of this field.

Your approach does not simplify anything.

It does provide a great attack vector.

As there are papers like this out:
http://christian-rossow.de/publications/amplification-ndss2014.pdf

Operators will do anything to minimize any kind of amplification attacks
on their infrastructures.

> Servers that receive the
> PTB error message should all reduce their following packet size according to
> the recommending MTU value.

They MUST NEVER do that. They should only lower MTU when the payload
packet in the ICMPv6 matches a packet that they could have sent.

Though indeed, the only thing that could happen is that the MTU becomes
1280, that is still a bad idea.

As most stacks stuff the Path MTU in a per-destination route though
those hosts likely do not have an entry and it would be discarded anyway.

>> And as you say "Service Provider" though, sounds like you are opening that
> can
>> of worms called Net Neutrality.
>
> 【Aijun】: SFC, NFVRG etc group in IETF are all considering how to deal with
> various traffic flow in more flexible manner, this is the development trend.
> It is not enough for service provider to consider only the ip src and ip
> dest information. 

Indeed just the src/dst pair is not enough.

But realize that an extra random number ("Flow Label") chosen by the
source host is not going to give these kind of folks the information
they want anyway.

They will just do what they have been doing for well over a decade: src
+ dst + proto + src & dst ports

As that does give them a reasonable assumption of what they are looking at.

The "Flow Label" is not giving them any details whatsoever.

Greets,
 Jeroen