I asked this as a comment on my previous post, but I still have some questions. 1: If ML stands for Mali and they’re not from Mali, then why would they represent a foreign country? 2: Since it’s not Mali, what does the ML stand for? If it’s a pair of letters, it represents a country or stands for two words. Machine Learning? McCartney Lennon? Mega Lemmy?
Top level? I’ve only seen it here, so it’s more like buried at the bottom.
Top is the highest level, again like .com, .net, then it moves down to lemmy.
ml->lemmy.
com->amazon.
com->google->mail
Makes sense.
dns lookups ( what turns lemmy.ml into an address your computer can connect to) actually go right to left. first the root servers are asked, then they say go ask the ml servers and g, then they ask the lemmy.ml servers.
in practice, usually unless otherwise configured your isp’s name servers are asked first; if someone else has recently asked for the same site it remembers what the answer was and just gives the same to you.
~ $ dig lemmy.ml @a.root-servers.net ; <<>> DiG 9.18.17 <<>> lemmy.ml @a.root-servers.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 194 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 8 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;lemmy.ml. IN A ;; AUTHORITY SECTION: ml. 172800 IN NS a.nic.ml. ml. 172800 IN NS b.nic.ml. ml. 172800 IN NS d.nic.ml. ml. 172800 IN NS c.nic.ml. ;; ADDITIONAL SECTION: a.nic.ml. 172800 IN A 196.10.220.136 b.nic.ml. 172800 IN A 165.90.218.166 b.nic.ml. 172800 IN AAAA 2c0f:f900:2:3::2 d.nic.ml. 172800 IN A 196.216.168.37 d.nic.ml. 172800 IN AAAA 2001:43f8:120::37 c.nic.ml. 172800 IN A 204.61.216.144 c.nic.ml. 172800 IN AAAA 2001:500:14:6144:ad::1
dig lemmy.ml @a.nic.ml ; <<>> DiG 9.18.17 <<>> lemmy.ml @a.nic.ml ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9343 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 00164cf2465aee8df39824f664cda390738de0ec34953975 (good) ;; QUESTION SECTION: ;lemmy.ml. IN A ;; AUTHORITY SECTION: lemmy.ml. 7200 IN NS ns04.freenom.com. lemmy.ml. 7200 IN NS ns02.freenom.com. lemmy.ml. 7200 IN NS ns03.freenom.com. lemmy.ml. 7200 IN NS ns01.freenom.com.
dig lemmy.ml @ns04.freenom.com ; <<>> DiG 9.18.17 <<>> lemmy.ml @ns04.freenom.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49838 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;lemmy.ml. IN A ;; ANSWER SECTION: lemmy.ml. 3600 IN A 54.36.178.108 ;; AUTHORITY SECTION: lemmy.ml. 300 IN NS ns01.freenom.com. lemmy.ml. 300 IN NS ns02.freenom.com. lemmy.ml. 300 IN NS ns03.freenom.com. lemmy.ml. 300 IN NS ns04.freenom.com. ;; ADDITIONAL SECTION: ns01.freenom.com. 7200 IN A 54.171.131.39 ns02.freenom.com. 7200 IN A 52.19.156.76 ns03.freenom.com. 7200 IN A 104.155.27.112 ns04.freenom.com. 7200 IN A 104.155.29.241
This is very confusing.
anything in particular I can clear up?
blow by blow: first the request for an A record ( ipv4 address) for lemmy.ml is sent to a.root-servers.net ( one of several core name servers to the entire internet)
they don’t reply with an A record, but instead a few NS ( nameserver) records for .ml and then in the additional section also give use the ipv4 and ipv6 addresses to those .ml name servers
so we go ask those .ml servers again for an A record for lemmy.ml, they still don’t give us that A record, but instead say these ns.freenom.com name servers are responsible.
we ask one of them and they finally give us that A record: lemmy.ml is 54.36.178.108 so your computer knows to connect to 54.36.178.108 when you ask for lemmy.ml.
its the first and last two columns that are important. the second column is just how many seconds that information should be considered good for before asking again to make sure it hasn’t changed
🫤 Okay. Thanks.
you are technically correct. the best kind of correct!