Webserver use, configuration and management
(Best reference for this topic is Albitz (2001), parts of these notes from Albitz after Jim Briggs)
The Domain Name System (DNS) is the means by which the names of network hosts (e.g. www.port.ac.uk) are mapped onto their address (e.g. 22.214.171.124). Although not limited to the Internet, DNS is hardly ever used for other networks, some of which have their own name mapping schemes (e.g. Microsoft WINS, Sun's NIS).
Initially (in the 1970s) there was a single file HOSTS.TXT that could be downloaded by FTP from a computer at Stanford. This contained a name-to-address mapping of all the (few hundred) hosts on the then ARPAnet. (The Windows /system32/drivers/etc/hosts or Linux /etc/hosts files are the residual decedents of the original HOSTS.TXT, with some of the original fields deleted.) The use of an FTP copy of HOSTS.TXT quickly became difficult to maintain, with the growth of the number of hosts, by the time an update had been copied to the far reaches, it was out of date! For a brief review see http://www.byte.org/one-history-of-dns.pdf
DNS has been used since about 1984. It was designed by Paul Mockapetris, then of University of Southern California.
It is a distributed database. Servers called name servers each keep details about some segment of the Internet. Clients called resolvers query the database by means of calls to name servers.
Pros and cons of distribution:
Structure of the namespace (and hence the database) is hierarchical. There are 13 logical root name servers (designated A-M). These comprise the root of an inverted tree of domains.
Of the original servers, 10 are in the USA, 1 in the UK, 1 in Sweden and 1 in Japan. See http://www.root-servers.org/ for a map of where the (274 when last accessed) worldwide servers are now.
The original (1980s) three-letter top-level domains (TLDs) are .COM, .NET, .ORG, .EDU, .INT, .MIL and .GOV. The first three are operated on commercial principles, while the last four have restrictive conditions on who can register names in those domains (respectively, four-year degree granting institutions in North America, organisations that were established by international treaty, the US military, and the US federal government). In 2001-2002, four new domains (.biz, .info, .name, and .pro) were introduced, as well as three so-called "sponsored" TLDs (.aero, .coop and .museum).
In addition, there are two-letter top-level domains for each country, and a special domain .ARPA which currently contains some Internet infrastructure databases. The two-letter country code top-level domains (ccTLDs) are based on the ISO 3166-1 two-letter country codes, (see http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html). There is one exception to this - .UK should really be .GB!
See http://www.icann.org/tlds/ for more details
Within each domain, the rules for allocating names and sub-domains are up to the domain administrator. An organisation called InterNIC (http://www.internic.net/) administers the .COM, .NET and .ORG domains (though they subcontract registration within these domains to a number of other companies around the world). Nominet.uk (http://www.nic.uk/) is the registry for most .UK domain names (including co.uk, org.uk, net.uk, ltd.uk and plc.uk).
The billions of resource records in the DNS directory are split into millions of files called zones. Zones are kept on authoritative servers distributed all over the Internet, which answer queries according to the DNS network protocols.
In contrast, caching servers simply query the authoritative servers and cache any replies. Most servers are authoritative for some zones and perform a caching function for all other DNS information.
Diagram modified from Albitz (2001)
Most DNS servers are authoritative for just a few zones, but larger servers are authoritative for tens of thousands of zones. There may be more than one authoritative server for a zone but one of them will be designated the primary master name server, and the others (the slave servers) will query the master to update their information.
Assume that your web browser (Firefox or Internet Explorer) wants to look up a page on sunsite.ic.ac.uk:
Part of the domain namespace is given over to the resolution of names from addresses. This is the purpose of the .in-addr.arpa domain.
To find the name server responsible for 126.96.36.199 (for example), you would do a lookup on 188.8.131.52.in-addr.arpa (note the reverse order of the octets). Authoritative name servers need to be setup to administer the appropriate part of this domain, as well as the conventionally named one associated with their zone.
You need to do two things:
1. You need to choose a name for your domain.
2. You need to find a parent domain willing to adopt you. Obviously you need to choose a name that is not already taken in the parent domain.
There is big business to be done in domain names. Tuvalu ( .tv domain) is making a big profit out of its registration process - it will cost you $1 million to register "sports.tv" (see http://www.tv/en-def-0b188b9a5d77/cgi-bin/lookup.cgi?domain=sports). Moldova (.md) is targeting the medical community (see http://www.register.md/our-company.jsp).
If you wanted to be "me.port.ac.uk", you would need to persuade the administrators of the ".port.ac.uk" domain to add you to their name server configuration. If you want to be "me.com", you would need to register with one of InterNIC's registrars. Most domain registration authorities provide you with a web-accessible means of checking whether a name is already taken.
What if the name you want is already taken?
The DNS Resource Directory has some good advice on the legal position in respect of Domain Names as intellectual property, see http://www.dns.net/dnsrd/disputes.html and (Rony, 1998)
If you are willing and able to administer your own zone of the DNS, you need to set up a computer as a name server and get the administrator of your parent domain to delegate authority for your sub-domain to you. In order to provide a reliable service in all cases you need to provide a Master DNS Server, and a backup or slave. Without this level of assurance – delegation will not occur.
The most commonly used DNS software is BIND ( http://www.isc.org/software/bind ). This is an open source product. It has been incorporated into most vendors' UNIX-based systems, though you won't necessarily get the most recent version.
There is also a Microsoft name server that runs under Windows NT/2000/XP. Other vendors offer similar products.
As well as the code for the name server, most distributions include a resolver as a library routine that can be loaded into your program.
See Albitz (2001) for details of how to set up your name server. The practical side is well outside the scope of the WUCMI unit.
Thus far the discussion has been centred about providing your own web server, DNS etc, but for many smaller companies obtaining the use of web space managed by a specialist company is a preferable option. Even larger companies may well outsource their web systems, relying on the expertise and technical support of a third party.
Many ISPs offering either dial up modem based Internet access or broadband ADSL or Cable Internet access include web space as part of the deal. In most cases the name on offer is very tied to the supplier, i.e. it includes the name of the ISP as part of the URL, e.g. www.nodename.freeserve.co.uk where nodename is your Freeserve identifier. Whilst this is fine for private use it is inappropriate for commercial activities – though not unknown.
Another route to acquiring both a domain name and web space is the use of web hosting companies, e.g. Lycos, http://webcentre.lycos.co.uk/product/domain/ or One&One http://oneandone.co.uk/. In this case the hosting company offers clients managed space on their web servers. The package would typically include:
For reviews and comparisons see one of the many monitoring and evaluation sites (sometimes with a commercial interest in some of the services). As an example, look at http://www.webhostingratings.com/ or http://www.webhostdir.com/spotlight/ukwebhosting.asp
The next level up of commercial outsourcing is to have a host company run the hardware on your behalf. In this case the web host will provide fast Internet connectivity (often by being sited near a major Internet node such as in Canary Wharf), air and power conditioning, and optionally technical support (in the managed server scenario). An example of companies in this market would be RackSpace, http://www.rackspace.com/index.php (both US and UK server farms) or Apollo Hosting, http://www.apollohosting.com/ (largely confined to the US).
This type of service is the closest to running your own server in your own computer centre, offering a very good level of control over the environment offered to your website visitors/clients.
The DNS Resources Directory is online at http://www.dns.net/dnsrd/
Paul Albitz and Cricket Liu,
Nigel Whitfield & David Angel
Ellen Rony and Peter Rony