Re: Generic anycast addresses...

Mark Smith <markzzzsmith@gmail.com> Fri, 31 May 2019 00:53 UTC

Return-Path: <markzzzsmith@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 A5559120182 for <ipv6@ietfa.amsl.com>; Thu, 30 May 2019 17:53:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.501
X-Spam-Level:
X-Spam-Status: No, score=0.501 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, FROM_LOCAL_NOVOWEL=0.5, GB_AFFORDABLE=1, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.999, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 Yy87rsvyKAbb for <ipv6@ietfa.amsl.com>; Thu, 30 May 2019 17:53:06 -0700 (PDT)
Received: from mail-oi1-x22d.google.com (mail-oi1-x22d.google.com [IPv6:2607:f8b0:4864:20::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 A179C120048 for <6man@ietf.org>; Thu, 30 May 2019 17:53:06 -0700 (PDT)
Received: by mail-oi1-x22d.google.com with SMTP id v25so5895295oic.9 for <6man@ietf.org>; Thu, 30 May 2019 17:53:06 -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; bh=1Oigs6JlL4gc6ZtBmjKPIFZ6RYxv9INnlcDE8+Mi8/8=; b=k9Wha4ylb4J/AjNDL1YeKqB8/4TNjTAuIyh50JJM5Ct4se7rNVdbCphNZcNxLkYOkh Nd3n5tAs6//t7TOC5BKm9SghyG+z/plzjvQARAXN3whZARUFfPPAVWvVDarQoaozPKYG SbTmpJF/TQ0ZqGXjGqQ9D40mDfp/Evwzcin/3yZT2TvmIhvG+3OXGCS9QUFSIFYbZ76d QRjMSfAXAwg+HYPsbjDZiXzl4inKgDkTxMdujS6BBUl2T3z7fS0LsMWC+feWfDcQgPHU Q0C2apHwWBZ6cqfQo2gQakkpEEyz3A4aY7pxoRVa/TceehnUHPqhAjtA0jpWssWtvGjX 3SDw==
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; bh=1Oigs6JlL4gc6ZtBmjKPIFZ6RYxv9INnlcDE8+Mi8/8=; b=QaTSJaq9dvqnHrMQ9jcpXSV1rTbblsDITE381CpGEcz7wHMtVJnoXRAw3ekVq9JVN2 VhDHuC5ZaAL0utO6vP9GxKMUIC+NKbzNHtpptAMjV12ZZNl+KuUz5FheSftzsn2VNMoh zxusTh4/8RJwrWSIOUQP1BCs+2cuv+4AslN+x6eYIPnM0IMkeokDBPsZI7z4StBk8NLb OtulvOPKj9zSt7+Rl2zs1ICnuVq0Vy8nsgSg8bEpKTd76VN7Qejr5rVrindp+MeteV3p ur3Tuhy0/9h70rtmId9RIdIjT1dF4z9gnQNAyIJxr476GDB+5VQuorOt0rFm/nZY3R2i 39bQ==
X-Gm-Message-State: APjAAAUnj2guQomRpmnjWGyKbumtczR6aby7rSltxTH6Q1VljZ8vTNg4 nSSxeVXz6b1PWnNl+8I2SSU+F62BR9klUHihZmU=
X-Google-Smtp-Source: APXvYqyBA8GUhhYaJ+eFILxU+cJ4SODrCHw83Y+J7aGuLxQJJzfJtvykdysFzRWT20n6tSmkRCmdH8OWXbxbIEINbfE=
X-Received: by 2002:aca:5591:: with SMTP id j139mr4566218oib.38.1559263985844; Thu, 30 May 2019 17:53:05 -0700 (PDT)
MIME-Version: 1.0
References: <D22E680C-3EE3-4AD7-90C0-9339DA2E5A29@fugue.com> <CAO42Z2wCG+C9sqbbhT3EcJQpa_GLEqacs3tFBycqMW37Z4Datg@mail.gmail.com> <4F466F57-1705-4C1A-9FEA-D781C746D5E2@steffann.nl>
In-Reply-To: <4F466F57-1705-4C1A-9FEA-D781C746D5E2@steffann.nl>
From: Mark Smith <markzzzsmith@gmail.com>
Date: Fri, 31 May 2019 10:52:39 +1000
Message-ID: <CAO42Z2w4cUjNW5vC8Guum0HVdo6q+Zpn5gppy6XqXN3ix2nSXQ@mail.gmail.com>
Subject: Re: Generic anycast addresses...
To: Sander Steffann <sander@steffann.nl>
Cc: Ted Lemon <mellon@fugue.com>, 6MAN <6man@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/LDzvV8BRXCBgSVDp9-lJrb60Mro>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 31 May 2019 00:53:09 -0000

Hi Sander,

On Thu, 30 May 2019 at 22:49, Sander Steffann <sander@steffann.nl> wrote:
>
> Hi Mark,
>
> > "IPv6 Formal Anycast Addresses and Functional Anycast Addresses"
> > https://tools.ietf.org/html/draft-smith-6man-form-func-anycast-addresses-00
> >
> > - well known anycast address prefix - "aa00::" suggested
> > - scopes that match those of multicast (note there is a scope position
> > error throughout the above draft, the scope nibble is the 3rd rather
> > than the 4th i.e. the upper 16 bits are "aa<scope><subformat>::/16"
>
> I think I'd prefer "aa<subformat><scope>::/16" for consistency with multicast addresses. OTOH your format is much easier to filter at scope boundaries, but I guess it's too late to change the multicast specs ;)
>

I originally started with the multicast structure, however being much
easier to filter at scope boundaries was why I changed it.

Multicast address structure evolved over time, and I though that if
there was time to do it over again, then there would be some different
decisions made. Since this would be a separate /8 specifically for
anycast addresses, and similar but fundamentally different to
multicast, there was an opportunity to make those decisions.

Support for up to 16 subformats hasn't been a strong requirement, it
was more that the bits were available in a convenient location, and
that if multicast addressing structure evolved over time, anycast may
too. So formally accommodating and encoding different lower 112 bit
formats could be useful.

I'm also mindful that asking for a /8 is a big ask, so some
flexibility in formatting of the lower 112 bits if possible is much
better than having to ask for another /8 if it was a total screw up.
Unlikely I think, but an affordable safety parachute when the bits
were available in the address format.

(The draft started out as "IPv6 Functional Anycast Addresses", using
an fa::/8 prefix. I like "aa::/8" for "anycast address" much better,
however "fa::/8" also suits Formal Anycast too." Mnemonics in
addresses certainly aren't essential, but are quite useful if
possible.)


> > - supports subformats for the lower 112 bits
> > - first subformat is a functional address space which supports 24 bit
> > function identifiers, possibly 32 bit function identifiers, and embeds
> > up to a /64 prefix to identify an "anycast domain", and flags e.g.
> > transient or permanent function identifiers.
> >
> > All very much inspired by many of the IPv6 multicast capabilities and
> > features - it seems to me that anycast has properties common with both
> > unicast and multicast, so its actually a distinct class of addresses,
> > rather than being an informal type of unicast address.
>
> I agree.
>

I'm generally curious to know why a formal class for anycast wasn't
chosen as RFC 1546 suggested, although perhaps it was because the idea
was much more experiemental than today, as the IRTF published it. I
was tempted to look into it but thought that might take a lot of time
better spent on the draft itself. I was thinking it could have been
lack of IPv4 address space, however perhaps the Class E address space
could have been used for anycast addresses.

> > I've been working on another update which I can probably push out in
> > the next day or so:
> >
> > - introduces an "Network Service Provider" scope, which is greater
> > than organisation scope and global scope, to suit an ISP DNS resolver
> > use case, protecting the DNS resolver from a DDoS from the Internet.
>
> Very good idea. The same scope can be used for multicast as well. It would fit things like live TV streams in a service provider network to provide them to their customers rather well.
>

Yes, that is exactly the multicast use case I though of for an Network
Service Provider scope.


> > - suggests the use of anycast addresses for hop by hop processing of
> > packets as an alternative to the HbH EH - when a intermediate packet
> > processing node (i.e. doing more than pure IPv6 forwarding) submits
> > the packet for further forwarding post processing, the local instance
> > of the anycast address is ignored (the "is it my DA" check is
> > skipped), and RPF is applied on the source address so the packet keeps
> > moving away from the packet's origin (i.e. the multicast RPF check).
> > This type of forwarding probably could be applied to "informal
> > anycast" as well as the "formal anycast" I've suggested above, so
> > maybe it should be a separate ID.
>
> I don't understand the use case for this one yet.
>

Somewhat of a replacement for or better version of HbH EH.

Advantage is that processing of destination addresses isn't optional
in forwarding, as DAs are elementary to forwarding. There whould be no
specific forwarding performance concerns with this recognising these
types of to-be-HbH processed packets, unlike the HbH EH. The packet's
DA and the device's FIB dictates pushes the packet to the HbH
processing. HbH wouldn't be special case packet processing by the
forwarding plane anymore.


> Anyway: I think this can be very useful! Easily recognisable addresses, explicit scope. I like it :)
>

Thanks very much for your comments.

Regards,
Mark.

> Cheers,
> Sander
>