Domains
Tags: dns, domains
Published: 2021-03-06 18:10:44

---
title: Domains
published: true
date: 2021-03-06 18:04:01 UTC
tags: dns,domains
canonical_url: https://www.solarwinter.net/domains/
---

![dig_results](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6pimk4dnvfah7l13rqj6.jpg)

I was talking to someone the other week about buying a domain, and I realised there’s a lot of background knowledge which it’s easy to take for granted.

This post is part one, which just deals with domain names themselves. Part two (when it’s written) will talk through the actual hosting of websites.

## Domain Name System, or DNS

Before we can answer the question “what is a domain”, we need to talk about the Domain Name System, DNS for short.

## What is DNS?

People like addresses to be in words. Mountain View, Downing Street, etc. Computers prefer everything to be numbers. DNS is the system which translates human addresses to the computer addresses, otherwise known as ‘resolving’ them.

Computers think of the internet in terms of Internet Protocol (or IP) addresses. There are two main numbering systems for these - [IPv4](https://en.wikipedia.org/wiki/IPv4) and [IPv6](https://en.wikipedia.org/wiki/IPv6). v4 is the older one, as you might imagine, and consists of 4 numbers separated by a full stop, like `127.0.0.1`. You might have seen them on TV or something. IPv6 is ... a lot longer and involves a lot more numbers.

It’s a lot easier for us to remember `www.google.com` than `172.217.7.228`.

## Turtles all the way down…

So when you type `www.google.com` into your browser, how does it manage to translate one to the other? It has to start somewhere, after all.

DNS can be thought of as a kind of pyramid. Right at the top are the “[root servers](https://securitytrails.com/blog/dns-root-servers)”. These have fixed addresses - there’s no need to translate them from names to numbers, they don’t change.

Assuming your browser was starting from scratch, it would go to one of those and say “I have an address ending in .com - what’s the address of the server or servers I can ask about .com names?” The root server would reply with an IP address for the next server “down” the pyramid, the one which handles addresses ending in .com

Your browser would then go to that server and say “I’m trying to find something ending with google.com - what’s the address of the server handling google.com addresses?” And again, it would be given an IP address for the next server down.

This continues on, getting more and more precise, until finally your browser gets the IP address of the full address it’s looking for. In this case that’s only the one more step - it would go to the servers handling google.com addresses and ask “what’s the IP address of www.google.com?”, and be given it.

(This is simplifying the system quite a lot, but it’s accurate enough to start with...)

## Buying a domain name

The people who operate the servers dealing with `.com`, `.net`, `.org` and all the others - often known as registrars - don’t generally concern themselves with selling directly to the public.

Instead there are resellers, who take on the work of actually dealing with people. They then pay the registrars to hold the details of the domain, and to answer any queries from browsers looking for `mynewdomain.com`. The resellers will often deal with many different registrars - the advantage of this is that you can buy domains handled by different registrars without having to deal with them all separately.

For registering my own domains I use [Hover](https://hover.com/2QoLaGeN) - they’ve got an easy to use website, the prices are very reasonable (especially when they have sales), and I’ve never had a problem with them.

(Full disclosure - the Hover link above is a referral link. If you follow it and sign up then we both get $2. If you want a non-referral link, [use this](https://www.hover.com/).)