Online Business: DNS
There are many steps you should take before you get a domain name for your business. On the other hand, buying a domain name you're happy with can be a heady experience for a lot of people. In order to maximize your sense that you have a real business as early as possible, we're going to walk through the steps of buying a domain name. In order to understand whats going on, we're going to start with an overview of DNS, the system that turns the server names you type into your browser's address bar into the information your computer needs to actually connect up to that server.
First up is DNS. DNS stands for "Domain Name System". There are a lot of little interesting pieces of complexity here, but it boils down to this. Computers don't know where other computers are by name, computers know where other computers are by number. A computer on the internet has an IP (Internet Protocol) address. The IP address is four numbers from 0 to 255, separated by dots. "192.168.1.1" is an example. When we use a name for a computer, like "www.google.com", our computer uses something called a DNS resolver to ask the appropriate DNS servers which IP address corresponds to that computer name. It actually does this by asking a DNS server called the root server, "who takes care of .com domains?". Next, it asks one of the ".com" servers, "who takes care of google.com?". Finally, it asks the DNS server for google, "who takes care of www.google.com?". The google.com DNS server responds with an IP address, and your DNS resolver remembers (caches) this result. Your computer now knows that when you try to connect to www.google.com, you really want to connect to an IP address like "74.125.157.104". As with all descriptions I make of how DNS works, this is close enough to reality to help you build a mental model. As an analogy, I'm teaching you addition, without mentioning negative numbers, fractions, imaginary numbers, or decimals. We're talking high-level basics, and ignoring some bits and pieces of how DNS works that would only muddy the waters. If you want to start trying to understand the nitty-gritty details about how DNS works, the Wikipedia article isn't bad at all. You shouldn't need to figure out much more; you only really need to remember a few salient points. DNS turns human-friendly names into IP addresses. It does this by asking a series of more and more specific servers. That IP address corresponds with an actual piece of hardware, likely sitting in some air-conditioned server room. A series of high specialized computers (called routers) between you and that other piece of hardware know how to route information back and forth between your computer and that other computer in the data center. Viola, the internet. One more set of technical details about how DNS works, before we move on to the fun of figuring out a domain name. When your DNS resolver talks to that final DNS server, there are several different kinds of information for which your resolver could be searching. These different kinds of information are called "records", and we only really need to worry about three types. The most obvious one is called an "A" record. An "A" record behaves the way I've been describing. The A record associates a computer name to an IP address. The A is for address. Another common response is a "CNAME", for "canonical name". A CNAME is an alias. When I look up an address, and I get a CNAME, I need to start a whole new round of lookups. For example, when I lookup "www.google.com", I get back a CNAME. So instead of knowing the IP address of the www.google.com server, I'm told the real name for the www.google.com server is www.l.google.com. My computer then goes ahead and asks, "OK, so where is www.l.google.com?" From this query, I get back an A record with an IP address. The final kind of record we need to worry about is an "MX" record. MX stands for "mail eXchange", and it tells us which server handles email for that domain name. So, your mental model of DNS should look like this. When you ask a computer to understand a server name that looks like human-readable text, it needs to turn that text into an IP address. The process of doing so is complicated and twisty turny, but it basically finds the right DNS server and asks it some questions. If we ask the DNS server who handles email for that server, we ask for an MX record. If we're asking for the server itself, we might get an A record or a CNAME. If we get an A record, we've got the IP address. If we get the CNAME, we know that the server we're looking for goes by another name, and we start the process of figuring out the IP address for that other name. Next: Full Disclosure