DNS DHCP

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
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 org gov net il

ibm

cnn

ac

co

gov

technion

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


 

mail.yahoo.com \.name.example ac.il 2 labels

DNS label: each string between two ".




DNS zone: a set of names that are under the same authority


cs.technion.ac.il, ee.technion.ac.il and www.technion.ac.il example.org is a delegation from org.

Delegation: transfer of authority for a domain




DNS Elements


Resolver:
 

stub: simple, only asks questions; recursive: takes simple query and makes all necessary steps to get the full answer. 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.

Server (some perform both roles at the same time):


 

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

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.)
server A

(not selected) DHCP discover determine configuration DHCP offer

client

server B

(selected) DHCP discover determine configuration

DHCP offer

select configuration DHCP request DHCP request DHCP ack Initialization completes using the allocated configuration graceful shutdown DHCP release

discard lease

DHCP Messages


DHCPDISCOVER


The client broadcasts message in search of available DHCP servers. The server response to the client DHCPDISCOVER with offer of configuration parameters . 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. The client-to-server communication, relinquishing network address and canceling remaining lease.
11

DHCPOFFER


DHCPREQUEST


DHCPRELEASE


DHCP Messages (Cont.)




DHCPACK


The server-to-client communication with configuration parameters, including committed network address. 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 The client-to-server communication, indicating that the network address is already in use. The client-to-server communication, asking for only local configuration parameters that the client already has externally configured as an address.

DHCPNAK


DHCPDECLINE


DHCPINFORM


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