Re: Generic anycast addresses...

Toerless Eckert <tte@cs.fau.de> Fri, 31 May 2019 11:33 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
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 35D33120059 for <ipv6@ietfa.amsl.com>; Fri, 31 May 2019 04:33:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 pcICI5btDhJ3 for <ipv6@ietfa.amsl.com>; Fri, 31 May 2019 04:33:38 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:40]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B5876120044 for <6man@ietf.org>; Fri, 31 May 2019 04:33:37 -0700 (PDT)
Received: from faui48f.informatik.uni-erlangen.de (faui48f.informatik.uni-erlangen.de [131.188.34.52]) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTP id A4AC9548910; Fri, 31 May 2019 13:33:32 +0200 (CEST)
Received: by faui48f.informatik.uni-erlangen.de (Postfix, from userid 10463) id 9321F440041; Fri, 31 May 2019 13:33:32 +0200 (CEST)
Date: Fri, 31 May 2019 13:33:32 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: Mark Smith <markzzzsmith@gmail.com>
Cc: Ted Lemon <mellon@fugue.com>, Michael Richardson <mcr+ietf@sandelman.ca>, "6man@ietf.org" <6man@ietf.org>, Dave Thaler <dthaler@microsoft.com>
Subject: Re: Generic anycast addresses...
Message-ID: <20190531113332.2ygy5fmvkf2vb4ox@faui48f.informatik.uni-erlangen.de>
References: <701687d4-842c-6a16-3c97-349125324e3f@gmail.com> <D648647D-60E1-4DCE-B0BE-11002E0AE5A4@fugue.com> <20190530220838.g2hshonsjxmfnd55@faui48f.informatik.uni-erlangen.de> <632BE7EC-26A6-44E9-9CCD-F0AE143D4256@fugue.com> <AF1967FC-526D-47FB-98BE-F9B949F26796@steffann.nl> <CAO42Z2yY=z-wKCUaCYZqJLHfT+LdyDOWz9bLG8QTh9C8sJCx3g@mail.gmail.com> <F3E48F41-DED1-4D5D-AEC1-A01356D4110B@fugue.com> <CAO42Z2xXbwUd6G2EZcUvPStP8acyM=Dt8n-R=Cdpra+wMwWf3Q@mail.gmail.com> <F1401F04-550E-41EA-880E-F66D464B3554@fugue.com> <CAO42Z2xHJK=fRebZEk5yXZz59gBOtrDdf6kVH3Y4hp=iZDC_Rw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAO42Z2xHJK=fRebZEk5yXZz59gBOtrDdf6kVH3Y4hp=iZDC_Rw@mail.gmail.com>
User-Agent: NeoMutt/20170113 (1.7.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/YJ32v9V-n1Ws2tgOgDALwK-Coq8>
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 11:33:40 -0000

On Fri, May 31, 2019 at 12:25:03PM +1000, Mark Smith wrote:
> > On May 30, 2019, at 5:05 PM, Mark Smith <markzzzsmith@gmail.com> wrote:
> > This might be dysfunctional.  Sometimes if you query the DNS server for one upstream and then use the answer on the other upstream, the results will not be the same, and might be quite suboptimal.   That said, this isn???t likely a problem with the real point you are making, so I only mention it for completeness.
> 
> It's a fault you report to the ISP as they're not providing a properly
> working DNS resolution service.

Consider you have a CDN RR www.example.com hosting video clips.
I look it up across my two ISP connections and get two different IP addrs,
each being the CDN instance supposed to be serving a specific area.
If i now attempt to access IP 2 via link 1, i may simply get service
denial on the basis of my source IP address because the whole setup
to provide different CDN server addresses is to manage bandwidth and
serve from each instance only client IP addresses that are in a part
of the Internet to which bandwidth and cost of that server are
considered optimum by example.com.

I could not find the section "how www.example.com will make more money
with this memo" in Marks draft. Would be interesting to understand
if/how he proposes to achieve this, because this is about the financially
biggest use case of "anycast DNS" in the Internet i can think of and
there is a whole industry building this and another to work around it.

The part of using one IP address learned across one (VPN tunnel) link to
access content you're not supposed to have across that second (native
ISP) link is of course one of the key examples of this. Because in
many CDN cases that denial-of-service based on originator IP address is
not implemented.

