You are on page 1of 16

Internet Networking

recitation #2
DNS and DHCP

Spring Semester 2009, Dept. of Computer Science, Technion

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

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.

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.

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.

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.

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 .

DHCP (cont.)
s e rv e r A

(not selected)
DHCP discover
determine
configuration
DHCP offer

c lie n t

s e rv e r 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

You might also like