DNS & DHCP tutorial
Download
Report
Transcript DNS & DHCP tutorial
Internet Networking
recitation #2
DNS and DHCP
Spring Semester 2009, Dept. of Computer Science, Technion
1
Domain Name System - DNS
Provides mapping from ASCII domain names to IP
addresses
Hierarchical naming system.
The set of names is divided into mutually exclusive parts.
Supplies mechanism for global data storage and
information retrieval.
Most important principles:
Distributed system – set of servers sharing information.
Efficiency - most of the requests resolved by local servers.
•
Use of Caching.
Reliability – works even if some of the servers fail.
2
DNS tree
root
com
ibm
cnn
org
gov
net
il
ac
technion
co
gov
tau
3
Reliability over UDP
DNS is an application which runs over UDP
Advantage: not as complex as TCP.
Disadvantage: requires reliability implementation at
application level .
Reliability scheme:
Time out.
Retransmissions - resends timed out query to a different
server.
4
DNS Terms
Domain name: any name represented in the DNS
format
DNS label: each string between two ".“
ac.il – 2 labels
DNS zone: a set of names that are under the same
authority
mail.yahoo.com
\.name.example
cs.technion.ac.il, ee.technion.ac.il and
www.technion.ac.il
Delegation: transfer of authority for a domain
example.org is a delegation from org.
5
DNS Elements
Resolver:
stub: simple, only asks questions;
recursive: takes simple query and makes all necessary
steps to get the full answer.
Server (some perform both roles at the same time):
authoritative: the servers that contain the zone file for a
zone, one Primary, one or more Secondaries;
caching: a recursive resolver that stores prior results and
reuses them.
6
How Does DNS Work?
The resolver sends a DNS request message over UDP to a local
domain name server.
DNS caches store data for a short time defined by TTL on the
Record.
When a name server does not have the requested information,
it starts at longest match on query name it has when looking for
data.
The root server knows the IP address of each second-level
domain name server.
Every server knows how to reach servers that are authorities for
names further down the hierarchy.
The resolver follows delegations until it receives an answer.
7
DNS query example (from IETF slides)
Root Server
Ask org NS
www.ietf.org
Org
Server
Ask ietf.org NS
Stub resolver
www.ietf.org A
65.256.255.51
Recursive
Resolver
Ietf.org Server
www.ietf.org A
65.256.255.51
8
Dynamic Host Configuration Protocol - DHCP
RFC 2131
Runs over UDP as well
Provides automatic configuration of the host
connected to network or booted
Provides hosts with initial configuration information
upon bootup:
IP address with subnet mask,
default gateway,
IP address of the DNS server .
9
DHCP (cont.)
server A
(not selected)
DHCP discover
determine
configuration
DHCP offer
client
server B
(selected)
DHCP discover
DHCP offer
determine
configuration
select configuration
DHCP request
DHCP request
DHCP ack
Initialization completes
using the allocated configuration
graceful shutdown
DHCP release
discard lease
DHCP Messages
DHCPDISCOVER
DHCPOFFER
The server response to the client DHCPDISCOVER with offer of
configuration parameters .
DHCPREQUEST
The client broadcasts message in search of available DHCP
servers.
The client broadcasts to the server, requesting offered parameters
from one server specifically.
Confirms correctness of previously allocated address after, e.g.,
system reboot.
Extends the lease on a particular network address.
DHCPRELEASE
The client-to-server communication, relinquishing network address
and canceling remaining lease.
11
DHCP Messages (Cont.)
DHCPACK
DHCPNAK
Server to client indicating client's notion of network address is
incorrect (e.g., client has moved to new subnet) or client's lease as
expired
DHCPDECLINE
The server-to-client communication with configuration parameters,
including committed network address.
The client-to-server communication, indicating that the network
address is already in use.
DHCPINFORM
The client-to-server communication, asking for only local
configuration parameters that the client already has externally
configured as an address.
12
DHCP message format
xid
Transaction ID.
ciaddr
Client IP address
yiaddr
Your IP address.
siaddr
Server IP address.
chaddr
Client MAC address
13
DHCP message format (cont.)
Transaction ID - a random number that is used by the client
to match incoming DHCP messages with pending requests.
Client IP address - used when client knows its IP address.
Your IP address - the DHCP server will place the offered
client IP address in this field, if the client IP address is 0.0.0.0.
Server IP address - the DHCP server address, if it is known.
Otherwise, it is used in DHCPOFFER and DHCPACK.
options - DHCP defines a 'client identifier' option that is used to
pass an explicit client identifier to a server.
14
DHCP message filtering
DHCPOFFER
Only the client waiting for this message will accept it in
UDP layer.
But what if two clients are waiting for the offer
simultaneously?
•
•
The filtering is possible only at the application layer.
The transaction ID field is responsible for this filtering.
DHCPREQUEST
The message is broadcasted to all the servers.
The server knows if its offer was accepted only upon
reading the server identifier field in the DHCP message.
15
DHCP as UDP application
DHCP server - port 67, client - port 68
Reliability is not provided by UDP.
Client is responsible for reliability
The client implements timer to measure timeout for the
messages that were not responded.
The client adopts a retransmission strategy that incorporates
a randomized exponential backoff algorithm to determine the
delay between retransmissions.
Every next message acts as an acknowledgment for the
previous step.
•
For example, DHCPREQUEST is an ACK for DHCPOFFER.
16