Re: [v6ops] Iotdir last call review of draft-ietf-v6ops-nd-cache-init-05

Jen Linkova <furry13@gmail.com> Wed, 16 September 2020 02:33 UTC

Return-Path: <furry13@gmail.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 C70C13A0CA7; Tue, 15 Sep 2020 19:33:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level:
X-Spam-Status: No, score=-1.848 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 F3T406xvQAlw; Tue, 15 Sep 2020 19:33:03 -0700 (PDT)
Received: from mail-qt1-x832.google.com (mail-qt1-x832.google.com [IPv6:2607:f8b0:4864:20::832]) (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 69BBD3A0CB7; Tue, 15 Sep 2020 19:32:36 -0700 (PDT)
Received: by mail-qt1-x832.google.com with SMTP id v54so4996297qtj.7; Tue, 15 Sep 2020 19:32:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Qd1m94cbc8gzMOvWCKETRIDo64TP4sqvpLliDysTgZs=; b=bZU7GqjCddFfXlbzsUFb9KmnOybpj44ggJSeKYn0UpzVpqQqJxvpk3hIvfAxIqV95m OgZL6fdPvFo/CYcmEVbUcxbZtJoInfQE0EXLbPu++MXP71z0QJszg5paPt4mPA4b4U0o a8m+znJkODpTodjwv2Gkuiw9wLKNy2RZkUeo2R9Z9yOTJYyDVm/odJxsEvS70tmg2M6d rqW6CELNs0Nc/edDaw75diBdURvOl9HHkYesSo1K48cb+AuYmxg+iaYZ9f4FCEwc9fQv FQqlKGQAS2ywZ1y1YhW6wQmKptf4hNzi0d2z6cUnH4wkJlmEADffZSKzKcVWLApN6Uwd VOMw==
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=Qd1m94cbc8gzMOvWCKETRIDo64TP4sqvpLliDysTgZs=; b=gFbx8FtEk6ZC1eDPIKBydPvExfC0bokBHZYHUDTRzbyJI+GsbIZiJH+t/OuIsem0Zt OPmBqwNS8XTiPQnxAD0P0IOioI0JoasRG/5oIUc30SbjvgeLxQ5C3FMgsu5LOBYc5g4L IqLTn9zWi/x9oTpOOuPVepu/3Y+s4Vcr5ZZ3iTAK1tAmYPmPL5ysOCMIj8pMJP5Vdw2W p+GMQ2OOQ6aAaKTRmQTG1tHyCXLjIKA4NWKKmojKc1L/vnukJSmMWpg38/xmoizj1/0d +wIY7KpWs5+ERYzptST+aGi9x7YHc7BfSJmNKQ92hZaRUBBX6gKtP7kMvAJya42KlE4j CdQA==
X-Gm-Message-State: AOAM532Tiy7oPZnG+Q3EJYEQmoV/MEoOj7HpVPgaFQyKYmW31LxXPGut /DxtLtm4Ce6nVFlZU/8N+MT5f8DBq14komOK7zw=
X-Google-Smtp-Source: ABdhPJz8ow5e2EMvlE/l60INfizdQO+qSHS0qW7mxURTTFAwF/i71bYtDy3WYB6lInRy9pYSCdcBpM1xWRMZYoBorlo=
X-Received: by 2002:ac8:6e84:: with SMTP id c4mr8767937qtv.118.1600223555170; Tue, 15 Sep 2020 19:32:35 -0700 (PDT)
MIME-Version: 1.0
References: <MN2PR11MB35651BFF4671D89D12E7703DD8270@MN2PR11MB3565.namprd11.prod.outlook.com> <CAFU7BATkRYD6m++gb6_is6oU=PGpQDTx8V2vm0gcJEcAnc1Tgg@mail.gmail.com> <3A6E80C9-07FC-4B4E-9A20-D02C8743448F@cisco.com>
In-Reply-To: <3A6E80C9-07FC-4B4E-9A20-D02C8743448F@cisco.com>
From: Jen Linkova <furry13@gmail.com>
Date: Wed, 16 Sep 2020 12:32:24 +1000
Message-ID: <CAFU7BATk7k_6Xfis2yXxjEEx+1N6GaKZg5MZTkPXpLrsdU8mzw@mail.gmail.com>
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
Cc: "iot-directorate@ietf.org" <iot-directorate@ietf.org>, "last-call@ietf.org" <last-call@ietf.org>, "v6ops@ietf.org" <v6ops@ietf.org>, "iesg@ietf.org" <iesg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/RRruu_bfzHce05dfmm3UdxGLzSc>
Subject: Re: [v6ops] Iotdir last call review of draft-ietf-v6ops-nd-cache-init-05
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: Wed, 16 Sep 2020 02:33:10 -0000

On Tue, Sep 15, 2020 at 8:52 PM Pascal Thubert (pthubert)
<pthubert@cisco.com> wrote:
> > Le 15 sept. 2020
> My birthday

Bon anniversaire!

> > 8.7. Making the Probing Logic on Hosts More Robust
> >
> > Theoretically the probing logic on hosts might be modified to deal
> > better with initial packet loss. For example, only one probe can be
> > sent or probes retransmit intervals can be reduced. However,
> >
> > - This approach does not fix the root cause but just provides a
> > work-around for one particular case of probing traffic. Packets are
> > still being lost.
>
> If no one knows your address but the guy who replies I’m not sure of this. Maybe this item could be merged with your last point?

Let's say the host does not do probing - it's not a phone, it's a
laptop or other system. It just starts sending traffic - multiple
flows.
Do you think we shouldn't  care about those packets being lost and
allow the transport layer to deal with it?

> > - It's rather unlikely that all affected systems could be updated in
> > any reasonable timeframe.
>
> Not sure if I get you there. Isn’t it the same for getting this spec implemented ? If so maybe we can omit this argument. Or did you mean something else?

The proposed changes are done on the router/host OSes. What you are
suggesting might require updating *applications* if they are doing
probing.

> > - It would not solve the problem if there are multiple applications on
> > the same host sending traffic and return packets arrive
> > simultaneously.
>
> True. It would have to be done in the OS when forming the address and before any application can open a socket.
> Note that some phones send a crafted packet to detect, e.g., a hotel portal. Is that really different ?

It's exactly when the problem manifests very clearly.

> > - Even if a host sends a single probe, the response might consist of
> > multiple packets and therefore might be still affected by the problem
> > described in this document.
>
> I guess it takes a special crafting to make sure we get only one packet in response, e.g. a TCP SYN. But then that locks ressources on the other end.
>
> A variation of a ping over udp looks more suited. Or forming a security association with the DNS server? Hard to live with no DNS anyway.

So what you are proposing is:
- to publish a BCP for 'how to do probing';
- change OSes so they all implement probing first and do not allow
applications to open a socket until the probing is completed?

It sounds to be like an overkill for the problem - the change is too
big (and implications are unclear).

> > 8.8. Increasing the Buffer Size on Routers
> >
> > Increasing the buffer size and buffering more packets would exacerbate
> > issues described in [RFC6583] and make the router more vulnerable to
> > ND-based denial of service attacks."
> >
>
> Considering the vast address space that can be attacked there is no amount of memory that will fully protect against a sweeping DOS attack.
>
> The memory in a router is not constrained as it was 20 + years ago. We can allocate many times what we could at the time of the writing of classic ND. The attack can also be many times faster but then that makes the anomaly more recognizable and the router can raise defenses.
>
> I suppose that a platform that is worth attacking can throttle incoming requests.

It's what RFC6583 discusses.
So I'm not sure - are you suggesting to remove that section? or do you
think that we just need to increase the buffer size?

> > Would it address your comment?
> >
>
> Not yet as you see. There are pros and cons.

I've just submitted -03 which has the section about probing re-written.
I hope it's better now.

> Sending a single probe provides a local solution with no dependency on the router.
>
> I believe that the NA is a good thing, better than current state of affairs.
>
> Ideally the draft would describe both and provide recommendations on how to do the single packet as a step 0. Then it would do what it does today as step 1. Then it would open in conclusion to a future with a full proactive solution where the DOS attack is not possible any more.

See the updated section 8.7 - a single probe packet is not a solution.
So it leaves us with what the draft proposes.
https://datatracker.ietf.org/doc/html/draft-ietf-6man-grand-03#section-8.7

The full proactive solution is a completely different story, IMHO -
I'm not saying we shouldn't go that way but 'a few packets being lost'
is not a reason good enough to implement such drastic changes. So I'd
prefer to decouple 6man-grand and any proactive/registration-based ND
work.

> Flushing ?

Yeah. fixed ;)

