Zit Seng's Blog

A Singaporean's technology and lifestyle blog

Advertlets Problem Not Quite Resolved

In case you’re thinking it is now OK to put back in all your advertlets markup to your blog site… I would recommend holding a while. I am still seeing problems from several locations, including “big networks” like in NUS and 1-Net.

I am posting this, because I’m eagerly trying to read some blogs, but am prevented from doing so by the web page redirection. I think Advertlets seriously needs to review how their advertisements are marked up.

Such is the nature of DNS and caching. Old entries continue to be cached even if changes have been effected at the source. For example, a DNS query from 1-Net currently shows the cache still has almost 6 hours to go before the current answer for advertlets.com is expired. We don’t know for sure 6 hours later if the answer will be updated, because the DNS could have forwarded the query to another cache server with a stale answer.

Here’s a brief (i.e. incomplete) lesson on DNS for those clueless about how DNS works.

The Domain Name System (DNS) is a database of information, and is most commonly used to look up the IP address of a given domain name (e.g. www.google.com). The DNS is a distributed architecture. Information on a specific domain (e.g. google.com) is contained in a “Primary name server”, which is known as having “authoritative” information for the domain.

There are also “Secondary name servers”, also considered “authoritative”, that occasionally fetch the complete domain information from the Primary Nameserver. The authoritative name servers (both Primary and Secondaries) together provide answers to the rest of the Internet.

At the user-end, your DNS server helps you resolve names by doing the grunt work of hunting down authoritative answers (from authoritative servers), or looking up some other non-authoritative DNS (forwarder) which may have the answer, or perhaps to check in its own cache in case it already has an answer.

To speed up DNS queries, most DNS servers cache replies that they have seen for a certain period of time. DNS servers provide a hint known as Time-To-Live (TTL) which specifies how long an answer may be cached. This is usually between 1 hour and a few days (TTL values are seldom less than 1 hour). Authoritative name servers will take TTL values as specified in the domain information (zone file), but other name servers may impose other restrictions (to either set a minimum or maximum or both).

So, you can see that answers you get from your DNS could be different from the authoritative information because of the caching effect. To make things worse, Secondary name servers (whose information are also considered authoritative) may not necessarily be always as up-to-date as the Primary name server. This is because Secondary name servers only periodically fetch information from the Primary name server. This “refresh interval” is usually short, like a few hours, and it specifies the frequency that Secondaries will attempt to download domain information from the Primary. Secondaries, however, are allowed to continue serving its authoritative domain information for as long as the “expiry” counter, which is often 1 week even if it fails to refresh itself from the Primary.

So there you have it. This “brief” answer still ends up quite a mouthful, but bear in mind this is just glossing the surface, and there’s really much more details that I’ve not gone into. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

View Comment Policy