DNS is recursive process. It works something like this:
  • You go to your webbrowser and type in http://www.everything2.org/
  • Your webbrower queries the name server listed in your /etc/resolv.conf (if you're using a Unix-alike) or equivalent in accordance with you OS.
  • (Note: the above is if you're using a webbrowser to access a host, vary for whichever protocol you're using)
  • The name server will look in it's cache to see if it already knows the IP address of the host you wish to contact. If it does know the address, it will return that to the client (your webbrowser) immediately.
  • If it does not have the address cached, it will contact the "." nameserver (root nameserver). It will then ask the root nameserver where it can find out about .org. addresses. Root nameserver then says, "here's the IP of the .org. server, go look there".
  • Our nameserver then goes off to the IP that root told it of and asks "where can i find out about everything2.org. addresses?". .org. then says, "here's the IP of their nameserver, they're the one's with your info, ask there".
  • So the nameserver goes off and asks everything2.org's nameserver, "you seem to be authoritative for everything2.org, what's the IP address of www.everything2.org?"
  • At this point, all being well, that nameserver will return the IP address to www.everything2.org to our local nameserver, which will then return that IP to our webbrowser.
  • At which point our browser will go and connect to port 80 (the standard port for http transfers) and ask for whatever info you need... At this point E2 will hopefully return to use with the wonderful "Welcome to Everything" node!

That's about it. Of course, it could be the case that at any point along there, they already have the IP address of one of those servers cached and it will ask them directly (skipping straight over to ".org." instead of asking "." directly)

Thank you class, your lesson for the day is over. If you have any queries, or feel I have made any mistakes, please /msg me...