How are name server requests ordered?
Solution 1:
There isn't a predictable order to how authoritative name servers are queried. With the setup you described, if ns3.freedns.ws doesn't have a record for your domain name then roughly 1/3 of the visitors trying to get to your site will be unable to because the name server will respond that it does not have an IP address for your domain name. I'd suggest contacting your registrar and have them remove the third nameserver record - that should be easy for them to update.
Solution 2:
There is no ordering to the individual resource records of a resource record set. The notions of "primary" and "secondary" DNS content servers only apply to database replication.
A resource record set is a set. Sets are not required to be ordered, and they are not ordered when it comes to the Domain Name System. There are numerous points in the path between content DNS server and DNS client where this set's members can be re-ordered.
- When the content DNS server compiles its database from the source file, it is not required to preserve the order that the RRs had in the source file. The compiled database may not even have any such notion of ordering.
- When the content DNS uses the database record for the set in response to a query, it is not required to encode that in any particular order when it breaks the set apart for encoding it in the DNS protocol. Indeed, for set types such as
A
andAAAA
some content DNS servers will intentionally re-order resource record sets. - When a proxy DNS server recieves a response from a content DNS server, it is not required to use or preserve any particular set ordering. Indeed, for set types such as
A
andAAAA
some proxy DNS servers will intentionally re-order resource record sets. - When caching proxy DNS servers use their caches, they are not required to maintain any set ordering when addings things to or retrieving things from the cache.
- When a DNS client receives a full answer response from a proxy DNS server, it is not required to use or preserve any particular set ordering. Indeed, for set types such as
A
andAAAA
many DNS clients will intentionally re-order resource record sets.
Notice what had to be specified for DNSSEC because of this. When calculating or verifying an RRSIG
record for a resource record set, it is always necessary to order the set first.
When proxy DNS servers come to decide what content DNS servers to talk to, they use the two-part NS
plus A
/AAAA
delegation information to obtain a list of content DNS server IP addresses. Some proxy DNS server softwares attempt to rank the content DNS servers according to some metric: which content DNS server responds "the best", for some value of "best". Others simply rotate the order. Yet others don't do anything at all, and use whatever order happened to obtain as the resource records were fetched.
There's no predicting, from this heterogeneous range of behaviours, what content DNS servers will receive the most queries. For all you know, everyone's proxy DNS servers might decide today that your old DNS hosting service's server is the "best" content DNS server to ask today. In which case everyone will receive old data.
There's no ordering, and the notions of "primary" and "secondary" simply do not apply here. All content DNS servers for any given domain are peers to the world at large.
So get it fixed.
Further reading
- Jonathan de Boyne Pollard (2001,2012) "primary" and "secondary" DNS servers.. Frequently Given Answers.
- Jonathan de Boyne Pollard (2004). The uselessness of "Round Robin" resource record set shuffling. Frequently Given Answers.