> >> ===========================================================================================================
> >> Minor
> >> ==========================================================================================================="
> >>   1.  A host joins the network and receives a Router Advertisement (RA)
> >>       packet from the first-hop router (either a periodic unsolicited
> >>       RA or a response to a Router Solicitation sent by the host).
> >> "
> >> Maybe clarify that this is a multicast RA sent to all hosts
> >
> > Not necessary. Solicited RAs can be (should be) unicast.
> >
>
> Sure, but then, using another address like link local

Ah, I see what you are trying to clarify. Changed to 'The RA is send
from the router's link-local address to link-local destination'

> >> The
> >>       RA contains information the host needs to perform Stateless
> >>       Address Autoconfiguration ([RFC4862]) and to configure its
> >>       network stack.
> >> "
> >> You could say "SLAAC and/or DHCPv6" for completeness.
> >
> > Does RA contain information the host needs to perform DHCPv6? I'm not so sure..
> The M and/or O bits ... DHCP goes a very long way to configure the stack.

I'm just not sure DHCPv6 is relevant here at all. As soon as the
client starts talking to the server using the global address, the
problem goes away.

> > The RA contains information the host needs to perform SLAAC and to
> > configure its network stack. The RA is send from the router's
> > link-local address and in most cases also contains the link-layer
> > address of the router. As a result the host can populate its Neighbor
> > Cache with the router's link-local and link-layer addresses.
> > "
> -> is sent. Maybe avoid « in most cases » and uses « may » instead ?

Done.

> > Changed to:
> > "As per Section 7.2.2 of [RFC4861] Routers MUST buffer at least one
> > data packet and MAY buffer more, while resolving the packet
> > destination address. However most router implementations limit the
> > buffer size to a few packets only, so all subsequent packets for the
> > host global address are dropped, until the address resolution process
> > is completed."
>
> Not untrue. Does that mean true?

I'm under impression that binary logic is a foundation of electronics ;)

--
SY, Jen Linkova aka Furry