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

2017-12-15 Thread Robert Edmonds
左鹏 wrote:
> The "precise traffice scheduling" i mentioned is not only for performance 
> reason, but also for capacity reason.

CDNs already have the ability to do precise traffic scheduling for both
performance and capacity reasons, using the existing capabilities built
into the DNS.

> yes, more resolvers are good to improve user experience.
> but also maybe we should notice each CDN node has different capacity.(it is 
> the real in practice).
> a "weight-aware" rosolver can schedule clients to diffent nodes according to 
> weight pricisely.
> or shall we do something only for authoritative server like defining the 
> weighted A/x? 

No, the DNS's existing capabilities provide more than enough power for
CDNs for these use cases.

> btw, any comments on the weightd CNAMEXs for multi-CDN? :)

I don't have any direct experience of the multi-CDN use case. I would
think the intra-CDN case for CDN node selection can be generalized to
the multi-CDN case for CDN provider selection, though you probably have
fewer owner names to work with.

-- 
Robert Edmonds

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-15 Thread Paul Vixie
On Friday, December 15, 2017 04:19:44 PM 左鹏 wrote:
> thanks for your comment!
> 
> 
> > -原始邮件-
> > 发件人: "Robert Edmonds" 
> > Or, put another way, we like existing resolver implementations just
> > fine, we just wish there were a lot more resolver instances, and closer
> > to clients :-)
> > 
> 
> 
> yes, more resolvers are good to improve user experience.
> but also maybe we should notice each CDN node has different capacity.(it is
> the real in practice). a "weight-aware" rosolver can schedule clients to
> diffent nodes according to weight pricisely.

load vs. capacity information varies too often to publish guidance about it in 
DNS. if a 
CDN can topolocate an HTTP initator, it can vary its answer according to load, 
far 
better than it can predict or estimate both load, capacity, and topolocation in 
a way 
expressible in the DNS.

> or shall we do something only
> for authoritative server like defining the weighted A/x? 
> btw, any comments on the weightd CNAMEXs for multi-CDN? :)

we should do neither. the path you are recommending increases complexity by a 
greater order of magnitude than any possible or prospective resulting benefit.

-- 
P. Vixie
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-15 Thread 左鹏

thanks for your comment!

> -原始邮件-
> 发件人: "Robert Edmonds" 
> 发送时间: 2017-12-15 05:40:56 (星期五)
> 收件人: "bert hubert" 
> 抄送: "zuop...@cnnic.cn" , dnsop 
> 主题: Re: [DNSOP] Ask for advice of 3 new RRs for precise traffic scheduling
> 
> bert hubert wrote:
> > On Wed, Dec 13, 2017 at 05:36:32PM +0800, zuop...@cnnic.cn wrote:
> > >  so far as i know, many CDNs already use similar methods as you mentioned 
> > > in PowerDNS 4.1.1 
> > >  but  i think only the  Authoritative Server change is not enough,  
> > > support on the recursive server is also very important .
> > >   because the resolver determines the reponse to clients.
> > 
> > This is true.  A typical resolver will serve around 50,000 to 2,000,000
> > users (although this is rare). This means that for 60 seconds, you shift
> > around 'a hundred thousand' potential users. 
> > 
> > In practice, this appears to be good enough from what I hear.
> > 
> > Or let me put it another way, before we burden the DNS protocol with another
> > record type we have to add downgrade/workaround/DNSSEC support for, we
> > should have numbers that say it solves a problem.
> > 
> > CDNs could maybe chime in.
> 
> Hi,
> 
> With my CDN hat on, I don't see any need to turn over scheduling
> decisions to resolvers. Extremely precise amounts of traffic can already
> be scheduled to individual CDN nodes because you have a large pool of
> owner names to work with, not a single owner name, and every (QNAME,
> QTYPE, resolver IP, client subnet [if present], anycast location that
> receives the query) tuple is an opportunity to make a unique scheduling
> choice. Generally, however, assignments to CDN nodes should be
> relatively sticky. You want to be shifting traffic for performance
> reasons, not capacity reasons.
> 

The "precise traffice scheduling" i mentioned is not only for performance 
reason, but also for capacity reason.
For performance, i think the existing system already works fine. As long as a 
CDN DNS has "view" function, the local DNS can 
bring the client to the closest CDN nodes easily.  
For capacity, here is a user case. I learned this case from people working in a 
CDN company,though i am not sure if it is a 
common problem worldwide. For example, a CDN provider has 10G capacity in 
province A and 8G in province B. (B is close to A 
geographically).  For some reason(eg. large population in A), 10G is not enough 
in the rush hour. Assume there is 12G trafffic during rush hour, the CDN needs 
to schedule 2G to province B while keep 10G in A.  


> Or, put another way, we like existing resolver implementations just
> fine, we just wish there were a lot more resolver instances, and closer
> to clients :-)
> 

yes, more resolvers are good to improve user experience.
but also maybe we should notice each CDN node has different capacity.(it is the 
real in practice).
a "weight-aware" rosolver can schedule clients to diffent nodes according to 
weight pricisely.
or shall we do something only for authoritative server like defining the 
weighted A/x? 

