2. Content
INTRODUCTION
DNS HISTORY
WHAT IS DNS?
DNS COMPONENTS
o Name Space:
o Resolvers:
o Name Servers:
WHY WE NEED OF DNS?
CONCLUSION
REFERENCES
3. Introduction
The Domain Name System (DNS) is basically a large
database which resides on various computers and it
contains the names and IP addresses of various hosts on
the internet and various domains.
The Domain Name System is used to provide
information to the Domain Name Service to use when
queries are made.
4. DNS History
ARPANET utilized a central file HOSTS.TXT
Contains names to addresses mapping
Maintained by SRI’s NIC (Stanford-Research-Institute: Network-
Information-Center)
Administrators email changes to NIC
NIC updates HOSTS.TXT periodically
Administrators FTP (download) HOSTS.TXT
5. DNS History Cont…
As the system grew, HOSTS.TXT had problems with:
Scalability (traffic and load)
Name collisions
Consistency
In 1984, Paul Mockapetris released the first version
(RFCs 882 and 883, superseded by 1034 and 1035 …)
6. What is DNS ?
The “Domain Name System”
What Internet users use to reference anything by name on
the Internet
The mechanism by which Internet software translates
names to attributes such as addresses
7. What is DNS ?
A globally distributed, scalable, reliable database
Comprised of three components
A “name space”
Servers making that name space available
Resolvers (clients) which query the servers about the name space
8. Why we need DNS?
DNS as a Database
Global Distribution
Loose Coherency
Scalability
Reliability
Dynamicity
9. DNS as a Database
Keys to the database are “domain names”
www.foo.com, 18.in-addr.arpa, 6.4.e164.arpa
Over 100,000,000 domain names stored
Each domain name contains one or more attributes
Known as “resource records”
Each attribute individually retrievable
10. Global Distribution
Data is maintained locally, but retrievable globally
No single computer has all DNS data
DNS lookups can be performed by any device
Remote DNS data is locally cachable to improve
performance
11. Loose Coherency
The database is always internally consistent
Each version of a subset of the database (a zone) has a serial
number
The serial number is incremented on each database change
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
12. Scalability
No limit to the size of the database
One server has over 20,000,000 names
Not a particularly good idea
No limit to the number of queries
24,000 queries per second handled easily
Queries distributed among masters, slaves, and caches
13. Reliability
Data is replicated
Data from master is copied to multiple slaves
Clients can query
Master server
Any of the copies at slave servers
Clients will typically query local caches
DNS protocols can use either UDP or TCP
If UDP, DNS protocol handles retransmission,
sequencing, etc.
14. Dynamicity
Database can be updated dynamically
Add/delete/modify of any record
Modification of the master database triggers replication
Only master can be dynamically updated
Creates a single point of failure
15. DNS Components
There are 3 components:
Name Space:
Specifications for a structured name space and data
associated with the names
Resolvers:
Client programs that extract information from Name
Servers.
Name Servers:
Server programs which hold information about the
structure and the names.
16. Name Space
16
Flat Name Space
In a flat name space, a name is assigned to an address. A name in
this space is a sequence of characters without structure.
Hierarchical Name Space
In a hierarchical name space, each name is made of several parts.
The first part can define the organization, the second part can
define the name, the third part can define departments, and so on.
18. Iterative Resolution
18
iterative response (referral)
“I don't know. Try a3.nstld.com.”
2
a3.nstl
d.com
3
client
iterative request
“What is the IP address of
www.google.com?”
udel
server
1
iterative response (referral)
“I don't know. Try a.root-servers.net.”
4
a.root
server
5
iterative response (referral)
“I don't know. Try a.gtld-servers.net.”
6
a.gtld-
server
7
iterative response (referral)
“I don't know. Try ns1.google.com.”
8
ns1.goo
gle.com
9
iterative response
“The IP address of www.google.com
is 216.239.37.99.”10
19. Recursive Resolution
19
client
recursive request
“What is the IP address of
www.google.com?”
udel
serve
r
1
edu
server
2
root
server
3 com
server
4
google
server
5
recursive response
“The IP address of www.google.com is
216.239.37.99.”
6
10
7
8
9
23. Cached Data :
23
Query
Response
Authoritative Data
(primary master and
slave zones)
Agent
(looks up queries
on behalf of resolvers)
Cache Data
(responses from
other name servers)
Name Server Process
Resolver
Name Server (cont’d)