In order to send a postcard to Carmen, I need to know her address. Fortunately I have a little black address book, so I only need to remember her name. Also, she likes to move house every couple of years, so I better check in case I forgot that she moved again.
Maybe we don’t want to run the risk of the postie reading our messages to Carmen, so we put them inside an envelope and we just write the addresses on the outside of the envelope.
There are rules for writing out an address, we start with a street number, and then a city and then a state and country, with maybe a postal code. We also remember to write the recipients address on the front near the right margin, and the return address on the back near the left margin.
On the Internet we have rules for what to write on the enveolope too. We call these rules the Internet Protocol, or IP. We give each computer an IP address which which a number between one and four billion.
We change the protocol from time to time, so the one we mostly use now dates from 1982 and is technically called internet protocol version four. In 1982 four billion seemed like far more addresses than we would ever need, but today I have at least two billion old iphones cluttering up my desk drawer.
So geeks spent a lot of time arguing and came up with a new protocl called IP version six that has umpteen brazillion possible addresses, but still hasn’t taken over because people are lazy and stupid.
Anyway the situation we have now is that most computers can understand both ipv4 and ipv6 and we barely notice which is being used.
The reason we don’t have to care is we mostly use names, not addresses.
If I decide out of the blue I want to communicate with Bob in Las Vegas, I need to know his address. I probably don’t have the Las Vegas telephone directory at my house,so I pop down to the central post office where they keep a big library telephone directories for different cities, and I look up Bob and copy his address into my address book.
Only it turns out that Bob owes quite a bit of money to a local casino, and he’s in hiding. His listed address is a mail forwarding service that sends the letters to a post office box around the corner from his safe house.
So lets think about how name lookups happen on the internet. In order to divide up responsibility for the directories, we make names structured. In the real world, we have family and given names, and we keep a separate directory for each city.
In the internet, which is also the real world, don’t you forget it, we separate the names into domains. There is a top level domain for each country, and some special domains for trans-national naming. For example if I was looking for a company named accelerando in australia, I would first consult the directory for australia. It’s actually in several volumes, one for companies, another for government departments, and one for nonprofits. Each directory lists all the records within its particular domain of authorigyt. When we read out a name we put a dot in between the domains. So, in the company volume of the australian direcotry you’ll find my record, under accelerando.com.au.
You might note that americans don’t tend to use their dot-us top level domain, and just use the supposedly global .com, .gov and other domains. I think thats because it just takes too long to explain to americans that there are other countries in the world.
So to summarise all that we use names on the internet that consist of a lot of smaller names joined together, and to find the address associated with a name you start at the global top level directory and follow the cross references to regional directories, which might directo you to sub-regional authorities and so on.
Eventually you discover Bob’s address, and hopefully you jot it down in your address book (but every year or so you look it up the long way round in case he’s moved).
By the way, we call this system the Domain Name Service, DNS for short.