Re: Generic anycast addresses...

Mark Smith <markzzzsmith@gmail.com> Thu, 30 May 2019 00:25 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 CCEB0120088 for <ipv6@ietfa.amsl.com>; Wed, 29 May 2019 17:25:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.498
X-Spam-Level:
X-Spam-Status: No, score=-0.498 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, 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, URIBL_BLOCKED=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 3d9RX1YC9-jt for <ipv6@ietfa.amsl.com>; Wed, 29 May 2019 17:25:16 -0700 (PDT)
Received: from mail-ot1-x336.google.com (mail-ot1-x336.google.com [IPv6:2607:f8b0:4864:20::336]) (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 312AA12007A for <6man@ietf.org>; Wed, 29 May 2019 17:25:16 -0700 (PDT)
Received: by mail-ot1-x336.google.com with SMTP id l17so3957578otq.1 for <6man@ietf.org>; Wed, 29 May 2019 17:25:16 -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=M6ZFVtS5f0jBiATaZNIzEuwxgMYtQuiOCwqHRj+vJjs=; b=P5Pvjzd12Aua1XFxaBAi7c8UHM/9W18/xLMwYUiS8K9OE4VVOSBJ62OqvzH4DeGwOX S0GK4/EVcky/Oz0o2V9sLnBNrvC1PV8YnktPoaUT/Qj1cS+pwamwPDbme9Vp+VqIoKwV Izg9aHwlh/I1b2fhYwIoMc4VRrpb+Zpx+/PAOplRBnPcHsvk+g1UZ/ewU7HHHIInEHGM qxvIn0ISxc6OQCwonmbDEzjv0j/PaQEzEEEjAkPnNZsOTA0jvU3CmPGsEG2KvSwuuulL 2OJhcqq4ALvx7em5VN3MiHzZ6qc6guUFDXZhp8xOpDQDwBJmRVCeH8LRhiFaXsbTp4jD w53Q==
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=M6ZFVtS5f0jBiATaZNIzEuwxgMYtQuiOCwqHRj+vJjs=; b=PUByEN4mfoVI3xd3wrF1J5HMqdhQLzanI/Al8n9JYDiU8O/dx/OdKoxRh1GaK0+Gbl 9tkXzv1PkySJ3NTMlS1c2vsy9yhV+jSz2WQtRXfZnM8uQlVd6F71LXB7bpEt6MVBSus/ xiSOb1+0ltqSqQN6xmbkcAP8TRTniKGso5jmi6Lt2KqcxM6tKaVJbtVP3dgisTC/wN53 ulO2R0RPSS+qGibyjGqHZgD5OJpa9AtJOgA5M0nAn5mHG3+maLrZ+er6JzCI4TrN4KTU ZPAfBHPkotdGJGv16HAvpFrjqduSSxcQ2tPo325iXHtXEzA6cIBrkqc5Y8AR+NvBA/nB Eqnw==
X-Gm-Message-State: APjAAAU0+2V6bWqHfqgQgSdrP6T7Xlffln1oKO6P2T/CahBjN1u3cJE7 xjj+g1SQ1XSaBBdRc3hY1C/D+gqBRNDPutGZHhWsqKzI
X-Google-Smtp-Source: APXvYqzOaWsB+pDTU2n6W6OLy8eEG4bfZhur/mNq6MP5iQe9VZtc4liNoc83h2Q6++mWTdWxGSUkVCYz6s/FeZ8qbFI=
X-Received: by 2002:a9d:58c5:: with SMTP id s5mr457769oth.153.1559175915124; Wed, 29 May 2019 17:25:15 -0700 (PDT)
MIME-Version: 1.0
References: <D22E680C-3EE3-4AD7-90C0-9339DA2E5A29@fugue.com>
In-Reply-To: <D22E680C-3EE3-4AD7-90C0-9339DA2E5A29@fugue.com>
From: Mark Smith <markzzzsmith@gmail.com>
Date: Thu, 30 May 2019 10:24:48 +1000
Message-ID: <CAO42Z2wCG+C9sqbbhT3EcJQpa_GLEqacs3tFBycqMW37Z4Datg@mail.gmail.com>
Subject: Re: Generic anycast addresses...
To: Ted Lemon <mellon@fugue.com>
Cc: 6MAN <6man@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/1Gpq4sEYvvCGEAqU2AUREYtPik4>
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: Thu, 30 May 2019 00:25:18 -0000

On Thu, 30 May 2019 at 08:48, Ted Lemon <mellon@fugue.com> wrote:
>
> I was looking through the IANA registry for anycast addresses with an idea of what I wanted, and was surprised to learn that no such thing exists.   I’m curious if what I want is something that’s already been shot down in flames, or something for which no energy has existed to do.
>
> Right now it appears that anycast addresses either aren’t special (that is, they are just IP addresses in someone’s prefix) or are link-specific (e.g., the subnet router anycast address, which if I understand it correctly is constructed of <local-prefix>::0).
>
> What I am looking for is an anycast address that won’t match any local prefix, so that it filters out towards an egress router and is caught somewhere along the way, or worst case, at the egress.   I can see where this would have gone down in flames, since we don’t want anycast packets to keep going toward the backbone and create congestion, so that might explain why this hasn’t happened.   But we do have the notion of scopes, e.g. for multicast, and that would seem to apply for anycast as well.   We do allow multicast in scopes larger than the local subnet, and AFAIK this has not melted the Internet.
>
> The actual use case I have for this is wanting to be able to have a constrained device send a unicast discovery or announcement which can be assumed to be caught and handled by infrastructure.
>
> So, is this something that’s been talked about and abandoned as a terrible idea, or abandoned because nobody wanted to do the process to make it happen, or is it (seems unlikely) an innovation on my part?   Or is it already done and I just managed to not find the document describing it?
>

I wasn't aware of anything like that, so, like a TV cook, I prepared
something earlier.


"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"
- 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'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.

- 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.


Regards,
Mark.






> Thanks!
>
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------