Changing DNS probably won't help your Video Streaming

Changing DNS probably won't help your Video Streaming

Summary: Despite recent claims that universal DNS services like OpenDNS, DNS Advantage, and Google DNS can slow down Apple TV video-streaming, the truth is that they don't for most users.


When I first read that some Apple TV users were seeing significant speed-ups when they start using a local ISP Domain Name System (DNS) server instead of continuing to use one of the universal DNS services, such as OpenDNS, DNS Advantage,or Google Public DNS, my first thought was, "That's wrong."

I understand their logic that "When millions of users all tap into the same DNS server addresses to resolve domain names, as Google DNS does by design, Akamai and other CDNs [Content Delivery Networks] route content to those users along the same path, preventing the network from working optimally." The problem is that this isn't really how the big DNS networks and CDNs work these days.

For starters, this proposed fix starts with the notion that your ISP has a local DNS, hence you'll get a better, less-crowded route for your video. You probably don't have a truly local DNS though. The national ISPs like Comcast. Verizon, or ATT, just like the universal DNS services, spread their DNS servers around. In this case, their DNS server isn't going to be much 'closer,' in terms of network distance than Google's.

Even if you do have a true local ISP, they may not have a local DNS. Many ISPs outsource their DNS services to DNS providers like Dynect, DNS Made Easy, or DynDNS. Still other ISPs are now using Google DNS. So, switching to your local ISP DNS may not make any difference, since its DNS server isn't actually 'local.'

It probably won't matter anyway to most users though because as David Ulevitch, OpenDNS' founder and CEO explained to me:

Many CDNs (including Akamai) have lots of tricks to do geo-targeting of users. Using DNS to target users is one of the most common ones:

When a user makes a DNS request, which happens before they make an HTTP request (for data) the path usually looks like this:

User --> ISP Recursive DNS Server --> CDN's DNS Server

With OpenDNS, it's:

User --> OpenDNS --> CDN's DNS Server

At the DNS level, CDNs don't see the User IP address, they only see the recursive DNS server asking it questions. CDNs often assume that the location of the DNS server is "near" the location of the User and so they give back a response that is near the DNS server as opposed to near the User. When the User is really far from their DNS server or on another network, this can provide suboptimal results.

But, that's not all there is to it.

There are very good solutions for this, many of which are in place today with large CDNs, including this IETF [Internet Engineering Task Force] proposal: Client IP information in DNS requests.

We do something very similar to that IETF draft proposal with folks today, and it works beautifully, actually providing an even BETTER response than just using the location of the recursive DNS server. So if more people would support proposals like that, things wouldn't just be the same, they would be even better from a performance standpoint.

The IETF and OpenDNS approach work better by giving the CDN or Web site enough information about the user's actual location to pick out the best route for the video stream. Google, which is working on the IETF proposed standard, tries currently to get around the DNS location problem by hosted "Google Public DNS in data centers worldwide, and uses anycast routing to send users to the geographically closest data center."

So, in the current Google system, "If a content provider hosts mirrored sites around the world, that provider's name-servers will return the IP address in closest proximity to the DNS resolver. … however, that because name-servers geolocate according to the resolver's IP address rather than the user's, Google Public DNS has the same limitations as other open DNS services: that is, the server to which a user is referred might be farther away than one to which a local DNS provider would have referred. This could cause a slower browsing experience for certain sites."

Page 2: [The Rest of the DNS & Streaming Story] »

The Rest of the DNS & Streaming Story

In short, most of the time, using your "local" ISP DNS probably won't help your video-streaming. As Ulevitch says, "We have arrangements with a number of CDNs that make this a non-issue. With Akamai, especially internationally, it's still suboptimal. Entirely workable, but not as optimal as it could be. North America isn't really an issue since we have a sufficiently dense network topology. That said, we're very open to working to improve end-user CDN routing with Akamai, just as we have with other large CDNs.

I'm not coming at this from just networking theory by the way. I've been streaming Internet video to my TV since before the mark 1 Apple TV showed up and today I use Apple TV, a Sony BDP-S570 Blu-ray Disc Player, and a . On them, I watch videos from Hulu Plus, Netflix, and a host of services including my own iTunes-powered video server. I've used every variety of DNS known to man, but for day-in, day-out use for my Internet TV I use both OpenDNS and Google DNS, and I've never seen a problem with that I could trace back to DNS.

I have, on the other hand, often seen trouble due to a lack of bandwidth and overwhelmed CDNs. Those problems are only going to get worse for Internet video as we literally run out of room on the Internet backbone and local pipes. I've also seen more than my fair share of video trouble from packet-drops, latency, and jitter--variation in the time between packets arriving,

