24. DNS Domain Name System
address 1. Name server domain name IP address ftp.cs.mit.eduxx.xx.xx.xx 24.2 Mapping Domain Names To Address map resolve
Name server has : –domain name database which contains domain names and its IP addresses for all computers in the domain –information about locations of some name servers, such as root name server Distributed processing: a set of servers operating at multiple sites solve the mapping cooperatively
ftp.cs.mit.edu root cn jp edu com eduMIT cm com ustc pkunju … …..... … us... edu com
Links among name servers –a single server is responsible for all computers that have a given suffix nju name server --- *. nju.edu.cn edu name server --- *. edu.cn –each server knows the location of a root server –each server knows the locations of servers of subparts of the hierarchy
nju DNS DB nju resolve A cs.nju.edn.cn A localhost A ………… …??... nameIP addresstype netra.nju.edu.cn MX nameserver IP1 name server IP address names.edu.cn IP i ……...
edu.cn DNS DB edu.cn resolve name server IP address nameserver IP1 names.tsinghua.edu.cn IP2 names.pku.edu.cn IP3 names.nju.edu.cnIP4 …… …... nameIP addresstype I A …… …… …...
Client (user machine) : must know at least one name server, usually a local name server --- set “DNS sever” has a name resolver ---gethostbyname( ) 2. Domain name resolution name resolver name server ftp.cs.mit.edu IP address 54 S C
Basic idea: Given a name to resolve, the root can choose the correct server for that name because the root knows which server resolves each domain. ftp.cs.mit.edu
Two-step name resolution : When a domain name server receives a query, it checks its DNS database. If it finds the name, it returns the result If the name server can not resolve the name, the server contacts other domain name servers
root cn edu MIT nju Iterative resolution Recursive resolution
Two ways to use DNS: Iterative resolution : by contacting name servers one at a time Recursive resolution: by asking the name server system to perform a complete translation (resolution)
–name resolver nju DNS server –nju DNS server root DNS server –nju DNS server edu DNS server gethostbyname( ) nju DNS server S 54 C S Root DNS server edu’ DNS IP addr. mit.edu’ DNS IP addr. Resolving a name : edu’ DNS IP addr.
root cn edu MIT nju Recursive resolution?
root cn edu MIT nju Why not?
Iterative resolution root cn edu MIT nju
Caching –each server maintains a cache of recently used names as well as a record of where the mapping information for that name was obtained. Each name has a timer –host downloads DNS database from a local domain name server, maintains its own cache. Replicating root server 13 servers 3. Optimization for domain name resolution