domain name system or dns is a service to map names into ip address as end to end communication is done via ip address and not thru names... humans are easily to remember names than numbers.. the growth of number of hosts on the internet is hardly to maintain in your /etc/hosts file.. hence the birth of dns...
dns name space is hierarchical.. similar to the unix filesystem... the dns root which is the dot (.) is equivalent to root or forward slash (/) in unix filesystem.. dns top level domain or first level domain like com, edu, org, ph is equivalent to sub folder under root filesystem.. the second level domain is the child sub folder of its parent sub folder under root filesystem... here is how dns works when an application (eg. ping, telnet, browser, ssh, etc) resolve the name to an ip address in linux system... for example you ping www.xxx.com... the ping application make a function call gethostbyaddr(3)... that function consult your /etc/nsswitch.conf settings $ grep ^hosts /etc/nsswitch.conf hosts: files dns the order of "hosts" lookup is that it will consult the "files" first which is your /etc/hosts file... if www.xxx.com is found there.. it will return the ip address... if not it will consult "dns" which is your dns resolver found in /etc/resolv.conf.. $ grep nameserver /etc/resolv.conf nameserver AAA.BBB.CCC.DDD nameserver EEE.FFF.GGG.HHHH application will asks dns resolver server AAA.BBB.CCC.DDD that what is the IP address of www.xxx.com? if the name being asked found in its dns cache.. it will return the ip address back to the application... if not in its dns cache... your dns resolver server and not the application will asks root dns server(s)... it asks root dns server what is the ip address of www.xxx.com? .. root dns server will response since im not the authoritative zone of www.xxx.com... ill give you the list of all .com servers as referral.. dns resolver server AAA.BBB.CCC.DDD asks one of those .com servers.. what is the ip address of www.xxx.com? that .com server will response since im not the authoritative of www.xxx.com... ill give you the list or the dns server of xxx.com.... dns resolver server asks xxx.com dns server, what is the ip address of www.xxx.com.. because xxx.com dns server is the authoritative zone of that name... it will look at its database if there is an entry for www.xxx.com.. if there is.. it will return the ip address... otherwise it will return an error code 3 (or name doesnt exist.. see rfc 1035 section 4.1.1 for more details) dns resolver AAA.BBB.CCC.DDD will store the information www.xxx.com in its dns cache and it will only expire once the ttl value got from the authoritative zone goes to zero.. and the dns resolver return the ip address of www.xxx.com back to the application.. and the application can now communicate thru ip addresss... in case dns resolver AAA.BBB.CCC.DDD is down or not responding.. gethostbyaddr(3) will consult EEE.FFF.GGG.HHHH.. to see the action that i mentioned above.. we will use dig as the application to trace the delegation or referral until it reaches the authoritative zone of xxx.com $ dig +trace www.xxx.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.6 <<>> +trace www.xxx.com ;; global options: +cmd . 226540 IN NS j.root-servers.net. . 226540 IN NS c.root-servers.net. . 226540 IN NS i.root-servers.net. . 226540 IN NS d.root-servers.net. . 226540 IN NS e.root-servers.net. . 226540 IN NS b.root-servers.net. . 226540 IN NS l.root-servers.net. . 226540 IN NS h.root-servers.net. . 226540 IN NS g.root-servers.net. . 226540 IN NS k.root-servers.net. . 226540 IN NS f.root-servers.net. . 226540 IN NS m.root-servers.net. . 226540 IN NS a.root-servers.net. ;; Received 228 bytes from 10.228.31.90#53(10.228.31.90) in 12 ms com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. ;; Received 501 bytes from 198.41.0.4#53(198.41.0.4) in 37 ms xxx.com. 172800 IN NS ns1.serverstack.com. xxx.com. 172800 IN NS ns2.serverstack.com. xxx.com. 172800 IN NS ns3.serverstack.com. xxx.com. 172800 IN NS ns4.serverstack.com. ;; Received 177 bytes from 192.26.92.30#53(192.26.92.30) in 176 ms www.xxx.com. 1800 IN A 141.0.173.173 ;; Received 45 bytes from 141.0.173.228#53(141.0.173.228) in 97 ms as you can see above.. there are lots of root servers (a-to-m.root-servers.net) as well as .com servers (a-to-m.gtld-servers.net)... authoritative zone xxx.com has 4 servers.. that is the basics of dns... now back to open root server of louis pouzin.. he wanted your dns resolver server to point to its own list of root servers instead of ICANN managed root servers.. depends on your dns software.. normally the file name contains those root servers is either "root.hint" or "named.root"... he also wanted to put up your own root server so that it will include to its one of its root servers under anycast addressing and routing methodology... fooler. On Thu, Jun 30, 2016 at 7:02 AM, Roberto Verzola <rverz...@gn.apc.org> wrote: > Dear pluggers, > > I managed to get in touch with Louis Pouzin, an Internet pioneer who says > anyone can actually create a root server, if there are others who want to try > them out. He and colleagues operate one, called OpenRoot. He also helped > China set up its own. > > I have asked Louis (and his colleagues) to guide me how to do it and he might > be willing to do so. If for some reason anyone wants to set an alternative > root server, if only for the fun of it, anyone here in plug wants to join me > in this learning process? I suppose there are materials on the Internet we > can read to learn this thing ourselves, but having access to an expert is > always useful. > > We can even do it on this list itself, which might make it little bit more > active. > > Let me know... > > Obet Verzola > > > -- > Roberto Verzola <rverz...@gn.apc.org> > _________________________________________________ > Philippine Linux Users' Group (PLUG) Mailing List > http://lists.linux.org.ph/mailman/listinfo/plug > Searchable Archives: http://archives.free.net.ph _________________________________________________ Philippine Linux Users' Group (PLUG) Mailing List http://lists.linux.org.ph/mailman/listinfo/plug Searchable Archives: http://archives.free.net.ph