DNS and iTunes and other streaming media

There are reports floating about regarding third-party DNS affecting downloads of movies and other media, particularly from iTunes.

So, if tweaking DNS settings used to be what all the cool kids are doing, maybe it’s about to become less trendy, thanks to advice circulating to ditch third-party, centralized DNS providers like Google and OpenDNS, because they “defeat the distributed nature of DNS itself.”

The answer of what DNS to use and why is more complex than that.

Unfortunately iTunes is using DNS to determine your geographic location. So if I’m using Google’s DNS while I’m sitting here in Missouri, iTunes can make some determinations about what datacenter to route me to based on the incorrect assumption that I’m in California.

It’s curious to me that Apple is doing this, as there are other ways besides DNS to determine location. They aren’t foolproof (from work, depending on the situation, I can appear to be in Texas, Alabama, or Ohio when my office is actually in Illinois). But, obviously, using DNS isn’t foolproof either. DNS is user-changeable, and there are legitimate reasons for the end user to change it.

I think Apple and other companies that want to make their living streaming content are going to have to do some more work on this. Until they do, end users may have a little work to do on their end.

Perhaps using a large, centralized DNS isn’t a good idea if you subscribe to iTunes. But there’s also a decent chance that large, centralized DNS wasn’t the best one for you to be using in the first place. It wasn’t for me.

So who’s fastest?

The temptation is to change your DNS, do a few things, then try to decide if it’s faster than it was. And that can be deceiving. For one thing, you could experience the placebo effect. For another, whatever you’re doing could indeed be faster after the change, but because you have some content cached.

And some servers are faster for some things than others.

The only objective way to measure DNS speed is to use software. And software can test far, far more servers than you’ll want to run through on your own. Steve Gibson’s DNSBench, for instance, will run through literally thousands of known DNS servers, find the 50 that are the most promising, then extensively benchmark those to tell you which ones are the fastest to use.

What I’ve found is that the fastest to use might very well be run by my ISP, but not one of the ones it passes down through DHCP.

For example, I’ve run DNSBench on both my PC at home and on my mother-in-law’s PC at her house. We both have AT&T. The 3 fastest DNS servers for her aren’t the same as the ones for me.

The fastest servers for me, in fact, are one each from AT&T, Level 3, and Sprint. For my mother-in-law, who’s not in a major metro area, a different server from AT&T and OpenDNS were better.

What good is a faster DNS, anyway?

Any time you visit a site, the computer has to translate the human-readable address into a numeric address that computers and networking equipment understand. The faster that happens, the faster the page can start to display. If you think of it like a sports car, faster DNS will do nothing to improve the car’s top speed. It’s more like a black magic that improves 0 to 60 performance. Whether it improves it dramatically depends on how good your ISP is, but there’s no way for me to tell you that.

For web browsing, the difference can be noticeable. When you visit a web site, the text can be stored on one server at one address, and images stored on other servers at different addresses. The faster all those lookups happen, the faster it all displays.

Now when you’re streaming media, it’s less important, since there’s only one lookup, followed by a long, continuous stream of data. DNS makes a bigger difference with lots of bursty data, like web pages. But, chances are, if you’re streaming a lot of media, you’re probably spending a lot of time on the web too. And who doesn’t like it when their Internet connection is faster, especially when that improvement doesn’t cost anything to do?

So what should I do?

If you changed over to Google DNS or OpenDNS, I recommend running DNSBench to get an objective third-party opinion of what DNS you should be using. Especially if you’re experiencing a slowdown with iTunes.

DNSBench will most likely find you something better to use. Try switching to what it suggests. If iTunes is still slow, try switching to the fastest servers it finds that are run by your ISP. Those are still likely to be faster than the addresses it doles out via DHCP, and also likely to be geographically close enough to you as to not confuse iTunes. For that matter, it’s possible those servers will be geographically closer to you than whatever your ISP hands out over DHCP.

