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

Reply via email to