Re: 6MAN WG Adoption Call: draft-nordmark-6man-rs-refresh-01

Lorenzo Colitti <lorenzo@google.com> Wed, 22 April 2015 14:21 UTC

Return-Path: <lorenzo@google.com>
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 5C5211A92FE for <ipv6@ietfa.amsl.com>; Wed, 22 Apr 2015 07:21:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level:
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 Kjz_wHgrDCF1 for <ipv6@ietfa.amsl.com>; Wed, 22 Apr 2015 07:21:26 -0700 (PDT)
Received: from mail-ig0-x22b.google.com (mail-ig0-x22b.google.com [IPv6:2607:f8b0:4001:c05::22b]) (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 827481AC411 for <ipv6@ietf.org>; Wed, 22 Apr 2015 07:19:57 -0700 (PDT)
Received: by igbyr2 with SMTP id yr2so114849606igb.0 for <ipv6@ietf.org>; Wed, 22 Apr 2015 07:19:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=027P1yDFJYrlaDog9qWGuDnvGRytcyf5EHyZqENLqxc=; b=KGMXl3KYKmr4lYS/DEyx4y4dr+ZaozZ+9vJDf8r1msaGJutDWMPTiVzV19Gs/2NidS 9cTI/DcLdTryfFYH3/SEFXHRGCjPt2Lxkpo7Q48hxxl1+M8WGU4l7ZkKFVj4gEkjpNR8 xK5REvvUmZ/781rSugfiGchHKrjTIRzuyriUOx2RvJ0G/wqM3NKVbXSHLIH9mX0rlk3k r/B5arGDuI29+DF1ZvZvfU1Ow8WyqnWrKMdLj2Wo+x0l/DVU2mKo7SduMo7XYKSjrdSe 7G+5oC6aT5ES9nAuR2O6nqtyaEAn4uSp1Pvc7OtU9Tczl+bgUoPQ+ODaEQ1aohWazW3q HNAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=027P1yDFJYrlaDog9qWGuDnvGRytcyf5EHyZqENLqxc=; b=IfEwu5McbBgHGCHchtw397wHG/hMTJU6ufe/e5aPZKA83eFuCU7Pzlsq6/DpO+5hez i33lbDWJHBNO/TqY4DfoaRtAUnjSheNDQxKmpPmBLRzFnTVcUaz1br51c76xk9bQjX0w kho/Slsd+9vyico7/BKfxmArFfEmzm+BU8an12UrpznlEOhn12A6oEarZNU2ys+nQJcL WiYsVpgm6dyzl7aeCoRWWm4ytK0viMue/4fC8pReRretbKv3i4inna/mHRmL9bJ9bDSh gyog7Wx8+0wqh/u75t61fGnJLPuKSCppJ8azNSDyZPUeJQOBuocjZ5Ms68+Ln2YiuGYZ qhxg==
X-Gm-Message-State: ALoCoQnpLJLW5Lc1PPPc7oDdxVCxPV6UPzbYt6YPC5ce1GC5PSkcUIXMY1lt5mv4i8AbS165PYK2
X-Received: by 10.107.8.7 with SMTP id 7mr24907930ioi.87.1429712396969; Wed, 22 Apr 2015 07:19:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.73.2 with HTTP; Wed, 22 Apr 2015 07:19:36 -0700 (PDT)
In-Reply-To: <55368297.6080006@acm.org>
References: <16407124-2B19-4B8F-AEAC-F04D3C7E5C3A@gmail.com> <CAKD1Yr3o7pTOeGsRy7wcWpmEcLRcf+Yvis587Msj9qb0PGEeVg@mail.gmail.com> <5531440E.5060102@sonic.net> <CAKD1Yr3bdARtNdigrAfT3ku5cpihP_Tn6ox4VKLvULU8sSrG8A@mail.gmail.com> <55353A60.1030701@acm.org> <CAKD1Yr19w1Uy=3VSpNua3qJ-bb1yz_zCW4L8k0FV9YJAgvOtXw@mail.gmail.com> <55368297.6080006@acm.org>
From: Lorenzo Colitti <lorenzo@google.com>
Date: Wed, 22 Apr 2015 23:19:36 +0900
Message-ID: <CAKD1Yr1oy4TkKvFfF05V6KsyE2xsEACNqtuhLqnbgunW2hbcdA@mail.gmail.com>
Subject: Re: 6MAN WG Adoption Call: draft-nordmark-6man-rs-refresh-01
To: Erik Nordmark <nordmark@acm.org>
Content-Type: multipart/alternative; boundary="001a113ecc448dc950051450db39"
Archived-At: <http://mailarchive.ietf.org/arch/msg/ipv6/XqlBVITB9-jUn0hmV6Dm-9G9nN8>
Cc: 6man Chairs <6man-chairs@tools.ietf.org>, IPv6 List <ipv6@ietf.org>, Bob Hinden <bob.hinden@gmail.com>
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: Wed, 22 Apr 2015 14:21:28 -0000

On Wed, Apr 22, 2015 at 2:02 AM, Erik Nordmark <nordmark@acm.org> wrote:

> With unsolicited RAs the host would be waiting up to 15 minutes (or 6
> hours with a larger maxra) for a the next unsolicited RA. With RS refresh
> it would send a new RS after a second.


Oh, I see what you mean now. But I think you are assuming that unmodified
hosts will simply ignore periodic multicast RAs, and then not send an RS
when they wake up. That sort of behaviour is a violation of the standard
(because the host is not processing the multicast RAs) and is guaranteed to
cause breakage.

Also: I'd argue that nothing stops a node from sending RSes using the
resilient RS retransmit algorithm when it wakes up (see below). You don't
need any of this document for a host to be able to do that.


> If what you're saying is that the sleeping node is going to ignore RAs
>> anyway, then you don't need an RS refresh option for the node to send an RS
>> and receive an RA when it wakes up. That's already possible.
>>
> There is no RFC which suggests or recommends sending a RS after wakeup.
> RFC 4861 is very prescriptive on when RS can and can not be sent.


RFC 4861 says a host can send an RA when it "re-attaches to a link after
being detached for some time". I'd argue that's the case here. The host is
in effect disconnected, because it's asleep and not processing multicast RA
(and maybe not even unicast packets). If you think hosts might not do that
because it's not clearly allowed by the standard, then fine, let's clarify
the standard. But we don't need to change the semantics.


> The document says that if you want to reduce multicast, you can increase
>> the RA interval. Personally, I don't think that makes sense, because one RA
>> every half hour is a tiny amount of traffic, which is trivial on any
>> general-purpose network.
>>
>
> IPv6 needs to apply to a large range of network technologies, just like
> IPv4 does.
> I think that is the fundamental disconnect here.


IPv4 applies to a large range of network technologies not because of the
standards, but because implementations are, let's say, "creative". For
example: ARP is a broadcast packet, right? In how many networks is ARP
*actually* a broadcast that goes to everybody? I'd argue that there is no
large wireless network where ARP is actually broadcast - because if there
were, that network would fall over. :-)