btw, any comments on the weightd CNAMEXs for multi-CDN? :)
> -- 
> Robert Edmonds
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-14 Thread Paul Vixie



Robert Edmonds wrote:

Or, put another way, we like existing resolver implementations just
fine, we just wish there were a lot more resolver instances, and closer
to clients:-)


on it. no smiley.

--
P Vixie

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-14 Thread Robert Edmonds
bert hubert wrote:
> On Wed, Dec 13, 2017 at 05:36:32PM +0800, zuop...@cnnic.cn wrote:
> >  so far as i know, many CDNs already use similar methods as you mentioned 
> > in PowerDNS 4.1.1 
> >  but  i think only the  Authoritative Server change is not enough,  support 
> > on the recursive server is also very important .
> >   because the resolver determines the reponse to clients.
> 
> This is true.  A typical resolver will serve around 50,000 to 2,000,000
> users (although this is rare). This means that for 60 seconds, you shift
> around 'a hundred thousand' potential users. 
> 
> In practice, this appears to be good enough from what I hear.
> 
> Or let me put it another way, before we burden the DNS protocol with another
> record type we have to add downgrade/workaround/DNSSEC support for, we
> should have numbers that say it solves a problem.
> 
> CDNs could maybe chime in.

Hi,

With my CDN hat on, I don't see any need to turn over scheduling
decisions to resolvers. Extremely precise amounts of traffic can already
be scheduled to individual CDN nodes because you have a large pool of
owner names to work with, not a single owner name, and every (QNAME,
QTYPE, resolver IP, client subnet [if present], anycast location that
receives the query) tuple is an opportunity to make a unique scheduling
choice. Generally, however, assignments to CDN nodes should be
relatively sticky. You want to be shifting traffic for performance
reasons, not capacity reasons.

Or, put another way, we like existing resolver implementations just
fine, we just wish there were a lot more resolver instances, and closer
to clients :-)

-- 
Robert Edmonds

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread zuop...@cnnic.cn

 
From: Lanlan Pan
Date: 2017-12-13 18:25
To: Stephane Bortzmeyer
CC: zuop...@cnnic.cn; dnsop; bert hubert
Subject: Re: [DNSOP] Ask for advice of 3 new RRs for precise traffic scheduling


Stephane Bortzmeyer 于2017年12月13日周三 下午5:58写道:
On Wed, Dec 13, 2017 at 05:31:06PM +0800,
 zuop...@cnnic.cn  wrote
 a message of 130 lines which said:

> (2) RFC2782 requires browser's support;

Client support. This is even worse, there are much more HTTP clients
than browsers.

> Using this method, a browser has no idea about weighted AX/Xs.
> It requires no change of browsers.

But it requires change in all resolvers. One may wonder which will be
the fastest path.
something like ANAME ? 
ANAME can let resolvers choose IP for clients.

---[zuopeng] it is not like ANAME. But ANAME has similar function with 
CNAME, adding a weight attribute for ANAME may also make sense.

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop
-- 
致礼  Best Regards

潘蓝兰  Pan Lanlan
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread Lanlan Pan
Stephane Bortzmeyer 于2017年12月13日周三 下午5:58写道:

> On Wed, Dec 13, 2017 at 05:31:06PM +0800,
>  zuop...@cnnic.cn  wrote
>  a message of 130 lines which said:
>
> > (2) RFC2782 requires browser's support;
>
> Client support. This is even worse, there are much more HTTP clients
> than browsers.
>
> > Using this method, a browser has no idea about weighted AX/Xs.
> > It requires no change of browsers.
>
> But it requires change in all resolvers. One may wonder which will be
> the fastest path.
>
something like ANAME ?
ANAME can let resolvers choose IP for clients.

>
> ___
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop
>
-- 
致礼  Best Regards

潘蓝兰  Pan Lanlan
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread Stephane Bortzmeyer
On Wed, Dec 13, 2017 at 05:31:06PM +0800,
 zuop...@cnnic.cn  wrote 
 a message of 130 lines which said:

> (2) RFC2782 requires browser's support;

Client support. This is even worse, there are much more HTTP clients
than browsers.

> Using this method, a browser has no idea about weighted AX/Xs. 
> It requires no change of browsers.

But it requires change in all resolvers. One may wonder which will be
the fastest path.

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread bert hubert
On Wed, Dec 13, 2017 at 05:36:32PM +0800, zuop...@cnnic.cn wrote:
>  so far as i know, many CDNs already use similar methods as you mentioned in 
> PowerDNS 4.1.1 
>  but  i think only the  Authoritative Server change is not enough,  support 
> on the recursive server is also very important .
>   because the resolver determines the reponse to clients.

This is true.  A typical resolver will serve around 50,000 to 2,000,000
users (although this is rare). This means that for 60 seconds, you shift
around 'a hundred thousand' potential users. 

In practice, this appears to be good enough from what I hear.

Or let me put it another way, before we burden the DNS protocol with another
record type we have to add downgrade/workaround/DNSSEC support for, we
should have numbers that say it solves a problem.

