The OSI Model

advertisement
Chapter 17
DNS (Domain Name
System)
Mi-Jung Choi
Dept. of Computer Science and Engineering
mjchoi@postech.ac.kr
1
Introduction
 People prefer to use easy to remember names instead of IP
addresses
 Domain names are alphanumeric names for IP addresses
e.g., kr.yahoo.com, postech.ac.kr, ietf.org
 The domain name system (DNS) is an Internet-wide distributed
database that translates between domain names and IP addresses
 How important is DNS?
Imagine what happens when the local DNS server is down.
KT 1.25 대란 (DNS서버 DOWN !!!)
2
Resolver and Name Server
 An application program on a host accesses the domain system
through a DNS client, called the Resolver
 Resolver contacts DNS Server, called name server
 DNS server returns IP address to resolver which passes the IP
address to application
Resolver
Client
1. Host name(khu.ac.kr)
4. IP(163.180.96.52)
DNS Server
2. Host name(khu.ac.kr)
3. IP(163.180.96.52)
3
Design principle of DNS
 The naming system on which DNS is based is a hierarchical and
logical tree structure called the domain namespace.
 An organization obtains authority for parts of the name space, and
can add additional layers of the hierarchy
 Names of hosts can be assigned without regard of location on a
link layer network, IP network or autonomous system
4
Design principle of DNS (Cont’d)
 In practice, allocation of the domain names generally follows the
allocation of IP address, e.g.,
All hosts with network prefix 163.180/16 have domain name suffix
khu.ac.kr
5
Distributed, Hierarchical Database
Root DNS Servers
com DNS servers
yahoo.com
DNS servers
amazon.com
DNS servers
org DNS servers
pbs.org
DNS servers
edu DNS servers
poly.edu
umass.edu
DNS servers DNS servers
 Client wants IP for www.amazon.com; At first, client queries a
root server to find com DNS server
 Then, client queries com DNS server to get amazon.com DNS
server
 Thirdly, Client queries amazon.com DNS server to get IP
address for www.amazon.com
6
Resolution Process
 Let’s look at the resolution process step by step
Local DNS
What is the IP address of
khu.ac.kr?
Client
7
Resolution Process (cont’d)
 The Local DNS asks a root name server, m, for khu.ac.kr’s address
m.root-server
Local DNS
What is the IP address of
khu.ac.kr?
Client
8
Resolution Process (cont’d)
 The root server m refers local DNS to the kr name servers
 This type of response is called a “referral”
m.root-server
Local DNS
Here’s a list of the kr name servers.
Ask one of them.
Client
9
Resolution Process (cont’d)
 The local DNS asks a kr name server, f, for khu.ac.kr
m.root-server
Local DNS
f.kr-server
What is the IP address of
khu.ac.kr?
Client
10
Resolution Process (cont’d)
 The kr name sever f refers Local DNS to the ac.kr name servers
m.root-server
Local DNS
f.kr-server
Here’s a list of the ac.kr name
servers.
Ask one of them.
Client
11
Resolution Process (cont’d)
 The local DNS asks an ac.kr name sever, g.ac-kr for khu.ac.kr’s address
m.root-server
Local DNS
What is the IP address of khu.ac.kr?
f.kr-server
g.ac.kr-server
Client
12
Resolution Process (cont’d)
 The g.ackr-server responds with khu.ac.kr’s address
m.root-server
Local DNS
Here’s the IP address for khu.ac.kr
(163.180.96.52)
f.kr-server
g.ac.kr-server
Client
13
Resolution Process (cont’d)
 The local DNS responds to client with khu.ac.kr’s address
m.root-server
Local DNS
Here’s the IP address for khu. ac.kr
(163.180.96.52)
f.kr-server
g.ac.kr-server
Client
14
Resolution Process (Caching)
 After the previous query, the Local DNS now knows:
The names and IP addresses of the kr name servers
The names and IP addresses of the ac.kr name servers
The IP address of khu.ac.kr
 Let’s look at the resolution process again
Client
15
Resolution Process (Caching)
 The client asks its Local DNS for networking.khu.ac.kr’s address
m.root-server
Local DNS
What is the IP address of
networking.khu.ac.kr?
f.kr-server
g.ac.kr-server
h.khu.ac.kr-server
Client
16
Resolution Process (Caching)
 Local DNS has cached an NS record indicating g.ac.kr-server is an ac.kr
name server, so it asks it for networking.khu.ac.kr’s address
m.root-server
Local DNS
f.kr-server
What is the IP address of
networking.khu.ac.kr?
g.ac.kr-server
Client
17
Resolution Process (Caching)
 g.ackr-server responds with networking.khu.ac.kr’s address
m.root-server
Local DNS
Here’s a list of the khu.ac.kr name
servers.
Ask one of them.
f.kr-server
g.ac.kr-server
h.khu.ac.kr-server
Client
18
Resolution Process (Caching)
 g.ackr-server responds with networking.khu.ac.kr’s address
m.root-server
Local DNS
f.kr-server
What is the IP address of
networking.khu.ac.kr?
g.ac.kr-server
h.khu.ac.kr-server
Client
19
Resolution Process (Caching)
 Finally, the Local DNS responds to client with networking.khu.ac.kr’s
address
m.root-server
Local DNS
Here’s the IP address for
networking.khu.ac.kr
(163.180.116.228)
f.kr-server
g.ac.kr-server
h.khu.ac.kr-server
Client
20
DNS: Root name servers
 contacted by local name server that can not resolve name
 root name server:
contacts authoritative name server if name mapping is not known
gets mapping
returns mapping to local name server
a Verisign, Dulles, VA
c Cogent, Herndon, VA (also Los Angeles)
d U Maryland, College Park, MD
k RIPE, London (also Amsterdam,
g US, DoD, Vienna, VA
Frankfurt)
h ARL, Aberdeen, MD
i Autonomica, Stockholm (plus 3
j Verisign, (11 locations)
other locations)
e NASA, Mt View, CA
f Internet Software C. Palo Alto,
m WIDE Tokyo
CA (and 17 other locations)
b USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA
13 root name
servers worldwide
21
Objectives
 Be able to explain process-to-process communication
 Know the format of a UDP user datagram
 Be able to calculate a UDP checksum
 Understand the operation of UDP
 Know when it is appropriate to use UDP
 Understand the modules in a UDP package
22
Examples
Example 5 : After a few seconds, a user datagram arrives for port
52,222. The input module checks the table and cannot find the
entry for this destination. The user datagram is dropped and a
request is made to ICMP to send an “unreachable port” message to
the source.
Example 6 : After a few seconds, a process needs to send a user
datagram. It delivers the data to the output module which adds the
UDP header and sends it
23
Download