I thought it would be cool to have my own TLD, but apparently it’s all managed by the ICANN, so you can’t just name your website with any TLD you want. There are different prices. But at least you can customize your second level domain. Why aren’t TLDs like this?
You can use whatever top level domain you want, you just have to convince everyone in the world to use your Root servers instead of ICANN, which ain’t gonna happen. Tor has the .onion TLD, etc. There are no restrictions here. They’re more like…agreements.
But why did everyone agree to that? Couldn’t domains be determined by user, or at least a bit more decentralized? (ex: google.com leads to IP address 1.1.1.1)
How is the internet supposed to work if we don’t agree on where every site goes? How are you supposed to decentralize a central agreement?
I meant more like did it have to be a central agreement for it to scale up to what it is now?
There’s nothing to scale. DNS servers are just an address book. There’s only 200 million entries active and visited. 1.1b entries otherwise, which; for a computer isn’t a lot.
DNS servers replicate down-stream, and the root servers maintain authority. A local SQLite file could handle this easily, and you could always run your own DNS server locally if you wanted to. But there has to be a central authority. That’s why you can have any TLD you want – you run your own DNS. But since nobody sees you as an authority, they won’t be using your DNS.
My guess would be to force a hierarchy as to distribute load. DNS is distributed in a sens. There are the root name servers that know about all TLD and then each TLD has its own server (in practice there is multiple TLD a single entity controls and it allocates as many server as needed to answer all DNS request for those). And those “TLD servers” know about the second level. And either they also know about the lower levels or those are further delegated.
So fewer TLD means that the “root” DNS servers do not have to keep a huge “phonebook” (TLD to IP address of the DNS responsible for them) and can therefore be efficient, which means that fewer of them are required. And fewer root server means its easier to update them and keep them consistent. And if nearly everyone can only register second level domains, then the root name servers do not need to be updated nearly as often.
You can have whatever TLD you want, if you have a couple hundred thousand to blow.