CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf ·...

21
CS 348: Computer Networks - DNS; 22 nd Oct 2012 Instructor: Sridhar Iyer IIT Bombay

Transcript of CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf ·...

Page 1: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

CS 348: Computer Networks

- DNS; 22nd Oct 2012

Instructor: Sridhar IyerIIT Bombay

Page 2: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 2

Domain Name System

● Map between host names and IP addresses● People: many identifiers: name, Passport #, …● Internet hosts:

– IP address (32 bit) - used for addressing datagrams– “name”, e.g., www.iitb.ac.in - used by humans

Page 3: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 3

DNS

● Provides logical hierarchical view of the Internet● globally distributed database implemented in

hierarchy of many name servers● application-layer protocol to communicate to

resolve names (address/name translation)● client/server interaction

Page 4: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 4

DNS clients and servers

● clients: query servers to resolve names; nslookup● servers: name server daemons, reply to queries;

BIND, named● gethostbyname: resolver library call that can be

invoked from application program

Lazily validated cache for performance

Page 5: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 5

DNS design

Centralized DNS?● single point of failure● traffic volume● distant centralized database● maintenance● doesn’t scale!

So…Distributed DNS

Page 6: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 6

Name hierarchy

● Unique domain suffix is assigned by Internet Authority

● No limit on number of subdomains or number of levels

● Domains within an organization do not have to be uniform in number of subdomains or levels● www.iitb.ac.in● www.it.iitb.ac.in

Page 7: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 7

Top-level domains

Domain Name/ Assignmentcom Commercialedu Educationalgov Governmentmil Militarynet Networkorg Other organizationsarpa Advanced Research Project Agencycountry code au, uk, ca

Page 8: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 8

DNS hierarchy

● Servers are organized in a hierarchy● Each server has an authority over a part of the

naming hierarchy● The server does not need to keep all names● It needs to know other servers who are

responsible for other subdomains

Page 9: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 9

DNS: Local name servers

Local Name Servers:● each organization/ISP has local (default) name

server● host DNS query first goes to local name server

Authoritative Name Server:● for a host: stores that host’s IP address, name● can perform name/address translation for that host’s

name

Page 10: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 10

Name server hierarchy

● A single server can serve multiple domains● Root server knows about servers for top-level

domains● Each server knows the root server

Page 11: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 11

DNS: Root name servers

● Contacted by local name server that cannot resolve name

● Root Name Server:● contacts authoritative name server if name

mapping not known● gets mapping● returns mapping to local name server

Several root name servers worldwide

Page 12: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 12

DNS hierarchy: Example

Serverfor com

Serverfor edu

Serverfor gov

Serverfor in

Serverfor us

Server for ibm.com

Serverfor rpi.edu

Server fornsf.gov

server forco.in

Server forva.us

RootServer

Page 13: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 13

DNS: Example

host xyz.iitb.ac.in wants IP address of www.ibm.com

1. Contacts its local DNS server, dns.iitb.ernet.in

2. dns.iitb.ernet.in contacts root name server, if necessary

3. root name server contacts authoritative name server, dns.ibm.com, if necessary

xyz.iitb.ac.in www.ibm.com

root name server

authoritative name serverdns.ibm.com

local name serverdns.iitb.ac.in

1

23

4

5

6

Page 14: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 14

DNS: Name resolution

● Recursive queries:● puts burden of name resolution on contacted

name server● not scalable under heavy load

● Iterated queries:● contacted server replies with name of server

to contact. Ex: root name server may know intermediate name server to contact to find authoritative name server

Page 15: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 15

Recursive queries

UserName

ResolverNameServer

NameServer

Cache Cache

Cache

Que

ry

Res

pons

e

Query

Response

Query

Response

Data-base

Data-base

NameServer

Cache

Data-base

Query

Response

Page 16: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 16

Iterated queries

UserName

ResolverNameServer

NameServer

Cache Cache

Cache

Que

ry

Ref

erra

l

Query

Response

Query

Response

Data-base

Data-base

NameServer

Cache

Data-base

Query

Response

Page 17: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 17

DNS optimization

● Spatial Locality: Local computers referenced more often than remote

● Temporal Locality: Same set of domains referenced repeatedly ⇒ Caching

● Each entry has a time to live (TTL)● Replication:

● Multiple servers. Multiple roots. ● Ask the geographically closest server.

Page 18: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 18

DNS: caching and updating

● A name server caches the mappings learnt● cache entries have a time-to-live period after

which they become invalid ● update/notify mechanisms: RFC 2136

Page 19: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 19

DNS record

● Resource Record (RR) format: (name, value, type, ttl)

● Type=A: name is hostname; value is IP address● Type=NS: name is domain (e.g. ibm.com); value is

IP address of authoritative name server for this domain

● 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

Page 20: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 20

DNS protocol

• client-server interaction– query and reply messages, both with same message format

• Message header– identification: 16 bit # for query, reply uses same #– flags: query or reply; recursion desired; recursion available;

reply is authoritative

Page 21: CS 348: Computer Networks - DNS; 22 Oct 2012 Instructor: …sri/cs348/cs348-lec31-DNS-2012.pdf · Domain Name System Map between host ... Resource Record (RR) format: (name, value,

IIT Bombay cs 348 21

DNS message format

Number of Authority Number of Additional

Question Section...

Answer Section...

Authority Section...

Additional Information Section...

Number of Questions Number of Answers

Identification Flags

12 bytes