Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

My big idea: Ancient Brain


CA114      CA170

CA668      CA669      Projects

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:

It is assigned a segment of the numerical address space, like this (not exactly this):
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:

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 = ossa2.computing.dcu.ie.
    Name:   ossa2.computing.dcu.ie
    $ nslookup computing.dcu.ie      
    Name:   computing.dcu.ie
    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.

    My genealogy website is hosted with a US company. See lookup. The hosting is not cheap or unusual. Just a normal hosting service.
    My site gets healthy (I thought) traffic of around 100,000 to 150,000 page views per month. And yet I was startled to discover that it is sharing the same IP address with 762 other sites.
    The fact is that modern servers are incredibly powerful. It works fine.
    Lookup from here.

    The note about "adult" sites indicates a few things about modern hosting:

    • If "adult" content is legal, the hosting service may well have customers with such content. This could easily be on the same IP as your site.
    • If web filtering software filters by IP, it may block many legitimate sites.
    • The hosting company could never police all its content, "adult" or not. No one could run a hosting service that had to police content.
    • Which is not to say that hosting services don't respond to specific requests from police/courts about illegal content. They do. But they cannot police content in advance. The numbers are too big.

  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.

Wikipedia: Sometimes I link to Wikipedia. I have written something In defence of Wikipedia. It is often a useful starting point but you cannot trust it. Linking to it is like linking to a Google search. A starting point, not a destination. I automatically highlight in red all links to Wikipedia and Google search and other possibly-unreliable user-generated content.