Does Chrome use a different DNS server from Firefox and IE which use the OS default?

Posted on

Problem :

Is the common set up for Chrome that it will use a different DNS server, while Firefox and IE will use the OS networking default?

My Chrome (including one on virtual PC) will sometimes show “Resolving host” and wait there for 20, 30 seconds, while Firefox and IE won’t. (so after 20, 30 seconds with a blank page, the page will finally not be able to load).

So is there something that Chrome is doing that makes it different?

Solution :

Yes, sort of. Chrome has an option enabled by default called DNS caching/prefetching.

Usually this lets Chrome “speed up” a user’s browsing experience because it caches/prefetches DNS queries.

If you’re having problems, try disabling DNS prefetching under the Wrench -> Options -> Under the Hood.

edit: Chrome does not use its own servers to do DNS lookups. It does, however, lookup all the DNS entries of the links on a page when first loaded.

Chrome certainly uses the system DNS settings and not anything specific to itself, furthermore its network connectivity preferences makes use of the system preferences (on Windows at any rate, I haven’t checked how this is handled on the recent Mac release) unlike Firefox which has it’s own connectivity preferences stack but it will still have to make use of the underlying DNS and ip-settings of the machine there is no way for it to find any alternatives unless you set them at the (shared) system level.

There have been many complaints about its DNS pre-fetching feature, I haven’t experienced problems with it but the volume of complaints indicates that if you are having any name resolution issues it should be the first thing you should look at.

AFAIK Chrome always issues IPv6 AAAA name requests, if your network setup uses a DNS setup
that doesn’t respond nicely to these requests you can get extremely long delays with name lookup as it waits for an acceptable response before timing out and reverting to ipv4. Firefox had a similar problem but recent versions appear to handle poorinvalid ipv6 responses with more grace, I’ve tended to disable ipv6 lookup in Firefox (about:config, search for ipv6 and set network.dns.disableipv6 to true) so I don’t see this in general anymore but recent versions of Firefox do not exhibit the symptom for me. Likewise the developer channel Chrome builds I use don’t have a problem with this but I did see this on the early production releases and the Chrome OS VM’s that have been doing the rounds suffer badly from it. There is an ongoing discussion about this on the browserOS development front, handling poor ipv6 responses strictly is increasingly being seen as important as masking the failures means the real problem (poor DNS setups/poor support for ipv6 especially in consumer level networking hardware) doesn’t come under pressure to be fixed.

My home DSL router (a Netopia 2247-02) defaults to setting itself up as DNS proxy and its responses to ipv6 AAAA requests trigger can this problem. I’m pretty sure that whether your setup will have problems with this depends on the specific behavior of the DNS you are using, changing the DNS provider (and making sure that the proxy behavior described above is disabled) should help.

I am quite certain that the DNS prefetching in Chrome is thoroughly broken. I have yet to see a Chrome install where this feature does not cause problems with resolving hosts (either long delays, or outright unable to resolve). My suggestion would be to always disable this under Options.

The features is called “Use DNS pre-fetching to improve page load performance”…which is quite laughable.

Actually, Chrome can issue queries to its own DNS servers instead of the system defaults. This can be seen when overriding at your router (i.e. DHCP), as well as when using a a VPN app that is trying to set its own DNS servers. In both cases, Chrome still be seen using its own.


Leave a Reply

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