Over the weekend, Comcast had a major internet outage. But their routes to the rest world weren't down – just their address book to the internet. Apparently, they had some sort of issue with their Domain Name Service (DNS) servers. If they aren't working, you can't go anywhere very easily.
DNS is the way that domain names (like macgroup.org) get translated into the Internet Protocol (IP) addresses that are actually used to send requests over the wire. It's like a giant address book – you want to know where someone lives, you look up their name, and then you get their address so you can send them something or go visit. Internet packet routing works in a similar way (yes, it is more complicated than that, but for the purposes of this discussion we'll leave it at that).
Normally, when you get your ip address from your ISP, you also are given the address (or more likely a couple of addresses) to that ISP's DNS servers. So that when you want to go to macgroup.org, your computer asks the DNS server what the address is. If it doesn't know, it goes out to the other servers on the net (and there is a hierarchy to make this efficient) until it gets an answer or gives up (times out).
Your computer will only wait so long as well before it gives up. I don't know if Comcast was answering slowly or not at all, but the effect on you is the same – you can't get where you want to go on the 'net.
But many of us on Comcast didn't even know there was a problem until we read about it later. Why? Because we don't use Comcast's DNS servers. The rest of Comcast's network was running fine, so if you could get a valid DNS lookup you weren't down (you might have seen a speedup as many people would bee down effectively!).
So how do you get around using your ISP's DNS servers? There are other servers you can use to get DNS information. Google provides two addresses that are free for public use: 220.127.116.11 and 18.104.22.168. On a Mac you would put one or both of these into your Network System Preference for your Ethernet or AirPort connection:
Just fill in the Google DNS servers, and you'll bypass the servers from your ISP.
Another choice is OpenDNS.com. They also provide free (and paid if you want extras from them, see the link) DNS servers, but you have to sign up with them. Personally, I'm signed up for too much stuff already, so I would stick with Google.
If you are running OS X Server, you can always run your own DNS server. You can set it to go to Google (because it of course won't actually know where anything is, and will have to ask another server). Why is this better than just putting in Google yourself? Well, you can change it in one place, and then just let your other machines use DHCP from your OS X Server to get the address. If you ever need to change (to, say OpenDNS) you only have to make the change in one place. If you're already running OS X Server, there's a fair chance you have several machines, so you might want to consider this. If you only have one computer, it's overkill. Even if you aren't running OS X Server, you have all the software you need already – other than a nice gui interface – to run your own DNS server (thanks to OS X's UNIX base). The program is called "named" and it's in one of the hidden locations on your system (/usr/sbin). I'm not going to go into the details here to get it going (it's not real difficult, but you will need to edit a config file and use the terminal, and I know a lot of you just said "forget it!"), but if you do have multiple machines, but no server version of OS X, you might want to consider running DNS on a desktop. Just remember it needs to be up all the time!
Comcast has had DNS problems in the past, and probably will again. Other ISPs could as well (and Google and OpenDNS could too, for that matter) so you might want to try multiple sources. You can put multiple DNS servers in – if you want, put in both Google and OpenDNS and/or your ISPs servers – yes, there's a practical limit – chances are your computer will give up if it doesn't hear back long before you get to a fourth or fifth sever – but at least two and maybe three would be good; having at least two from different providers would be great. You can search the web, there are other providers as well as the ones I've mentioned.