Services such as OpenDNS, and Google's Public DNS have recently attracted a lot of attention due to their claims to speed up web browsing simply by changing the DNS servers your computer uses to resolve domain names into IP addresses. The basic idea behind the services is that many ISP's do not invest heavily in their own DNS infrastructure, which can result in slow response times, particularly at busy times of day. By creating a network of servers specifically to serve high levels of DNS traffic, these companies hope to improve the experience for end users, but is this the reality?
Firstly, we should examine the fact that while your ISP will host its DNS resolvers within its network, to which your modem has a connection, 3rd-party services such as OpenDNS and Google's offering are not directly connected. This means your query has to travel further to reach the server which will perform the resolution on your behalf, and on the Internet, longer distance = longer response time. There may be some ISPs around the world where their internal network is so complex or badly designed that the round trip between your computer and the DNS resolvers at your ISP takes longer than a round trip to those provided by a 3rd-party, but companies these days are generally more competent, so this is unlikely.
So, how does the DNS response time affect actual browsing speed? The answer is very little. When you first visit a website, your computer will make a query to discover the IP address of the server hosting that site, and upon receiving the response, will store the IP address information in a local cache, meaning that future requests for that website will not generate a further DNS query. This data is held in the cache until an amount of time specified in the DNS reply has expired (called a time-to-live). So whilst using a faster DNS server may speed up your first load of a webpage, it will not affect the time it takes to load the next page on that website, so in real terms, the saving is minimal, in the order of a few milliseconds.
What then, are the pitfalls? With the growth of user-generated content, and the expansion of software-as-a-service, many companies are looking to CDNs (Content Delivery Networks) to deliver their content to the users. The principle of a CDN is that there are a number of widely distributed nodes located around the world, with identical copies of the content the site owner wishes to serve. When a user requests a specific piece of content, it is delivered by the CDN node that is closest to them. This results in far improved speeds, and thus better experience for the user, and can also help to reduce bandwidth bills for the site owners.
Where does DNS fit into this? DNS is the mechanism by which most CDNs will direct your request to the nearest node for content delivery. When you request content stored on a CDN, your browser must first resolve the IP address of the server hosting the content. To do this, it sends out a DNS query to the DNS servers configured on your computer, these then pass the query on to the nameservers that actually host the domain. The nameservers perform a check to see which of the CDN nodes is closest to the server making the request, and return the IP address corresponding to that server.
The issue here is that while your ISP's DNS servers are generally located near to you, or at least, would take a similar path across the Internet from your ISP's network, to the website's nameservers, 3rd-party DNS servers will not be. This can result in receiving the IP address of a CDN node which is not optimal for your location, but rather, optimal for the location of the 3rd-party DNS servers. While the query and response may have happened faster, you are now forced to load the content from a sub-optimal CDN node, which can affect your browsing experience far more. A DNS query is a matter of a few kilobytes, and transfers quickly, but content served via CDN nodes is often images or videos, which are much larger, and a slower connection here will be far more noticeable.
Many of these DNS providers have a good presence in the US, but OpenDNS's Network Map shows that it is lacking in servers outside of this region. This means that while a number of CDN owners operate nodes in Asia, users from that region who make use of the OpenDNS service would be directed instead to US based nodes, which they would access over the much slower pacific links.
OpenDNS offers a number of features on top of just performing DNS resolution, including content filtering and phishing protection, which may be useful to some, but if your primary reason for using a 3rd party DNS service is to speed up your web browsing, it may be worth giving it a second thought. Especially if you frequent websites which make heavy use of CDNs such as Facebook and Youtube.