Cheers
    Toerless

> It's both.
> 
> There is a generic one that all are likely to ISPs would provide.
> 
> Using the draft's format (note there is an error with the scope
> position in the draft, fixed in next revision),
> 
> - 0xaa - 8 bit Formal Anycast Prefix
> - 0xb - 4 bit Vislble Scope: Network Service Provider
> - 0x0 - 4 bit Anycast Identifier Format: Functional Anycast
> - 0x:: - 64 bits Anycast Domain Prefix: 64 bits of all zeros,
> indicating unspecified prefix
> - 00b - 2 bits reserved, set to zero
> - 00 0000b - Prefix-Length: 6 bit prefix length, all zeros having
> special meaning of 64 bit prefix length
> - 0000 0000b - Flags: 8 bit flags, 1 defined, T meaning Transient in
> high order position i.e. non-IANA assigned (i.e. same as multicast
> flag T meaning)
> - 0x0 - Local Instance: 8 bit field available to local anycast domain
> to allow instances or versions of the service to be included in the
> address. zero by default. Can be used to extend following Anycast
> Function Identifier to 32 bits in the anycast domain identified by the
> Anycast Domain Prefix.
> - 0x000053 - Anycast Function Identifier: 24 bit function identifier.
> IANA assigned in this case because the T bit is not switched on.
> Assume 53 (actually 83 in decimal).
> 
> Compressing all the zeros (common default values chosen to be zero for
> that purpose), an ISPs would announce into their routing domain (and
> to customers via eBGP):
> 
> aab0::53/128
> 
> This would be the default embedded in the code of DNS resolvers.
> Following the formula, ISPs should all arrive at that value, however
> there probably would be value in an IANA registry or similar
> documenting it to minimise formula following errors.
> 
> 
> The ISPs might also respectively provide their own unique Functional
> Anycast addresses by embedding one of their GUA /64s as the Anycast
> Domain prefix:
> 
> So ISP A also announces:
> 
> aab0:2001:db8:0:a::53/128
> 
> 
> ISP B also announces:
> 
> aab0:2001:db8:0:b::53/128
> 
> 
> 
> With each of the following customers being multihomed to both ISP A and ISP B:
> 
> Customer A might be happy with the default, so they leave hosts' DNS
> resolver clients address as the default of aab0::53. It's
> plug-and-play, no configuration required.
> 
> Customer B might want to always use ISP A's DNS resolver, so they
> replace the default of aab0::53 with aab0:2001:db8:0:a::53.
> 
> Customer C might want to use ISP B's DNS resolver, but fall back to
> ISP A's if ISP B's fails, so they replace the default of aab0::53 with
> two entries in order, aab0:2001:db8:0:b::53, aab0:2001:db8:0:a::53.
> 
> 
> (Instead of announcing specific anycast /128s, an ISP could announce
> an aggregate route for all of their specific anycast domain services
> e.g. ISP A above would announce aab0:2001:db8:0:a::/80).
> 
> So ISPs announcing both the generic well-known DNS anycast address,
> and their own specific versions, allows their customers to leave the
> default in the DNS resolver client code, or override it to suit their
> preferences as to who they get the anycast DNS service from.
> 
> Is that clearer?
> 
> Regards,
> Mark.
> 
> 
> > For that use case, there???s no need for a special scoped anycast address???each ISP can simply allocate an IP address or IP addresses and configure their routing to treat them as anycast addresses.   There are problems with this, but these problems are already discussed e.g. in RFC 7094.
> >
> >
> 
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------

-- 
---
tte@cs.fau.de