CDNs could maybe chime in.

Bert

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread zuop...@cnnic.cn


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/ 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/ 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.
 
--> [zuopeng]  :  so far as i know, many CDNs already use similar 
methods as you mentioned in PowerDNS 4.1.1 
--> [zuopeng]  :  but  i think only the  Authoritative Server 
change is not enough,  support on the recursive server is also very important .
--> [zuopeng]  :   because the resolver determines the reponse to 
clients.

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
 
 
 
 
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread fujiwara
> From: bert hubert 
> 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

Same RDATA is not allowed by RFC 2181.

| 5. Resource Record Sets
|
|   Each DNS Resource Record (RR) has a label, class, type, and data.  It
|   is meaningless for two records to ever have label, class, type and
|   data all equal - servers should suppress such duplicates if
|   encountered.  It is however possible for most record types to exist
|   with the same label, class and type, but with different data.  Such a
|   group of records is hereby defined to be a Resource Record Set
|   (RRSet).

> 1) Get browsers to honour RFC 2782

  RFC 6763 DNS-Based Service Discovery shows "_http._tcp" service usage.

> From: "zuop...@cnnic.cn" 
> (1) RFC2782 does not solve the problem of using multi-CDN  (multiple CNAME 
> cannot coexist);
> here we can use multipile weighted CNMAEXs (need to coexist with CNAME) 
> to accomplish this;
> besides, weighted CNAMEXs can control traffic ratio among several CDN 
> providers;

  You can add many SRV RRs. (merge SRV RRs from multi-CDN).

> (2) RFC2782 requires browser's support;
> Using this method, a browser has no idea about weighted AX/Xs. 
> It requires no change of browsers.

  Softwares that support DNS-SD may support _http._tcp.

--
Kazunori Fujiwara, JPRS 

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread zuop...@cnnic.cn
thanks for your comments!

According to my understanding, here are 2 main differences between RFC2782 and 
this idea :

(1) RFC2782 does not solve the problem of using multi-CDN  (multiple CNAME 
cannot coexist);
here we can use multipile weighted CNMAEXs (need to coexist with CNAME) to 
accomplish this;
besides, weighted CNAMEXs can control traffic ratio among several CDN 
providers;

(2) RFC2782 requires browser's support;
Using this method, a browser has no idea about weighted AX/Xs. 
It requires no change of browsers.



zuop...@cnnic.cn
 
From: bert hubert
Date: 2017-12-13 16:43
To: Stephane Bortzmeyer
CC: zuop...@cnnic.cn; dnsop
Subject: Re: [DNSOP] Ask for advice of 3 new RRs for precise traffic scheduling
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/ 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/ 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
 
 
 
 
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread bert hubert
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/ 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/ 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




___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-13 Thread Stephane Bortzmeyer
On Wed, Dec 13, 2017 at 03:40:50PM +0800,
 zuop...@cnnic.cn  wrote 
 a message of 1343 lines which said:

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

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


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

2017-12-12 Thread zuop...@cnnic.cn
Hi  everyone,
 
 Here’s a problem about CDN traffic scheduling.  So far as I know, many 
business companies use multi-CDN to speed up their websites and the CDN 
providers have requirements for precise traffic scheduling especially in the 
rush hour of traffic. 

 As CDN providers usually manage authoritative DNS for their clients, the most 
common method for real-time traffic scheduling is to change the A records of  
CDN nodes. It does have some positive effects. But because of the lack of DNS 
protocol support (especially on the recursive server side), a CDN company can’t 
schedule traffic very precisely. 
 For example, a CDN provider can’t schedule 70% of traffic to node A and 30% of 
traffic to node B.  Even though it places the addresses of both A and B, it 
can’t determine recursive server’s response to clients. For example, some 
recursive server may round-robin the address to clients.
 
For better precise CDN traffic scheduling, I have an idea that defines 3 new 
records from extending 3 existing DNS resource records: A,  and CNAME, by 
adding a “weight” attribute,as below:
   [   CNAME ]  -> [   CNAMEX 
 ] 
   [   A ]  ->  [   AX  
]
   [    ]  ->  [   X 
 ]
 
The reasons for doing this are :
(1) By adding “weight” in CNAMEX, a multi-CDN user can manage the traffic ratio 
among different CDN providers by itself easily.
(2) By adding “weight” in A/, a CDN provider can manage the traffic ratio 
among different nodes by itself easily.
 
 For compatibility, an authoritative server should place the CNAMEX/AX/X 
records in additional section in a DNS response for a “A/” query. A 
“weight-aware” recursive server should make use of the “CNAMEX/AX/X” in the 
additional section to manage the answer to clinents according to the weight of 
each RR. A “weight-not-aware” recursive server can just ignore these RRs and 
still work normally.
 
 Here is an example:  If a CDN provider configures AX records for 
“www.example.com” as below which indicates “1.1.1.1” should account for 80% in 
response while “2.2.2.2” accounting for 20%.  A “weight-aware” recursive server 
should reply to clients accordingly.
  Any comment or advice is highly appreciated!
 Thank you!!
 



zuop...@cnnic.cn
___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop