Dr. Mark Humphrys

School of Computing. Dublin City University.

Online coding site: Ancient Brain

coders   JavaScript worlds

Search:

Free AI exercises


7.1 DNS



A global list of sites

Each site could keep a list of all sites on the network (or have access to such a list).
BITNET kept such a list, of thousands of international sites.
ARPANET did this at first, too.



A decentralised list - DNS

DNS - Domain Name System

The Internet has long since grown too big to keep a list of all sites anywhere, let alone have one at each site.

This means sites do not know a priori if an email address or web site name is valid. They must make a query and find out.

You don't clutter up your site with info about other sites, 90 percent of which you will never actually need to know about. You don't have huge amount of Internet traffic being announcements of new sites.

  

Find out if site exists at run-time

The upside to the DNS run-time query idea is that each subzone of the Internet can develop rapidly, without having to tell everyone else what it is doing.

Say the University of MIT is responsible for all addresses:

  *.mit.edu
It is assigned a segment of the numerical address space, like this (not exactly this):
  106.132.*.*
and can assign and reassign names to this as it likes. It doesn't need permission to add new machines to the Internet, nor does it need to publicise those machines. Other sites find out about these machines if and when they need to (which may be never).

When given the name of a machine:

  jimmy6.chemistry.mit.edu
they talk to the DNS server for .edu, which gives them the name of the DNS server for .mit.edu, which gives them the real address of the site (or says "invalid site").

Each subzone can build and rebuild its own topology as it pleases. Don't even need to report how much of that address space is used.




If a DNS server does not know the answer, it returns the address of a better DNS server to ask.
From here.



DNS so important / done so often that there are duplicate DNS servers, caches of remote information, etc. (without going as far as the complete cache of all sites on the net).

DNS uses UDP (not TCP) for address lookups.




Root nameservers

There are 13 logical root nameservers in the world.
We say "logical" servers because most of them are distributed across multiple machines across the world using anycast routing.



The root nameservers of the world, as at 2006.
13 logical servers, most distributed geographically using anycast.
From here.
There was at that time a single root nameserver in Ireland, run by INEX in Dublin. Part of the J group. A nameserver for .com and .net.



Latest and more detailed map here.
Shows there are now 2 root nameservers in Ireland, in the L and J groups.




DNS Lookup tools



7.1.2 Aliases (1-to-many and many-to-1)

See: "Server" = Single computer or Multiple computers

See Virtualization and Virtual server.

 

  1. 1-to-many:
    One text address, multiple machines behind it.
    e.g. As server.yourorg.com gets overloaded, you buy a 2nd machine, different IP. Then DNS lookup of the host returns one of these two IPs randomly. Can scale to 3 machines. And so on.
    The mega-sites like "google.com" have hundreds of thousands of servers behind them. A different server handles the request than the first server you connect to.


  2. Many-to-1 (aliases within domain):
    Can set up multiple aliases for same host ("site.com" = "www.site.com" = "ns.site.com" = "ftp.site.com"), etc.
    Lookup our web server:
    $ nslookup www.computing.dcu.ie
    www.computing.dcu.ie    canonical name = corno.computing.dcu.ie.
    Name:   corno.computing.dcu.ie
    Address: 136.206.217.26
    
    Multiple names for the same host.
    See Different forms of URL.


  3. Many-to-1 (different domains):
    Large numbers of different domains can be hosted on a single machine by large hosting companies.
    Modern servers very powerful. Most sites are low-traffic.


  4. Both 1-to-many and many-to-1:
    Can have a hybrid of the above:
    www.domain could map to multiple IPs (for load balancing)
    and each of those IPs could map to multiple hostnames (IPs are running other services)


  5. Multiple IPs map to same machine:
    As well as multiple domains mapping to same IP address and same machine, multiple IP addresses can map to same machine.
    There are various reasons to do this.


ancientbrain.com      w2mind.org      humphrysfamilytree.com

On the Internet since 1987.      New 250 G VPS server.

Note: Links on this site to user-generated content like Wikipedia are highlighted in red as possibly unreliable. My view is that such links are highly useful but flawed.