i. DNS stand for Domain Name System
ii. DNS is a hierarchical naming system for domain services, or any resource connected with internet or private network.
iii. The DNS translate internet domain and host names to IP addresses.
A name space that maps each address to a unique name can be organized in two ways: flat or hierarchical.
Flat Name Space:
i. In a flat name space, a name is assigned to an address. A name in this space is a sequence of characters without structure.
ii. The names may or may not have a common section; if they do, it has no meaning.
iii. The main disadvantage of a flat name space is that it cannot be used in a large system such as the Internet because it must be centrally controlled to avoid ambiguity and duplication.
Hierarchical Name Space :
i. In a hierarchical name space, each name is made of several parts. The first part can define the nature of the organization, the second part can define the name of an organization, and the third part can define departments in the organization, and so on.
ii. In this case, the authority to assign and control the name spaces can be decentralized.
iii. A central authority can assign the part of the name that defines the nature of the organization and the name of the organization. The responsibility of the rest of the name can be given to the organization itself.
iv. The organization can add suffixes (or prefixes) to the name to define its host or resources.
v. The management of the organization need not worry that the prefix chosen for a host is taken by another organization because, even if part of an address is the same, the whole address is different.
Domain Name Space :
To have a hierarchical name space, a domain name space was designed. In this design the names are defined in an inverted-tree structure with the root at the top.
The tree can have only 128 levels: level 0 (root) to level 127, see fig3.
A lookup mechanism for translating objects into other objects
A globally distributed, loosely coherent, scalable, reliable, dynamic database
Comprised of three components
a. A “name space”
b. Servers making that name space available
c. Resolvers (clients) which query the servers about the name space
i. Data is maintained locally, but retrievable globally, No single computer has all DNS data.
ii. Total number of servers: in the 106 to 107 range, DNS lookups can be performed by any device.
iii. Remote DNS data is locally cachable to improve performance.
Loose Coherency :
i. The database is always internally consistent, each version of a subset of the database has a serial number.
ii. The serial number is incremented on each database change.
iii. Changes to the master copy of the database are replicated according to timing set by the zone administrator, Cached data expires according to timeout set by zone administrator.
i. No limit to the size of the database, One server has over 40,000,000 names
ii. No limit to the number of queries, 24,000 queries per second handled easily. Queries distributed among masters, slaves, and caches.
i. Data is replicated, Data from master is copied to multiple slaves. The system can deal with outage of servers.
ii. DNS protocols can use either UDP or TCP; If UDP, DNS protocol handles retransmission, sequencing, etc.
i. Database can be updated dynamically, Add/delete/modify of any record.
ii. Modification of the master database triggers replication. Only master can be dynamically updated.