>     Are you arguing that all your points in the draft need to be
>>     addressed to your satisfaction before it can even become a WG draft?
>>     That isn't how an IETF working group is supposed to operate.
>>
>> No. I am worried that this document cannot meet its goals, and even if it
>> does not, after adoption we will be unable to abandon it and instead ship
>> something that does not meet its goals.
>>
>> Perhaps the issue here is that we don't agree on a problem statement, or
>> more accurately, what we're trying to accomplish with this drafts.
>>
>
> You've said that for > 2 years now, but never provided any useful
> suggestions.
>

But it's impossible for me, or anyone else, to provide a useful suggestion
without a problem statement.

This document proposes a solution. I don't like this solution because I
think it is not useful except if limited cases, and in some cases it is
harmful, and I think that on balance, the harm outweighs the good. So I
ask: "Why do we need this? What justifies a change to the IPv6
configuration model, such that we're changing it from a pure push model to
a hybrid push/pull model and possibly to a pull-only model? Why are we not
carefully considering the reasons for making the change, and instead only
documenting the change without asking ourselves why?"

Suppose for the sake of argument that your draft isn't actually solving any
real problem. There would be no suggestion anyone could possibly make other
than "please describe the problems that need to be solved, and let's design
a solution together". And I don't think "I waited two years and there were
no useful suggestions, so we should adopt this solution" is an argument
that makes sense.

Assuming it has actually been two years, then in those two years I can
recall the following use cases:

1. Mobile network paging channel excessive usage. I think the numbers in
that argument were dubious, because in any mobile network today the vast
majority of devices is sending packets *way* more often than one every half
an hour. But even supposing they weren't, that problem can be fixed by
increasing the maximum RA interval and/or piggybacking RAs onto unicast
traffic, and/or sending an RA to the node opportunistically right after the
node sends a packet and thus has the channel grant.

2. Excessive multicast use on wifi. Most of this problem problem can be
solved by sending solicited RAs unicast. RA isn't really a high-order
contributor to this problem anyway - bonjour is much worse, and so is ARP.

3. Low-battery nodes. Here you can construct an argument that justifies
anything: all you need to do is posit the existence of a node whose
constraints make it a poor fit for the periodic RA model, and then decide
to optimize for that node. For example, you can posit a node that is
super-constrained, whose battery has to last years of sending one packet
per day, but cannot disconnect because it needs to receive unicast packets
on someone else's schedule instead of the natural option for a constrained
device of *disconnecting* and only polling periodically. Even here, though
- why are these devices not using special link layers? For example, 802.11
in particular is terrible at power consumption for this sort of device.
It's a high-speed technology intended to provide XXX megabit speeds, not
optimizing low power. Why are we trying to use it?

I have repeatedly suggested: let's look at the *real* harm in these cases,
and let's see how far we can go without changing the protocol. But I think
you've just kept coming back with suggestions on how to fix the protocol
without first discussing how and how much it's broken.