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?

        • favrion@lemmy.mlOP
          link
          fedilink
          arrow-up
          2
          ·
          11 months ago

          Top level? I’ve only seen it here, so it’s more like buried at the bottom.

          • phoenix591@lemmy.phoenix591.com
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            11 months ago

            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
            
            
              • phoenix591@lemmy.phoenix591.com
                link
                fedilink
                English
                arrow-up
                1
                ·
                11 months ago

                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