Hello fellow Lemmings! I hope this is the right place to ask this. I don’t understand how web domains work. Let’s say I want to buy the domain “abcdefghi.net”. I can go to a domain provider like haruba or godaddy and just buy it. but how can they, a private, sell me these domains? I’m not talking about the hosting, but just the domain. where do they register this domain I’m buying? isn’t it possible to register it myself instead of paying these services to do it for me?
Q: So does ICANN have its own Doman Name Server (for those who dont know: list of domain and IPs, like a phone catalog) that the other commercial DNS’ (like local ISPs and Google DNS and cloudflare DNS) is connected directly to?
Yes. ICANN has the root DNS servers which point to the DNS servers of the registries (company that manages a domain extension in exchange for a hefty sum each year) which point at the DNS servers of the registrar (company authorized by the registry to sell domains) which either hosts your DNS entries or they can point to any server you tell them.
The commercial DNS you mention are called resolvers and are specialized in retrieving records from the linked chain of servers I mentioned above and caching them so it’ll take less time.
You could point your own resolver to the ICANN root server and then set up your computer to use that resolver.
A small correction: the registrar directs the registry (on your behalf) to configure the registry’s DNS servers to point at whichever DNS servers you specify to host the domain, which default to the registrar’s DNS servers. The chain of delegation is most commonly either:
root -> registry -> registrar
or
root -> registry -> another DNS hosting provider (CloudFlare, AWS Route53, DNS Made Easy, etc)
This is really cool. So if I set my domain’s DNS on the registrar’s website, that DNS record is propogated to the registry? I have had this change start working in under five minutes. It’s insane how fast that is given what is actually being done.
Yes, the registrar controls the NS records (and, if your zone is DNSSEC signed, DS records) for your domain in the zone the registry hosts.
[EDIT: I forgot about this part earlier.] The registrar will typically also give you the ability to “register nameservers”, which means specify one or more names within the name space of your domain that you want to act as nameservers and their IP addresses. The registrar will insert A and/or AAAA records into the registry to be used as glue records.
This is probably much further down in the weeds of “how web domains work” than the OP intended.