cis 856: tcp/ip and upper layer protocols karthik ravindra nov 11, 2008 dynamic host configuration...

Post on 21-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CIS 856: TCP/IP and Upper Layer ProtocolsKarthik Ravindra

Nov 11, 2008

Dynamic Host Configuration Protocol [DHCP]

-RFC 2131

Internet

Router

192.168.1.1Boot Server

192.168.1.2

DNS Server

192.168.1.3

FileServer

192.168.1.4

ee:ee:ee:ee:ee:01 ee:ee:ee:ee:ee:03 ee:ee:ee:ee:ee:04

Diskless Workstations

Where am I?

ee:ee:ee:ee:ee:02

What’s my IP

Who has my

boot file?

Where is my boot file?

Motivation

RARP

• Provides IP Address for the diskless computer• However

– RARP is a user process but works over link layer directly

• RARP server and system must be on same network

– Returns only IP address• Booting and configuration parameters not returned

• Host needs ICMP to complete booting

• Can’t relay RARP requests to a central server.

BOOTP

Port 67/UDPPort 68/UDP

ee:ee:ee:ee:ee:02 | ff:ff:ff:ff:ff:ff255.255.255.255 | 0.0.0.067 | 68BOOTP PDU

BOOTREQUEST

ee:ee:ee:ee:ee:02 | ee:ee:ee:ee:ee:05 192.168.1.2 | 255.255.255.255 67| 68 BOOTP PDU

BOOTREPLY

BOOTP Client (A)

BOOTP UDP IP Ethernet

Is server name my

name?

Do I know the host with

server name?

I’ll discard this PDU

I’ll unicast this PDU to the host who has server

name after updating the gateway interface

address field

Is server name local?

Is client

IP address 0.0.0.0

?

Optional

Is client hardwar

e address in our DB?

I’ll create the BOOTREPLY PDU and send to the

client

YES

YES

YES

YES

NO

NO

NO

NO

YESBOOTP Server (B)

ee:ee:ee:ee:ee:02

ee:ee:ee:ee:ee:05

DDD S S S

S DDD SS

SD

SourceDestination

BOOTP Operation

Is server name my

name?

Do I know the host with

server name?

I’ll discard this PDU

I’ll unicast this PDU to the host who has server

name after updating the gateway interface

address field

Is server name local?

Is client

IP address 0.0.0.0

?

Optional

Is client hardwar

e address in our DB?

I’ll create the BOOTREPLY PDU and send to the

client

YES

YES

YES

YES

NO

NO

NO

NO

YES

NO

Identify the limitation ?

Router

192.168.1.1Boot Server

192.168.1.2

DNS Server

192.168.1.3

FileServer

192.168.1.4

I don’t know, I’ve never seen you here before.

New Roaming Client

What is my network configuration?

ee:ee:ee:ee:ee:01

ee:ee:ee:ee:ee:02

ee:ee:ee:ee:ee:03

ee:ee:ee:ee:ee:04

Internet

Identify the limitation ?

Purpose of DHCP

– Automates the assignment of unique IP addresses, subnet masks, default gateways, and other IP parameters to individual computers and devices on the network.

– Reduces the work necessary to administer a large IP (Internet Protocol) network.

• DHCP lets a network administrator supervise and distribute IP addresses from a central point and automatically sends a new IP address when a computer is plugged into a different place in the network.

DHCP Address Allocation

• Manual allocation

• Automatic allocation

• Dynamic allocation

DHCP as compared to BOOTP

• Is an extension of BOOTP.• Allows diskless clients configure automatically.• Centralizes and manages the allocation of TCP/IP.• Automatically assigns IP config settings

Manually configured IP

DHCP clients get IP config settings from DHCP server

Without DHCP Servers

• Administrative overhead– Need to keep track of all IP assignments– Need to manually enter IP settings

• Bad or duplicate IP addresses– Mistakes will happen!

• Moving between subnets– Need to manually change IP settings

DHCP Operation Phases

• DCHP DISCOVER

DHCP Client00:a0:24:71:e4:44 DHCP Server

DHCPDISCOVERSent to 255.255.255.255

DHCP Server

DHCP Client00:a0:24:71:e4:44 DHCP Server

DHCP Server

DHCPOFFER

DHCPOFFER• DCHP OFFER

DHCP OperationDHCP Client

00:a0:24:71:e4:44 DHCP Server

DHCP Server

DHCPREQUEST

DHCPACK

• DCHP DISCOVER

At this time, the DHCP client can start using the IP address

DHCP Client00:a0:24:71:e4:44 DHCP Server

DHCP Server

DHCPREQUEST

DHCPACK

• Renewing a Lease

DHCP OperationDHCP Client

00:a0:24:71:e4:44 DHCP Server

DHCP Server

DHCPRELEASE

• DCHP RELEASE

At this time, the DHCP client has released the IP address

Initial Message FlowServer A Client Server B

Client attempts to discover available DHCP serversDHCPDISCOVE

RDHCPDISCOVE

R

Servers reply with offersDHCPOFFE

RDHCPOFFE

RClient collects offers and decides which offer to accept

Client broadcasts request for one of the received offersDHCPREQUES

TDHCPREQUES

T

Server acknowledges client’s use of IP addressDHCPAC

KConfiguration complete

Client explicitly releases use of IP addressDHCPRELEAS

E

Graceful shutdown

Renewal Message FlowServer A Client Server B

Client unicasts request to continue using IP addressDHCPREQUES

TServer acknowledges request and updates leaseDHCPACK

Client broadcasts request to continue using IP addressDHCPREQUES

TDHCPREQUES

TServer acknowledges request and updates leaseDHCPAC

K

Configuration complete

T1 elapses

T1 elapses

Client unicasts request to continue using IP addressDHCPREQUES

TT2 elapses

Configuration complete

Client FSM (Simplified)

INIT

SELECTING

-/DHCPDISCOVE

R

DHCPOFFER/ Process offer

REQUESTING

Select offer/DHCPREQUEST

BOUND

DHCPACK/Set T1,T2

DHCPACK/Set T1,T2

DHCPACK/Set T1,T2

RENEWING

T1/ Unicast

DHCPREQUEST

REBINDING

T2/Broadcast DHCPREQUEST

DHCPNAK/ Stop using IP

addressDHCPNAK, Lease

expires/ Stop using IP address

DHCPACK (in use)/

DHCPDECLINE

DHCPNAK/ Discard

offer

Relay Agents

DHCP Pros

• Reduces a great deal of manual configuration work.

• Mobility of devices between networks and to automatically obtain valid configuration parameters for the current network can be of great benefit.

• Because IP addresses are only allocated when clients are actually active, it is possible to reduce the total number of addresses in use in an organization.

DHCP Cons

• Potentially unauthorized clients

• Malicious client could exhaust address

• Malicious server (Rogue server)– Supply incorrect configuration parameters– Supply malicious configuration parameters

• BOOTP allows default router, subnet mask, DNS

• DHCP allows dynamic allocation

• DHCP is backward compatible with BOOTP

Summary

DHCP PDU Use DHCPDISCOVER

Client broadcast to find its local servers

DHCPOFFER Server response to client offering configuration parameters

DHCPREQUEST

Client broadcast requesting offered parameters

DHCPDECLINE Client to server notification that IP address is in use

DHCPACK Server response to client confirming a request

DHCPNAK Server response to client denying a request

DHCPRELEASE Client notice to server on release of address

DHCPINFORM Client request to server for additional configuration parameters

DHCP PDU Types

Figure 17-5 DHCP transition diagram

Exchanging messages

Exchanging messages

top related