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, AAAA and CNAME, by 
adding a “weight” attribute,as below:
   [<owner> <ttl> <class> CNAME <target>]  -> [<owner> <ttl> <class> CNAMEX 
<weight> <target>] 
   [<owner> <ttl> <class> A <address>]  ->  [<owner> <ttl> <class> AX <weight> 
<address>]
   [<owner> <ttl> <class> AAAA <address>]  ->  [<owner> <ttl> <class> AAAAX 
<weight> <address>]
 
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/AAAA, a CDN provider can manage the traffic ratio 
among different nodes by itself easily.
 
 For compatibility, an authoritative server should place the CNAMEX/AX/AAAAX 
records in additional section in a DNS response for a “A/AAAA” query. A 
“weight-aware” recursive server should make use of the “CNAMEX/AX/AAAAX” 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!!
 



[email protected]
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to