Seminar
On
DNS
Submitted To: Submitted By:
Dr. Kaneez Zainab Abhijeet Kumar Pandey
Content
INTRODUCTION
DNS HISTORY
WHAT IS DNS?
DNS COMPONENTS
o Name Space:
o Resolvers:
o Name Servers:
WHY WE NEED OF DNS?
CONCLUSION
REFERENCES
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.
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
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 …)
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
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
Why we need DNS?
DNS as a Database
Global Distribution
Loose Coherency
Scalability
Reliability
Dynamicity
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
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
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
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
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.
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
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.
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.
Resolvers
17
A Resolver maps a name to an address and vice
versa.
Query
Response
Resolver Name Server
Iterative Resolution
a.root
18
server
a3.nstl a.gtld-
d.com server
5
udel ns1.goo
server gle.com
3 iterative response (referral)7
“I don't know. Try a.root-servers.net.”
iterative response (referral) 9
“I don't know. Try a.gtld-servers.net.”
1 iterative response (referral)
“I don't know. Try a3.nstld.com.”
iterative response (referral)
2 4 “I don't know. Try ns1.google.com.”
6 iterative response
8 “The IP address of www.google.com
client 10 is 216.239.37.99.”
iterative request
“What is the IP address of
www.google.com?”
Recursive Resolution
root19
server
edu 3 com
server server
7 4
udel 2 8 google
serve server
6 5
r
9
1
10 recursive request
“What is the IP address of
www.google.com?”
client recursive response
“The IP address of www.google.com is
216.239.37.99.”
Name Server
20
Architecture: Zone
From data
Name Server Process
disk file
Authoritative Data Master
Zone transfer server
(primary master and
slave zones)
Cache Data
(responses from
other name servers)
Agent
(looks up queries
on behalf of resolvers)
Name Server (cont’d)
21
Authoritative Data:
Name Server Process
Authoritative Data
(primary master and
slave zones) Response
Cache Data
(responses from
other name servers)
Agent
(looks up queries Resolver
Query
on behalf of resolvers)
Name Server (cont’d)
22
Using Other Name Servers:
Name Server Process
Authoritative Data
(primary master and
slave zones)
Response
Cache Data
Response
(responses from
Arbitrary
other name servers)
name
Agent Query server
(looks up queries Resolver
Query
on behalf of resolvers)
Name Server (cont’d)
23
Cached Data :
Name Server Process
Authoritative Data
(primary master and
slave zones) Response
Cache Data
(responses from
other name servers)
Agent
(looks up queries Query Resolver
on behalf of resolvers)
Reference
www.csschool.com
www.wikipedia.com