ee 122: lecture 20 (domain name server - dns) ion stoica nov 15, 2001 (* based on the some on-line...

24
EE 122: Lecture 20 (Domain Name Server - DNS) Ion Stoica Nov 15, 2001 (* based on the some on-line slides of J. Kurose & K. Rose and of Raj Jain)

Upload: nelson-payne

Post on 14-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

EE 122: Lecture 20(Domain Name Server - DNS)

Ion Stoica

Nov 15, 2001

(* based on the some on-line slides of J. Kurose & K. Rose and of Raj Jain)

[email protected] 2

Names & Addresses

What is a name? What is an address? What is an identifier? What is the difference between name, addresses,

and identifiers?

[email protected] 3

Internet Centric View

Addresse: - Says how to reach an object it has location

semantics associated to it

- It’s in a format easy to process by computers

Name: - Does not have any location semantics associated to it

- It’s in a format easier to understand/read/remember by people

Examples:- IP address: 128.32.27.22

- Name: amber.berkeley.edu

[email protected] 4

General View

Differentiating between names and addresses introduces several consistency problems:

- What is a multicast IP address?

- What is the IP address of a mobile host?

- What is cnri.reston.va.us?

Solution: interpret an address as just another name (that may happen to have location semantics)

[email protected] 5

Name Service

Name space: define the set of possible names- Hierarchical (e.g., Unix and Windows file names)

- Flat

Bindings: the mapping between names and values (e.g., bindings can be implemented by using tables)

Resolution: procedure that, when invoked with a name, returns the corresponding value

Name server: specific implementation of a resolution mechanism that is available on the network and that can be queried by sending messages

[email protected] 6

General View

In general there are multiple mappings

Host name: amber.berkeley.edu

IP address: 128.32.27.22

Ethernet MAC address: 12.34.56.78.90.12

DNS resolution

ARP (Address Resolution Protocol)

[email protected] 7

Mapping

Multiple names can map onto the same name at the underlying level

- Example: www.berkeley.edu and amber.berkeley.edu can map to the same machine (I.e., the same IP address)

One name can map onto multiple names at the underlying level

- Example: www.yahoo.com can be mapped to multiple machines

[email protected] 8

Name Hierarchy

root

edu com gov mil org net uk fr

berkeley cmu

eecs sims

divine

[email protected] 9

Name Hierarchy

Unique domain suffix is assigned by the Internet Authority

The domain administrators have complete control over the domain

No limit on the number of subdomains or number of levels

Name space is not related with the physical interconnection

Geographical hierarchy is allowed (e.g., cnri.reston.va.us)

A name could be a domain or an individual objects

[email protected] 10

Top Level Domains

Domain Name Assignment

com Commercial

edu Educational

gov Government

mil Military

net Network

Org Other organizations

Arpa Advances research project agency

country code au, uk, ca

[email protected] 11

DNS Name Servers

Why not centralize DNS? - Single point of failure

- Traffic volume

- Distant centralized database

- Maintenance

Doesn’t scale!

[email protected] 12

Server Hierarchy: Zones

A zone corresponds to an administrative authority that is responsible for that portion of the hierarchy

root

edu com gov mil org net uk fr

berkeley cmu

eecs sims

divine

[email protected] 13

Server Hierarchy

Server are organized in hierarchies Each server has authority over a portion of the

hierarchy- A single node in the name hierarchy cannot be split

- A server maintains only a subset of all names

- It needs to know other servers that are responsible for the other portions of the hierarchy

[email protected] 14

Server Hierarchy

Authority: each server has the name to address translation table for all names in the name space it controls

Every server knows the root Root server knows about all top-level domains

[email protected] 15

DNS Name Servers

No server has all name-to-IP address mappings Local name servers:

- Each ISP (company) has local (default) name server

- Host DNS query first go to local name server

Authoritative name servers:- For a host: stores that host’s IP address, name

- Can perform name/address translation for that host’s name

[email protected] 16

DNS: Root Name Servers

Contacted by local name server that can not resolve name

Root name server:

- Contacts authoritative name server if name mapping not known

- Gets mapping

- Returns mapping to local name server

~ Dozen root name servers worldwide

[email protected] 17

Simple DNS Example

Host whsitler.cs.cmu.edu wants IP address of www.berkeley.edu

1. Contacts its local DNS server, mango.srv.cs.cmu.edu

2. mango.srv.cs.cmu.edu contacts root name server, if necessary

3. Root name server contacts authoritative name server, ns1.berkeley.edu, if necessary

requesting hostwhistler.cs.cmu.edu

www.berkeley.edu

root name server

authorititive name serverns1.berkeley.edu

local name servermango.srv.cs.cmu.edu

1

23

4

5

6

[email protected] 18

DNS Example

Root name server: May not know

authoritative name server May know intermediate

name server: who to contact to find authoritative name server?

requesting hostwhistler.cs.cmu.edu

www.berkeley.edu

root name server

local name servermango.srv.cs.cmu.edu

1

23

4 5

6

authoritative name serverns1.berkeley.edu

intermediate name server(edu server)

7

8

[email protected] 19

DNS: Iterated Queries

Recursive query: Puts burden of name

resolution on contacted name server

Heavy load?

Iterated query: Contacted server

replies with name of server to contact

“I don’t know this name, but ask this server”

requesting hostwhistler.cs.cmu.edu

www.berkeley.edu

root name server

local name servermango.srv.cs.cmu.edu

1

2

34

67

authoritative name serverns1.berkeley.edu

intermediate name server(edu server)

5

8

iterated query

[email protected] 20

DNS Records

DNS: distributed database storing resource records (RR)

Type=NS- name is domain (e.g.

foo.com)

- value is IP address of authoritative name server for this domain

RR format: (name, value, type,ttl)

Type=A- name is hostname

- value is IP address

Type=CNAME- name is an alias name for

some “cannonical” (the real) name

- value is cannonical name

Type=MX- value is hostname of mailserver

associated with name

[email protected] 21

DNS protocol, messages

DNS protocol : query and reply messages, both with same message format

msg header identification: 16 bit # for query,

reply to query uses same # flags:

- query or reply

- recursion desired

- recursion available

- reply is authoritative

[email protected] 22

DNS protocol, messages

Name, type fields for a query

RRs in reponseto query

Records forauthoritative servers

Additional “helpful”info that may be used

[email protected] 23

Discussion

Robustness- Use multiple replicas, but…

- …what if someone mounts a denial of service attack to all root servers?

Performance:- Use caching to speed-up subsequent queries to the

same name

What about update/notify?- Mechanisms under design by IETF (RFC 2136;

http://www.ietf.org/html.charters/dnsind-charter.html)

[email protected] 24

Summary

Address: just another form of name that may have location semantics

DNS: maps names onto IP address Name space and the administration are both

hierarchical Replication: used to increase robustness Caching: used to increase the performance