Download presentation
Presentation is loading. Please wait.
Published byBlake Haynes Modified over 9 years ago
1
DHCP Dynamic Host Configuration Protocol CIS 856: TCP/IP and Upper Layer Protocols Presented by Kyle Getz October 20, 2005
2
Motivation for DHCP Configuration parameters for network hosts IP address Router Subnet Mask Many more… Before DHCP Manual assignment RARP BOOTP
3
DHCP Features Protocol for providing configuration parameters to hosts over network Dynamic allocation of IP addresses Minimal human intervention
4
Sample Network Router Internet DHCP Server UDP Port 68 UDP Port 67 DHCP Clients
5
Preliminaries (DHCP) Message = DHCP-PDU (A-PDU) Client = DHCP Client Server = DHCP Server Well-known port numbers DHCP Server: UDP port 67 DHCP Client: UDP port 68 No ephemeral ports Broadcast and unicast used for PDU’s in both directions “Broadcast”: link and IP addresses are broadcast “Unicast”: link and IP addresses are unicast
6
Initial Message Flow Server AClientServer B Client attempts to discover available DHCP servers DHCPDISCOVER Servers reply with offers DHCPOFFER Client collects offers and decides which offer to accept Client broadcasts request for one of the received offers DHCPREQUEST Server acknowledges client’s use of IP address DHCPACK Configuration complete Client explicitly releases use of IP address DHCPRELEASE Graceful shutdown
7
DHCP Message Types DHCP MessageUse DHCPDISCOVER Client broadcast to locate available servers DHCPOFFER Server to client response offering configuration parameters DHCPREQUEST Client broadcast requesting offered parameters DHCPDECLINE Client to server notification that IP address is in use DHCPACK Server to client response confirming a request DHCPNAK Server to client response denying a request DHCPRELEASE Client to server request to relinquish IP address DHCPINFORM Client to server request for configuration parameters
8
Lease Renewal Times (Client) T1 < T2 < Lease time T1 default value = 1/2 of lease time T2 default value = 7/8 of lease time Communicated via DHCPOFFER, DHCPACK Client actions when times elapse T1: client must renew address with the DHCP server T2: client must renew address with any DHCP server Lease time: client must stop using IP address
9
Renewal Message Flow Server AClientServer B Client unicasts request to continue using IP address DHCPREQUEST Server acknowledges request and updates lease DHCPACK Client broadcasts request to continue using IP address DHCPREQUEST Server acknowledges request and updates lease DHCPACK Configuration complete T1 elapses Client unicasts request to continue using IP address DHCPREQUEST T2 elapses Configuration complete
10
Client FSM (Simplified) INIT SELECTING -/DHCPDISCOVER DHCPOFFER/ Process offer REQUESTING Select offer/DHCPREQUEST BOUND DHCPACK/Set T1,T2 RENEWING T1/ Unicast DHCPREQUEST REBINDING T2/Broadcast DHCPREQUEST DHCPNAK/ Stop using IP address DHCPNAK, Lease expires/ Stop using IP address DHCPACK (in use)/ DHCPDECLINE DHCPNAK/ Discard offer
11
Retransmissions Client responsible for all retransmissions Retransmission strategy Exponential backoff Randomized Recommendations Base delay doubled for each retransmission Random number picked from [-1,+1] Maximum base delay: 64 seconds
12
Server Storage Permanent storage Pool of available IP addresses Local configuration parameters Mapping between clients and leases Flexibility concerning storage update When DHCPOFFER sent When DHCPACK sent
13
Server Logic (Simplified) EventAction Taken DHCPDISCOVER If current lease for client exists, send DHCPOFFER Else, if IP address available, send DHCPOFFER Else, do nothing DHCPREQUEST If IP address available, send DHCPACK Else, send DHCPNAK DHCPDECLINE Mark IP address unavailable, notify network administrator DHCPRELEASE Mark IP address available, delete lease DHCPINFORM Send DHCPACK with configuration parameters Lease expiration Mark IP address available, delete lease
14
DHCP PDU Format 32 Bits Operation CodeHardware TypeHardware LengthHop Count Transaction ID Seconds ElapsedBMust Be Zero (MBZ) Client IP address Your IP address Server IP address Relay agent IP address Client hardware address (16 bytes) Server host name (64 bytes) Boot file name (128 bytes) Options (up to 312 bytes) Magic Cookie
15
DHCP Options 255 End of options CodeLengthData 1 byte Length bytes 0 Padding 14255 0 Subnet Mask: 991308399 Magic Cookie: Option format: One-byte options: 4 bytes
16
Another Sample Network Router Internet DHCP Server DHCP Clients Relay Agent within
17
Relay Agents Remove restriction of having DHCP server on every network Listen for DHCP messages and transmit them to appropriate machine Client to server relay Broadcast from client Unicast to server(s) Server to client relay Broadcast from server Broadcast to client Unicast from server Unicast to client
18
Demonstration
19
Advanced Topics Lease times Dynamic DNS Reliability Security
20
Lease Times Anywhere from 15 minutes – 1 year Common lease times & rationales 15 minutes: Maximum number of addresses free 3 days: Microsoft default 4 months: Students can keep lease over summer Tradeoff
21
Dynamic DNS If IP address changes due to DHCP, DNS entry is wrong Client or server can update DNS Option 81: Client FQDN 81LengthFlagsrcode1rcode2Name… 1 byte “Length” bytes
22
Reliability Two synchronized DHCP servers on the same network: Primary, Secondary Permanent storage constantly communicated Failure: Secondary server takes over Secondary Server DHCP Clients Primary Server
23
Security Potentially unauthorized clients Malicious client could exhaust address pool Malicious server (Rogue server) Supply incorrect configuration parameters Supply malicious configuration parameters
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.