1
Ólafur Guðmundsson
Shinkuro, Inc.
Peter Koch
DENIC eG
2011-03-27 DNS Tutorial @ IETF-80
- gud@ogud.com & pk@denic.de
lafur Gu mundsson Shinkuro, Inc. Peter Koch DENIC eG 1 DNS - - PowerPoint PPT Presentation
lafur Gu mundsson Shinkuro, Inc. Peter Koch DENIC eG 1 DNS Tutorial @ IETF-80 ogud@ogud.com & pk@denic.de 2011-03-27 Goal: Give the audience basic understanding of DNS to be able to facilitate new uses of DNS and take
1
Shinkuro, Inc.
DENIC eG
2011-03-27 DNS Tutorial @ IETF-80
2
2011-03-27 DNS Tutorial @ IETF-80
3
2011-03-27 DNS Tutorial @ IETF-80
4
2011-03-27 DNS Tutorial @ IETF-80
2011-03-27 DNS Tutorial @ IETF-80
COM ORG
DE IS UK CAT IETF
ISOC DENIC www EDU
6
example.org is a delegation from org the terms parent and child will be used.
2011-03-27 DNS Tutorial @ IETF-80
7
2011-03-27 DNS Tutorial @ IETF-80
8
Parent is authoritative for existence of delegation, Child is authoritative for contents.
2011-03-27 DNS Tutorial @ IETF-80
9
2011-03-27 DNS Tutorial @ IETF-80
10
1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ID | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ |QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | QDCOUNT == 1 | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ANCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | NSCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ARCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Query section contains: QNAME: <name in domain name format, variable length> QCLASS: 2 bytes QTYPE: 2 bytes. Set by query Set by responder Unused
2011-03-27 DNS Tutorial @ IETF-80
11
Owner name (domain name)
Each label contains
Length (1 byte) Name (n bytes [1..63]) example.com 07example03com00
Type : MX, A, AAAA, NS … CLASS: IN (other classes exist, but none global) TTL: Time To Live in a cache RL: RD LENGTH: size of RDATA RDATA: The contents of the RR
Value).
2011-03-27 DNS Tutorial @ IETF-80
+------------------+-----+------+--------+----+-----------+ + Domain name |type | class| TTL | RL | RDATA | +------------------+-----+------+--------+----+-----------+ <variable> 2 2 4 2 <variable>
12
2011-03-27 DNS Tutorial @ IETF-80
13
2011-03-27 DNS Tutorial @ IETF-80 ogud@ogud.com & pk@denic.de
Root Server dnsop.org Server Org Server Ask dnsop.org NS www.dnsop.org A 81.91.170.12 www.dnsop.org A 81.91.170.12 Local Resolv er
www.dnsop.org
14
2011-03-27 DNS Tutorial @ IETF-80
15
DNS Internal types
Only used by DNS for its operation Indirect RR:
Indirect DNS RR cause Resolver to change direction of search
Server must have special processing code
Terminal RR:
A, AAAA,
TXT, HINFO, KEY, SSHFP
carry information to applications
Non Terminal RR:
contain domain names that may lead to further queries. META:
Not stored in DNS zones, only appear on wire
2011-03-27 DNS Tutorial @ IETF-80
16
Implication: introduction of new RR types took long time
support unknown RR types and rules for defining them. suggests a common encoding in presentation format for them.
BIND-9, BIND-8.2.2, ANS, CNS, MS DNS-2003, DNSCache, NSD, PowerDNS, Net::DNS, DNSJava, DNSpython, etc.
2011-03-27 DNS Tutorial @ IETF-80
17
2011-03-27 DNS Tutorial @ IETF-80
18
2011-03-27 DNS Tutorial @ IETF-80
19
2011-03-27 DNS Tutorial @ IETF-80
example
20
Packet size:
Some middle boxes restrict UDP fragments effective <1500 size restriction.
DNS API: not really good by default
Data integrity: Cache Poisoning
Broken DNS Software:
DNS name tricks
2011-03-27 DNS Tutorial @ IETF-80
21
DNS Update (RFC2136):
SHOULD only be used for “leaf” data Difficult to add/modify data due to operator
capability to update DNS names or name/type(s)
One RR changes whole zone is sent to secondaries
recently changed data
DNS any cast clouds with over 100’s of servers use this to maintain large zones that are updated frequently
think seconds between updates
2011-03-27 DNS Tutorial @ IETF-80
22
2011-03-27 DNS Tutorial @ IETF-80
23
2011-03-27 DNS Tutorial @ IETF-80
24
2011-03-27 DNS Tutorial @ IETF-80
25
2011-03-27 DNS Tutorial @ IETF-80
26
2011-03-27 DNS Tutorial @ IETF-80
27
2011-03-27 DNS Tutorial @ IETF-80
28
2011-03-27 DNS Tutorial @ IETF-80
29
2011-03-27 DNS Tutorial @ IETF-80
30
2011-03-27 DNS Tutorial @ IETF-80
31
2011-03-27 DNS Tutorial @ IETF-80
32
2011-03-27 DNS Tutorial @ IETF-80
33
2011-03-27 DNS Tutorial @ IETF-80
34
2011-03-27 DNS Tutorial @ IETF-80
35
SRV 30 30 5222 hermes.jabber.org.
2011-03-27 DNS Tutorial @ IETF-80
36
2011-03-27 DNS Tutorial @ IETF-80
37
Used in ENUM and ONS (the RFID name space)
These create their own name spaces RFC 3401-3405
Avoids application specific DDDS overhead
RFC 3958
Avoids the rewrites
RFC 4848
2011-03-27 DNS Tutorial @ IETF-80
38
BUT only in non routable address space (127/8)
Modern software does this and unknown types as well!!!!
MORAL: Fight for local upgrades, do not force the whole Internet to work around your local issues.
2011-03-27 DNS Tutorial @ IETF-80
39
2011-03-27 DNS Tutorial @ IETF-80
40
2011-03-27 DNS Tutorial @ IETF-80
41
2011-03-27 DNS Tutorial @ IETF-80
42
2011-03-27 DNS Tutorial @ IETF-80
43
2011-03-27 DNS Tutorial @ IETF-80
44
2011-03-27 DNS Tutorial @ IETF-80
45
2011-03-27 DNS Tutorial @ IETF-80
46
2011-03-27 DNS Tutorial @ IETF-80
47
2011-03-27 DNS Tutorial @ IETF-80
48
2011-03-27 DNS Tutorial @ IETF-80
49
Problem:
records be returned in answer ==> Additional section processing
Facts:
do all work.
done
Result:
Moral: Do not attempt to optimize DNS, it causes more problems
2011-03-27 DNS Tutorial @ IETF-80
50
2011-03-27 DNS Tutorial @ IETF-80