RFC 1034 & RFC 1035
Introduction
1. What is the IP
address of
udel.edu ?
It is 128.175.13.92
1. What is the
host name of
128.175.13.74
It is strauss.udel.edu
2
Real Life Analogy: Telephone Example
Telephone connection
Source: Destination: Dad
Child
Udel-Newark, DE
Newark, DE
Information Child Needs: Dad’s Phone #
3
Calls dad
Child
(What is Dad’s Phone#?)
Dad’s phone is 1
302-831-1949
8 Dials 0: (what is
Dad’s phone is Newark’s area code?)
7 302-831-1949
2
University Older sister operator
operator
3
Dials 302-831-4567: (Newark’s area code is
(what is Dad phone #?) 302)
6
(University number: 302-831- Dials 302-731-1212:
4567) 5 4 (What is University # ?)
Directory
assist 4
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.
5
Name Space
6
Resolvers
A Resolver maps a name to an address and vice
versa.
Query
Response
Resolver Name Server
7
Iterative Resolution
a.root
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 8
www.google.com?”
Recursive Resolution
root
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.” 9
Name Server
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)
10
Name Server (cont’d)
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)
11
Name Server (cont’d)
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)
12
Name Server (cont’d)
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)
13
Block Diagram
Query Query
Foreign
User Name
Resolver
Program Server
Response
Response
Reference
Addition
Cache
14
DNS Messages
Messages
Query Response
15
DNS Message Format
Header (12 bytes) Header (12 bytes)
Question section Question section
2 bytes 2 bytes Answer section
Identification Flags Authoritative section
Number of
Number of Additional section
Answer Records
Question Records
(zeroed in query) 0 no error
1 format error
2 problem at name server
Number of Auth- Number of 3 domain reference problem
oritative Records Additional Records 4 query type not supported
(Zeroed in query) (zeroed in query)
5 administratively prohibited
6-15 reserved
0 = query,
1 = response QR OpCode AA TC RD RA 0 0 0 rCode
0 = standard, 1 = inverse, Authoritative Recursion Available flag
16
2 = server status request Answer flag Truncated flag Recursion Desired flag
Question Record Format
sent in query;
repeated in response
Query name
(variable length) class of network (1 = Internet)
Query type Query class 1 A Address – IPv4
(16 bits) (16 bits) 2 NS Name Server (authoritative)
5 CNAME Canonical Name (alias)
12 PTR Pointer – reverse lookup
15 MX Mail Exchange
28 AAAA Address - IPv6
252 AXFR Zone Transfer
3 r e n 5 e e c i s 4 u d e l 3 e d u 0
counts
17
Resource Record Format
answer, authoritative, and
additional sections in response
name of host/domain that this
Domain Name record provides information for
(variable length)
type of data in resource record
Domain type Domain class (same types as used in question record)
(16 bits) (16 bits) same as in question record
Time to Live number of seconds this
(32 bits) record may be cached
data length length of resource data
(16 bits) the “payload” of the
resource record
Resource data
(variable length)
18
Compression
bytes 0-11
Header (12 bytes)
Query name byte 12
Question
(variable length)
Section
Query type Query Class 3 r e n 5 e e c i s
(16 bits) (16 bits) 4 u d e l 3 e d u 0
Domain Name
(variable length)
C0 0C
Answer
Section
1100000000001100 = 1210
19
Example forward query/response
“What is the IP address “www.udel.edu's IP address
of www.udel.edu?” is 128.175.13.63.”
Hdr ident 0x0100 same ident 0x8180 Hdr
0x0001 0x0000 0x0001 0x0001
0x0000 0x0000 0x0004 0x0004
Qry 3 'w' 'w' 'w' 3 'w' 'w' 'w' Qry
4 'u' 'd' 'e' 4 'u' 'd' 'e'
'l' 3 'e' 'd' 'l' 3 'e' 'd'
'u' 0 0x0001(A) 'u' 0 0x0001(A)
0x0001(IN) 0x0001(IN)
flags: recursion desired (RD) 0xC00C 0x0001(A) Ans
0x0001(IN) 0x0000...
flags: query response (QR),
recursion desired (RD), ...0xB2F5 0x0004
recursion available (RA) 0x80AF0D3F
TTL: 45301 seconds ≈ 12.6 hours (128.175.13.63)
20
...
Example inverse query/response
“What is the name of the “The host at 128.175.13.63
host at 128.175.13.63?” is named www.udel.edu.”
Hdr ident 0x0100 same ident 0x8180 Hdr
0x0001 0x0000 0x0001 0x0001
0x0000 0x0000 0x0004 0x0004
Qr 2 '6' '3' 2 2 '6' '3' 2 Qry
y '1' '3' 3 '1' '1' '3' 3 '1'
'7' '5' 3 '1' '7' '5' 3 '1'
'2' '8' 7 'i' '2' '8' 7 'i'
'n' '-' 'a' 'd' 'n' '-' 'a' 'd'
'd' 'r' 4 'a' 'd' 'r' 4 'a'
'r' 'p' 'a' 0 'r' 'p' 'a' 0
0x000C(PTR) 0x0001(IN)
0x000C(PTR) 0x0001(IN) 0xC00C 0x000C(PTR) Ans
0x0001(IN) 0x0000...
...0xB003 0x000E
3 'w' 'w' 'w'
4 'u' 'd' 'e'
TTL: 45056 seconds ≈ 12.5 hours 'l' 3 'e' 'd'
'u' 0 21
...
Resource Record Sections
• Resource Record sections:
– answer = record(s) sent in response to query(s).
– authoritative = DNS servers which are authoritative for answer
record(s).
– additional = any other related information.
• MX records:
– mail exchange (MX) records provide mail addressing info.
– MX query asks “What hosts will accept mail for domain X?”
– MX resource records say “You can send mail for domain X to host
Y.”
MX Resource Data
preference (2 bytes) delivery priority (lower value = higher priority)
exchange domain name of host that will accept mail
(variable length) 22
Example MX response
...
Hdr ident 0x8180 0xC00C 0x0002(NS) Auth
0x0001 0x0002 0x0001(IN) 0x0000...
0x0004 0x0006 ...0x19FA 0x0007
Qry 4 'u' 'd' 'e' 4 'D' 'N' 'S'
'l' 3 'e' 'd' '1' 0xC00C
'u' 0 0x000F(MX) 0xC00C 0x0002(NS) Auth
0x0001(IN) 0x0001(IN) 0x0000...
Ans 0xC00C 0x000F(MX) ...0x19FA 0x0007
0x0001(IN) 0x0001... 4 'D' 'N' 'S'
...0x28F6 0x000C '2' 0XC00C
0x000A 7 'c' ...
'o' 'p' 'l' 'a' 0xC028 0x0001(A) Adtl
'n' 'd' 0xC00C 0x0001(IN) 0x0001...
Ans 0xC00C 0x000F(MX) ...0x2FB4 0x0004
0x0001(IN) 0x0001... 128.175.13.74
...0x28F6 0x000C 0xC040 0x0001(A) Adtl
0x0014 7 's' 0x0001(IN) 0x0001...
't' 'r' 'a' 'u' ...0x0D5D 0x0004 23
's' 's' 0xC00C 128.175.13.92
... ...
Transport
IP UDP
DNS message
header header
max. 512 bytes
● DNS messages are encapsulated in UDP by default.
● If the resolver expects the response to exceed 512 bytes, the
resolver encapsulates the query in TCP instead.
● If a request is sent over UDP and the response is longer than 512
bytes, the server sends the first 512 bytes of the response using
UDP and sets the TC (truncated) flag. The resolver then re-sends
the query using TCP. no limit (up to max. TCP payload size)
IP TCP 2-byte
DNS msg. DNS message
header header length 24
Dynamic DNS
DHCP
Server
Update
Client
Zone File
Primary DNS Server
25
Acknowledgements
Many thanks to :
• Behrouz A. Forouzan
http://www.mhhe.com/engcs/compsci/forouzan/tcpipppt.mhtml
• David Conrad
www.itu.int/osg/spu/enum/workshopjan01/annex2-conrad.ppt
• Greg Forte
http://www.cis.udel.edu/~amer/856/dns.03f.ppt
26
Questions
27