7 thoughts on “DNS and iTunes and other streaming media

  • December 30, 2010 at 6:08 pm
    Permalink

    It’s nice when using alternative dns’s is just for fun rather than a necessity. I had to set up alternate dns servers on some machines because they were using Rogers and Rogers in Canada does some horrible machinations where they don’t send NXDOMAIN but rather direct you to their ad servers when you mistype a url. It also breaks a lot of client apps apart from browsers when they don’t get back NXDOMAIN. What a bunch of cretins.

    From http://en.wikipedia.org/wiki/DNS_hijacking

    A number of consumer ISPs such as Cablevision’s Optimum Online,[2] Comcast,[3] Time Warner, Cox Communications, RCN,[4] Rogers,[5] Charter Communications, Verizon, Virgin Media, Frontier Communications, Bell Sympatico[6], UPC [7], T-Online,[8] Optus,[9] Mediacom,[10] and Bigpond (Telstra)[11] [12][13][14] use DNS hijacking for their own purposes, such as displaying advertisements[15] or collecting statistics. This practice violates the RFC standard for DNS (NXDOMAIN) responses,[16] and can potentially open users to cross-site scripting attacks.[15]

    I just end up using 4.2.2.2 etc.

    • December 30, 2010 at 7:19 pm
      Permalink

      BES looks interesting, and useful for one piece of badly behaved software that my wife and I have to use occasionally. Thanks for the suggestion.

  • December 30, 2010 at 6:49 pm
    Permalink

    I moved off Charter’s DNS when the company started providing customer DNS data to affiliates for ad injection/replacement within accessed web content. An initial exercise short lived due customer and ultimately Congressional howling but nevertheless I had moved off Charter to OpenDNS. Initially I had no qualms with OpenDNS even though Charter was marginally faster but then started having reliability problems accessing one of my shared hosting web servers who apparently like rearranging the furniture often enough that OpenDNS was found serving stale DNS data. Presumably a problem with update frequency if not one of their upstream DNS providors, I switched to Google DNS amd haven’t had a DNS related problem since. Google is also quite fast although I haven’t run a battery of tests regarding the matter. Reliability is more important to me and I’m currently getting that with Google.

    Regarding the iTunes streaming issue; DNS was never intended to provide geographical client information so it comes as no surprise that client location based on geographical location of a DNS server is unreliable if not foolish. It may suffice much of the time — although when Charter was redirecting their DNS the location was listed as Virgina while I’m in Wisconsin — a traceroute does a far better job of it. Of course tracerouting is more expensive from a bandwidth, cpu and time perspective even though a couple additional seconds prior to a stream start probably wouldn’t have a negative impact on end users if accomplished at stream time. On the other hand there is no reason that must be so given opportunities to narrow down geographic location at some earlier point in the process.

    • December 30, 2010 at 7:33 pm
      Permalink

      Since I once worked briefly for Charter as a contractor, I will refrain from comment about them except to say I don’t blame you. For that and for certain clauses in their terms of service, at the very least.

      I agree that determining geographical data based on the DNS you’re using is, at best, borderline abuse of the protocol. I think Apple and anyone else using that tactic need to reconsider what they’re doing. It’s not exactly an old problem that they’re trying to solve.

  • December 30, 2010 at 8:08 pm
    Permalink

    Sorry to hear Charter engages in the same bad practices that Rogers Canada does.

    I should warn you that anything Google bestows is not free, they are compiling usage information for as yet unknown purposes. So you’ll never see me recommending Google DNS.

    DNSBench looks useful for tweaking but I have to say, the simplest solution in my opinion that has been working for many machines for years is just to log into the home router with the web interface and hardcode the dns servers as 4.2.2.3 and 4.2.2.2

    Not an expert on how the whole global dns system works but those have been working for me for years…

    • December 31, 2010 at 8:54 am
      Permalink

      Using 4.2.2.3 and 4.2.2.2 works, but as I explained above and at https://dfarq.homeip.net/2009/12/optimize-your-dns/, there are no two DNS servers that are best for everyone. It’s physically impossible. When a 150K download will tell you in a few minutes the best one to use, why not do it?

      I administered a fleet of DNS servers for a few years, so I have a morbid continued interest in the subject.

Comments are closed.

%d bloggers like this:
WordPress Appliance - Powered by TurnKey Linux