I'll talk about how to deal with those network problems on another days. Suffice it for now to say that as neat as it may sound that you might be able to fix your Apple TV, Roku, or whatever media extender network problem you're seeing by just changing your DNS settings, I wouldn't count on it.

If you really want to check out your DNS performance, do what I did, and get a copy of Steve Gibson's DNS Bench. It runs on Windows, and on Linux with WINE. With it, you can find out what DNS servers work best for you in general. For details on how to switch DNS servers see my story, Fixing DNS Woes for Comcast Users and Everyone else.

Then, try streaming from iTunes or whatever video service you use and see what the best combination of DNS and video-streaming is for your location. That's more work than I suspect many people will want to go to, but if you really want to check out how much better, or not, changing DNS will be for your video streaming, it's what you need to do.

Topics: Servers, Browser, Networking

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • RE: Changing DNS probably won't help your Video Streaming

    what is exactly the solution in short... its blabbering words.. with no shot right through my eyes
    • RE: Changing DNS probably won't help your Video Streaming

      @draugnavz That's a story for the next time. But, for staters, get the fastest connection you can get; optimize your network; check your real Internet speed:

      and, check just how good that connection really is no matter how many Mbps:

      See #s that don't jive with the bill of goods your ISP sold you? Yell.

  • Overused solution

    I too think the Apple forums overuse the DNS change for a solution. Its true that some issues occurred with some ISP DNS servers and Safari's prefetching which some DNS servers interpreted as denial of service requests. Or it just could not handle all the requests. But I have found little else to conclude that changing DNS will help speed. In fact in my own experience with Comcast. They actually had better ping times then Open DNS. I suspect shorter series of jumps then with Open DNS was the reason. If anything your ISP or just simply network traffic is too blame. Which may or may not be fixable.
  • Not choosing the ROUTE!

    Please stop saying the DNS is choosing the route! It is choosing the IP address to return, or you could say it is choosing the server to resolve you domain name to. The route is then a result of IP routing between your node and the server. I know you know this. It's obviously just lazy (or maybe pandering to naive readers.)

    BTW, thanks for the pointer to DNSBenchmark. Very nicely done tool.
    • RE: Changing DNS probably won't help your Video Streaming


      Correct, DNS is at the application layer of the OSI model and has nothing to do with ip routes. IP routes is the routing protocol, residing on a much lower layer.

      DNS stack:
      Computer will ask
      is it me?
      Then it will check the host file to see if it has a entry for said name.
      If none of those are successful it forwards the packet on to its DNS.

      The process will continue and repeat until it finds the address, or goes to the Root servers.

      Root servers are asked what DNS registry is responsible for domain name and is either redirected to said registry or killed.

      After name is resolved the routing protocol can choose the best route.

      It is apparent that the author Steven J. Vaughan-Nichols has spent too much time writing about technology and not enough time refreshing his knowledge and catching up to todays tech.
  • I noticed my throughput when hitting Apple was molasses

    I noticed my throughput when hitting Apple for downloads was absolute molasses. I had been wondering for weeks why. I thought maybe Apple was experiencing high loads due to their crazy growth. <br><br>But it turns out I had setup my primary DNS server to be Google's and my secondary DNS server to be OpenDNS'.<br><br>Then yesterday I saw Slashdot mentioning that the use of Google & OpenDNS' servers was causing slow transfer speeds against Apple's services (which I had been experiencing). Now this writeup.<br><br>Anyway, there's something definitely going on. Being more than capable of devising a solution (which I haven't worked on yet), I did just that (in my head). <br><br>The Solution:<br><br>Sniff the hostnames iTunes is trying to resolve, look up those values against your provider's DNS server (Comcast in my case), then explicitly stick those values in your computer's "hosts" files:<br><br>c:\Windows\System32\drivers\etc\hosts (Windows)<br>/etc/hosts (*NIX)<br><br>To make it all complete run a script every so often and re-query your provider's DNS server and replace the previous reply with the latest good reply (in the hosts file).<br><br>Easy.<br><br>For those of you who have no idea what I'm talking about... you'll have to find a layman's solution. The stuff I'm talking about involves command line tools and scripting.<br><br>-M
  • RE: Changing DNS probably won't help your Video Streaming

    Better DNS may make sufing static pages faster, due to faster lookups - but yeah, it's not gonna make streaming any faster. DNS just translates names to numbers - and only needs to be done one time for the most part.

    Once the lookup is done, the media streams over whatever some other protocols negotiated. If they're using DNS to route, they're frankly doing it wrong - other protocols are better for routing.

    I'd really want a fact check on the idea that they're not using something like RIP or BGP to route the packets. This sounds suspiciously like somebody is simply misunderstanding how routing works.