Re: [DNSOP] Ask for advice of 3 new RRs for precise traffic scheduling

bert hubert <bert.hubert@powerdns.com> Wed, 13 December 2017 08:43 UTC

Return-Path: <bert@hubertnet.nl>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E44FA12700F for <dnsop@ietfa.amsl.com>; Wed, 13 Dec 2017 00:43:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=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 IIbqKeFt774a for <dnsop@ietfa.amsl.com>; Wed, 13 Dec 2017 00:43:46 -0800 (PST)
Received: from xs.powerdns.com (xs.powerdns.com [82.94.213.34]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E1FB6120726 for <dnsop@ietf.org>; Wed, 13 Dec 2017 00:43:45 -0800 (PST)
Received: from server.ds9a.nl (unknown [86.82.68.237]) by xs.powerdns.com (Postfix) with ESMTPS id 4ADBE9FB57; Wed, 13 Dec 2017 08:43:42 +0000 (UTC)
Received: by server.ds9a.nl (Postfix, from userid 1000) id BC25CAC3D37; Wed, 13 Dec 2017 09:43:42 +0100 (CET)
Date: Wed, 13 Dec 2017 09:43:42 +0100
From: bert hubert <bert.hubert@powerdns.com>
To: Stephane Bortzmeyer <bortzmeyer@nic.fr>
Cc: "zuopeng@cnnic.cn" <zuopeng@cnnic.cn>, dnsop <dnsop@ietf.org>
Message-ID: <20171213084342.GA30523@server.ds9a.nl>
References: <2017121315404971736813@cnnic.cn> <20171213081823.GA8970@laperouse.bortzmeyer.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20171213081823.GA8970@laperouse.bortzmeyer.org>
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/P03svYhnBryZ5xCjz0p-bYdbjvk>
Subject: Re: [DNSOP] Ask for advice of 3 new RRs for precise traffic scheduling
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Dec 2017 08:43:48 -0000

On Wed, Dec 13, 2017 at 09:18:23AM +0100, Stephane Bortzmeyer wrote:
> >  For example, a CDN provider can’t schedule 70% of traffic to node A
> >  and 30% of traffic to node B [...] adding a “weight” attribute
> 
> First, the obvious question: why reinventing RFC 2782?

Implementing this worthwhile capability can be done in four ways/places:

1) Get browsers to honour RFC 2782

2) Get resolvers and auths to support a weighted A/AAAA record (as proposed
in this thread)

3) Serve up multiple copies of the same A record, and weigh like this:
www IN A 1.2.3.4
www IN A 1.2.3.4
www IN A 10.11.12.13
And hope that record shuffling will deliver the 2:1 ratio

4) Get authoritative servers to serve A/AAAA with weighted frequency and
short TTL

Getting browsers to move is a 5 year project at least. You could get the
resolver/auth landscape moving somewhat more quickly ('we know these
people'), but it will still take a long time and support will be spotty.

The 'multiple IP address listings' thing is done in practice, but some
server remove duplicates, so it doesn't work that well.

And the last possibility is what CDNs are actually doing. It does not quite
spread out traffic perfectly, but it is good enough.

In PowerDNS Authoritative Server 4.1.1 (upcoming in January), this looks
like:

@ IN LUA A "wrandom{{2, '1.2.3.4'}, {1, '10.11.12.13'}}"

Or even:

@ IN LUA A "whashed{{2, '1.2.3.4'}, {1, '10.11.12.13'}}"

Which will keep the same IP address going to the same record.

This is documented in https://powerdns.org/auth-4.1.1-docs/lua-records.html
- which also lists things like @ IN LUA A "closest{'1.2.3.4', '10.11.12.13'}"
which will attempt to serve up the geographically closest address.

     Bert